diff --git a/Cargo.lock b/Cargo.lock index ffbc605a96e66..a713edaf9ce68 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6348 +1,6455 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] -name = "adler32" -version = "1.0.4" +name = "Inflector" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] [[package]] -name = "aes-ctr" -version = "0.3.0" +name = "addr2line" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456d75cbb82da1ad150c8a9d97285ffcd21c9931dcb11e995903e7d75141b38b" dependencies = [ - "aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "gimli", ] [[package]] -name = "aes-soft" -version = "0.3.3" +name = "adler32" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" [[package]] -name = "aesni" -version = "0.6.0" +name = "ahash" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f33b5018f120946c1dcf279194f238a9f146725593ead1c08fa47ff22b0b5d3" dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "const-random", ] [[package]] name = "aho-corasick" -version = "0.7.6" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr", ] [[package]] -name = "aio-limited" -version = "0.1.1" +name = "alga" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "approx", + "num-complex", + "num-traits 0.2.11", ] [[package]] name = "ansi_term" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8", ] [[package]] -name = "antidote" -version = "1.0.0" +name = "ansi_term" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi 0.3.8", +] [[package]] -name = "app_dirs" -version = "1.2.1" +name = "anyhow" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ole32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "85bb70cc08ec97ca5450e6eba421deeea5f172c0fc61f78b5357b2a8e8be195f" [[package]] -name = "arc-swap" -version = "0.3.11" +name = "approx" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +dependencies = [ + "num-traits 0.2.11", +] [[package]] name = "arc-swap" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b585a98a234c46fc563103e9278c9391fde1f4e6850334da895d27edb9580f62" [[package]] name = "arrayref" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" [[package]] name = "arrayvec" version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" dependencies = [ - "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "nodrop", ] [[package]] -name = "ascii" -version = "0.9.3" +name = "arrayvec" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" [[package]] name = "asn1_der" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fce6b6a0ffdafebd82c87e79e3f40e8d2c523e5fea5566ff6b90509bf98d638" dependencies = [ - "asn1_der_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "asn1_der_derive", ] [[package]] name = "asn1_der_derive" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" dependencies = [ - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] name = "assert_matches" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5" + +[[package]] +name = "async-std" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "538ecb01eb64eecd772087e5b6f7540cbc917f047727339a472dafed2185b267" +dependencies = [ + "async-task", + "broadcaster", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "futures-core", + "futures-io", + "futures-timer 2.0.2", + "kv-log-macro", + "log", + "memchr", + "mio", + "mio-uds", + "num_cpus", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "async-task" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ac2c016b079e771204030951c366db398864f5026f84a44dafb0ff20f02085d" +dependencies = [ + "libc", + "winapi 0.3.8", +] + +[[package]] +name = "async-tls" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fd83426b89b034bf4e9ceb9c533c2f2386b813fd3dcae0a425ec6f1837d78a" +dependencies = [ + "futures 0.3.5", + "rustls", + "webpki", + "webpki-roots 0.19.0", +] [[package]] name = "atty" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "hermit-abi", + "libc", + "winapi 0.3.8", ] [[package]] name = "autocfg" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" [[package]] -name = "backtrace" -version = "0.3.40" +name = "autocfg" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" [[package]] -name = "backtrace-sys" -version = "0.1.32" +name = "backtrace" +version = "0.3.48" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0df2f85c8a2abbe3b7d7e748052fdd9b76a0458fdeb16ad4223f5eca78c7c130" dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "addr2line", + "cfg-if", + "libc", + "object", + "rustc-demangle", ] [[package]] name = "base58" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" [[package]] name = "base64" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bigint" -version = "4.4.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" [[package]] name = "bindgen" -version = "0.47.3" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb26d6a69a335b8cb0e7c7e9775cd5666611dc50a37177c3f2cedcfc040e8c8" dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "clang-sys 0.26.4 (registry+https://github.com/rust-lang/crates.io-index)", - "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags", + "cexpr", + "cfg-if", + "clang-sys", + "clap", + "env_logger", + "lazy_static", + "lazycell", + "log", + "peeking_take_while", + "proc-macro2", + "quote 1.0.5", + "regex", + "rustc-hash", + "shlex", + "which", ] [[package]] name = "bitflags" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "bitmask" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5da9b3d9f6f585199287a473f4f8dfab6566cf827d15c00c219f53c645687ead" + +[[package]] +name = "bitvec" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c" +dependencies = [ + "either", + "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 (registry+https://github.com/rust-lang/crates.io-index)", - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "byte-tools", + "crypto-mac", + "digest", + "opaque-debug", ] [[package]] name = "blake2-rfc" version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayvec 0.4.12", + "constant_time_eq", ] [[package]] -name = "block-buffer" -version = "0.2.0" +name = "blake2b_simd" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" dependencies = [ - "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref", + "arrayvec 0.5.1", + "constant_time_eq", ] [[package]] -name = "block-buffer" -version = "0.7.3" +name = "blake2s_simd" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab9e07352b829279624ceb7c64adb4f585dacdb81d35cafae81139ccd617cf44" dependencies = [ - "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref", + "arrayvec 0.5.1", + "constant_time_eq", ] [[package]] -name = "block-cipher-trait" -version = "0.6.2" +name = "block-buffer" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", + "block-padding", + "byte-tools", + "byteorder", + "generic-array", ] [[package]] name = "block-padding" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" dependencies = [ - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "byte-tools", ] [[package]] -name = "bs58" -version = "0.2.5" +name = "broadcaster" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c972e21e0d055a36cf73e4daae870941fe7a8abcd5ac3396aab9e4c126bd87" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "futures-util", + "parking_lot 0.10.2", + "slab", +] [[package]] name = "bs58" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" [[package]] name = "bstr" -version = "0.2.8" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31accafdb70df7871592c058eca3985b71104e15ac32f64706022c58867da931" dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr", ] [[package]] name = "bumpalo" -version = "2.6.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5356f1d23ee24a1f785a56d1d1a5f0fd5b0f6a0c0fb2412ce11da71649ab78f6" [[package]] -name = "byte-tools" -version = "0.2.0" +name = "byte-slice-cast" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3" [[package]] name = "byte-tools" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "1.3.2" +version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" [[package]] name = "bytes" version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "either", + "iovec", ] [[package]] -name = "c2-chacha" -version = "0.2.3" +name = "bytes" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" [[package]] name = "c_linked_list" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" [[package]] name = "cc" -version = "1.0.46" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "404b1fe4f65288577753b17e3b36a04596ee784493ec249bf81c7f2d2acd751c" dependencies = [ - "jobserver 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "jobserver", ] [[package]] name = "cexpr" -version = "0.3.5" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" dependencies = [ - "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "nom", ] [[package]] name = "cfg-if" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] -name = "chain" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" +name = "chacha20-poly1305-aead" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77d2058ba29594f69c75e8a9018e0485e3914ca5084e3613cd64529042f5423b" dependencies = [ - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", + "constant_time_eq", ] [[package]] name = "chainx" -version = "1.1.0" +version = "2.0.0" dependencies = [ - "chainx-cli 1.0.0", - "ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "vergen 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "chainx-rpc", + "chainx-runtime", + "futures 0.3.5", + "jsonrpc-core", + "log", + "parking_lot 0.10.2", + "sc-basic-authorship", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-executor", + "sc-finality-grandpa", + "sc-network", + "sc-rpc", + "sc-service", + "sc-transaction-pool", + "sp-consensus", + "sp-consensus-aura", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-runtime", + "sp-transaction-pool", + "structopt", + "substrate-build-script-utils", ] [[package]] -name = "chainx-cli" -version = "1.0.0" -dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "chainx-executor 1.0.0", - "chainx-primitives 1.0.0", - "chainx-runtime 1.0.0", - "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "runtime-api 1.0.0", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-basic-authorship 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-cli 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-aura 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-finality-grandpa 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-network 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-rpc 1.0.0", - "substrate-rpc-servers 1.0.0", - "substrate-service 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-service-test 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-transaction-pool 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "chainx-executor" -version = "1.0.0" +name = "chainx-primitives" +version = "2.0.0" dependencies = [ - "chainx-runtime 1.0.0", - "substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "sp-std", ] [[package]] -name = "chainx-primitives" -version = "1.0.0" +name = "chainx-rpc" +version = "2.0.0" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "chainx-primitives", + "chainx-runtime", + "frame-support", + "hex", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "pallet-transaction-payment-rpc", + "parity-scale-codec", + "sc-client-api", + "sc-service", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-runtime", + "sp-state-machine", + "sp-transaction-pool", + "substrate-frame-rpc-system", ] [[package]] name = "chainx-runtime" -version = "1.0.0" +version = "2.0.0" dependencies = [ - "chainx-primitives 1.0.0", - "hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "runtime-api 1.0.0", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-finality-tracker 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-sudo 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-aura-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-authorities 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-offchain-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-grandpa 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-process 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xaura 1.0.0", - "xrml-xbootstrap 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xcontracts 2.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xfisher 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xmining-tokens 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", + "chainx-primitives", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "pallet-aura", + "pallet-grandpa", + "pallet-randomness-collective-flip", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "serde", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder-runner", ] [[package]] name = "chrono" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer", + "num-traits 0.2.11", + "time", ] [[package]] name = "clang-sys" -version = "0.26.4" +version = "0.29.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a" dependencies = [ - "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "glob", + "libc", + "libloading", ] [[package]] name = "clap" -version = "2.32.0" +version = "2.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129" dependencies = [ - "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ansi_term 0.11.0", + "atty", + "bitflags", + "strsim", + "textwrap", + "unicode-width", + "vec_map", ] [[package]] name = "clear_on_drop" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97276801e127ffb46b66ce23f35cc96bd454fa311294bced4bbace7baa8b1d17" dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", + "cc", ] [[package]] name = "cloudabi" version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags", ] [[package]] -name = "cmake" -version = "0.1.42" +name = "const-random" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f1af9ac737b2dd2d577701e59fd09ba34822f6f2ebdb30a7647405d9e55e16a" dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", + "const-random-macro", + "proc-macro-hack", ] [[package]] -name = "combine" -version = "3.8.1" +name = "const-random-macro" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25e4c606eb459dd29f7c57b2e0879f2b6f14ee130918c2b78ccb58a9624e6c7a" dependencies = [ - "ascii 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom", + "proc-macro-hack", ] [[package]] name = "constant_time_eq" -version = "0.1.4" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" [[package]] name = "crc32fast" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.3.9" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061" dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils", + "maybe-uninit", ] [[package]] name = "crossbeam-deque" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" dependencies = [ - "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-epoch", + "crossbeam-utils", + "maybe-uninit", ] [[package]] name = "crossbeam-epoch" -version = "0.7.2" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", + "cfg-if", + "crossbeam-utils", + "lazy_static", + "maybe-uninit", + "memoffset", + "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db" dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.6.6" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", + "cfg-if", + "lazy_static", ] -[[package]] -name = "crunchy" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "crunchy" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "crypto" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "siphasher 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crypto-mac" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-mac" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "csv" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "csv-core" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array", + "subtle 1.0.0", ] [[package]] -name = "ctr" -version = "0.3.2" +name = "ct-logs" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d3686f5fa27dbc1d76c751300376e167c5a43387f44bb451fd1c24776e49113" dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "sct", ] [[package]] -name = "ctrlc" -version = "3.1.3" +name = "curve25519-dalek" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26778518a7f6cffa1d25a44b602b62b979bd88adb9e99ffec546998cf3404839" dependencies = [ - "nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "digest", + "rand_core 0.5.1", + "subtle 2.2.2", + "zeroize", ] [[package]] -name = "cuckoofilter" -version = "0.3.2" +name = "data-encoding" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "11c0346158a19b3627234e15596f5e465c360fcdb97d817bcb255e0510f5a788" [[package]] -name = "curve25519-dalek" -version = "1.2.3" +name = "derive_more" +version = "0.99.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2127768764f1556535c01b5326ef94bd60ff08dcfbdc544d53e69ed155610f5d" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "data-encoding" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "derive_more" -version = "0.14.1" +name = "digest" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array", ] [[package]] -name = "digest" -version = "0.6.2" +name = "directories" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c" dependencies = [ - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "dirs-sys", ] [[package]] -name = "digest" -version = "0.8.1" +name = "dirs-sys" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "libc", + "redox_users", + "winapi 0.3.8", ] [[package]] name = "dns-parser" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "quick-error", ] [[package]] name = "doc-comment" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "dtoa" -version = "0.4.4" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "ed25519-dalek" -version = "1.0.0-pre.2" +version = "1.0.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2" dependencies = [ - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "clear_on_drop", + "curve25519-dalek", + "rand 0.7.3", + "sha2", ] [[package]] name = "either" version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" [[package]] -name = "elastic-array" -version = "0.10.2" +name = "enum-primitive-derive" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2b90e520ec62c1864c8c78d637acbfe8baf5f63240f2fb8165b8325c07812dd" dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.43", + "quote 0.3.15", + "syn 0.11.11", ] [[package]] name = "env_logger" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" dependencies = [ - "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "atty", + "humantime", + "log", + "regex", + "termcolor", ] [[package]] name = "environmental" -version = "1.0.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516aa8d7a71cb00a1c4146f0798549b93d083d4f189b3ced8f3de6b8f11ee6c4" [[package]] name = "erased-serde" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ethbloom" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-rlp 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ethereum-types" -version = "0.6.0" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d88b6d1705e16a4d62e05ea61cc0496c2bd190f4fa8e5c1f11ce747be6bcf3d1" dependencies = [ - "ethbloom 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-rlp 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "primitive-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", ] [[package]] name = "exit-future" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", ] [[package]] name = "failure" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" dependencies = [ - "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace", + "failure_derive", ] [[package]] name = "failure_derive" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", + "synstructure", ] [[package]] name = "fake-simd" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] name = "fdlimit" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da54a593b34c71b889ee45f5b5bb900c74148c5f7f8c6a9479ee7899f69603c" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", ] [[package]] name = "finality-grandpa" -version = "0.7.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8feb87a63249689640ac9c011742c33139204e3c134293d3054022276869133b" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hashmap_core 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "either", + "futures 0.3.5", + "futures-timer 2.0.2", + "log", + "num-traits 0.2.11", + "parity-scale-codec", + "parking_lot 0.9.0", ] [[package]] name = "fixed-hash" -version = "0.3.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11498d382790b7a8f2fd211780bec78619bba81cdad3a283997c0c41f836759c" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "rand 0.7.3", + "rustc-hex", + "static_assertions", ] [[package]] -name = "fixed-hash" -version = "0.4.0" +name = "fixedbitset" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" [[package]] name = "flate2" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cfff41391129e0a856d6d822600b8d71179d46879e310417eb9c762eb178b42" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "crc32fast", + "libc", + "libz-sys", + "miniz_oxide", ] [[package]] name = "fnv" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "fork-tree" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", ] [[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "frame-benchmarking" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "frame-support", + "frame-system", + "linregress", + "parity-scale-codec", + "paste", + "sp-api", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-std", +] [[package]] -name = "fork-tree" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "frame-executive" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", ] [[package]] -name = "fs-swap" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "frame-metadata" +version = "11.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "serde", + "sp-core", + "sp-std", ] [[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "frame-support" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "bitmask", + "frame-metadata", + "frame-support-procedural", + "impl-trait-for-tuples", + "log", + "once_cell", + "parity-scale-codec", + "paste", + "serde", + "smallvec 1.4.0", + "sp-arithmetic", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-tracing", +] + +[[package]] +name = "frame-support-procedural" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "frame-support-procedural-tools", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] + +[[package]] +name = "frame-system" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] +name = "frame-system-rpc-runtime-api" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "parity-scale-codec", + "sp-api", +] + +[[package]] +name = "fs-swap" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "921d332c89b3b61a826de38c61ee5b6e02c56806cade1b0e5d81bd71f57a71bb" +dependencies = [ + "lazy_static", + "libc", + "libloading", + "winapi 0.3.8", +] + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" [[package]] name = "fuchsia-zircon" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags", + "fuchsia-zircon-sys", ] [[package]] name = "fuchsia-zircon-sys" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" [[package]] name = "futures" version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" + +[[package]] +name = "futures" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e05b85ec287aac0dc34db7d4a569323df697f9c55b99b15d6b4ef8cde49f613" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-channel-preview" +version = "0.3.0-alpha.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5e5f4df964fa9c1c2f8bddeb5c3611631cacd93baf810fc8bb2fb4b495c263a" +dependencies = [ + "futures-core-preview", +] + +[[package]] +name = "futures-core" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399" + +[[package]] +name = "futures-core-preview" +version = "0.3.0-alpha.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a" [[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 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.29", + "num_cpus", ] [[package]] -name = "gcc" -version = "0.3.55" +name = "futures-diagnose" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9" +dependencies = [ + "futures 0.1.29", + "futures 0.3.5", + "lazy_static", + "log", + "parking_lot 0.9.0", + "pin-project", + "serde", + "serde_json", +] [[package]] -name = "generic-array" -version = "0.8.3" +name = "futures-executor" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10d6bb888be1153d3abeb9006b11b02cf5e9b209fda28693c31ae1e4e012e314" dependencies = [ - "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core", + "futures-task", + "futures-util", + "num_cpus", ] +[[package]] +name = "futures-io" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789" + +[[package]] +name = "futures-macro" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39" +dependencies = [ + "proc-macro-hack", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] + +[[package]] +name = "futures-sink" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc" + +[[package]] +name = "futures-task" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626" +dependencies = [ + "once_cell", +] + +[[package]] +name = "futures-timer" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" + +[[package]] +name = "futures-util" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6" +dependencies = [ + "futures 0.1.29", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "futures-util-preview" +version = "0.3.0-alpha.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce968633c17e5f97936bd2797b6e38fb56cf16a7422319f7ec2e30d3c470e8d" +dependencies = [ + "futures-channel-preview", + "futures-core-preview", + "pin-utils", + "slab", +] + +[[package]] +name = "futures_codec" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0a73299e4718f5452e45980fc1d6957a070abe308d3700b63b8673f47e1c2b3" +dependencies = [ + "bytes 0.5.4", + "futures 0.3.5", + "memchr", + "pin-project", +] + +[[package]] +name = "gcc" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" + [[package]] name = "generic-array" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" dependencies = [ - "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum", ] [[package]] name = "get_if_addrs" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7" dependencies = [ - "c_linked_list 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "get_if_addrs-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "c_linked_list", + "get_if_addrs-sys", + "libc", + "winapi 0.2.8", ] [[package]] name = "get_if_addrs-sys" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d04f9fb746cf36b191c00f3ede8bde9c8e64f9f4b05ae2694a9ccf5e3f5ab48" dependencies = [ - "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc", + "libc", ] [[package]] name = "getrandom" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "libc", + "wasi", ] +[[package]] +name = "gimli" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" + [[package]] name = "glob" -version = "0.2.11" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "globset" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ad1da430bd7281dde2576f44c84cc3f0f7b475e7202cd503042dff01a8c8120" dependencies = [ - "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", ] [[package]] name = "h2" version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "bytes 0.4.12", + "fnv", + "futures 0.1.29", + "http 0.1.21", + "indexmap", + "log", + "slab", + "string", + "tokio-io", ] [[package]] -name = "hash-db" -version = "0.12.4" +name = "h2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" +dependencies = [ + "bytes 0.5.4", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.1", + "indexmap", + "log", + "slab", + "tokio 0.2.21", + "tokio-util", +] [[package]] -name = "hash256-std-hasher" -version = "0.12.4" +name = "hash-db" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" [[package]] -name = "hashbrown" -version = "0.1.8" +name = "hash256-std-hasher" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "crunchy", ] [[package]] name = "hashbrown" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "hashmap_core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "heapsize" -version = "0.4.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e6073d0ca812575946eb5f35ff68dbe519907b25c42530389ff946dc84c6ead" dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "ahash", + "autocfg 0.1.7", ] [[package]] name = "heck" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" dependencies = [ - "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-segmentation", ] [[package]] -name = "hex" -version = "0.3.2" +name = "hermit-abi" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91780f809e750b0a89f5544be56617ff6b1227ee485bcb06ebe10cdf89bd3b71" +dependencies = [ + "libc", +] [[package]] -name = "hex-literal" -version = "0.1.4" +name = "hex" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "hex-literal-impl 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-hack 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" [[package]] name = "hex-literal" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0" dependencies = [ - "hex-literal-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "hex-literal-impl", + "proc-macro-hack", ] [[package]] name = "hex-literal-impl" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d4c5c844e2fee0bf673d54c2c177f1713b3d2af2ff6e666b49cb7572e6cf42d" dependencies = [ - "proc-macro-hack 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro-hack", ] [[package]] -name = "hex-literal-impl" -version = "0.2.1" +name = "hmac" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" dependencies = [ - "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "crypto-mac", + "digest", ] [[package]] -name = "hmac" -version = "0.4.2" +name = "hmac-drbg" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" dependencies = [ - "crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "digest", + "generic-array", + "hmac", ] [[package]] -name = "hmac" -version = "0.7.1" +name = "http" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" dependencies = [ - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "fnv", + "itoa", ] [[package]] -name = "hmac-drbg" -version = "0.1.2" +name = "http" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9" dependencies = [ - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "fnv", + "itoa", ] [[package]] -name = "http" -version = "0.1.19" +name = "http-body" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "futures 0.1.29", + "http 0.1.21", + "tokio-buf", ] [[package]] name = "http-body" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "http 0.2.1", ] [[package]] name = "httparse" version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" [[package]] name = "humantime" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" dependencies = [ - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error", ] [[package]] name = "hyper" version = "0.12.35" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.29", + "futures-cpupool", + "h2 0.1.26", + "http 0.1.21", + "http-body 0.1.0", + "httparse", + "iovec", + "itoa", + "log", + "net2", + "rustc_version", + "time", + "tokio 0.1.22", + "tokio-buf", + "tokio-executor 0.1.10", + "tokio-io", + "tokio-reactor", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "want 0.2.0", +] + +[[package]] +name = "hyper" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", - "http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.2.5", + "http 0.2.1", + "http-body 0.3.1", + "httparse", + "itoa", + "log", + "net2", + "pin-project", + "time", + "tokio 0.2.21", + "tower-service", + "want 0.3.0", ] [[package]] -name = "idna" -version = "0.1.5" +name = "hyper-rustls" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac965ea399ec3a25ac7d13b8affd4b8f39325cca00858ddf5eb29b79e6b14b08" dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "ct-logs", + "futures-util", + "hyper 0.13.5", + "log", + "rustls", + "rustls-native-certs", + "tokio 0.2.21", + "tokio-rustls", + "webpki", ] [[package]] -name = "impl-codec" -version = "0.2.0" -source = "git+https://github.com/chainx-org/chainx-common#a9caa272a49add83f11d598a4b8fa1368086e685" +name = "idna" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "matches", + "unicode-bidi", + "unicode-normalization", ] [[package]] -name = "impl-codec" +name = "idna" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "matches", + "unicode-bidi", + "unicode-normalization", ] [[package]] -name = "impl-rlp" -version = "0.2.1" +name = "impl-codec" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1be51a921b067b0eaca2fad532d9400041561aa922221cc65f95a85641c6bf53" dependencies = [ - "rlp 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", ] [[package]] name = "impl-serde" -version = "0.1.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58e3cae7e99c7ff5a995da2cf78dd0a5383740eda71d98cf7b1910c301ac69b8" dependencies = [ - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", ] [[package]] name = "impl-serde" -version = "0.2.1" -source = "git+https://github.com/chainx-org/chainx-common#a9caa272a49add83f11d598a4b8fa1368086e685" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b47ca4d2b6931707a55fce5cf66aff80e2178c8b63bbb4ecb5695cbc870ddf6f" dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", ] [[package]] -name = "impl-serde" -version = "0.2.2" +name = "impl-trait-for-tuples" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] name = "indexmap" -version = "1.3.0" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", ] [[package]] name = "integer-sqrt" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f65877bf7d44897a473350b1046277941cee20b263397e90869c50b6e766088b" [[package]] -name = "interleaved-ordered" -version = "0.1.1" +name = "intervalier" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275" +dependencies = [ + "futures 0.3.5", + "futures-timer 2.0.2", +] [[package]] name = "iovec" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", ] +[[package]] +name = "ip_network" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f" + [[package]] name = "ipnet" -version = "2.0.1" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135" + +[[package]] +name = "itertools" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" +dependencies = [ + "either", +] [[package]] name = "itoa" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" [[package]] name = "jobserver" -version = "0.1.17" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", ] [[package]] name = "js-sys" -version = "0.3.29" +version = "0.3.39" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa5a448de267e7358beaf4a5d849518fe9a0c13fce7afd44b06e68550e5562a7" dependencies = [ - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen", ] [[package]] name = "jsonrpc-client-transports" -version = "12.2.1" +version = "14.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2307a7e78cf969759e390a8a2151ea12e783849a45bb00aa871b468ba58ea79e" dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-core 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-pubsub 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "failure", + "futures 0.1.29", + "jsonrpc-core", + "jsonrpc-pubsub", + "log", + "serde", + "serde_json", + "url 1.7.2", ] [[package]] name = "jsonrpc-core" -version = "12.2.0" +version = "14.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25525f6002338fb4debb5167a89a0b47f727a5a48418417545ad3429758b7fec" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.29", + "log", + "serde", + "serde_derive", + "serde_json", ] [[package]] name = "jsonrpc-core-client" -version = "12.2.1" +version = "14.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f9382e831a6d630c658df103aac3f971da096deb57c136ea2b760d3b4e3f9f" dependencies = [ - "jsonrpc-client-transports 12.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonrpc-client-transports", ] [[package]] name = "jsonrpc-derive" -version = "12.2.0" +version = "14.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8609af8f63b626e8e211f52441fcdb6ec54f1a446606b10d5c89ae9bf8a20058" dependencies = [ - "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] name = "jsonrpc-http-server" -version = "12.2.0" +version = "14.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52860f0549694aa4abb12766856f56952ab46d3fb9f0815131b2db3d9cc2f29" dependencies = [ - "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-core 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-server-utils 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 2.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.12.35", + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "net2", + "parking_lot 0.10.2", + "unicase", ] [[package]] name = "jsonrpc-pubsub" -version = "12.2.0" +version = "14.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4ca5e391d6c6a2261d4adca029f427fe63ea546ad6cef2957c654c08495ec16" dependencies = [ - "jsonrpc-core 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonrpc-core", + "log", + "parking_lot 0.10.2", + "serde", ] [[package]] name = "jsonrpc-server-utils" -version = "12.2.0" +version = "14.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f06add502b48351e05dd95814835327fb115e4e9f834ca42fd522d3b769d4d2" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-core 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 2.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "globset", + "jsonrpc-core", + "lazy_static", + "log", + "tokio 0.1.22", + "tokio-codec", + "unicase", ] [[package]] name = "jsonrpc-ws-server" -version = "12.2.0" +version = "14.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "017a7dd5083d9ed62c5e1dd3e317975c33c3115dac5447f4480fe05a8c354754" dependencies = [ - "jsonrpc-core 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-server-utils 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ws 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "parking_lot 0.10.2", + "slab", + "ws", ] [[package]] name = "keccak" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "kernel32-sys" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8", + "winapi-build", ] [[package]] -name = "keys" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" +name = "kv-log-macro" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2d3beed37e5483887d81eb39de6de03a8346531410e1306ca48a9a89bd3a51" dependencies = [ - "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", + "log", ] [[package]] name = "kvdb" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d#b0317f649ab2c665b7987b8475878fc4d2e1f81d" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e763b2a9b500ba47948061d1e8bc3b5f03a8a1f067dbcf822a4d2c84d2b54a3a" dependencies = [ - "elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", + "parity-util-mem", + "smallvec 1.4.0", ] [[package]] name = "kvdb-memorydb" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d#b0317f649ab2c665b7987b8475878fc4d2e1f81d" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73027d5e228de6f503b5b7335d530404fc26230a6ae3e09b33ec6e45408509a4" dependencies = [ - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", - "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb", + "parity-util-mem", + "parking_lot 0.10.2", ] [[package]] name = "kvdb-rocksdb" -version = "0.1.4" -source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d#b0317f649ab2c665b7987b8475878fc4d2e1f81d" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84384eca250c7ff67877eda5336f28a86586aaee24acb945643590671f6bfce1" dependencies = [ - "elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fs-swap 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rocksdb 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fs-swap", + "kvdb", + "log", + "num_cpus", + "owning_ref", + "parity-util-mem", + "parking_lot 0.10.2", + "regex", + "rocksdb", + "smallvec 1.4.0", ] [[package]] name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "lazycell" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" [[package]] name = "libc" -version = "0.2.65" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" + +[[package]] +name = "libflate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1fbe6b967a94346446d37ace319ae85be7eca261bb8149325811ac435d35d64" +dependencies = [ + "adler32", + "crc32fast", + "libflate_lz77", + "rle-decode-fast", +] + +[[package]] +name = "libflate_lz77" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3286f09f7d4926fc486334f28d8d2e6ebe4f7f9994494b6dab27ddfad2c9b11b" [[package]] name = "libloading" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "cc", + "winapi 0.3.8", ] +[[package]] +name = "libm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" + [[package]] name = "libp2p" -version = "0.10.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core-derive 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-deflate 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-dns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-floodsub 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-identify 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-kad 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-mdns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-mplex 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-noise 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-ping 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-plaintext 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-ratelimit 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-secio 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-tcp 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-uds 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-wasm-ext 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-websocket 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-yamux 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", +checksum = "057eba5432d3e740e313c6e13c9153d0cb76b4f71bfc2e5242ae5bdb7d41af67" +dependencies = [ + "bytes 0.5.4", + "futures 0.3.5", + "lazy_static", + "libp2p-core", + "libp2p-core-derive", + "libp2p-dns", + "libp2p-identify", + "libp2p-kad", + "libp2p-mdns", + "libp2p-mplex", + "libp2p-noise", + "libp2p-ping", + "libp2p-swarm", + "libp2p-tcp", + "libp2p-wasm-ext", + "libp2p-websocket", + "libp2p-yamux", + "multihash", + "parity-multiaddr 0.9.0", + "parking_lot 0.10.2", + "pin-project", + "smallvec 1.4.0", + "wasm-timer", ] [[package]] name = "libp2p-core" -version = "0.10.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "asn1_der 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "ed25519-dalek 1.0.0-pre.2 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "multistream-select 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rw-stream-sink 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", +checksum = "4f5e30dcd8cb13a02ad534e214da234eca1595a76b5788b645dfa5c734d2124b" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", + "futures 0.3.5", + "futures-timer 3.0.2", + "lazy_static", + "libsecp256k1", + "log", + "multihash", + "multistream-select", + "parity-multiaddr 0.9.0", + "parking_lot 0.10.2", + "pin-project", + "prost", + "prost-build", + "rand 0.7.3", + "ring", + "rw-stream-sink", + "sha2", + "smallvec 1.4.0", + "thiserror", + "unsigned-varint", + "void", + "zeroize", ] [[package]] name = "libp2p-core-derive" -version = "0.10.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f09548626b737ed64080fde595e06ce1117795b8b9fc4d2629fa36561c583171" dependencies = [ - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "libp2p-deflate" -version = "0.2.0" +name = "libp2p-dns" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cc186d9a941fd0207cf8f08ef225a735e2d7296258f570155e525f6ee732f87" dependencies = [ - "flate2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "libp2p-core", + "log", ] [[package]] -name = "libp2p-dns" -version = "0.10.0" +name = "libp2p-identify" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6438ed8ca240c7635c9caa3be6c5258bc0058553ae97ba81737f04e5d33804f5" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-dns-unofficial 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "smallvec 1.4.0", + "wasm-timer", ] [[package]] -name = "libp2p-floodsub" -version = "0.10.0" +name = "libp2p-kad" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d6c1d5100973527ae70d82687465b17049c1b717a7964de38b8e65000878ff" +dependencies = [ + "arrayvec 0.5.1", + "bytes 0.5.4", + "either", + "fnv", + "futures 0.3.5", + "futures_codec", + "libp2p-core", + "libp2p-swarm", + "log", + "multihash", + "prost", + "prost-build", + "rand 0.7.3", + "sha2", + "smallvec 1.4.0", + "uint", + "unsigned-varint", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-mdns" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b00163d13f705aae67c427bea0575f8aaf63da6524f9bd4a5a093b8bda0b38" dependencies = [ - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "cuckoofilter 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "async-std", + "data-encoding", + "dns-parser", + "either", + "futures 0.3.5", + "lazy_static", + "libp2p-core", + "libp2p-swarm", + "log", + "net2", + "rand 0.7.3", + "smallvec 1.4.0", + "void", + "wasm-timer", ] [[package]] -name = "libp2p-identify" -version = "0.10.0" +name = "libp2p-mplex" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ce63313ad4bce2d76e54c292a1293ea47a0ebbe16708f1513fa62184992f53" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "fnv", + "futures 0.3.5", + "futures_codec", + "libp2p-core", + "log", + "parking_lot 0.10.2", + "unsigned-varint", ] [[package]] -name = "libp2p-kad" -version = "0.10.0" +name = "libp2p-noise" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84fd504e27b0eadd451e06b67694ef714bd8374044e7db339bb0cdb83755ddf4" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "bigint 4.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "curve25519-dalek", + "futures 0.3.5", + "lazy_static", + "libp2p-core", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "sha2", + "snow", + "static_assertions", + "x25519-dalek", + "zeroize", ] [[package]] -name = "libp2p-mdns" -version = "0.10.0" +name = "libp2p-ping" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c189cf1dfe4b3f01e2c0fe5e97a6f5df8aeb6f3569e26981015eb7c08015ce5f" dependencies = [ - "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "dns-parser 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.7.3", + "void", + "wasm-timer", ] [[package]] -name = "libp2p-mplex" -version = "0.10.0" +name = "libp2p-swarm" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a8101a0e0d5f04562137a476bf5f5423cd5bdab2f7e43a75909668e63cb102" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "libp2p-core", + "log", + "rand 0.7.3", + "smallvec 1.4.0", + "void", + "wasm-timer", ] [[package]] -name = "libp2p-noise" -version = "0.8.0" +name = "libp2p-tcp" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "309f95fce9bec755eff5406f8b822fd3969990830c2b54f752e1fc181d5ace3e" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "snow 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", + "async-std", + "futures 0.3.5", + "futures-timer 3.0.2", + "get_if_addrs", + "ipnet", + "libp2p-core", + "log", + "socket2", ] [[package]] -name = "libp2p-ping" -version = "0.10.0" +name = "libp2p-wasm-ext" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f59fdbb5706f2723ca108c088b1c7a37f735a8c328021f0508007162627e9885" dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "js-sys", + "libp2p-core", + "parity-send-wrapper", + "wasm-bindgen", + "wasm-bindgen-futures", ] [[package]] -name = "libp2p-plaintext" -version = "0.10.0" +name = "libp2p-websocket" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "085fbe4c05c4116c2164ab4d5a521eb6e00516c444f61b3ee9f68c7b1e53580b" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "async-tls", + "bytes 0.5.4", + "either", + "futures 0.3.5", + "libp2p-core", + "log", + "quicksink", + "rustls", + "rw-stream-sink", + "soketto", + "url 2.1.1", + "webpki", + "webpki-roots 0.18.0", ] [[package]] -name = "libp2p-ratelimit" -version = "0.10.0" +name = "libp2p-yamux" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b305d3a8981e68f11c0e17f2d11d5c52fae95e0d7c283f9e462b5b2dab413b2" dependencies = [ - "aio-limited 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "libp2p-core", + "parking_lot 0.10.2", + "thiserror", + "yamux", ] [[package]] -name = "libp2p-secio" -version = "0.10.0" +name = "librocksdb-sys" +version = "6.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "883213ae3d09bfc3d104aefe94b25ebb183b6f4d3a515b23b14817e1f4854005" dependencies = [ - "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "asn1_der 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-send-wrapper 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rw-stream-sink 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "twofish 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", + "bindgen", + "cc", + "glob", + "libc", ] [[package]] -name = "libp2p-tcp" -version = "0.10.0" +name = "libsecp256k1" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipnet 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tk-listen 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref", + "crunchy", + "digest", + "hmac-drbg", + "rand 0.7.3", + "sha2", + "subtle 2.2.2", + "typenum", ] [[package]] -name = "libp2p-uds" -version = "0.10.0" +name = "libz-sys" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cc", + "libc", + "pkg-config", + "vcpkg", ] [[package]] -name = "libp2p-wasm-ext" -version = "0.3.0" +name = "linked-hash-map" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" + +[[package]] +name = "linked_hash_set" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c7c91c4c7bbeb4f2f7c4e5be11e6a05bd6830bc37249c47ce1ad86ad453ff9c" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-send-wrapper 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)", + "linked-hash-map", ] [[package]] -name = "libp2p-websocket" -version = "0.10.0" +name = "linregress" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9290cf6f928576eeb9c096c6fad9d8d452a0a1a70a2bbffa6e36064eedc0aac9" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rw-stream-sink 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "soketto 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.10.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki-roots 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "failure", + "nalgebra", + "statrs", ] [[package]] -name = "libp2p-yamux" -version = "0.10.0" +name = "lock_api" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "yamux 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard", ] [[package]] -name = "librocksdb-sys" -version = "5.18.3" +name = "log" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" dependencies = [ - "bindgen 0.47.3 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", ] [[package]] -name = "libsecp256k1" -version = "0.2.2" +name = "lru" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0609345ddee5badacf857d4f547e0e5a2e987db77085c24cd887f73573a04237" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashbrown", ] [[package]] -name = "libz-sys" -version = "1.0.25" +name = "matches" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "matrixmultiply" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4f7ec66360130972f34830bfad9ef05c6610a43938a467bcc9ab9369ab3478f" dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "rawpointer", ] [[package]] -name = "linked-hash-map" -version = "0.5.2" +name = "maybe-uninit" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] -name = "linked_hash_set" -version = "0.1.3" +name = "memchr" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" + +[[package]] +name = "memmap" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" dependencies = [ - "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "winapi 0.3.8", ] [[package]] -name = "lock_api" -version = "0.1.5" +name = "memoffset" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8" dependencies = [ - "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", ] [[package]] -name = "lock_api" -version = "0.2.0" +name = "memory-db" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be512cb2ccb4ecbdca937fdd4a62ea5f09f8e7195466a85e4632b3d5bcce82e6" dependencies = [ - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ahash", + "hash-db", + "hashbrown", + "parity-util-mem", ] [[package]] -name = "lock_api" -version = "0.3.1" +name = "memory_units" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" + +[[package]] +name = "merlin" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6feca46f4fa3443a01769d768727f10c10a20fdb65e52dc16a81f0c8269bb78" dependencies = [ - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "keccak", + "rand_core 0.5.1", + "zeroize", ] [[package]] -name = "log" -version = "0.4.8" +name = "miniz_oxide" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "adler32", ] [[package]] -name = "log-mdc" -version = "0.1.0" +name = "mio" +version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" +dependencies = [ + "cfg-if", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow", + "net2", + "slab", + "winapi 0.2.8", +] [[package]] -name = "log4rs" -version = "0.8.3" +name = "mio-extras" +version = "2.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ - "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "arc-swap 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "flate2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", - "thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "lazycell", + "log", + "mio", + "slab", ] [[package]] -name = "lru" -version = "0.1.17" +name = "mio-uds" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" dependencies = [ - "hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "iovec", + "libc", + "mio", ] [[package]] -name = "lru-cache" -version = "0.1.2" +name = "miow" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" dependencies = [ - "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", ] [[package]] -name = "malloc_size_of_derive" -version = "0.1.1" +name = "multihash" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f75db05d738947aa5389863aadafbcf2e509d7ba099dc2ddcdf4fc66bf7a9e03" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd", + "blake2s_simd", + "digest", + "sha-1", + "sha2", + "sha3", + "unsigned-varint", ] [[package]] -name = "matches" -version = "0.1.8" +name = "multimap" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8883adfde9756c1d30b0f519c9b8c502a94b41ac62f696453c37c7fc0a958ce" [[package]] -name = "memchr" -version = "2.2.1" +name = "multistream-select" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "991c33683908c588b8f2cf66c221d8f390818c1bdcd13fce55208408e027a796" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "futures 0.3.5", + "log", + "pin-project", + "smallvec 1.4.0", + "unsigned-varint", ] [[package]] -name = "memoffset" -version = "0.5.1" +name = "nalgebra" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaa9fddbc34c8c35dd2108515587b8ce0cab396f17977b8c738568e4edb521a2" dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "alga", + "approx", + "generic-array", + "matrixmultiply", + "num-complex", + "num-rational", + "num-traits 0.2.11", + "rand 0.6.5", + "typenum", ] [[package]] -name = "memory-db" -version = "0.12.4" +name = "names" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da" dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hashmap_core 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-util-mem 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.23", ] [[package]] -name = "memory_units" -version = "0.3.0" +name = "net2" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7" +dependencies = [ + "cfg-if", + "libc", + "winapi 0.3.8", +] [[package]] -name = "merkle" +name = "netstat2" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29449d242064c48d3057a194b049a2bdcccadda16faa18a91468677b44e8d422" +dependencies = [ + "bitflags", + "byteorder", + "enum-primitive-derive", + "libc", + "num-traits 0.2.11", + "thiserror", +] + +[[package]] +name = "nix" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363" +dependencies = [ + "bitflags", + "cc", + "cfg-if", + "libc", + "void", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "nohash-hasher" version = "0.2.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6" dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", + "memchr", + "version_check", ] [[package]] -name = "merlin" -version = "1.2.1" +name = "ntapi" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8", ] [[package]] -name = "miniz_oxide" -version = "0.3.5" +name = "num-bigint" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" dependencies = [ - "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", + "num-integer", + "num-traits 0.2.11", ] [[package]] -name = "mio" -version = "0.6.19" +name = "num-complex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ - "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", + "num-traits 0.2.11", ] [[package]] -name = "mio-extras" -version = "2.0.5" +name = "num-integer" +version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" dependencies = [ - "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", + "num-traits 0.2.11", ] [[package]] -name = "mio-uds" -version = "0.6.7" +name = "num-rational" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", + "num-bigint", + "num-integer", + "num-traits 0.2.11", ] [[package]] -name = "miow" -version = "0.2.1" +name = "num-traits" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11", ] [[package]] -name = "multistream-select" -version = "0.4.0" +name = "num-traits" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0", + "libm", ] [[package]] -name = "names" -version = "0.11.0" +name = "num_cpus" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" dependencies = [ - "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", + "hermit-abi", + "libc", ] [[package]] -name = "net2" -version = "0.2.33" +name = "object" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" [[package]] -name = "nix" -version = "0.14.1" +name = "once_cell" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d" dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.10.2", ] [[package]] -name = "nodrop" -version = "0.1.14" +name = "opaque-debug" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] -name = "nohash-hasher" +name = "openssl-probe" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" [[package]] -name = "nom" -version = "4.2.3" +name = "owning_ref" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "stable_deref_trait", ] [[package]] -name = "num-integer" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-aura" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "frame-system", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "serde", + "sp-application-crypto", + "sp-consensus-aura", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-timestamp", ] [[package]] -name = "num-traits" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-finality-tracker" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "parity-scale-codec", + "serde", + "sp-finality-tracker", + "sp-inherents", + "sp-runtime", + "sp-std", ] [[package]] -name = "num_cpus" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-grandpa" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "frame-system", + "pallet-finality-tracker", + "pallet-session", + "parity-scale-codec", + "serde", + "sp-application-crypto", + "sp-core", + "sp-finality-grandpa", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", ] [[package]] -name = "ole32-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-randomness-collective-flip" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "frame-system", + "parity-scale-codec", + "safe-mix", + "sp-runtime", + "sp-std", ] [[package]] -name = "once_cell" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-session" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-timestamp", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-trie", ] [[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-sudo" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] [[package]] -name = "openssl" -version = "0.10.25" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-timestamp" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "parity-scale-codec", + "serde", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-timestamp", ] [[package]] -name = "openssl-sys" -version = "0.9.52" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-transaction-payment" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "frame-system", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "smallvec 1.4.0", + "sp-runtime", + "sp-std", ] [[package]] -name = "ordered-float" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "pallet-transaction-payment-rpc" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", ] [[package]] -name = "owning_ref" -version = "0.4.0" +name = "pallet-transaction-payment-rpc-runtime-api" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "frame-support", + "parity-scale-codec", + "serde", + "sp-api", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "parity-db" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00d595e372d119261593297debbe4193811a4dc811d2a1ccbb8caaa6666ad7ab" dependencies = [ - "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2-rfc", + "crc32fast", + "libc", + "log", + "memmap", + "parking_lot 0.10.2", ] [[package]] -name = "parity-bytes" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d#b0317f649ab2c665b7987b8475878fc4d2e1f81d" +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-codec" -version = "3.5.4" +name = "parity-multiaddr" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ca96399f4a01aa89c59220c4f52ac371940eb4e53e3ce990da796f364bdf69" dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref", + "bs58", + "byteorder", + "data-encoding", + "multihash", + "percent-encoding 2.1.0", + "serde", + "static_assertions", + "unsigned-varint", + "url 2.1.1", ] [[package]] -name = "parity-codec-derive" -version = "3.3.0" +name = "parity-multihash" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a1cd2ba02391b81367bec529fb209019d718684fdc8ad6a712c2b536e46f775" dependencies = [ - "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2", + "bytes 0.5.4", + "rand 0.7.3", + "sha-1", + "sha2", + "sha3", + "unsigned-varint", ] [[package]] -name = "parity-multiaddr" -version = "0.5.0" +name = "parity-scale-codec" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "329c8f7f4244ddb5c37c103641027a76c530e65e8e4b8240b29f81ea40508b17" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayvec 0.5.1", + "bitvec", + "byte-slice-cast", + "parity-scale-codec-derive", + "serde", ] [[package]] -name = "parity-multihash" -version = "0.1.3" +name = "parity-scale-codec-derive" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a0ec292e92e8ec7c58e576adacc1e3f399c597c8f263c42f18420abe58e7245" dependencies = [ - "blake2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] name = "parity-send-wrapper" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" [[package]] name = "parity-util-mem" -version = "0.1.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6e2583649a3ca84894d1d71da249abcfda54d5aca24733d72ca10d0f02361c" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "malloc_size_of_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "impl-trait-for-tuples", + "parity-util-mem-derive", + "parking_lot 0.10.2", + "primitive-types", + "smallvec 1.4.0", + "winapi 0.3.8", ] [[package]] -name = "parity-wasm" -version = "0.31.3" +name = "parity-util-mem-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "syn 1.0.22", + "synstructure", ] [[package]] name = "parity-wasm" version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" [[package]] name = "parking_lot" -version = "0.6.4" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ - "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lock_api", + "parking_lot_core 0.6.2", + "rustc_version", ] [[package]] name = "parking_lot" -version = "0.7.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" dependencies = [ - "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lock_api", + "parking_lot_core 0.7.2", ] [[package]] -name = "parking_lot" -version = "0.8.0" +name = "parking_lot_core" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" dependencies = [ - "lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "cloudabi", + "libc", + "redox_syscall", + "rustc_version", + "smallvec 0.6.13", + "winapi 0.3.8", ] [[package]] -name = "parking_lot" -version = "0.9.0" +name = "parking_lot_core" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" dependencies = [ - "lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "cloudabi", + "libc", + "redox_syscall", + "smallvec 1.4.0", + "winapi 0.3.8", ] [[package]] -name = "parking_lot_core" -version = "0.3.1" +name = "paste" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a229b1c58c692edcaa5b9b0948084f130f55d2dcc15b02fcc5340b2b4521476" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "paste-impl", + "proc-macro-hack", ] [[package]] -name = "parking_lot_core" -version = "0.4.0" +name = "paste-impl" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0bf239e447e67ff6d16a8bb5e4d4bd2343acf5066061c0e8e06ac5ba8ca68c" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro-hack", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "parking_lot_core" -version = "0.5.0" +name = "pbkdf2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "crypto-mac", ] [[package]] -name = "parking_lot_core" -version = "0.6.2" +name = "peeking_take_while" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] -name = "paste" -version = "0.1.6" +name = "percent-encoding" +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 = "petgraph" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92" dependencies = [ - "paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "fixedbitset", + "indexmap", ] [[package]] -name = "paste-impl" -version = "0.1.6" +name = "pin-project" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81d480cb4e89522ccda96d0eed9af94180b7a5f93fb28f66e1fd7d68431663d1" dependencies = [ - "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-internal", ] [[package]] -name = "pbkdf2" -version = "0.3.0" +name = "pin-project-internal" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a82996f11efccb19b685b14b5df818de31c1edcee3daa256ab5775dd98e72feb" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "peeking_take_while" -version = "0.1.2" +name = "pin-project-lite" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" [[package]] -name = "percent-encoding" -version = "1.0.1" +name = "pin-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" + +[[package]] +name = "platforms" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" [[package]] name = "ppv-lite86" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" [[package]] name = "primitive-types" -version = "0.2.4" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55c21c64d0eaa4d7ed885d959ef2d62d9e488c27c0e02d9aa5ce6c877b7d5f8" dependencies = [ - "fixed-hash 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash", + "impl-codec", + "impl-serde 0.3.1", + "uint", ] [[package]] -name = "primitive-types" -version = "0.3.0" +name = "proc-macro-crate" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" dependencies = [ - "fixed-hash 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-rlp 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "toml", ] [[package]] -name = "primitive-types" -version = "0.5.1" -source = "git+https://github.com/chainx-org/chainx-common#a9caa272a49add83f11d598a4b8fa1368086e685" +name = "proc-macro-error" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98e9e4b82e0ef281812565ea4751049f1bdcdfccda7d3f459f2e138a40c08678" dependencies = [ - "fixed-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.2.0 (git+https://github.com/chainx-org/chainx-common)", - "impl-serde 0.2.1 (git+https://github.com/chainx-org/chainx-common)", - "uint 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro-error-attr", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", + "version_check", ] [[package]] -name = "primitives" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" +name = "proc-macro-error-attr" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f5444ead4e9935abd7f27dc51f7e852a0569ac888096d5ec2499470794e2e53" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.2.0 (git+https://github.com/chainx-org/chainx-common)", - "impl-serde 0.2.1 (git+https://github.com/chainx-org/chainx-common)", - "primitive-types 0.5.1 (git+https://github.com/chainx-org/chainx-common)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", + "syn-mid", + "version_check", ] [[package]] -name = "proc-macro-crate" +name = "proc-macro-hack" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d659fe7c6d27f25e9d80a1a094c223f5246f6a6596453e09d7229bf42750b63" + +[[package]] +name = "proc-macro-nested" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "toml 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694" [[package]] -name = "proc-macro-hack" -version = "0.4.2" +name = "proc-macro2" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53f5ffe53a6b28e37c9c1ce74893477864d64f74778a93a4beb43c8fa167f639" dependencies = [ - "proc-macro-hack-impl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.2.0", ] [[package]] -name = "proc-macro-hack" -version = "0.5.11" +name = "procfs" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c434e93ef69c216e68e4f417c927b4f31502c3560b72cfdb6827e2321c5c6b3e" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags", + "byteorder", + "chrono", + "hex", + "lazy_static", + "libc", + "libflate", ] [[package]] -name = "proc-macro-hack-impl" -version = "0.4.2" +name = "prometheus" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0575e258dab62268e7236d7307caa38848acbda7ec7ab87bd9093791e999d20" +dependencies = [ + "cfg-if", + "fnv", + "lazy_static", + "protobuf", + "spin", + "thiserror", +] [[package]] -name = "proc-macro2" -version = "0.4.30" +name = "prost" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" dependencies = [ - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "prost-derive", ] [[package]] -name = "proc-macro2" -version = "1.0.6" +name = "prost-build" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" dependencies = [ - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "heck", + "itertools", + "log", + "multimap", + "petgraph", + "prost", + "prost-types", + "tempfile", + "which", ] [[package]] -name = "protobuf" -version = "2.8.1" +name = "prost-derive" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] [[package]] -name = "pwasm-utils" -version = "0.12.0" +name = "prost-types" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "prost", ] +[[package]] +name = "protobuf" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e86d370532557ae7573551a1ec8235a0f8d6cb276c7c9e6aa490b511c447485" + [[package]] name = "quick-error" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] -name = "quote" -version = "0.6.13" +name = "quicksink" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core", + "futures-sink", + "pin-project-lite", ] [[package]] name = "quote" -version = "1.0.2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" + +[[package]] +name = "quote" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42934bc9c8ab0d3b273a16d8551c8f0fcff46be73276ca083ec2414c15c4ba5e" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", ] +[[package]] +name = "radium" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac" + [[package]] name = "rand" version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "rand 0.4.6", ] [[package]] name = "rand" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" dependencies = [ - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "rdrand", + "winapi 0.3.8", ] [[package]] name = "rand" version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9" dependencies = [ - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "cloudabi", + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "winapi 0.3.8", ] [[package]] name = "rand" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7", + "libc", + "rand_chacha 0.1.1", + "rand_core 0.4.2", + "rand_hc 0.1.0", + "rand_isaac", + "rand_jitter", + "rand_os", + "rand_pcg 0.1.2", + "rand_xorshift", + "winapi 0.3.8", ] [[package]] name = "rand" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc 0.2.0", + "rand_pcg 0.2.1", ] [[package]] name = "rand_chacha" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7", + "rand_core 0.3.1", ] [[package]] name = "rand_chacha" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" dependencies = [ - "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ppv-lite86", + "rand_core 0.5.1", ] [[package]] name = "rand_core" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" dependencies = [ - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.2", ] [[package]] name = "rand_core" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" [[package]] name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom", ] [[package]] name = "rand_hc" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1", ] [[package]] name = "rand_hc" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.5.1", ] [[package]] name = "rand_isaac" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1", ] [[package]] name = "rand_jitter" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "rand_core 0.4.2", + "winapi 0.3.8", ] [[package]] name = "rand_os" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" dependencies = [ - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "cloudabi", + "fuchsia-cprng", + "libc", + "rand_core 0.4.2", + "rdrand", + "winapi 0.3.8", ] [[package]] name = "rand_pcg" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" +dependencies = [ + "autocfg 0.1.7", + "rand_core 0.4.2", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.5.1", ] [[package]] name = "rand_xorshift" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098" dependencies = [ - "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-deque", + "either", + "rayon-core", ] [[package]] name = "rayon-core" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9" dependencies = [ - "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-deque", + "crossbeam-queue", + "crossbeam-utils", + "lazy_static", + "num_cpus", ] [[package]] name = "rdrand" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1", ] [[package]] -name = "redis" -version = "0.9.1" +name = "redox_syscall" +version = "0.1.56" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" + +[[package]] +name = "redox_users" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "combine 3.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom", + "redox_syscall", + "rust-argon2", ] [[package]] -name = "redox_syscall" -version = "0.1.56" +name = "ref-cast" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a214c7875e1b63fc1618db7c80efc0954f6156c9ff07699fd9039e255accdd1" +dependencies = [ + "ref-cast-impl", +] [[package]] -name = "regex" -version = "1.3.1" +name = "ref-cast-impl" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "602eb59cda66fcb9aec25841fb76bc01d2b34282dcdd705028da297db6f3eec8" dependencies = [ - "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "regex-automata" -version = "0.1.8" +name = "regex" +version = "1.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6020f034922e3194c711b82a627453881bc4682166cabb07134a10c26ba7692" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick", + "memchr", + "regex-syntax", + "thread_local", ] [[package]] name = "regex-syntax" -version = "0.6.12" +version = "0.6.17" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae" [[package]] name = "remove_dir_all" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8", ] [[package]] name = "ring" -version = "0.14.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ripemd160" -version = "0.8.0" +version = "0.16.13" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703516ae74571f24b465b4a1431e81e2ad51336cb0ded733a55a1aa3eccac196" dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi 0.3.8", ] [[package]] -name = "rlp" -version = "0.4.3" +name = "rle-decode-fast" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" [[package]] name = "rocksdb" -version = "0.11.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61aa17a99a2413cd71c1106691bf59dad7de0cd5099127f90e9d99c429c40d4a" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "librocksdb-sys 5.18.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "librocksdb-sys", ] [[package]] name = "rpassword" -version = "3.0.2" +version = "4.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99371657d3c8e4d816fb6221db98fa408242b0b53bac08f8676a41f8554fe99f" dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "winapi 0.3.8", ] [[package]] -name = "runtime-api" -version = "1.0.0" +name = "rust-argon2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" dependencies = [ - "chainx-primitives 1.0.0", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-process 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xsupport 1.0.0", + "base64", + "blake2b_simd", + "constant_time_eq", + "crossbeam-utils", ] [[package]] name = "rustc-demangle" version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hex" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustc_version" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" dependencies = [ - "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "semver", ] [[package]] name = "rustls" -version = "0.15.2" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" +dependencies = [ + "base64", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "sct 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-probe", + "rustls", + "schannel", + "security-framework", ] [[package]] name = "rw-stream-sink" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "pin-project", + "static_assertions", ] [[package]] name = "ryu" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1" [[package]] name = "safe-mix" -version = "1.0.0" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" +dependencies = [ + "rustc_version", +] + +[[package]] +name = "sc-basic-authorship" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "futures 0.3.5", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "sc-block-builder", + "sc-client-api", + "sc-proposer-metrics", + "sc-telemetry", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-transaction-pool", + "substrate-prometheus-endpoint", + "tokio-executor 0.2.0-alpha.6", +] + +[[package]] +name = "sc-block-builder" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "parity-scale-codec", + "sc-client-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-chain-spec" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "impl-trait-for-tuples", + "sc-chain-spec-derive", + "sc-network", + "sc-telemetry", + "serde", + "serde_json", + "sp-chain-spec", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sc-chain-spec-derive" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] + +[[package]] +name = "sc-cli" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "ansi_term 0.12.1", + "atty", + "chrono", + "derive_more", + "directories", + "env_logger", + "fdlimit", + "futures 0.3.5", + "lazy_static", + "log", + "names", + "nix", + "parity-util-mem", + "regex", + "rpassword", + "sc-client-api", + "sc-informant", + "sc-network", + "sc-service", + "sc-telemetry", + "sc-tracing", + "serde_json", + "sp-blockchain", + "sp-core", + "sp-keyring", + "sp-panic-handler", + "sp-runtime", + "sp-state-machine", + "sp-utils", + "sp-version", + "structopt", + "substrate-prometheus-endpoint", + "time", + "tokio 0.2.21", +] + +[[package]] +name = "sc-client-api" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "fnv", + "futures 0.3.5", + "hash-db", + "hex-literal", + "kvdb", + "lazy_static", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "sc-executor", + "sc-telemetry", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-externalities", + "sp-inherents", + "sp-keyring", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-storage", + "sp-transaction-pool", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-client-db" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "blake2-rfc", + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "linked-hash-map", + "log", + "parity-db", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.10.2", + "sc-client-api", + "sc-executor", + "sc-state-db", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "sc-client-api", + "sp-blockchain", + "sp-consensus", + "sp-runtime", +] + +[[package]] +name = "sc-consensus-aura" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "futures 0.3.5", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "sc-block-builder", + "sc-client-api", + "sc-consensus-slots", + "sc-keystore", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-timestamp", + "sp-version", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus-slots" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "futures 0.3.5", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "sc-client-api", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-executor" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "lazy_static", + "libsecp256k1", + "log", + "parity-scale-codec", + "parity-wasm", + "parking_lot 0.10.2", + "sc-executor-common", + "sc-executor-wasmi", + "sp-api", + "sp-core", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", + "sp-serializer", + "sp-trie", + "sp-version", + "sp-wasm-interface", + "wasmi", +] + +[[package]] +name = "sc-executor-common" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "log", + "parity-scale-codec", + "parity-wasm", + "sp-allocator", + "sp-core", + "sp-runtime-interface", + "sp-serializer", + "sp-wasm-interface", + "wasmi", +] + +[[package]] +name = "sc-executor-wasmi" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "log", + "parity-scale-codec", + "sc-executor-common", + "sp-allocator", + "sp-core", + "sp-runtime-interface", + "sp-wasm-interface", + "wasmi", +] + +[[package]] +name = "sc-finality-grandpa" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "assert_matches", + "derive_more", + "finality-grandpa", + "fork-tree", + "futures 0.3.5", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "pin-project", + "rand 0.7.3", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-keystore", + "sc-network", + "sc-network-gossip", + "sc-telemetry", + "serde_json", + "sp-api", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-finality-grandpa", + "sp-finality-tracker", + "sp-inherents", + "sp-runtime", + "sp-utils", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-informant" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "ansi_term 0.12.1", + "futures 0.3.5", + "log", + "parity-util-mem", + "sc-client-api", + "sc-network", + "sc-service", + "sp-blockchain", + "sp-runtime", + "wasm-timer", +] + +[[package]] +name = "sc-keystore" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "hex", + "parking_lot 0.10.2", + "rand 0.7.3", + "serde_json", + "sp-application-crypto", + "sp-core", + "subtle 2.2.2", +] + +[[package]] +name = "sc-network" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "bitflags", + "bs58", + "bytes 0.5.4", + "derive_more", + "either", + "erased-serde", + "fnv", + "fork-tree", + "futures 0.3.5", + "futures-timer 3.0.2", + "futures_codec", + "hex", + "ip_network", + "libp2p", + "linked-hash-map", + "linked_hash_set", + "log", + "lru", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.10.2", + "pin-project", + "prost", + "prost-build", + "rand 0.7.3", + "sc-block-builder", + "sc-client-api", + "sc-peerset", + "serde", + "serde_json", + "slog", + "slog_derive", + "smallvec 0.6.13", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-utils", + "substrate-prometheus-endpoint", + "thiserror", + "unsigned-varint", + "void", + "wasm-timer", + "zeroize", +] + +[[package]] +name = "sc-network-gossip" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "futures 0.3.5", + "futures-timer 3.0.2", + "libp2p", + "log", + "lru", + "sc-network", + "sp-runtime", + "wasm-timer", +] + +[[package]] +name = "sc-offchain" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "bytes 0.5.4", + "fnv", + "futures 0.3.5", + "futures-timer 3.0.2", + "hyper 0.13.5", + "hyper-rustls", + "log", + "num_cpus", + "parity-scale-codec", + "parking_lot 0.10.2", + "rand 0.7.3", + "sc-client-api", + "sc-keystore", + "sc-network", + "sp-api", + "sp-core", + "sp-offchain", + "sp-runtime", + "sp-utils", + "threadpool", +] + +[[package]] +name = "sc-peerset" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "futures 0.3.5", + "libp2p", + "log", + "serde_json", + "sp-utils", + "wasm-timer", +] + +[[package]] +name = "sc-proposer-metrics" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "log", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-rpc" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "futures 0.3.5", + "hash-db", + "jsonrpc-core", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "sc-block-builder", + "sc-client-api", + "sc-executor", + "sc-keystore", + "sc-rpc-api", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-chain-spec", + "sp-core", + "sp-offchain", + "sp-rpc", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-transaction-pool", + "sp-utils", + "sp-version", +] + +[[package]] +name = "sc-rpc-api" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "futures 0.3.5", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "serde", + "serde_json", + "sp-chain-spec", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-transaction-pool", + "sp-version", +] + +[[package]] +name = "sc-rpc-server" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "jsonrpc-core", + "jsonrpc-http-server", + "jsonrpc-pubsub", + "jsonrpc-ws-server", + "log", + "serde", + "serde_json", + "sp-runtime", +] + +[[package]] +name = "sc-service" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "exit-future", + "futures 0.1.29", + "futures 0.3.5", + "futures-timer 3.0.2", + "hash-db", + "lazy_static", + "log", + "netstat2", + "parity-multiaddr 0.7.3", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.10.2", + "pin-project", + "procfs", + "rand 0.7.3", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-client-db", + "sc-executor", + "sc-keystore", + "sc-network", + "sc-offchain", + "sc-rpc", + "sc-rpc-server", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "serde", + "serde_json", + "slog", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-externalities", + "sp-io", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-transaction-pool", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", + "sysinfo", + "tracing", + "wasm-timer", +] + +[[package]] +name = "sc-state-db" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "log", + "parity-scale-codec", + "parity-util-mem", + "parity-util-mem-derive", + "parking_lot 0.10.2", + "sc-client-api", + "sp-core", +] + +[[package]] +name = "sc-telemetry" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "bytes 0.5.4", + "futures 0.3.5", + "futures-timer 3.0.2", + "libp2p", + "log", + "parking_lot 0.10.2", + "pin-project", + "rand 0.7.3", + "serde", + "slog", + "slog-json", + "slog-scope", + "take_mut", + "void", + "wasm-timer", +] + +[[package]] +name = "sc-tracing" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "erased-serde", + "log", + "parking_lot 0.10.2", + "sc-telemetry", + "serde", + "serde_json", + "slog", + "tracing-core", +] + +[[package]] +name = "sc-transaction-graph" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "futures 0.3.5", + "linked-hash-map", + "log", + "parity-util-mem", + "parking_lot 0.10.2", + "serde", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-transaction-pool", + "sp-utils", + "wasm-timer", +] + +[[package]] +name = "sc-transaction-pool" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "derive_more", + "futures 0.3.5", + "futures-diagnose", + "intervalier", + "log", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.10.2", + "sc-client-api", + "sc-transaction-graph", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-tracing", + "sp-transaction-pool", + "sp-utils", + "substrate-prometheus-endpoint", + "wasm-timer", +] + +[[package]] +name = "schannel" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static", + "winapi 0.3.8", ] [[package]] name = "schnorrkel" -version = "0.8.5" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" dependencies = [ - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "merlin 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref", + "arrayvec 0.5.1", + "curve25519-dalek", + "getrandom", + "merlin", + "rand 0.7.3", + "rand_core 0.5.1", + "sha2", + "subtle 2.2.2", + "zeroize", ] [[package]] name = "scopeguard" -version = "0.3.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "scopeguard" -version = "1.0.0" +name = "sct" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" +dependencies = [ + "ring", + "untrusted", +] [[package]] -name = "script" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" +name = "security-framework" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", ] [[package]] -name = "sct" -version = "0.5.0" +name = "security-framework-sys" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" dependencies = [ - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys", + "libc", ] [[package]] name = "semver" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "semver-parser", ] [[package]] name = "semver-parser" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "send_wrapper" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0eddf2e8f50ced781f288c19f18621fa72a3779e3cb58dbf23b07469b0abeb4" [[package]] name = "serde" -version = "1.0.102" +version = "1.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99e7b308464d16b56eba9964e4972a3eee817760ab60d88c3f86e1fecb08204c" dependencies = [ - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde-value" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.102" +version = "1.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "818fbf6bfa9a42d3bfcaca148547aa00c7b915bec71d1757aa2d44ca68771984" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] name = "serde_json" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_yaml" -version = "0.8.11" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "993948e75b189211a9b31a7528f950c6adc21f9720b6438ff80a7fa2f864cea2" dependencies = [ - "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serialization" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serialization_derive 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", -] - -[[package]] -name = "serialization_derive" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa", + "ryu", + "serde", ] [[package]] name = "sha-1" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "block-buffer", + "digest", + "fake-simd", + "opaque-debug", ] [[package]] name = "sha1" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" [[package]] name = "sha2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sha2" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "block-buffer", + "digest", + "fake-simd", + "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 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "block-buffer", + "byte-tools", + "digest", + "keccak", + "opaque-debug", ] [[package]] -name = "shell32-sys" -version = "0.1.2" +name = "shlex" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] -name = "siphasher" -version = "0.3.1" +name = "signal-hook-registry" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" +dependencies = [ + "arc-swap", + "libc", +] [[package]] name = "slab" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" [[package]] name = "slog" version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cc9c640a4adbfbcc11ffb95efe5aa7af7309e002adab54b185507dbf2377b99" dependencies = [ - "erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "erased-serde", ] [[package]] -name = "slog-async" +name = "slog-json" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc0d2aff1f8f325ef660d9a0eb6e6dcd20b30b3f581a5897f58bf42d061c37a" dependencies = [ - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono", + "erased-serde", + "serde", + "serde_json", + "slog", ] [[package]] -name = "slog-json" -version = "2.3.0" +name = "slog-scope" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c44c89dd8b0ae4537d1ae318353eaf7840b4869c536e31c41e963d1ea523ee6" dependencies = [ - "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "arc-swap", + "lazy_static", + "slog", ] [[package]] -name = "slog-scope" -version = "4.3.0" +name = "slog_derive" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b" dependencies = [ - "arc-swap 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "slog_derive" -version = "0.1.1" +name = "smallvec" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "maybe-uninit", ] [[package]] name = "smallvec" -version = "0.6.11" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" [[package]] name = "snow" -version = "0.5.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb767eee7d257ba202f0b9b08673bc13b22281632ef45267b19f13100accd2f" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "static_slice 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref", + "blake2-rfc", + "chacha20-poly1305-aead", + "rand 0.7.3", + "rand_core 0.5.1", + "ring", + "rustc_version", + "sha2", + "subtle 2.2.2", + "x25519-dalek", ] [[package]] -name = "soketto" -version = "0.2.3" +name = "socket2" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918" dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "flate2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "libc", + "redox_syscall", + "winapi 0.3.8", ] [[package]] -name = "sourcefile" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "spin" -version = "0.5.2" +name = "soketto" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "sr-api-macros" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +checksum = "1c9dab3f95c9ebdf3a88268c19af668f637a3c5039c2c56ff2d40b1b2d64a25b" dependencies = [ - "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "base64", + "bytes 0.5.4", + "flate2", + "futures 0.3.5", + "http 0.2.1", + "httparse", + "log", + "rand 0.7.3", + "sha1", + "smallvec 1.4.0", + "static_assertions", + "thiserror", ] [[package]] -name = "sr-io" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-allocator" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "derive_more", + "log", + "sp-core", + "sp-std", + "sp-wasm-interface", ] [[package]] -name = "sr-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-api" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "hash-db", + "parity-scale-codec", + "sp-api-proc-macro", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-version", ] [[package]] -name = "sr-sandbox" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-api-proc-macro" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2-rfc", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "sr-std" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-application-crypto" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-std", ] [[package]] -name = "sr-version" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-arithmetic" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "integer-sqrt", + "num-traits 0.2.11", + "parity-scale-codec", + "serde", + "sp-debug-derive", + "sp-std", ] [[package]] -name = "srml-aura" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-block-builder" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-inherents", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-blockchain" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-session 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-staking 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "derive_more", + "log", + "lru", + "parity-scale-codec", + "parking_lot 0.10.2", + "sp-block-builder", + "sp-consensus", + "sp-runtime", + "sp-state-machine", ] [[package]] -name = "srml-consensus" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-chain-spec" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "serde", + "serde_json", ] [[package]] -name = "srml-finality-tracker" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-consensus" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "derive_more", + "futures 0.3.5", + "futures-timer 3.0.2", + "libp2p", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "serde", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", ] [[package]] -name = "srml-indices" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-consensus-aura" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-timestamp", ] [[package]] -name = "srml-metadata" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-core" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "base58", + "blake2-rfc", + "byteorder", + "derive_more", + "ed25519-dalek", + "futures 0.3.5", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde 0.3.1", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "num-traits 0.2.11", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.10.2", + "primitive-types", + "rand 0.7.3", + "regex", + "schnorrkel", + "serde", + "sha2", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", + "substrate-bip39", + "tiny-bip39", + "tiny-keccak", + "twox-hash", + "wasmi", + "zeroize", ] [[package]] -name = "srml-session" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-database" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "kvdb", + "parking_lot 0.10.2", ] [[package]] -name = "srml-staking" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-debug-derive" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-session 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "srml-sudo" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-externalities" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support-procedural 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "environmental", + "parity-scale-codec", + "sp-std", + "sp-storage", ] [[package]] -name = "srml-support" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "bitmask 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lru 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "redis 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-metadata 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support-procedural 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-support-procedural" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-finality-grandpa" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-api-macros 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support-procedural-tools 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "finality-grandpa", + "log", + "parity-scale-codec", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] -name = "srml-support-procedural-tools" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-finality-tracker" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "srml-support-procedural-tools-derive 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "sp-inherents", + "sp-std", ] [[package]] -name = "srml-support-procedural-tools-derive" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-inherents" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "derive_more", + "parity-scale-codec", + "parking_lot 0.10.2", + "sp-core", + "sp-std", ] [[package]] -name = "srml-system" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-io" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "futures 0.3.5", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "sp-core", + "sp-externalities", + "sp-runtime-interface", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-wasm-interface", ] [[package]] -name = "srml-timestamp" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-keyring" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "lazy_static", + "sp-core", + "sp-runtime", + "strum", ] [[package]] -name = "stable_deref_trait" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "static_assertions" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "static_assertions" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "static_slice" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "stream-cipher" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "sp-offchain" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api", + "sp-core", + "sp-runtime", ] [[package]] -name = "string" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "sp-panic-handler" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace", + "log", ] [[package]] -name = "strsim" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "structopt" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "sp-rpc" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "sp-core", ] [[package]] -name = "structopt-derive" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "sp-runtime" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "serde", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-inherents", + "sp-io", + "sp-std", ] [[package]] -name = "strum" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "strum_macros" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "sp-runtime-interface" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "primitive-types", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-tracing", + "sp-wasm-interface", + "static_assertions", ] [[package]] -name = "substrate-basic-authorship" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-runtime-interface-proc-macro" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-aura-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-transaction-pool 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "substrate-bip39" -version = "0.3.1" -source = "git+https://github.com/chainx-org/substrate-bip39.git?branch=chainx-master#61a21570b74e1f5c58d6e5033676fce8247ce734" +name = "sp-serializer" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "serde_json", ] [[package]] -name = "substrate-cli" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rpassword 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-network 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-panic-handler 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-service 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-client" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-api-macros 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-client-db" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", - "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", - "kvdb-rocksdb 0.1.4 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", - "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-db 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-consensus-aura" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-aura 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-aura-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-authorities 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-slots 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-consensus-aura-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-session" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "parity-scale-codec", + "sp-api", + "sp-core", + "sp-runtime", + "sp-staking", + "sp-std", ] [[package]] -name = "substrate-consensus-authorities" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-staking" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "parity-scale-codec", + "sp-runtime", + "sp-std", ] [[package]] -name = "substrate-consensus-common" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-state-machine" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "hash-db", + "log", + "num-traits 0.2.11", + "parity-scale-codec", + "parking_lot 0.10.2", + "rand 0.7.3", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-trie", + "trie-db", + "trie-root", ] [[package]] -name = "substrate-consensus-slots" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] +name = "sp-std" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" [[package]] -name = "substrate-executor" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-panic-handler 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-serializer 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-finality-grandpa" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "finality-grandpa 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fork-tree 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-finality-tracker 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-finality-grandpa-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-network 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-service 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-finality-grandpa-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-storage" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "impl-serde 0.2.3", + "ref-cast", + "serde", + "sp-debug-derive", + "sp-std", ] [[package]] -name = "substrate-inherents" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-timestamp" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-api", + "sp-inherents", + "sp-runtime", + "sp-std", + "wasm-timer", ] [[package]] -name = "substrate-keyring" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-tracing" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "strum 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", - "strum_macros 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "tracing", ] [[package]] -name = "substrate-keystore" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-transaction-pool" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "derive_more", + "futures 0.3.5", + "log", + "parity-scale-codec", + "serde", + "sp-api", + "sp-runtime", + "sp-utils", ] [[package]] -name = "substrate-network" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fork-tree 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "linked_hash_set 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "slog_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-peerset 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "zeroize 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-offchain" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-trie" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-offchain-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-transaction-pool 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", + "hash-db", + "memory-db", + "parity-scale-codec", + "sp-core", + "sp-std", + "trie-db", + "trie-root", ] [[package]] -name = "substrate-offchain-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-utils" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "futures 0.3.5", + "futures-core", + "lazy_static", + "prometheus", ] [[package]] -name = "substrate-panic-handler" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-version" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "impl-serde 0.2.3", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", ] [[package]] -name = "substrate-peerset" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "sp-wasm-interface" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-std", + "wasmi", ] [[package]] -name = "substrate-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ed25519-dalek 1.0.0-pre.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hash256-std-hasher 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitive-types 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-bip39 0.3.1 (git+https://github.com/chainx-org/substrate-bip39.git?branch=chainx-master)", - "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-rpc" -version = "1.0.0" -dependencies = [ - "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "chainx-primitives 1.0.0", - "chainx-runtime 1.0.0", - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-core 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-core-client 12.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-derive 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-pubsub 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lru 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "runtime-api 1.0.0", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-network 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-test-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-transaction-pool 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-process 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xcontracts 2.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xmining-tokens 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "substrate-rpc-servers" -version = "1.0.0" +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "stable_deref_trait" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "statrs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10102ac8d55e35db2b3fafc26f81ba8647da2e15879ab686a67e6d19af2685e8" dependencies = [ - "chainx-primitives 1.0.0", - "jsonrpc-http-server 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-pubsub 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-ws-server 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-rpc 1.0.0", + "rand 0.5.6", ] [[package]] -name = "substrate-serializer" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "string" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", ] [[package]] -name = "substrate-service" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client-db 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keystore 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-network 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-offchain 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-transaction-pool 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sysinfo 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)", - "target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-service-test" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "structopt" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863246aaf5ddd0d6928dfeb1a9ca65f505599e4e1b399935ef7e75107516b4ef" dependencies = [ - "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-network 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-service 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", + "clap", + "lazy_static", + "structopt-derive", ] [[package]] -name = "substrate-state-db" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "structopt-derive" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d239ca4b13aee7a2142e6795cbd69e457665ff8037aed33b3effdc430d2f927a" dependencies = [ - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "heck", + "proc-macro-error", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "substrate-state-machine" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "strum" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6138f8f88a16d90134763314e3fc76fa3ed6a7db4725d6acf9a3ef95a3188d22" dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-panic-handler 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "trie-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-root 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", + "strum_macros", ] [[package]] -name = "substrate-telemetry" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "strum_macros" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0054a7df764039a6cd8592b9de84be4bec368ff081d203a7d5371cbfa8e65c81" dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slog-json 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slog-scope 4.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ws 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "heck", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] -name = "substrate-test-client" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "substrate-bip39" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c004e8166d6e0aa3a9d5fa673e5b7098ff25f930de1013a21341988151e681bb" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client-db 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "hmac", + "pbkdf2", + "schnorrkel", + "sha2", ] [[package]] -name = "substrate-transaction-graph" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "substrate-build-script-utils" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "platforms", ] [[package]] -name = "substrate-transaction-pool" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "substrate-frame-rpc-system" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-transaction-graph 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", + "frame-system-rpc-runtime-api", + "futures 0.3.5", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log", + "parity-scale-codec", + "sc-client-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-transaction-pool", ] [[package]] -name = "substrate-trie" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" +name = "substrate-prometheus-endpoint" +version = "0.8.0-rc2" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "memory-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "trie-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-root 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", + "async-std", + "derive_more", + "futures-util", + "hyper 0.13.5", + "log", + "prometheus", + "tokio 0.2.21", ] +[[package]] +name = "substrate-wasm-builder-runner" +version = "1.0.6" +source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-rc3#45b9f0a9cbf901abaa9f1fca5fe8baeed029133d" + [[package]] name = "subtle" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" [[package]] name = "syn" -version = "0.15.44" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.3.15", + "synom", + "unicode-xid 0.0.4", ] [[package]] name = "syn" -version = "1.0.7" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1425de3c33b0941002740a420b1a906a350b88d08b82b2c8a01035a3f9447bac" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "unicode-xid 0.2.0", ] [[package]] -name = "synstructure" -version = "0.10.2" +name = "syn-mid" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" +dependencies = [ + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] + +[[package]] +name = "synom" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.0.4", ] [[package]] name = "synstructure" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", + "unicode-xid 0.2.0", ] [[package]] name = "sysinfo" -version = "0.8.6" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac193374347e7c263c5f547524f36ff8ec6702d56c8799c8331d26dffe8c1e" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "doc-comment 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "doc-comment", + "libc", + "ntapi", + "once_cell", + "rayon", + "winapi 0.3.8", ] [[package]] name = "take_mut" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" [[package]] -name = "target_info" -version = "0.1.0" +name = "tempfile" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" +dependencies = [ + "cfg-if", + "libc", + "rand 0.7.3", + "redox_syscall", + "remove_dir_all", + "winapi 0.3.8", +] [[package]] -name = "tempdir" -version = "0.3.7" +name = "termcolor" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f" dependencies = [ - "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util", ] [[package]] -name = "termcolor" -version = "1.0.5" +name = "textwrap" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" dependencies = [ - "wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width", ] [[package]] -name = "textwrap" -version = "0.10.0" +name = "thiserror" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5976891d6950b4f68477850b5b9e5aa64d955961466f9e174363f573e54e8ca7" dependencies = [ - "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror-impl", ] [[package]] -name = "thread-id" -version = "3.3.0" +name = "thiserror-impl" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab81dbd1cd69cd2ce22ecfbdd3bdb73334ba25350649408cc6c085f46d89573d" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", ] [[package]] name = "thread_local" -version = "0.3.6" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static", ] [[package]] -name = "time" -version = "0.1.42" +name = "threadpool" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus", ] [[package]] -name = "tiny-bip39" -version = "0.6.2" +name = "time" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "winapi 0.3.8", ] [[package]] -name = "tiny-keccak" -version = "1.5.0" +name = "tiny-bip39" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0165e045cc2ae1660270ca65e1676dbaab60feb0f91b10f7d0665e9b47e31f2" dependencies = [ - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "failure", + "hmac", + "once_cell", + "pbkdf2", + "rand 0.7.3", + "rustc-hash", + "sha2", + "unicode-normalization", ] [[package]] name = "tiny-keccak" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" dependencies = [ - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "crunchy", ] [[package]] -name = "tk-listen" -version = "0.2.1" +name = "tokio" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "futures 0.1.29", + "mio", + "num_cpus", + "tokio-codec", + "tokio-current-thread", + "tokio-executor 0.1.10", + "tokio-fs", + "tokio-io", + "tokio-reactor", + "tokio-sync 0.1.8", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "tokio-udp", + "tokio-uds", ] [[package]] name = "tokio" -version = "0.1.22" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "fnv", + "futures-core", + "iovec", + "lazy_static", + "libc", + "memchr", + "mio", + "mio-uds", + "num_cpus", + "pin-project-lite", + "signal-hook-registry", + "slab", + "winapi 0.3.8", ] [[package]] name = "tokio-buf" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "either", + "futures 0.1.29", ] [[package]] name = "tokio-codec" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "futures 0.1.29", + "tokio-io", ] [[package]] name = "tokio-current-thread" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.29", + "tokio-executor 0.1.10", ] [[package]] -name = "tokio-dns-unofficial" -version = "0.4.0" +name = "tokio-executor" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils", + "futures 0.1.29", ] [[package]] name = "tokio-executor" -version = "0.1.8" +version = "0.2.0-alpha.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee9ceecf69145923834ea73f32ba40c790fd877b74a7817dd0b089f1eb9c7c8" dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util-preview", + "lazy_static", + "tokio-sync 0.2.0-alpha.6", ] [[package]] name = "tokio-fs" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.29", + "tokio-io", + "tokio-threadpool", ] [[package]] name = "tokio-io" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "futures 0.1.29", + "log", ] [[package]] name = "tokio-reactor" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils", + "futures 0.1.29", + "lazy_static", + "log", + "mio", + "num_cpus", + "parking_lot 0.9.0", + "slab", + "tokio-executor 0.1.10", + "tokio-io", + "tokio-sync 0.1.8", ] [[package]] name = "tokio-rustls" -version = "0.10.0-alpha.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4adb8b3e5f86b707f1b54e7c15b6de52617a823608ccda98a15d3a24222f265a" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core", + "rustls", + "tokio 0.2.21", + "webpki", ] [[package]] name = "tokio-sync" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" dependencies = [ - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv", + "futures 0.1.29", +] + +[[package]] +name = "tokio-sync" +version = "0.2.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f1aaeb685540f7407ea0e27f1c9757d258c7c6bf4e3eb19da6fc59b747239d2" +dependencies = [ + "fnv", + "futures-core-preview", + "futures-util-preview", ] [[package]] name = "tokio-tcp" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "futures 0.1.29", + "iovec", + "mio", + "tokio-io", + "tokio-reactor", ] [[package]] name = "tokio-threadpool" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" dependencies = [ - "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-deque", + "crossbeam-queue", + "crossbeam-utils", + "futures 0.1.29", + "lazy_static", + "log", + "num_cpus", + "slab", + "tokio-executor 0.1.10", ] [[package]] name = "tokio-timer" -version = "0.2.11" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils", + "futures 0.1.29", + "slab", + "tokio-executor 0.1.10", ] [[package]] name = "tokio-udp" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "futures 0.1.29", + "log", + "mio", + "tokio-codec", + "tokio-io", + "tokio-reactor", ] [[package]] name = "tokio-uds" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5076db410d6fdc6523df7595447629099a1fdc47b3d9f896220780fa48faf798" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.12", + "futures 0.1.29", + "iovec", + "libc", + "log", + "mio", + "mio-uds", + "tokio-codec", + "tokio-io", + "tokio-reactor", ] [[package]] -name = "toml" -version = "0.5.4" +name = "tokio-util" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "futures-core", + "futures-sink", + "log", + "pin-project-lite", + "tokio 0.2.21", ] [[package]] -name = "traitobject" -version = "0.1.0" +name = "toml" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a" +dependencies = [ + "serde", +] [[package]] -name = "trie-db" -version = "0.12.4" +name = "tower-service" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hashmap_core 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" [[package]] -name = "trie-root" -version = "0.12.4" +name = "tracing" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7c6b59d116d218cb2d990eb06b77b64043e0268ef7323aae63d8b30ae462923" dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "tracing-attributes", + "tracing-core", ] [[package]] -name = "try-lock" -version = "0.2.2" +name = "tracing-attributes" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99bbad0de3fd923c9c3232ead88510b783e5a4d16a6154adffa3d53308de984c" +dependencies = [ + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", +] [[package]] -name = "twofish" -version = "0.2.0" +name = "tracing-core" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aa83a9a47081cd522c09c81b31aec2c9273424976f922ad61c053b58350b715" dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static", ] [[package]] -name = "twox-hash" -version = "1.5.0" +name = "trie-db" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc309f34008563989045a4c4dbcc5770467f3a3785ee80a9b5cc0d83362475f" dependencies = [ - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec 1.4.0", ] [[package]] -name = "typemap" -version = "0.3.3" +name = "trie-root" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd" dependencies = [ - "unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hash-db", ] [[package]] -name = "typenum" -version = "1.11.2" +name = "try-lock" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] -name = "uint" -version = "0.7.1" +name = "twox-hash" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3", ] +[[package]] +name = "typenum" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" + [[package]] name = "uint" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173cd16430c206dc1a430af8a89a0e9c076cf15cb42b4aedb10e8cc8fee73681" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "crunchy", + "rustc-hex", + "static_assertions", ] [[package]] name = "unicase" -version = "2.5.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" dependencies = [ - "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "version_check", ] [[package]] name = "unicode-bidi" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "matches", ] [[package]] name = "unicode-normalization" -version = "0.1.8" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4" dependencies = [ - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 1.4.0", ] [[package]] name = "unicode-segmentation" -version = "1.3.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" [[package]] name = "unicode-width" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479" [[package]] name = "unicode-xid" -version = "0.1.0" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" [[package]] name = "unicode-xid" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" [[package]] -name = "unreachable" -version = "1.0.0" +name = "unsigned-varint" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f67332660eb59a6f1eb24ff1220c9e8d01738a8503c6002e30bcfe4bd9f2b4a9" dependencies = [ - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4", + "futures-io", + "futures-util", + "futures_codec", ] [[package]] -name = "unsafe-any" -version = "0.4.2" +name = "untrusted" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] -name = "unsigned-varint" -version = "0.2.3" +name = "url" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "idna 0.1.5", + "matches", + "percent-encoding 1.0.1", ] -[[package]] -name = "untrusted" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "url" -version = "1.7.2" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb" dependencies = [ - "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "idna 0.2.0", + "matches", + "percent-encoding 2.1.0", ] [[package]] name = "vcpkg" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" [[package]] name = "vec_map" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "vergen" -version = "3.0.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version_check" -version = "0.1.5" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" [[package]] name = "void" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] -name = "wabt" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "wabt-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wabt-sys" -version = "0.7.0" +name = "want" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.29", + "log", + "try-lock", ] [[package]] name = "want" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log", + "try-lock", ] [[package]] name = "wasi" -version = "0.7.0" +version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasm-bindgen" -version = "0.2.52" +version = "0.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c7d40d09cdbf0f4895ae58cf57d92e1e57a9dd8ed2e8390514b54a47cc5551" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.52" +version = "0.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3972e137ebf830900db522d6c8fd74d1900dcfc733462e9a12e942b00b4ac94" dependencies = [ - "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", + "bumpalo", + "lazy_static", + "log", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.3.27" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a369c5e1dfb7569e14d62af4da642a3cbc2f9a3652fe586e26ac22222aa4b04" dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.52" +version = "0.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cd85aa2c579e8892442954685f0d801f9129de24fa2136b2c6a539c76b65776" dependencies = [ - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro-support 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.5", + "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.52" +version = "0.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eb197bd3a47553334907ffd2f16507b4f4f01bbec3ac921a7719e0decdfe72a" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", + "wasm-bindgen-backend", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.52" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wasm-bindgen-webidl" -version = "0.2.52" +version = "0.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "a91c2916119c17a8e316507afaaa2dd94b47646048014bbdf6bef098c1bb58ad" [[package]] name = "wasm-timer" -version = "0.1.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "324c5e65a08699c9c4334ba136597ab22b85dccd4b65dd1e36ccf8f723a95b54" dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "send_wrapper 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "js-sys", + "parking_lot 0.9.0", + "pin-utils", + "send_wrapper", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] name = "wasmi" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi-validation 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmi-validation" -version = "0.1.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf617d864d25af3587aa745529f7aaa541066c876d57e050c0d0c85c61c92aff" dependencies = [ - "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "memory_units", + "num-rational", + "num-traits 0.2.11", + "parity-wasm", + "wasmi-validation", ] [[package]] name = "wasmi-validation" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea78c597064ba73596099281e2f4cfc019075122a65cdda3205af94f0b264d93" dependencies = [ - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-wasm", ] [[package]] name = "web-sys" -version = "0.3.29" +version = "0.3.39" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bc359e5dd3b46cb9687a051d50a2fdd228e4ba7cf6fcf861a5365c3d671a642" dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-webidl 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", + "js-sys", + "wasm-bindgen", ] [[package]] name = "webpki" -version = "0.19.1" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f50e1972865d6b1adb54167d1c8ed48606004c2c9d0ea5f1eeb34d95e863ef" dependencies = [ - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring", + "untrusted", ] [[package]] name = "webpki-roots" -version = "0.16.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cd5736df7f12a964a5067a12c62fa38e1bd8080aff1f80bc29be7c80d19ab4" dependencies = [ - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki", ] [[package]] -name = "weedle" -version = "0.10.0" +name = "webpki-roots" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8eff4b7516a57307f9349c64bf34caa34b940b66fed4b2fb3136cb7386e5739" dependencies = [ - "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki", ] [[package]] name = "which" -version = "2.0.1" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724" dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", ] [[package]] name = "winapi" version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" [[package]] name = "winapi" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" dependencies = [ - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", ] [[package]] name = "winapi-build" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.2" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8", ] [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wincolor" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "ws" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51a2c47b5798ccc774ffb93ff536aec7c4275d722fd9c740c83cdd1af1f2d94" dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder", + "bytes 0.4.12", + "httparse", + "log", + "mio", + "mio-extras", + "rand 0.7.3", + "sha-1", + "slab", + "url 2.1.1", ] [[package]] name = "ws2_32-sys" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8", + "winapi-build", ] [[package]] name = "x25519-dalek" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "xdg" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "xr-primitives" -version = "1.0.0" -dependencies = [ - "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "xrml-grandpa" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-finality-tracker 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-finality-grandpa-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xaccounts" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xassets-assets" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xassets-process" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xassets-records" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xaura" -version = "1.0.0" -dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xmining-staking 1.0.0", -] - -[[package]] -name = "xrml-xbootstrap" -version = "1.0.0" -dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-finality-grandpa-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-process 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xmining-tokens 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xbridge-bitcoin" -version = "1.0.1" -dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "merkle 0.2.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "script 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-common 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xbridge-common" -version = "1.0.0" -dependencies = [ - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xbridge-features" -version = "1.0.0" -dependencies = [ - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xbridge-sdot" -version = "1.0.0" -dependencies = [ - "ethereum-types 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-common 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xcontracts" -version = "2.0.0" -dependencies = [ - "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pwasm-utils 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-sandbox 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi-validation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xdex-spot" -version = "1.0.0" -dependencies = [ - "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xfee-manager" -version = "1.0.0" -dependencies = [ - "chainx-primitives 1.0.0", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xfisher" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xmining-staking" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xmining-tokens" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xmultisig" -version = "1.0.0" -dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xaccounts 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xsession" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xsupport" -version = "1.0.0" -dependencies = [ - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "xrml-xsystem" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "yaml-rust" -version = "0.4.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "637ff90c9540fa3073bb577e65033069e4bae7c79d49d74aa3ffdf5342a53217" dependencies = [ - "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "curve25519-dalek", + "rand_core 0.5.1", + "zeroize", ] [[package]] name = "yamux" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "nohash-hasher 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "zeroize" -version = "0.6.0" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84300bb493cc878f3638b981c62b4632ec1a5c52daaa3036651e8c106d3b55ea" dependencies = [ - "zeroize_derive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.3.5", + "log", + "nohash-hasher", + "parking_lot 0.10.2", + "rand 0.7.3", + "static_assertions", ] [[package]] name = "zeroize" -version = "0.9.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cbac2ed2ba24cc90f5e06485ac8c7c1e5449fe8911aef4d8877218af021a5b8" dependencies = [ - "zeroize_derive 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", + "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "0.1.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote 1.0.5", + "syn 1.0.22", + "synstructure", ] - -[[package]] -name = "zeroize_derive" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[metadata] -"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" -"checksum aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee" -"checksum aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d" -"checksum aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100" -"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" -"checksum aio-limited 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c4dddf55b0b2da9acb7512f21c0a4f1c0871522ec4ab7fb919d0da807d1e32b3" -"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" -"checksum antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5" -"checksum app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e73a24bad9bd6a94d6395382a6c69fe071708ae4409f763c5475e14ee896313d" -"checksum arc-swap 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "bc4662175ead9cd84451d5c35070517777949a2ed84551764129cedb88384841" -"checksum arc-swap 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f1a1eca3195b729bbd64e292ef2f5fff6b1c28504fed762ce2b1013dde4d8e92" -"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" -"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -"checksum ascii 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" -"checksum asn1_der 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6fce6b6a0ffdafebd82c87e79e3f40e8d2c523e5fea5566ff6b90509bf98d638" -"checksum asn1_der_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" -"checksum assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5" -"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" -"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" -"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" -"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" -"checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" -"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" -"checksum bigint 4.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebecac13b3c745150d7b6c3ea7572d372f09d627c2077e893bf26c5c7f70d282" -"checksum bindgen 0.47.3 (registry+https://github.com/rust-lang/crates.io-index)" = "df683a55b54b41d5ea8ebfaebb5aa7e6b84e3f3006a78f010dadc9ca88469260" -"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum bitmask 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5da9b3d9f6f585199287a473f4f8dfab6566cf827d15c00c219f53c645687ead" -"checksum blake2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" -"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -"checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" -"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -"checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" -"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09" -"checksum bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c95ee6bba9d950218b6cc910cf62bc9e0a171d0f4537e3627b0f54d08549b188" -"checksum bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b170cd256a3f9fa6b9edae3e44a7dfdfc77e8124dbc3e2612d75f9c3e2396dae" -"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245" -"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" -"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" -"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" -"checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855" -"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" -"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum c_linked_list 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" -"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c" -"checksum cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7fa24eb00d5ffab90eaeaf1092ac85c04c64aaf358ea6f84505b8116d24c6af" -"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" -"checksum chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68" -"checksum clang-sys 0.26.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ef0c1bcf2e99c649104bd7a7012d8f8802684400e03db0ec0af48583c6fa0e4" -"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" -"checksum clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "97276801e127ffb46b66ce23f35cc96bd454fa311294bced4bbace7baa8b1d17" -"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "81fb25b677f8bf1eb325017cb6bb8452f87969db0fedb4f757b297bee78a7c62" -"checksum combine 3.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" -"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" -"checksum crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" -"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" -"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9" -"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" -"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -"checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" -"checksum crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -"checksum crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" -"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d" -"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c" -"checksum ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736" -"checksum ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7dfd2d8b4c82121dfdff120f818e09fc4380b0b7e17a742081a89b94853e87f" -"checksum cuckoofilter 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8dd43f7cfaffe0a386636a10baea2ee05cc50df3b77bea4a456c9572a939bf1f" -"checksum curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8b7dcd30ba50cdf88b55b033456138b7c0ac4afdc436d82e1b79f370f24cc66d" -"checksum data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4f47ca1860a761136924ddd2422ba77b2ea54fe8cc75b9040804a0d9d32ad97" -"checksum derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6d944ac6003ed268757ef1ee686753b57efc5fcf0ebe7b64c9fc81e7e32ff839" -"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" -"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -"checksum dns-parser 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" -"checksum doc-comment 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "923dea538cea0aa3025e8685b20d6ee21ef99c4f77e954a30febbaac5ec73a97" -"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" -"checksum ed25519-dalek 1.0.0-pre.2 (registry+https://github.com/rust-lang/crates.io-index)" = "845aaacc16f01178f33349e7c992ecd0cee095aa5e577f0f4dee35971bd36455" -"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" -"checksum elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "073be79b6538296faf81c631872676600616073817dd9a440c477ad09b408983" -"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3" -"checksum environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "34f8467a0284de039e6bd0e25c14519538462ba5beb548bb1f03e645097837a8" -"checksum erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3beee4bc16478a1b26f2e80ad819a52d24745e292f521a63c16eea5f74b7eb60" -"checksum ethbloom 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3932e82d64d347a045208924002930dc105a138995ccdc1479d0f05f0359f17c" -"checksum ethereum-types 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "62d1bc682337e2c5ec98930853674dd2b4bd5d0d246933a9e98e5280f7c76c5f" -"checksum exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d8013f441e38e31c670e7f34ec8f1d5d3a2bd9d303c1ff83976ca886005e8f48" -"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" -"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" -"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" -"checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" -"checksum finality-grandpa 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5cdd9ef7c48777665dacc9657c272778121d4d09848100bcc2bd9c773c6cf837" -"checksum fixed-hash 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d1a683d1234507e4f3bf2736eeddf0de1dc65996dc0164d57eba0a74bcf29489" -"checksum fixed-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "516877b7b9a1cc2d0293cbce23cd6203f0edbfd4090e6ca4489fecb5aa73050e" -"checksum flate2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ad3c5233c9a940c8719031b423d7e6c16af66e031cb0420b0896f5245bf181d3" -"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" -"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -"checksum fork-tree 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum fs-swap 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "921d332c89b3b61a826de38c61ee5b6e02c56806cade1b0e5d81bd71f57a71bb" -"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" -"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" -"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -"checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" -"checksum get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7" -"checksum get_if_addrs-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0d04f9fb746cf36b191c00f3ede8bde9c8e64f9f4b05ae2694a9ccf5e3f5ab48" -"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" -"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" -"checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" -"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" -"checksum hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3c95a428c86ed4633d83e07ef9e0a147a906da01e931f07e74a85bedce5a43" -"checksum hash256-std-hasher 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "663ce20dae36902c16d12c6aaae400ca40d922407a8cf2b4caf8cae9b39b4f03" -"checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" -"checksum hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1de41fb8dba9714efd92241565cdff73f78508c95697dd56787d3cba27e2353" -"checksum hashmap_core 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "2d6852e5a86250521973b0c1d39677166d8a9c0047c908d7e04f1aa04177973c" -"checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" -"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" -"checksum hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ddc2928beef125e519d69ae1baa8c37ea2e0d3848545217f6db0179c5eb1d639" -"checksum hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0" -"checksum hex-literal-impl 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "520870c3213943eb8d7803e80180d12a6c7ceb4ae74602544529d1643dc4ddda" -"checksum hex-literal-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9d4c5c844e2fee0bf673d54c2c177f1713b3d2af2ff6e666b49cb7572e6cf42d" -"checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" -"checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" -"checksum hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" -"checksum http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "d7e06e336150b178206af098a055e3621e8336027e2b4d126bda0bc64824baaf" -"checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" -"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" -"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -"checksum hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)" = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6" -"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -"checksum impl-codec 0.2.0 (git+https://github.com/chainx-org/chainx-common)" = "" -"checksum impl-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2050d823639fbeae26b2b5ba09aca8907793117324858070ade0673c49f793b" -"checksum impl-rlp 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8f7a72f11830b52333f36e3b09a288333888bf54380fd0ac0790a3c31ab0f3c5" -"checksum impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5158079de9d4158e0ce1de3ae0bd7be03904efc40b3d7dd8b8c301cbf6b52b56" -"checksum impl-serde 0.2.1 (git+https://github.com/chainx-org/chainx-common)" = "" -"checksum impl-serde 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a263dc95daa6c3788c8f7133d86dc2ad89ec5a0c56167f9e3441c5f7f33358c4" -"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" -"checksum integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ea155abb3ba6f382a75f1418988c05fe82959ed9ce727de427f9cfd425b0c903" -"checksum interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "141340095b15ed7491bd3d4ced9d20cebfb826174b6bb03386381f62b01e3d77" -"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -"checksum ipnet 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc15ac2e0886d62ba078989ef6920ab23997ab0b04ca5687f1a9a7484296a48" -"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" -"checksum jobserver 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b1d42ef453b30b7387e113da1c83ab1605d90c5b4e0eb8e96d016ed3b8c160" -"checksum js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)" = "5061eb59a5afd4f6ff96dc565963e4e2737b915d070233cb26b88e3f58af41b4" -"checksum jsonrpc-client-transports 12.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b5941e20f1f01f7a47b0e3c06aeb5017629438c5d87a93eb675ae3bbf4bca018" -"checksum jsonrpc-core 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8df63798dccd2fc909485cc7a8979ab79f398a7cf788e552e17537e06f85d8e" -"checksum jsonrpc-core-client 12.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a7b0c43a0ae35ff43c34b2cb0a246074558d39c3ed483b19df2dbc65b7682f45" -"checksum jsonrpc-derive 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9dd82265c34ad1be0d87239b24404160f04ae58c3ad335395822a860c8fe8153" -"checksum jsonrpc-http-server 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "99c3f43b5f7d2eb010f56354b0dbfb2427491dadc11d1abaf0c4baa329abc507" -"checksum jsonrpc-pubsub 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3062b654749ce3a58b765297a4836d2710fc667877c47b5269d5a92afb9a191" -"checksum jsonrpc-server-utils 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d6820ccc63886731f5cca989082f7ed4238e6e124e1143a477bbc9b58e4b4aa" -"checksum jsonrpc-ws-server 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "45bf96f95892eac61c15280c07e380a9fd24bef6c5e3e87b7764208b74585e77" -"checksum keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" -"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum kvdb-rocksdb 0.1.4 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" -"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8" -"checksum libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" -"checksum libp2p 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29f6b3be5b0cb89f7a072352e2a3bf86991dce0909624181e9e343db0b558568" -"checksum libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c71c33e59899d57ed0a14272984705561abd71788a2b303598ec57dac32130e8" -"checksum libp2p-core-derive 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e6df0fa6933f4be908cfd8c6d627776aa8c909066ba7ce13b017bfe18b9c92b" -"checksum libp2p-deflate 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "448fe9d2231bc21bb308f394346780666a376274ceaf3380e5c7adf3cdbf5a9c" -"checksum libp2p-dns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67ec2cea26aaccd4bdf264075d6a499bc635b90cb23419bcc3b1f2f0d135c451" -"checksum libp2p-floodsub 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4c39c17f2b7c994106e00ccd71a9941d8574c01bef5f97e36d9a106cbde14fab" -"checksum libp2p-identify 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9455cc0752fd3e3f35e9464598576c54476772eaa927b773f7fdf5686ae51f" -"checksum libp2p-kad 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a1f595983a76012779d6941a9d51fc0b9b95d720315787bf8d73f6672351f6d8" -"checksum libp2p-mdns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7847e6e13a793d70ee5a5d833ddb13ff277c4c0d4fc65b5bc8543ef37df8cf" -"checksum libp2p-mplex 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29bd0885dd9154d93a1fa83e06a10aba2f0e3a0bf9eb63233c095141fbfaf525" -"checksum libp2p-noise 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f8e0852efc26bfcba11fcc7c4fb593ed00446c19b6d90db39794a3a7ac48e13" -"checksum libp2p-ping 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3dfda9d329eacf6a8e875c18b5e5317a47b326cb58372f506fff8b6259c8951a" -"checksum libp2p-plaintext 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "86759777e5441725b60c6e78b23933b03a531b45d1f3e7d1fb430df49e0b151c" -"checksum libp2p-ratelimit 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f965ff88fda7b1fff062b18b25d781b86c17ea335a237958220895f3e3ddfdd8" -"checksum libp2p-secio 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df1d980a61a1423518205f6710e692102c94efb8132b5dcc54ffe5dbac621360" -"checksum libp2p-tcp 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24faf4ebb10b805f2e2221540097f764075edd18ca735cab0430a118382888df" -"checksum libp2p-uds 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f57a4942babd03f582a838238093b08f94521f63c8b12889a914be5c3cc170c2" -"checksum libp2p-wasm-ext 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5427b52a8a51460961fadd72bd9fdcd957a2a7706588559423ccb86b58a52a7d" -"checksum libp2p-websocket 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "152dce704e235f47b9460004d7ac09663d43f4ca3cb99ddb8d4e0be54240673e" -"checksum libp2p-yamux 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "907bf1f31d572aa8537595a784f59c86b94162eb03dc51839c32ab4a05a5faad" -"checksum librocksdb-sys 5.18.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d19778314deaa7048f2ea7d07b8aa12e1c227acebe975a37eeab6d2f8c74e41b" -"checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" -"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe" -"checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" -"checksum linked_hash_set 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3c7c91c4c7bbeb4f2f7c4e5be11e6a05bd6830bc37249c47ce1ad86ad453ff9c" -"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" -"checksum lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" -"checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" -"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" -"checksum log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" -"checksum log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "100052474df98158c0738a7d3f4249c99978490178b5f9f68cd835ac57adbd1b" -"checksum lru 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "5d8f669d42c72d18514dfca8115689c5f6370a17d980cb5bd777a67f404594c8" -"checksum lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -"checksum malloc_size_of_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e37c5d4cd9473c5f4c9c111f033f15d4df9bd378fdf615944e360a4f55a05f0b" -"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" -"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" -"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f" -"checksum memory-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1eeeeab44c01c7da4409e68ec5b5db74c92305386efab3615e495b1dacaec196" -"checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum merkle 0.2.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum merlin 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "de2d16d3b15fec5943d1144f861f61f279d165fdd60998ca262913b9bf1c8adb" -"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625" -"checksum mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23" -"checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" -"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" -"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" -"checksum multistream-select 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f989d40aab0ed0d83c1cdb4856b5790e980b96548d1a921f280e985eb049f38d" -"checksum names 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da" -"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" -"checksum nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce" -"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" -"checksum nohash-hasher 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4e657a6ec97f9a3ba46f6f7034ea6db9fcd5b71d25ef1074b7bc03da49be0e8e" -"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" -"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" -"checksum ole32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c" -"checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" -"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" -"checksum openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2f372b2b53ce10fb823a337aaa674e3a7d072b957c6264d0f4ff0bd86e657449" -"checksum openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)" = "c977d08e1312e2f7e4b86f9ebaa0ed3b19d1daff75fae88bbb88108afbd801fc" -"checksum ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" -"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "2b9df1283109f542d8852cd6b30e9341acc2137481eb6157d2e62af68b0afec9" -"checksum parity-codec-derive 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "00a486fd383382ddcb2de928364b1f82571c1e48274fc43b7667a4738ee4056c" -"checksum parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "045b3c7af871285146300da35b1932bb6e4639b66c7c98e85d06a32cbc4e8fa7" -"checksum parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "df3a17dc27848fd99e4f87eb0f8c9baba6ede0a6d555400c850ca45254ef4ce3" -"checksum parity-send-wrapper 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" -"checksum parity-util-mem 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "89e80f22052161e0cb55cb5a8a75890420c525031f95c9d262dbb0434aa85dc1" -"checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" -"checksum parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" -"checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5" -"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" -"checksum parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa7767817701cce701d5585b9c4db3cdd02086398322c1d7e8bf5094a96a2ce7" -"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" -"checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c" -"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" -"checksum parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cb88cb1cb3790baa6776844f968fea3be44956cf184fa1be5a03341f5491278c" -"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" -"checksum paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "423a519e1c6e828f1e73b720f9d9ed2fa643dce8a7737fb43235ce0b41eeaa49" -"checksum paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4214c9e912ef61bf42b81ba9a47e8aad1b2ffaf739ab162bf96d1e011f54e6c5" -"checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -"checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" -"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" -"checksum pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea" -"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" -"checksum primitive-types 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6e8612a8dc70f26276fed6131c153ca277cf275ee0a5e2a50cd8a69c697beb8f" -"checksum primitive-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2288eb2a39386c4bc817974cc413afe173010dc80e470fcb1e9a35580869f024" -"checksum primitive-types 0.5.1 (git+https://github.com/chainx-org/chainx-common)" = "" -"checksum primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" -"checksum proc-macro-hack 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "463bf29e7f11344e58c9e01f171470ab15c925c6822ad75028cc1c0e1d1eb63b" -"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5" -"checksum proc-macro-hack-impl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "38c47dcb1594802de8c02f3b899e2018c78291168a22c281be21ea0fb4796842" -"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" -"checksum protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20" -"checksum pwasm-utils 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4f7a12f176deee919f4ba55326ee17491c8b707d0987aed822682c821b660192" -"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" -"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" -"checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" -"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9" -"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" -"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" -"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" -"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -"checksum rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123" -"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b" -"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -"checksum redis 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c747d743d48233f9bc3ed3fb00cb84c1d98d8c7f54ed2d4cca9adf461a7ef3" -"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd" -"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9" -"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716" -"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)" = "426bc186e3e95cac1e4a4be125a4aca7e84c2d616ffc02244eef36e2a60a093c" -"checksum ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a" -"checksum rlp 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8376a3f725ebb53f69263bbebb42196361fdfd551212409c8a721239aab4f09f" -"checksum rocksdb 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f1651697fefd273bfb4fd69466cc2a9d20de557a0213b97233b22b5e95924b5e" -"checksum rpassword 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c34fa7bcae7fca3c8471e8417088bbc3ad9af8066b0ecf4f3c0d98a0d772716e" -"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" -"checksum rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "403bb3a286107a04825a5f82e1270acc1e14028d3d554d7a1e08914549575ab8" -"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum rustls 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f271e3552cd835fa28c541c34a7e8fdd8cdff09d77fe4eb8f6c42e87a11b096e" -"checksum rw-stream-sink 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9cbe61c20455d3015b2bb7be39e1872310283b8e5a52f5b242b0ac7581fe78" -"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" -"checksum safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f7bf422d23a88c16d5090d455f182bc99c60af4df6a345c63428acf5129e347" -"checksum schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)" = "eacd8381b3c37840c9c9f40472af529e49975bdcbc24f83c31059fd6539023d3" -"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" -"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" -"checksum script 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum sct 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f5adf8fbd58e1b1b52699dc8bed2630faecb6d8c7bee77d009d6bbe4af569b9" -"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum send_wrapper 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a0eddf2e8f50ced781f288c19f18621fa72a3779e3cb58dbf23b07469b0abeb4" -"checksum serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4b39bd9b0b087684013a792c59e3e07a46a01d2322518d8a1104641a0b1be0" -"checksum serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7a663f873dedc4eac1a559d4c6bc0d0b2c34dc5ac4702e105014b8281489e44f" -"checksum serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)" = "ca13fc1a832f793322228923fbb3aba9f3f44444898f835d31ad1b74fa0a2bf8" -"checksum serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2" -"checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" -"checksum serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum serialization_derive 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68" -"checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" -"checksum sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" -"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" -"checksum sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd26bc0e7a2e3a7c959bc494caf58b72ee0c71d67704e9520f736ca7e4853ecf" -"checksum shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c" -"checksum siphasher 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "83da420ee8d1a89e640d0948c646c1c088758d3a3c538f943bfa97bdac17929d" -"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" -"checksum slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cc9c640a4adbfbcc11ffb95efe5aa7af7309e002adab54b185507dbf2377b99" -"checksum slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e544d16c6b230d84c866662fe55e31aacfca6ae71e6fc49ae9a311cb379bfc2f" -"checksum slog-json 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddc0d2aff1f8f325ef660d9a0eb6e6dcd20b30b3f581a5897f58bf42d061c37a" -"checksum slog-scope 4.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c44c89dd8b0ae4537d1ae318353eaf7840b4869c536e31c41e963d1ea523ee6" -"checksum slog_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eff3b513cf2e0d1a60e1aba152dc72bedc5b05585722bb3cebd7bcb1e31b98f" -"checksum smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cefaa50e76a6f10b86f36e640eb1739eafbd4084865067778463913e43a77ff3" -"checksum snow 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5a64f02fd208ef15bd2d1a65861df4707e416151e1272d02c8faafad1c138100" -"checksum soketto 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bceb1a3a15232d013d9a3b7cac9e5ce8e2313f348f01d4bc1097e5e53aa07095" -"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3" -"checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" -"checksum sr-api-macros 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-sandbox 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-aura 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-finality-tracker 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-metadata 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-session 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-staking 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-sudo 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support-procedural 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support-procedural-tools 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support-procedural-tools-derive 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" -"checksum static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c19be23126415861cb3a23e501d34a708f7f9b2183c5252d690941c2e69199d5" -"checksum static_assertions 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0fa13613355688665b68639b1c378a62dbedea78aff0fc59a4fa656cbbdec657" -"checksum static_slice 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "92a7e0c5e3dfb52e8fbe0e63a1b947bbb17b4036408b151353c4491374931362" -"checksum stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c" -"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" -"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" -"checksum structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7" -"checksum structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107" -"checksum strum 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1810e25f576e7ffce1ff5243b37066da5ded0310b3274c20baaeccb1145b2806" -"checksum strum_macros 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "572a2f4e53dd4c3483fd79e5cc10ddd773a3acb1169bbfe8762365e107110579" -"checksum substrate-basic-authorship 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-bip39 0.3.1 (git+https://github.com/chainx-org/substrate-bip39.git?branch=chainx-master)" = "" -"checksum substrate-cli 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-client-db 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-aura 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-aura-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-authorities 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-slots 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-finality-grandpa 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-finality-grandpa-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-keystore 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-network 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-offchain 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-offchain-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-panic-handler 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-peerset 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-serializer 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-service 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-service-test 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-state-db 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-test-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-transaction-graph 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-transaction-pool 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" -"checksum subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab3af2eb31c42e8f0ccf43548232556c42737e01a96db6e1777b0be108e79799" -"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -"checksum syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7bedb3320d0f3035594b0b723c8a28d7d336a3eda3881db79e61d676fb644c" -"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" -"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203" -"checksum sysinfo 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d291d07ba27acd519287ca22fb1fb024dcc4b925cddb63d69af24db153ca2c82" -"checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" -"checksum target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe" -"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" -"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e" -"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" -"checksum thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" -"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" -"checksum tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c5676413eaeb1ea35300a0224416f57abc3bd251657e0fafc12c47ff98c060" -"checksum tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2" -"checksum tiny-keccak 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2953ca5148619bc99695c1274cb54c5275bbb913c6adad87e72eaf8db9787f69" -"checksum tk-listen 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5462b0f968c0457efe38fcd2df7e487096b992419e4f5337b06775a614bbda4b" -"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -"checksum tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" -"checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" -"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443" -"checksum tokio-dns-unofficial 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "82c65483db54eb91b4ef3a9389a3364558590faf30ce473141707c0e16fda975" -"checksum tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f27ee0e6db01c5f0b2973824547ce7e637b2ed79b891a9677b0de9bd532b6ac" -"checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af" -"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926" -"checksum tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "c56391be9805bc80163151c0b9e5164ee64f4b0200962c346fea12773158f22d" -"checksum tokio-rustls 0.10.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3e5cebc3ca33110e460c4d2e7c5e863b159fadcbf125449d896720695b2af709" -"checksum tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d06554cce1ae4a50f42fba8023918afa931413aded705b560e29600ccf7c6d76" -"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119" -"checksum tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2bd2c6a3885302581f4401c82af70d792bb9df1700e7437b0aeb4ada94d5388c" -"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e" -"checksum tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f02298505547f73e60f568359ef0d016d5acd6e830ab9bc7c4a5b3403440121b" -"checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445" -"checksum toml 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c04dffffeac90885436d23c692517bb5b8b3f8863e4afc15023628d067d667b7" -"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" -"checksum trie-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ae063390324bfcf36c7e8e4fb1f85f6f0fb5dd04e1cd282581eb7b8b34b32de7" -"checksum trie-root 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "485c5dd851148b6fdac9009f7c256d0a4b5f99f08bd2e63c258f1e483aed4f1d" -"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" -"checksum twofish 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d261e83e727c8e2dbb75dacac67c36e35db36a958ee504f2164fc052434e1" -"checksum twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56" -"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6" -"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9" -"checksum uint 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2143cded94692b156c356508d92888acc824db5bffc0b4089732264c6fcf86d4" -"checksum uint 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e75a4cdd7b87b28840dba13c483b9a88ee6bbf16ba5c951ee1ecfcf723078e0d" -"checksum unicase 2.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2e2e6bd1e59e56598518beb94fd6db628ded570326f0a98c679a304bd9f00150" -"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" -"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" -"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" -"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20" -"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" -"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f" -"checksum unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f0023a96687fe169081e8adce3f65e3874426b7886e9234d490af2dc077959" -"checksum untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f" -"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95" -"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" -"checksum vergen 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6aba5e34f93dc7051dfad05b98a18e9156f27e7b431fe1d2398cb6061c0a1dba" -"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" -"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -"checksum wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3c5c5c1286c6e578416982609f47594265f9d489f9b836157d403ad605a46693" -"checksum wabt-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "af5d153dc96aad7dc13ab90835b892c69867948112d95299e522d370c4e13a08" -"checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" -"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" -"checksum wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "637353fd57864c20f1968dc21680fe03985ca3a7ef6a5ce027777513bdecc282" -"checksum wasm-bindgen-backend 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "c85481ca7d1aad8cf40e0140830b2197ce89184a80e54e307b55fd64d78ed63e" -"checksum wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)" = "83420b37346c311b9ed822af41ec2e82839bfe99867ec6c54e2da43b7538771c" -"checksum wasm-bindgen-macro 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "9f627667b5f4f8bd923c93107b96907c60e7e8eb2636802499fce468c87e3689" -"checksum wasm-bindgen-macro-support 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "a48f5147b0c049bc306d5b9e53c891056a1fd8c4e7311fffbce233e4f200d45e" -"checksum wasm-bindgen-shared 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "1e272b0d31b78cdcaf5ad440d28276546d99b059a953e5afb387aefce66c3c5a" -"checksum wasm-bindgen-webidl 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "6965845db6189148d8b26387aee0bbf1c84f3da78f57ac543f364fc8ff7ab6e9" -"checksum wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "aa3e01d234bb71760e685cfafa5e2c96f8ad877c161a721646356651069e26ac" -"checksum wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "aebbaef470840d157a5c47c8c49f024da7b1b80e90ff729ca982b2b80447e78b" -"checksum wasmi-validation 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab380192444b3e8522ae79c0a1976e42a82920916ccdfbce3def89f456ea33f3" -"checksum wasmi-validation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea78c597064ba73596099281e2f4cfc019075122a65cdda3205af94f0b264d93" -"checksum web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)" = "0a8b4b06314fd2ce36977e9487607ccff4030779129813f89d0e618710910146" -"checksum webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4f7e1cd7900a3a6b65a3e8780c51a3e6b59c0e2c55c6dc69578c288d69f7d082" -"checksum webpki-roots 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c10fa4212003ba19a564f25cd8ab572c6791f99a03cc219c13ed35ccab00de0e" -"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164" -"checksum which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164" -"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" -"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" -"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9" -"checksum ws 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ec91ea61b83ce033c43c06c52ddc7532f465c0153281610d44c58b74083aee1a" -"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -"checksum x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7ee1585dc1484373cbc1cee7aafda26634665cf449436fd6e24bfd1fad230538" -"checksum xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" -"checksum yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d" -"checksum yamux 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2758f29014c1cb7a6e74c1b1160ac8c8203be342d35b73462fc6a13cc6385423" -"checksum zeroize 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e68403b858b6af538b11614e62dfe9ab2facba9f13a0cafb974855cfb495ec95" -"checksum zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "45af6a010d13e4cf5b54c94ba5a2b2eba5596b9e46bf5875612d332a1f2b3f86" -"checksum zeroize_derive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3f07490820219949839d0027b965ffdd659d75be9220c00798762e36c6cd281" -"checksum zeroize_derive 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "080616bd0e31f36095288bb0acdf1f78ef02c2fa15527d7e993f2a6c7591643e" diff --git a/Cargo.toml b/Cargo.toml index c9c8744ca3b26..e88563be57a0b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,59 +1,43 @@ [package] name = "chainx" -version = "1.1.0" -build = "build.rs" -authors = ["Chainpool "] +version = "2.0.0" +authors = ["ChainX community "] edition = "2018" - -[[bin]] -name = "chainx" -path = "src/main.rs" +description = "Fully Decentralized Interchain Crypto Asset Management on Polkadot" [dependencies] -ctrlc = { version = "3.0", features = ["termination"] } -futures = "0.1.17" -serde_json = "1.0" -chainx-cli = { path = "./cli" } +futures = "0.3.4" +log = "0.4.8" +structopt = "0.3.8" +parking_lot = "0.10.0" +jsonrpc-core = "14.0.3" -[build-dependencies] -vergen = "3" +sc-cli = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-core = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-rpc = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-executor = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-service = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-inherents = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-transaction-pool = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-network = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-consensus-aura = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-consensus-aura = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-consensus = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-consensus = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-finality-grandpa = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-finality-grandpa = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-client-api = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-runtime = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sc-basic-authorship = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } -[features] -msgbus-log = ["chainx-cli/msgbus-log"] -msgbus-redis = ["chainx-cli/msgbus-redis"] -msgbus-redis-keyhash = ["msgbus-redis", "chainx-cli/msgbus-redis-keyhash"] -cache-lru = ["chainx-cli/cache-lru"] +chainx-runtime = { path = "./runtime" } +chainx-rpc = { path = "./rpc" } + +[build-dependencies] +substrate-build-script-utils = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } [workspace] members = [ - "primitives", - "executor", - "runtime", - "cli", - "rpc", - "rpc-servers", - "runtime-api", - "xr-primitives", - # ChainX runtime module libraries - "xrml/xbootstrap", - "xrml/xfisher", - "xrml/xsystem", - "xrml/xsupport", - "xrml/xaccounts", - "xrml/xsession", - "xrml/xgrandpa", - "xrml/xaura", - "xrml/xmultisig", - "xrml/xfee/manager", - "xrml/xassets/assets", - "xrml/xassets/records", - "xrml/xassets/process", - "xrml/xdex/spot", - "xrml/xmining/staking", - "xrml/xmining/tokens", - "xrml/xbridge/common", - "xrml/xbridge/bitcoin", - "xrml/xbridge/sdot", - "xrml/xbridge/features", - "xrml/xcontracts", + "runtime" ] diff --git a/build.rs b/build.rs index aeb892f3b118a..f9d839f9be37e 100644 --- a/build.rs +++ b/build.rs @@ -1,8 +1,7 @@ -use vergen::{generate_cargo_keys, ConstantsFlags}; - -const ERROR_MSG: &'static str = "Failed to generate metadata files"; +use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed}; fn main() { - generate_cargo_keys(ConstantsFlags::all()).expect(ERROR_MSG); - println!("cargo:rerun-if-changed=.git/HEAD"); + generate_cargo_keys(); + + rerun_if_git_head_changed(); } diff --git a/ci/cmake.sh b/ci/cmake.sh deleted file mode 100644 index a91174e207b53..0000000000000 --- a/ci/cmake.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -main() { - local version=$1 - - local dependencies=( - curl - g++ - make - ) - - apt-get update - local purge_list=() - for dep in ${dependencies[@]}; do - if ! dpkg -L $dep; then - apt-get install --no-install-recommends -y $dep - purge_list+=( $dep ) - fi - done - - local td=$(mktemp -d) - - pushd $td - - curl https://cmake.org/files/v${version%.*}/cmake-$version.tar.gz | \ - tar --strip-components 1 -xz - ./bootstrap - nice make -j$(nproc) - make install - - # clean up - popd - - apt-get purge --auto-remove -y ${purge_list[@]} - - rm -rf $td - rm $0 - } - -main "${@}" diff --git a/cli/Cargo.toml b/cli/Cargo.toml deleted file mode 100644 index a28060a34cc84..0000000000000 --- a/cli/Cargo.toml +++ /dev/null @@ -1,63 +0,0 @@ -[package] -name = "chainx-cli" -version = "1.0.0" -description = "ChainX node implementation in Rust." -edition = "2018" - -[dependencies] -log = "0.4" -log4rs = { version = "0.8.3", features = ["rolling_file_appender", "compound_policy", "size_trigger", "fixed_window_roller"] } -structopt = "0.2.13" -tokio = "0.1.7" -futures = "0.1" -exit-future = "0.1" -hex = "0.3.2" -serde = "1.0" -serde_derive = "1.0" -serde_json = "1.0" -csv = "1.0" - -# substrate -cli = { package = "substrate-cli", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -client = { package = "substrate-client", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -transaction-pool = { package = "substrate-transaction-pool", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -network = { package = "substrate-network", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -consensus = { package = "substrate-consensus-aura", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -grandpa = { package = "substrate-finality-grandpa", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -inherents = { package = "substrate-inherents", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -telemetry = { package = "substrate-telemetry", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -substrate-service = { git = "https://github.com/chainpool/substrate", branch="chainx-master" } -substrate-primitives = { git = "https://github.com/chainpool/substrate", branch="chainx-master" } -substrate-basic-authorship = { git = "https://github.com/chainpool/substrate", branch="chainx-master" } -sr-primitives = { package = "sr-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master" } - -# chainx -rpc = { package = "substrate-rpc-servers", path = "../rpc-servers" } -substrate-rpc = { package = "substrate-rpc", path = "../rpc" } -chainx-primitives = { path = "../primitives" } -chainx-executor = { path = "../executor" } -chainx-runtime = { path = "../runtime" } -runtime-api = { path = "../runtime-api" } -xsystem = { package = "xrml-xsystem", path = "../xrml/xsystem" } - -# bitcoin -btc-primitives = { package = "primitives", git = "https://github.com/chainx-org/light-bitcoin" } -btc-chain = { package = "chain", git = "https://github.com/chainx-org/light-bitcoin" } - -[dev-dependencies] -service-test = { package = "substrate-service-test", git = "https://github.com/chainpool/substrate", branch="chainx-master" } - -[features] -msgbus-log = [ - "cli/msgbus-log" -] -msgbus-redis = [ - "cli/msgbus-redis" -] -msgbus-redis-keyhash = [ - "msgbus-redis", - "cli/msgbus-redis-keyhash", -] -cache-lru = [ - "cli/cache-lru" -] diff --git a/cli/src/chain_spec.rs b/cli/src/chain_spec.rs deleted file mode 100644 index 530615a859ed2..0000000000000 --- a/cli/src/chain_spec.rs +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2018-2019 Chainpool. -use serde_json::json; - -use telemetry::TelemetryEndpoints; - -use chainx_runtime::GenesisConfig; - -use super::genesis_config::{genesis, GenesisSpec}; - -const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; -const CHAINX_TELEMETRY_URL: &str = "ws://stats.chainx.org:1024/submit/"; - -/// Specialised `ChainSpec`. -pub type ChainSpec = substrate_service::ChainSpec; - -/// Staging testnet config. -pub fn mainnet_config() -> ChainSpec { - let boot_nodes = vec![ - "/ip4/47.96.134.203/tcp/31126/p2p/QmTZBuK6KCi5KXxJjsun5j6m46Gsj9BgSuo5MxaDfbGDJe".into(), - "/ip4/47.96.97.52/tcp/31127/p2p/QmaiWDshcMMwEp5EbNKHhicqNQG6hWs6BquJqm3QTXgATW".into(), - "/ip4/47.110.232.108/tcp/31129/p2p/QmZpqsZ5XMSMHThbiUFTUxCY3efjz2uGDGH3Jh3rAcKA8R".into(), - ]; - ChainSpec::from_genesis( - "ChainX", - "chainx_mainnet", - mainnet_config_genesis, - boot_nodes, - Some(TelemetryEndpoints::new(vec![ - (STAGING_TELEMETRY_URL.to_string(), 0), - (CHAINX_TELEMETRY_URL.to_string(), 0), - ])), - Some("ChainX Mainnet"), - None, - Some( - json!({ - "network_type": "mainnet", - "address_type": 44, - "bitcoin_type": "mainnet" - }) - .as_object() - .unwrap() - .to_owned(), - ), - ) -} - -fn mainnet_config_genesis() -> GenesisConfig { - genesis(GenesisSpec::Mainnet) -} - -fn development_config_genesis() -> GenesisConfig { - genesis(GenesisSpec::Dev) -} - -/// Development config (single validator Alice) -pub fn development_config() -> ChainSpec { - ChainSpec::from_genesis( - "ChainX Dev", - "chainx_dev", - development_config_genesis, - vec![], - Some(TelemetryEndpoints::new(vec![( - CHAINX_TELEMETRY_URL.to_string(), - 0, - )])), - Some("ChainX Dev"), - None, - Some( - json!({ - "network_type": "testnet", - "address_type": 42, - "bitcoin_type": "testnet" - }) - .as_object() - .unwrap() - .to_owned(), - ), - ) -} - -fn testnet_genesis() -> GenesisConfig { - genesis(GenesisSpec::Testnet) -} - -pub fn testnet_config() -> ChainSpec { - let boot_nodes = vec![]; - ChainSpec::from_genesis( - "ChainX Testnet Taoism", - "chainx_testnet_taoism", - testnet_genesis, - boot_nodes, - Some(TelemetryEndpoints::new(vec![( - CHAINX_TELEMETRY_URL.to_string(), - 0, - )])), - Some("ChainX Testnet Taoism"), - None, - Some( - json!({ - "network_type": "testnet", - "address_type": 42, - "bitcoin_type": "testnet" - }) - .as_object() - .unwrap() - .to_owned(), - ), - ) -} - -fn testnet_mohism_genesis() -> GenesisConfig { - genesis(GenesisSpec::TestnetMohism) -} - -pub fn testnet_mohism_config() -> ChainSpec { - let boot_nodes = vec![]; - ChainSpec::from_genesis( - "ChainX Testnet Mohism", - "chainx_testnet_mohism", - testnet_mohism_genesis, - boot_nodes, - Some(TelemetryEndpoints::new(vec![( - CHAINX_TELEMETRY_URL.to_string(), - 0, - )])), - Some("ChainX Testnet Mohism"), - None, - Some( - json!({ - "network_type": "testnet", - "address_type": 42, - "bitcoin_type": "testnet" - }) - .as_object() - .unwrap() - .to_owned(), - ), - ) -} - -fn testnet_confucianism_genesis() -> GenesisConfig { - genesis(GenesisSpec::TestnetConfucianism) -} - -pub fn testnet_confucianism_config() -> ChainSpec { - let boot_nodes = vec![]; - ChainSpec::from_genesis( - "ChainX Testnet Confucianism", - "chainx_testnet_confucianism", - testnet_confucianism_genesis, - boot_nodes, - Some(TelemetryEndpoints::new(vec![( - CHAINX_TELEMETRY_URL.to_string(), - 0, - )])), - Some("ChainX Testnet Confucianism"), - None, - Some( - json!({ - "network_type": "testnet", - "address_type": 42, - "bitcoin_type": "mainnet" - }) - .as_object() - .unwrap() - .to_owned(), - ), - ) -} diff --git a/cli/src/genesis_config/bitcoin.rs b/cli/src/genesis_config/bitcoin.rs deleted file mode 100644 index 81fe85f937ac9..0000000000000 --- a/cli/src/genesis_config/bitcoin.rs +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2018-2020 Chainpool. - -use super::*; -use btc_chain::BlockHeader; -use btc_primitives::{h256_from_rev_str, Compact, H256}; - -/// Tuple of (BlockHeader, BlockHeight). -type BlockHeaderPair = (BlockHeader, u32); -type BitcoinGenesisInfo = (BlockHeaderPair, H256, u32); - -pub fn create_asset() -> Asset { - Asset::new( - as ChainT>::TOKEN.to_vec(), // token - b"X-BTC".to_vec(), - Chain::Bitcoin, - 8, // bitcoin precision - b"ChainX's Cross-chain Bitcoin".to_vec(), - ) - .unwrap() -} - -pub fn testnet_taoism() -> BitcoinGenesisInfo { - ( - ( - BlockHeader { - version: 536870912, - previous_header_hash: h256_from_rev_str( - "00000000000b494dc8ec94e46e2d111c6b9a317e7300494544a147e15371ff58", - ), - merkle_root_hash: h256_from_rev_str( - "670cd88ba0dd51650a444c744b8088653dba381bf091366ecc41dba0e1b483ff", - ), - time: 1573628044, - bits: Compact::new(436469756), - nonce: 3891368516, - }, - 1608246, - ), - h256_from_rev_str("00000000000000927abc8c28ddd2c0ee46cc47dadb4c45ee14ff2a0307e1b896"), - 1, - ) -} - -// bitcoin testnet -pub fn testnet_mohism() -> BitcoinGenesisInfo { - ( - ( - BlockHeader { - version: 0x20400000, - previous_header_hash: h256_from_rev_str( - "00000000747224aab97a80577eb3fefcc6e182ccb916a2d9f16b3cdee6ac46bc", - ), - merkle_root_hash: h256_from_rev_str( - "e3b332dfe87440c2e9c106fa32de1eb63adde90748a7f6e9eff7c23e09926690", - ), - time: 1589721767, - bits: Compact::new(0x1a0ffff0), - nonce: 0x6ba03668, - }, - 1745290, - ), - h256_from_rev_str("0000000000000afef24ac300f11b64115335471fa46dd8f8a8b4f9fe575ad38b"), - 1, - ) -} - -// bitcoin mainnet for confucianism -pub fn mainnet_confucianism() -> BitcoinGenesisInfo { - ( - ( - BlockHeader { - version: 0x27ffe000, - previous_header_hash: h256_from_rev_str( - "0000000000000000000e87ecbff47d9ab75e78d92328d5951351f9702597dace", - ), - merkle_root_hash: h256_from_rev_str( - "783ffb1dd4004232a041ad7d1cb3d3dbc1583b9f27ad558d63db873e880383f6", - ), - time: 1589940416, - bits: Compact::new(0x171297f6), - nonce: 0x0dc797f9, - }, - 631_008, - ), - h256_from_rev_str("0000000000000000000afe86c660a568a750c603f72dba13b32abb1f31125188"), - 0, - ) -} - -// bitcoin mainnet -pub fn mainnet() -> BitcoinGenesisInfo { - ( - ( - BlockHeader { - version: 536870912, - previous_header_hash: h256_from_rev_str( - "0000000000000000000a4adf6c5192128535d4dcb56cfb5753755f8d392b26bf", - ), - merkle_root_hash: h256_from_rev_str( - "1d21e60acb0b12e5cfd3f775edb647f982a2d666f9886b2f61ea5e72577b0f5e", - ), - time: 1558168296, - bits: Compact::new(388627269), - nonce: 1439505020, - }, - 576576, - ), - h256_from_rev_str("0000000000000000001721f58deb88b0710295a02551f0dde1e2e231a15f1882"), - 0, - ) -} diff --git a/cli/src/genesis_config/chainx.rs b/cli/src/genesis_config/chainx.rs deleted file mode 100644 index 6ba639653a16b..0000000000000 --- a/cli/src/genesis_config/chainx.rs +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2018-2020 Chainpool. - -use super::*; -use hex::FromHex; - -const GENESIS_NODE_COUNT: usize = 29; -// 3 team + 5 council -const TEAM_COUNCIL_COUNT: usize = 8; - -// (account, session_key, endowed, name, url, memo) -type IntentionConfig = (AccountId, AuthorityId, u64, Vec, Vec, Vec); -type GenesisNodeEntry = ( - AccountId, - AuthorityId, - u64, - Vec, - Vec, - Vec, - Option>, - Option>, -); - -fn hex(account: &str) -> [u8; 32] { - <[u8; 32] as FromHex>::from_hex(account).unwrap() -} - -#[derive(Debug, Deserialize)] -struct CsvGenesisNodeEntry { - account_id: String, - session_key: String, - endowed: f64, - name: String, - url: String, - about: String, - hot_entity: String, - cold_entity: String, -} - -pub fn load_genesis_node(csv: &[u8]) -> Result, Box> { - let mut reader = csv::Reader::from_reader(csv); - let mut res = Vec::with_capacity(GENESIS_NODE_COUNT); - for result in reader.deserialize() { - let record: CsvGenesisNodeEntry = result?; - - let account_id = hex(&record.account_id).unchecked_into(); - let authority_key = hex(&record.session_key).unchecked_into(); - - let endowed = (record.endowed * 10_u64.pow(u32::from(PCX_PRECISION)) as f64) as u64; - let node_name = record.name.into_bytes(); - let node_url = record.url.into_bytes(); - let memo = record.about.into_bytes(); - let get_entity = |entity: String| { - if entity.is_empty() { - None - } else { - Some(Vec::from_hex(&entity).unwrap()) - } - }; - let hot_key = get_entity(record.hot_entity); - let cold_key = get_entity(record.cold_entity); - res.push(( - account_id, - authority_key, - endowed, - node_name, - node_url, - memo, - hot_key, - cold_key, - )); - } - Ok(res) -} - -#[derive(Debug, Deserialize)] -struct CsvTeamCouncilEntry { - account_id: String, -} - -pub fn load_team_council(csv: &[u8]) -> Result, Box> { - let mut reader = csv::Reader::from_reader(csv); - let mut res = Vec::with_capacity(TEAM_COUNCIL_COUNT); - for result in reader.deserialize() { - let record: CsvTeamCouncilEntry = result?; - let account_id = hex(&record.account_id).unchecked_into(); - res.push(account_id); - } - Ok(res) -} - -pub fn bootstrap_intentions_config(genesis_node_info: &[GenesisNodeEntry]) -> Vec { - genesis_node_info - .iter() - .map(|(account_id, authority_id, value, name, url, memo, _, _)| { - ( - account_id.clone(), - authority_id.clone(), - *value, - name.clone(), - url.clone(), - memo.clone(), - ) - }) - .collect() -} - -pub fn bootstrap_trustee_intentions_config( - genesis_node_info: &[GenesisNodeEntry], -) -> Vec<(AccountId, Vec, Vec)> { - genesis_node_info - .iter() - .filter(|(_, _, _, _, _, _, hot_entity, cold_entity)| { - hot_entity.is_some() && cold_entity.is_some() - }) - .map(|(account_id, _, _, _, _, _, hot_entity, cold_entity)| { - ( - account_id.clone(), - hot_entity.clone().unwrap(), - cold_entity.clone().unwrap(), - ) - }) - .collect() -} diff --git a/cli/src/genesis_config/mod.rs b/cli/src/genesis_config/mod.rs deleted file mode 100644 index 9c9c17e186792..0000000000000 --- a/cli/src/genesis_config/mod.rs +++ /dev/null @@ -1,282 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -mod bitcoin; -mod chainx; -mod sdot; - -use serde_derive::Deserialize; -use substrate_primitives::{crypto::UncheckedInto, ed25519::Public as AuthorityId}; - -use chainx_primitives::AccountId; -use chainx_runtime::{ - xassets::{self, Asset, Chain, ChainT}, - xbitcoin::{self, Params}, - xbridge_common::types::TrusteeInfoConfig, - Runtime, -}; -use chainx_runtime::{ - xcontracts, ChainSpec, ConsensusConfig, GenesisConfig, SessionConfig, TimestampConfig, - XAssetsConfig, XBootstrapConfig, XBridgeFeaturesConfig, XBridgeOfBTCConfig, - XBridgeOfSDOTConfig, XContractsConfig, XFeeManagerConfig, XSpotConfig, XStakingConfig, - XSystemConfig, XTokensConfig, -}; - -const PCX_PRECISION: u16 = 8; -const CONSENSUS_TIME: u64 = 1; - -#[derive(Copy, Clone)] -pub enum GenesisSpec { - Dev, - Testnet, - TestnetMohism, - TestnetConfucianism, - Mainnet, -} -impl Into for GenesisSpec { - fn into(self) -> ChainSpec { - match self { - GenesisSpec::Dev => ChainSpec::Dev, - GenesisSpec::Testnet => ChainSpec::Testnet, - GenesisSpec::TestnetMohism => ChainSpec::Testnet, - GenesisSpec::TestnetConfucianism => ChainSpec::Testnet, - GenesisSpec::Mainnet => ChainSpec::Mainnet, - } - } -} - -pub fn genesis(genesis_spec: GenesisSpec) -> GenesisConfig { - let (code, mut genesis_node_info, team_and_council, network_props, bitcoin) = match genesis_spec { - GenesisSpec::Dev => ( - include_bytes!("../../../runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm").to_vec(), // dev genesis runtime version is 6 - chainx::load_genesis_node(&include_bytes!("res/dev_genesis_node.csv")[..]).unwrap(), - chainx::load_team_council(&include_bytes!("res/dev_team_council.csv")[..]).unwrap(), - (xsystem::NetworkType::Testnet, 42), - bitcoin::testnet_mohism(), // dev use a newer bitcoin header - ), - GenesisSpec::Testnet => ( - include_bytes!("res/wasm/chainx_runtime.compact.wasm").to_vec(), // testnet genesis runtime version is 6 - chainx::load_genesis_node(&include_bytes!("res/testnet_genesis_node.csv")[..]).unwrap(), - chainx::load_team_council(&include_bytes!("res/testnet_team_council.csv")[..]).unwrap(), - (xsystem::NetworkType::Testnet, 42), - bitcoin::testnet_taoism(), - ), - GenesisSpec::TestnetMohism => ( - include_bytes!("res/wasm/testnet_mohism_chainx_runtime.compact.wasm").to_vec(), // testnet genesis runtime version is 6 - chainx::load_genesis_node(&include_bytes!("res/testnet_genesis_node.csv")[..]).unwrap(), - chainx::load_team_council(&include_bytes!("res/testnet_team_council.csv")[..]).unwrap(), - (xsystem::NetworkType::Testnet, 42), - bitcoin::testnet_mohism(), - ), - GenesisSpec::TestnetConfucianism => ( - include_bytes!("res/wasm/testnet_confucianism_chainx_runtime.compact.wasm").to_vec(), // testnet genesis runtime version is 6 - chainx::load_genesis_node(&include_bytes!("res/testnet_genesis_node.csv")[..]).unwrap(), - chainx::load_team_council(&include_bytes!("res/testnet_team_council.csv")[..]).unwrap(), - (xsystem::NetworkType::Testnet, 42), - bitcoin::mainnet_confucianism(), - ), - GenesisSpec::Mainnet => ( - include_bytes!("res/wasm/mainnet_chainx_runtime.compact.wasm").to_vec(), // mainnet genesis runtime version is 0 - chainx::load_genesis_node(&include_bytes!("res/mainnet_genesis_node.csv")[..]).unwrap(), - chainx::load_team_council(&include_bytes!("res/mainnet_team_council.csv")[..]).unwrap(), - (xsystem::NetworkType::Mainnet, 44), - bitcoin::mainnet(), - ), - }; - let contracts_config = match genesis_spec { - GenesisSpec::Dev => Some(XContractsConfig { - current_schedule: xcontracts::Schedule { - enable_println: true, // this should only be enabled on development chains - ..Default::default() - }, - gas_price: 5, - }), - _ => None, - }; - - assert_eq!(team_and_council.len(), 8); - - let team_account = team_and_council[..3].to_vec(); - let council_account = team_and_council[3..8].to_vec(); - - let initial_authorities_len = match genesis_spec { - GenesisSpec::Dev => 1, - GenesisSpec::Testnet | GenesisSpec::TestnetMohism | GenesisSpec::TestnetConfucianism => { - genesis_node_info.len() - } - GenesisSpec::Mainnet => genesis_node_info.len(), - }; - - genesis_node_info.truncate(initial_authorities_len); - - // Load all sdot address and quantity. - let sdot_claims = sdot::load_genesis().unwrap(); - - let btc_asset = bitcoin::create_asset(); - let sdot_asset = sdot::create_asset(); - - let blocks_per_session = 150; // 150 blocks per session - let sessions_per_era = 12; // update validators set per 12 sessions - let sessions_per_epoch = sessions_per_era * 10; // update trustees set per 12*10 sessions - let bonding_duration = blocks_per_session * sessions_per_era * 72; // freeze 150*12*72 blocks for non-intention - let intention_bonding_duration = bonding_duration * 10; // freeze 150*12*10 blocks for intention - - let params_info = Params::new( - 486_604_799, // max_bits - 2 * 60 * 60, // block_max_future - 2 * 7 * 24 * 60 * 60, // target_timespan_seconds - 10 * 60, // target_spacing_seconds - 4, // retargeting_factor - ); - - let active_genesis_nodes = genesis_node_info - .iter() - .filter(|(_, _, balance, _, _, _, _, _)| *balance > 0) - .collect::>(); - - assert!((active_genesis_nodes.len() == 4) | (genesis_spec as u8 == GenesisSpec::Dev as u8)); - - GenesisConfig { - consensus: Some(ConsensusConfig { - code, - authorities: active_genesis_nodes - .iter() - .map(|(_, authority_id, _, _, _, _, _, _)| authority_id.clone()) - .collect(), - }), - system: None, - timestamp: Some(TimestampConfig { - minimum_period: CONSENSUS_TIME, // 2 second block time. - }), - xsession: Some(SessionConfig { - validators: active_genesis_nodes - .iter() - .map(|(account, _, balance, _, _, _, _, _)| (account.clone(), *balance)) - .collect(), - session_length: blocks_per_session, - keys: genesis_node_info - .iter() - .map(|(account, authority_id, _, _, _, _, _, _)| { - (account.clone(), authority_id.clone()) - }) - .collect(), - }), - // chainx runtime module - xsystem: Some(XSystemConfig { - network_props, - _genesis_phantom_data: Default::default(), - }), - xfee_manager: Some(XFeeManagerConfig { - producer_fee_proportion: (1, 10), - transaction_base_fee: 10000, - transaction_byte_fee: 100, - }), - xassets: Some(XAssetsConfig { - memo_len: 128, - _genesis_phantom_data: Default::default(), - }), - // bugfix: due to naming error in XAssetsProcess `decl_storage`, thus affect the genesis data. - // we move token_black_list init into xbootstrap module, and use `mainnet` flag to mark - // current network state(mainnet/testnet). if current state is mainnet, use old key to init it. - // if current state is testnet, use new key to init it. - // xprocess: Some(XAssetsProcessConfig { - // token_black_list: vec![sdot_asset.token()], - // _genesis_phantom_data: Default::default(), - // }), - xstaking: Some(XStakingConfig { - initial_reward: ((50_f64) * 10_u64.pow(u32::from(PCX_PRECISION)) as f64) as u64, - validator_count: 100, - minimum_validator_count: 4, - sessions_per_era, - sessions_per_epoch, - bonding_duration, - intention_bonding_duration, - current_era: 0, - minimum_penalty: 1_000_000, // 0.01 PCX by default - missed_blocks_severity: 3, - maximum_intention_count: 1000, - }), - xtokens: Some(XTokensConfig { - token_discount: vec![ - (xbitcoin::Module::::TOKEN.to_vec(), 50), - (sdot_asset.token(), 10), - ], - _genesis_phantom_data: Default::default(), - }), - xspot: Some(XSpotConfig { - price_volatility: 10, - _genesis_phantom_data: Default::default(), - }), - xbitcoin: Some(XBridgeOfBTCConfig { - // start genesis block: (genesis, blocknumber) - genesis: bitcoin.0, - genesis_hash: bitcoin.1, - params_info, // retargeting_factor - network_id: bitcoin.2, - confirmation_number: 4, - reserved_block: 2100, - btc_withdrawal_fee: 100_000, - max_withdrawal_count: 100, - _genesis_phantom_data: Default::default(), - }), - xsdot: Some(XBridgeOfSDOTConfig { - claims: sdot_claims, - }), - xbridge_features: Some(XBridgeFeaturesConfig { - trustee_info_config: vec![( - Chain::Bitcoin, - TrusteeInfoConfig { - min_trustee_count: 3, - max_trustee_count: 15, - }, - )], - _genesis_phantom_data: Default::default(), - }), - xcontracts: contracts_config, - xbootstrap: Some(XBootstrapConfig { - // xassets - pcx: ( - b"Polkadot ChainX".to_vec(), - PCX_PRECISION, - b"ChainX's crypto currency in Polkadot ecology".to_vec(), - ), - // asset, is_online, is_psedu_intention - // Vec<(Asset, bool, bool)>; - asset_list: vec![ - (btc_asset.clone(), true, true), - (sdot_asset.clone(), true, true), - ], - // xstaking - intentions: chainx::bootstrap_intentions_config(&genesis_node_info), - trustee_intentions: chainx::bootstrap_trustee_intentions_config(&genesis_node_info), - // xtokens - endowed_users: vec![(btc_asset.token(), vec![]), (sdot_asset.token(), vec![])], - // xspot - pair_list: vec![ - ( - xassets::Module::::TOKEN.to_vec(), - xbitcoin::Module::::TOKEN.to_vec(), - 9, - 2, - 100_000, - true, - ), - ( - sdot_asset.token(), - xassets::Module::::TOKEN.to_vec(), - 4, - 2, - 100_000, - true, - ), - ], - // xgrandpa - authorities: active_genesis_nodes - .iter() - .map(|(_, authority_id, balance, _, _, _, _, _)| (authority_id.clone(), *balance)) - .collect(), - // xmultisig (include trustees) - multisig_init_info: (team_account, council_account), - chain_spec: genesis_spec.into(), - }), - } -} diff --git a/cli/src/genesis_config/res/dev_genesis_node.csv b/cli/src/genesis_config/res/dev_genesis_node.csv deleted file mode 100644 index 9b55b2290ab36..0000000000000 --- a/cli/src/genesis_config/res/dev_genesis_node.csv +++ /dev/null @@ -1,5 +0,0 @@ -account_id,session_key,endowed,name,url,about,hot_entity,cold_entity -88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee,88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee,10,Alice,polkadot.network,,035b8fb240f808f4d3d0d024fdf3b185b942e984bba81b6812b8610f66d59f3a84,0227e54b65612152485a812b8856e92f41f64788858466cc4d8df674939a5538c3 -d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69,d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69,10,Bob,polkadot.network,,02a79800dfed17ad4c78c52797aa3449925692bc8c83de469421080f42d27790ee,020699bf931859cafdacd8ac4d3e055eae7551427487e281e3efba618bdd395f2f -439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f,439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f,10,Charlie,polkadot.network,,0306117a360e5dbe10e1938a047949c25a86c0b0e08a0a7c1e611b97de6b2917dd,02a83c80e371ddf0a29006096765d060190bb607ec015ba6023b40ace582e13b99 -5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9,5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9,10,Dave,polkadot.network,,, diff --git a/cli/src/genesis_config/res/dev_team_council.csv b/cli/src/genesis_config/res/dev_team_council.csv deleted file mode 100644 index 0f61938449fea..0000000000000 --- a/cli/src/genesis_config/res/dev_team_council.csv +++ /dev/null @@ -1,9 +0,0 @@ -account_id -88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee -d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69 -439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f -88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee -d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69 -439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f -5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9 -25f6ca3be51db080ab25e2967de94331be61aea12242290bb7795f1e3a962920 diff --git a/cli/src/genesis_config/res/dot_tx.csv b/cli/src/genesis_config/res/dot_tx.csv deleted file mode 100644 index ec93105065e49..0000000000000 --- a/cli/src/genesis_config/res/dot_tx.csv +++ /dev/null @@ -1,3053 +0,0 @@ -tx_hash,block_number,unix_timestamp,date_time,from,to,quantity -0x5d1da982c6d3fa504f959551ae5550d613f7dca9a9c2d3d3942739c812a303b1,4439169,1509106144,10/27/2017 12:09:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdf423fe29ac1331bfcdc8e01f2934a971e4dfb72,31.657 -0x2a035c733947df4a1fb5e66c01dc30d7cc30d82b5917f02593a506bdcd4f9c22,4439694,1509113435,10/27/2017 2:10:35 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x16b278ad48a9fb2a18f099c210ef742479fce983,2.638 -0xe442ab43009a48d3554b691e71ad6694da82462f60ba48231035e0f3ffaa184e,4440511,1509125211,10/27/2017 5:26:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x44e5715f7db1a59de2af178cdad023b16e39da31,369340.969 -0xdea8cd991e102d17677446d39dd002cd7733e095c3f8ec84236031b13be2625f,4440544,1509125771,10/27/2017 5:36:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcad1acfa9151d7eae13f06ea4d90a0024cf37301,30758.991 -0xf9343c92e13d21041c00bc57b64ae159b241abfbfd344f2d303fe68ea4779c6a,4440545,1509125784,10/27/2017 5:36:24 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007e917588d7a1392c3604501e00a73565d06845,50010.143 -0x982d612018df92c05462c098aa86b17bdcd83a08aa34379691dd910e947336fe,4440545,1509125784,10/27/2017 5:36:24 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e78da27c3d7a1ae6ef59a79946d8c77a708319,9.176 -0xaa36143982d755bead7fa0a1efded284cefdb86ab8865cb5e0724e9269c6f66f,4440545,1509125784,10/27/2017 5:36:24 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x56fe408b24e6ebcf0d0230c8f4b7ba25f2c2197b,297.308 -0x498b2587af3fcfd8d9a3c3286e566d86c0387ca1947fccc0fe38c3ab7c8a36e5,4440545,1509125784,10/27/2017 5:36:24 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc636b16cee0a7cb4e5dc4662b7d321b772a8c1ec,187.299 -0xbc0fdaaf2e0045072bc5b9712c3eeaa6a37ffc830b82359c9255a3f96d94ce19,4440545,1509125784,10/27/2017 5:36:24 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x65b761631b6f2fcc2c085a544b6602d1317dd94c,91.761 -0x78ee139f6f7005ba7fedfd01e6949c1cb8e86c5e61c15d51099935c6e2a0e3fa,4440545,1509125784,10/27/2017 5:36:24 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8b655867ee164b797df4a199f98f745757630bb0,130.209 -0xfe81a37768e3d39532fa2bfd35a3d6ecaa64271e1a9de7690f54aa595e9df821,4440545,1509125784,10/27/2017 5:36:24 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002c2d84a889df4bdab0175a1c4487f67adacff9,187.193 -0x29cc5d504d79f89cff41c406b7ed541c6b9311cff965bf9c07d46a6026a48aaa,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3872d74c3dbddbb0757cdc78070afc7a8266b595,142.276 -0xd1c93a85dd0f2b5f3473e6804c0dc36846c95b092b6a964c5d8fd9265ba4675d,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6cc5d8a4f16d0dd7122bc1d2759703ee9013c237,76.572 -0x62adac316dc71b7440b018e6543d109961fb87bda1a91e76a173451a192ba210,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe96acc7d52abd264535e1a64a03a9fce3e238c77,13.36 -0x03cad5d6f463fce164103192edfbef3a5104b08156bbd11a02f8b8b5cf2ae497,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8c6778f77b22cead996a7bd73de2283e38d5aa4a,91.761 -0x5335bd4cab44699ea73272946be5fa721d6582b3e5ec20e23b3de5088fb7aa8a,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x648764f0789afe09b446db06388edb09d9588cb0,22.94 -0xbf66b323fc4823d02fa2c13b9a68d9e5a6e18950891fb6a98871820685bd8741,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf72fce633c6ff04e9d82d01a79cf7c4e3a54eecb,637.744 -0x7abf88230107b4ea54fea446e09f2a97dd946fb34925689125063e03dedb1f10,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003c6df13f3c95f12e0f3e2c82e3980d9732558b,355.576 -0xc9407ff034b94b1ec3cf49026db658b5d550242bb74b61d20894129141d4e9ca,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbc17ff2de0b6577aae386e5bfe8ab7695282a52f,3859.609 -0xdf508533baeda48086b1b915f7b3465662d34109522604333272f4c0bfa74d10,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf00098c1c1c81604a82b903cc34f91436e6a72ff,36.704 -0x41fff4d277f814bd72f7d3c2f1f4ee8b6e4e35cd9ecc0779bb5dad76d9a14729,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xed5b940de6f21fcc6d1168cb78590f9ab6cd2ba6,229.404 -0x9bd3a2bcca05a7d09d664378335cbf3048a0f73ae4507ee7d8baffe3ca14c890,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xba747ec663ca7239cfefc4be89639c3cff6da31d,503.837 -0x9cf1137cf6c5e91351e3475427ec1125132131818b3f798f750a1dbc5d1c9199,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1b919a32ea4ba16c20e24ee83cbdf98b89c94a31,15276.951 -0xa3b439eaa80d9cdbbb789979fde65fef5cef7b2648b12c6e12d188fbfe14166c,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x24941335e79baae9751f508e7e95c1dd475b4e31,8.717 -0x13ce4ae472d7d38298256f95afb2f05db4624ac544aeba636d9a4b0a65117ab3,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00edf872c332daee73e6d6885fed66b03f1885de,107.471 -0xc8a04c96d6de7db6e5052c1d70669af34a2f517cf32e8d6a3caafeb9e8ee5c29,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007eb3537067c48639bce08b04e4fb52caf64e9c,1835.234 -0xfb4098257ae8a99d09c266e33f631146463ab14c58ff8d56d635e90f15158eed,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c22a65da50ff23a3b8e236d586fe7e3e01ddba5,0.917 -0x57ffc12ff238585fe2d70e3a469843a625d5afeb48a91517bf330d02ab5bfbe2,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00951b683e7eedce3efc6199759ea1ab521fa5b3,97.432 -0x88a724bf0056e13d3216861986c72dc7a741ea5aec0484f252cde2cf00eb37a8,4440546,1509125824,10/27/2017 5:37:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0051ef63e8b9714d239156854c615606cd9effdd,2.018 -0xb9817356bf99e1ad58bb8b0ebe7fff1acbcba6ae27b2fcff40d20ec6da61f6d0,4440547,1509125828,10/27/2017 5:37:08 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0054fb3c10d0b0228569744734c66321e14c01a1,45.88 -0x8e6c19de26f577531b4651a161a416c895ba63b8c428322ac895562e0456234b,4440547,1509125828,10/27/2017 5:37:08 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ac0f75d0d139301dd8d666526b02234220b14a,137.642 -0x46db2460460946b590760cb894cd77ce3c12c5858cb870ba6b9ff3e5e56e6d6b,4440547,1509125828,10/27/2017 5:37:08 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcbbedda51e4c9cfe80f429f6436a53c9738b59db,1972.877 -0xd585f6b26e1d2e5d845b4419818b2aa23ab1a6dba2981c9440f760fdc336a349,4440547,1509125828,10/27/2017 5:37:08 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00328824a4fc0484c8ff3353c8d2f65ba9e05638,81.428 -0x29cf83ef4d8f20a60595eb163032ce363184c3077a26cfe908f282687e38f9b7,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x819669704eab9a1a1086840eab684846647b969b,136.476 -0x279916a5f81c9f95dd9078465a7e7d88fde30f251dded52fdf85885f7a5ccb75,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0ba2bcb31e7789cf711bdb657cc69526bb9a2f7,1187.908 -0x783b2298181375626d86ec57852de3aebccff181cc2ad02105d2a6ad8259fccc,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3eea99becd232fdc16b87fd8ee370a4d0ff68165,51.261 -0xdb103ecf502249faaffa774bdcb7514710b42db7e2142b51c61a51ffe3c52c1d,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008550c3b4af1fa7a4503bc9e55a8622f213138b,45.697 -0x2b9a5ec6a8fa4661fec579ecad11336f63d3d750aec1faf2fcabd28198af1bd6,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c8d2f03af9ee67f36463ef212e09137800e377,917.617 -0x9b493acadf1c581502fd6c43769e7d53ccb4f24e2e31eb75b1ad0d3e9ad58df5,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbdc058e69ad60873787e67fe22ef40e6a82032e6,18.352 -0xb1b539610058be8e7620aa1b6747af45855b511ec036277dc4c08abc6e95fe33,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x70c853a88dcfdf9996e60d3d33f3002ceddf46ca,958.91 -0x3f18f49ed01da9bdeb5a1f12f28e735392812c42eb09fab6c61631547d7e3c7e,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xed4629967a1994b2f28b66ca0ad7d5f7bb583ee4,383.013 -0xac1e5bd2613720fc542649256295da539794ad745edd4a6f4dd0a5317e384dca,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xafd6e8fdc9e0f3579e0b51f4af2587141b34ae18,145.937 -0x839330a66dc393146157549b747cacbba22317911f6a5f3f75a627e83dc988b3,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004aa70bdd021cf9aaae7e33feb7efb057255266,10.71 -0x17ab717c3c312386b3367e25e03fc8041ea4c73eebdf2b1229c8a7ab883c1b24,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008235374c2b0a0fadd61c6bbdde2b9983af91f4,13.397 -0x47ade58c7ddfa7f6c5a31eed6d723de5d8d6a2e50d3e6f2ce0a166dc76ac5030,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x50b2c3a213d353c66a2138e3f21a1f909b0a87b8,11666.981 -0xaec44f276f4e40b91f544fa20527b58ed0662e3e1632921f39bd2004093df9a4,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a43389d6cada465a26af74f61c897d1855ca63,178.935 -0xd4293df1e78b32d881bec095901d40e09e51910e373f04f89f17b1334bcd4f44,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0f2293358c8721bb10cf8fef9fc9704189581ccb,3028.045 -0x83a7f98304fdc13a1f14567aebd88d740c186ffd0959a148344d852a08540b3b,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a1b46319be9163b8ae30dbe506235608a563dc,2105.326 -0xb75a64b70cd73d303079c863c31d5f904aa8b1887df6791376f2feaf4bac1048,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e0ed608adb4488caaa5b7ae3e39f3d7ff7487b,110.114 -0x8a6227d3d12f3f1193bab1f5772e8c13d6a75e00a41865f357c75b177de8f9e2,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0bae10406f82399bab8c8713aa8f5e0c05c98d84,3.775 -0xac8d74f46388d93eba24b9307ed7292adc05916d3f2420f760bcf689fcb6ec3b,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00edd7f8f834eee9eff0a602e6cd8c11ab501e4d,13.81 -0x9b1af97d87d7c54f18b0335300c34b8213b0ea5ed8a5e192d003bc935c56ffba,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe9133e7d31845d5f2b66a2618792e869311acf66,18518.526 -0x0b415acaa28110ed020d945b5041ee7db06e085bdba58a672e6f7f32e5d5a9cb,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eb8e47a06707a3dfb17728f8961009adb88eb8,8.577 -0xfb44f2824f846f2242094c3f20889ea4bba5ff4f8cff5899c45ec298dea71e83,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d0036b211691a8f28a2f159a8db9d84fd3eee0,917.617 -0xeb5b873d1deadd8b5b01b07e74e58815d373bc5a2614f81a6069944475f4a7b2,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x55a3df57b7aaec16a162fd5316f35bec082821cf,183.523 -0xd87b8aad6a591fc0beaaf2903f775464584d0e5b8f4a9f3b000071667c625f41,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9e8b9dc427650bb1136f50ab903b00fdee88e946,229.679 -0xdacc91d1ba3a6e8e9723ba8e97bd61fbf77d0c018d232ca5c88492b5d93d64ed,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22b2d90d35c20a47c6f579fb6603778e7010940b,117.042 -0x714b5d7e63291b106e727d85aa387fcda93dc051077c86dc36bf04372ba082b8,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3eef4ebb6697b4b0408d4394a37794b484f3f9fb,9.543 -0x0eb75040dd71dca68877557513b51ab92c74c460790dee82ebcf900dcae6a3c2,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x46a1ee4cb00bd3f064e1a02fd5c187e34bf4c97c,1844.41 -0x6895d591ab369729a113c3140c00870483ad724d6c5856de004cd306c85bcd17,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0074bac45b84b3067a8a8d7044396275532d72a5,293.637 -0xef1ddd3861027935beb5af92b350d642fa943c0aa82e16dc78107bbe8b51859d,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6503fe6dc225865a54dccca75e9410f53a35b137,73.638 -0xf292c639fbac416b1a8f7f0d8bfa310ee0a41dfccf12fa3957a53f3e58233d7c,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeb9458f5c5facbba1a3d21099f8bbec44d7e3d00,367.23 -0x2ec02ab839bcf5e4ef1bef0b586c9b0b664b0e3f1177d56000d798f71dc1a381,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00882015100d9a8165e33467f695de68d115a172,183.706 -0xa2d2839e6c4afd9f5ecdf2e682cf0d0a4a62e1340841c9c83e76c214ff9b72dc,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb1e522a1fbfe27af28b0f198775fd9521588000c,375.305 -0xe8743567f5a85c6918f5425a5a5752a433adb0fdbfbd6aea6f770fe0c0e46354,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001adb13591f0a8ac80d152b8902b0a9e66aa599,4601.85 -0xb10a492542830dc6fe4937ece4f814741c5306c0422f497bfe1b034218cca66f,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x053e71a33ab7f5250fd4cefe232b2fd6ec92b0a4,78.896 -0x6644ec759b157edd46be27f92d96493506a4dccc534a02ac777228a02592edf5,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc235870df0ab4d032329925e9f4024a6e753e7a7,50.285 -0xe6f867bd7ecb99c6cd2ddc02d1fab37085cf7e385f54baee5da959f35d3110b9,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb96841cabbc7dbd69ef0cf8f81dff3c8a5e21570,642.332 -0x1f5fcf0258d1dff6ef72b94188df868df7c3a601a3de6c7255d92bfb0e0277f9,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x71a3d6c54338788dc4da94e34cd9ad2f1d89d7e0,29.914 -0x128bc02e94af745d81f30762a6a7d71f87365751df8d32f137de36ee2ff1bfb9,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x390bd123181387d8427df74476627411146a0862,466.149 -0x40ac9281b40a21c77de6761ebfa2d22d5cc0c80a8a7d1403cc5dbcc9a228eda6,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x38422523da6181fbda6662269bd301a95686a001,90.059 -0xa2c8aba8655c4cec906528d60c3f89105869bd8d13d3f068532fcb2af601374c,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0710c910d3d8061019f91bb90ccdf607898e135e,204.169 -0xb0115e4bce167a64f65ea62550aabffe81d3431c88d55f9c54f180a4b578b6e7,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x652346bcbe5e8683ade954a0b4491a58809fb539,7.34 -0x21dd963da6c4d2ee6b7ddd3ac9e8ce84a30dfc64aaca529c4fc9a5c28f6a6ad5,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1f4258fad2126cdaab3266e9caa82bd51692980,262.438 -0x9d4b30706a60e74c4d6c6d2653a54d478293221403b277633853407b0d4abe63,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x96f568fd6311f0fcf6c8fb0d017f4b7a85f5dd38,166.914 -0xcb79799b45367d0eb0742f900c7e8b3a7825805848835e18198657041061b1b8,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4514bcb1596297d8a9110c03306b47429203aaaa,110.114 -0xf98b14a0443edc22fa640b554e2f6150aa72519f5376f997ced34f656b76a9ec,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0007e5053a12e40bc320f2be221a71b0bb72300c,9.176 -0x5c05a80894fefb63dfd9da2d8f3468a3f655924f9d315a5216c244c2c0de870a,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0062bcd4cbb3f4501caa19a2abae06c7dad957e7,206.963 -0x75d6c8773c0d05cf3efa57bdc789c411060b108c966a3b82febb7687e3cb7ae5,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdb64136231a5004bf3fa556667b26e4eccc15bc5,71.832 -0x7ad1fcb7ea13c713ec3854657003ab9651d879f4de2c8b07c7f3b4616f7abf99,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaea57f34d0f7c04bf6f29e4b91baf66955901035,321.166 -0x6200aca727de4a0e99b5179bd56b9d9277602aff8fec6b5d72136d657014689a,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2063700c6e019a814d24f514ec6512711c399826,2294.043 -0xe491accd1cc48f7f1ad0403b073fc0e0de9b03adb3b14c0f99a5eba4576d4f20,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xccb2545aaf81d791232b9e111f4acf0a182547f3,1468.187 -0xa7f7474d9ecac878f6d3c14b749e5e81ad24056e188334a48174535639cce6d6,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007e1b953932516a6560c9161409b4fa15595bd3,28.699 -0x2bfb27b8b2138df09377b7efeaab4d789ddb87bf202077b1a1bad9b44b2a9394,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xae0942112b3e1d36089fc756b8a71cd765ed18eb,1791.418 -0x2d6d6f77efeaa84e7b6f56ac9a300c174408c140ca2b01caf59d50dcbae64fa7,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x38db95df5bffa0bd5e39c27866f7d53e04c2f87c,137.642 -0x543aee93a6d9d6f09be59f4eb85d620f9fc49045d99ba0774c1f76f816cb7eca,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x05e248f31370ff8f16c3bb5db186ff80eefafe62,220.686 -0xac3b79fdad7fbb5b8c45789883ba3fe7f793c0550151b1c9e59ce94d6e07f4d1,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x106d77aa34d1fedbcdf0cfc17d140745aa5c2626,284.461 -0x977bf5f0988b8e084cbadf043445ba637c3f06faaf174bb1603eda91c75df5fb,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xda2bf8e3c90f7250c9db68d9566f40350380149f,64.37 -0x53f5c7f60e836f73e8f2400c15620a9a7df6bf1a62ddf42bc77f32d0a102c800,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x946ef62e1a97865e99dd8366a87506858d83f279,413.131 -0xdc2ae925cf764bbe04e0e3109971682e0b7d0c20bda41a4a9adf427435062704,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x89af1ab14542363a2c631dac9d2eaafd0bfaf008,62.453 -0x889a411c84344fc184b48f29a7f1ab208aabf1d11c7554056d0714330ed3e4ee,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c5a77d735f01aab53e4ff89ccc60d503db7c3b,103.14 -0x2efabf00d878b163e4674f85e89933020e2e2dead7bfef9a835516b4307c0b91,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6abcac223e44ced17304fe30be5d35661ed1d142,144.111 -0xdc5a3b1403e40ed146f0147b591ac5368c3f0cb4fb0b4f28eeb209ae971a0267,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0028dbe0396e7c888373dc2bf00ec85c292afd84,110.114 -0x91af8d16b465e3c9e169a94c7acb103775f908b3fbaaf997b692e957e830e777,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0751f20e8b8b2686d8844d5c452ec8ecff3fc36a,64.233 -0x616846dff0be4d845e24816ac3da49c3d98e7c69f6fe4a85c44145dd080278db,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f91786aecd3995bf5fd3a6183973193b51d6b5,10.956 -0x0065a2a8066c49197977a403627991c55e7dfd30fce9ef8ab201f479d5bb7e94,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x01c08575d845acf2bdd1df6b449afebe9e8910cf,91.761 -0xe5f69069ae9670b21b7cbeaad378f2a263a3518724101fbc00b25b93838fdee5,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb86a8cbd383f9a45c70ed742eb6edfa2e1aa8e9c,37.729 -0xa6009c657964e73272b1fe9cfc34062c547f781938991c423f1f4c8b57b2cb23,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcfe809074cb2f767285e8f0bc8e2604116c7bdc9,1011.214 -0x9b688ac6ce20cfe75c1a4e64c334db27bf7d6e23bd90d10e8bb4a9ec78a788fa,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x341e46b97431121edb45c7397534704946e1090f,99.102 -0xac22271bb0be994048ac1a33be0caa55162bdc1faa1cd27d4b99f39b0538ac91,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7dfc554e9b71dc76d1836307af3f81c15eb9d0bf,27.62 -0xf6d815650e05e65b8853dc666b4d95d3dee9055064cb97a75c8b3019c8a51459,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9e070de69e6cce7c2347b1b8e8bae4b68b04a8c6,71.023 -0xc9d1431dea896f358658aacfe977f2e8c7397757cc123f66672096ba8ba11232,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0002f625594208e49a2a858a109794d50276bf82,917.617 -0x1123ea89ff60588cac95393d6ef21b0625cfaf8029e68c50b8a671ca18c14292,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f229ac4cc64385aa20b2cf7f75a9eba129b6711,97.064 -0xf4d7a427758c7fd41e9a57231dbee11746fe5fd1b253eb3e065381f2aac57046,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d721f7b0f0217f3fe8b192b5a2a7feb22b296e,16.829 -0x2405492de230c38d0b809e45f6903dd58d0b4de45d27442f85a09ad0e7458696,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x462cc75caee4d0be283eeddbc2cd5698b9880b91,45.88 -0xa9fb1eac3f175690cda40be0d28c16d70814c49d064feafdced683be6420b5ac,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb187f9d6ce0329e2e8d12c6ddfe989023abf839d,905.504 -0xeb9c8395340e2aa34f6ea14c85f299c28399da034547d7271dd13b5349d6f4bf,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf897a81a6ab5aa5cc24e18c9976b3882cd0f4ccf,780.066 -0xb452cf5092cfcd93cb3b4192f45d2ace6e8918b753d3c1d4b5bd5e8e62293e77,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4e09168663a2a36b3b066176f82df10fb615f4b2,2335.336 -0x1e1d8b33853bcc7edc3cdecacaeefda2f8de2e2bd62e2a401386128b3f9ab3fa,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6adaf97e46d6d7aaaee6698cd764ed2b960ad5fb,275.285 -0xfc6e56d5a775f69ce3090af5c3d6bd5370966c3832d7b41ce6894ede3a95a2d2,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7cca361415fbf12722397c47e063a4952ad65bc0,18.352 -0x520cdb5710bb1841f305fc33da8c8522d5f8303873e7714fcc81741b35949817,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009d14e5ef0bdaae60db17775e772dcd9e6130c6,16.792 -0x439f6b06d09f628a8f598a556f281c04e4d19101d06840f06b2dbcd274532598,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd67346067f88f10855b3580e8230dac8650116e4,91.761 -0xf2203dfaf2e277f1a35e6d6b38fc66fcc5bae98910ebb3e7f674b82a9435886b,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe10f34493e884232f2847c6da66773e51ec1731b,13.764 -0xc723971b387b693121e769d2cbc344de95f4df0733b4dba276a98c9ac01198f1,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc301610a4ec130d407fdf49bc4cc94f89b316d17,773.136 -0x159fc85b7554c8d7018d8344ca9d5f9fde720bb2109271c412f84a10061b38db,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a7ffad9c186a581b06ffae5f5c1fbfbf190c794,10.414 -0x57f346ae9eba868b5b039e74e9153ab5a08d1bdb363e24610538d59cf173ba3d,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e87f59ab519b9ba01190ef68bd814728ef58fd,36.704 -0x76c548756c7250d42ee17d45d95579d49bacfaa298fc7ca12e36f98b4e03cdb5,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005056c4cc0929d2eafdfa995455e68427137dec,8.809 -0x103e673a04aba94a4c89d54f47d7096d457274142de9c382d90b5385422ee6ae,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfecd5df71e03db79046adc4e474d3d0e4871e2f3,192.837 -0x404095d54d913e029cb4a005e4dfdab3ec7ecfa4ce2d475714f34cf978b79589,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc155940fe345651798e48f29c54a2cd860304734,82.585 -0x2bbdce4a3eb4fec2efea96e9cc32723b68ed1063b270b8e3f241b58548f5008a,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001c23d4e5d6b3b797fe085fb0a3bafb7f758da9,130.271 -0xd07ac749baa0ebceb9619f0234f8780af0c2a02576a5956a53496c7332a6e912,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00642284ddd6a101231e93d0a8469b39d85ec85c,2798.732 -0xf2c0dc3020896eda102e3842dcb77b24d8a0eec2cad75677e0ae3839d86e2076,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004d8fc7cad40c95a1d1cd38cbaf4a6c2a119722,367.046 -0x346f1d2d62a180fe804454d07eb9a6e07a81b13dd99277e6a460d6b8de6852d9,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b104f528a2f421d2ec9be3364b7f266fa628e2,69.853 -0x9ecc0c3cd3202eea407ee54c3ad487658111a5b6bb3d325ae46b366d30faaec2,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0094803d665f06fae41ff86b05c81413ca8a8a35,110.077 -0xef753fe9ed8592cb7913cea3e2c932d757bd7fb27cf9ea2672878afbebe09d9f,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0036725f3317d37d0b948a2593892bd5c186b98e,55.057 -0xcf17883c96941bdc95b5782c4cb06082c00bf9762aa98e58113aadee4ace64bf,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e4c826e8a26d72cd784052b0a45f93a451a5e2,9.405 -0x1aee6912059a5fde4dacf8b945b0859317cfcfe4dcbc0aa13f9ecb9c1266a0a9,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe87a44ddfc5762e9cf415c9c00fcab24f3ada6d3,976.344 -0x72b0ad1eb00421195a6b647eeb40bcf26adacb294072bfd251514c62f63b73c1,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0062e7f8465aaec10bc526bf5bf01443b0e450e7,184.165 -0x8600e697f06688853ec86418ee95c62bcca4b594ec856a18670bf1c4650b30c2,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd78dec21cc26ca8e9a6c12f5f11b0a59f21829e0,260.382 -0x6fd135540a07926d7785056a3bd6a00c053d671bb0b3f0d9c1f507b6d6088d3d,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0026c2822209f9a0f8427fcf5d8f75dc0e471058,73.409 -0xedcd4b06bb48b0e1778323a1be4139346d0d3ea212732099a3aef957f99462f1,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbed32016ccb33d7ae3eb165cbf37c7d23e35da90,155.497 -0xb7cb9b55e52162f2421fe0368072886c1e00ac0c3761587f76be8d16487f6ee5,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0047522120faa210d0e6722c57a5b1d83c417950,88.871 -0x42ee72b4e02fff42c8c034c37b9d570f28da2b05c0a0da4ac3765cd809255662,4440548,1509125830,10/27/2017 5:37:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e17de34ca530df364f3b818e29a8ec82a3da8e,222.522 -0x0339f906feebc0f232cf48b49fc34ec07e1b6cc4c14189aac93bba56d26a11c9,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000c10b4afef8d4c640ae287e75dd71c427cb0e0,275.227 -0x52fd16bcc54fef01473e9f2c17c35ecde54e03405a9420fc9ec364f5c9fe4ac7,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004bc0521cf3e6289217adc9ab50722a3d2f6849,27.528 -0xf75ec75b9069a5068866586e476431d689abc9b8bcd9e9035ab68a0286564480,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e35c529b6d6f7768f868036f065138fe68b57,325.141 -0x3a42c8e5c24c038f5019c32fd573a751d9527550a580c4c044cc3d1bf453c361,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c1aef275a28f2ee7241ac81ba4f25bcf09bccde,45.206 -0x1485957916834f014c939998fe96adff88f5cf619399fa923408880b679ce7d4,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1f6cd77548b31a8d04ce8d3faa358b76861e4a3f,2.55 -0x98840fd4c65ae32e5f322754755decf3886b4538e6c385cda516edcedadcac6f,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bf5ae4b593a56432357a7ff8d8098b9c10469c,146.818 -0x2eebf42c651c60fe8cc2316c365dc26d40b6a9c5e53a51f765de8f4180120e79,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0028f8743d32aa2c22d2eb1b415c64d3fb49ebad,2.661 -0xabff243b9791557fc1bb46c70b9df7945bb9e308647f14ae726b813075855526,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0063a1ad9b3ad315d4a0bb590435d34d4593845e,302.357 -0xe542eea7592b2ff4a947b7c329eab61b3abef3270993beec6342ce2f9d50e661,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00383b93d6bb219fde72527528fad143dbaa7a48,183.523 -0x76d5b705312c610ade747ae98a7d6d83718b3de673bb0e6e4704261d25d76873,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf48b621ec245ae6a2f1743302e9a0d2a5b3e1228,55.102 -0x9b7486e1edebf72eb887673bdbcc057fddbffd7f99dc268f1728c0f7ce5f1cb7,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x66f1c634f11355c3dee9015852dff6e65dbbf49c,73.409 -0x0d4e343199780e528319e5f4ed98ccf91df45c8bb96d606074904bbbc5dddfe2,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x52c7f3fb2a8bdc8f2d9cdc9404b5779108d4ea0c,1553.939 -0xae53a38993f4f8d43cd746d564648f97b0f576405853e163f18d34302c8bb840,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x726a0e3227f10b8967864ea8f7fba8b5637c192f,91.761 -0x91ff734d522b0b07c4c5a7c8a66409c29012d8a65d65fbd1aadf62de2e6a4602,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d2b403199705e292860c2978457aec9075b897,2.661 -0x1d759fa60cd5878ab05668f739dc62ffdd7fc730e1f6dfcacf80e37843709aba,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0036c76ec47dfc17a96b1a68893bf269e1c2875b,9.176 -0xfc8085146d3f017005f0e56cdd64b0b12bfdba8e63336374552fd4e450a24949,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bdc59bc934360468b13b8a94bad99871df53ae,142.124 -0x8f9bc16b6b9b0b8dea20ad7cd4e2dbf15b5bfd951822d010149465e28b3022aa,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002a6b8504b4aa93bf79f1c8bff1fed68c591380,5.276 -0x9170d49052c1c5f60aca756c65d28cd33c66c5e2597ed6a1e52271ba1bf81c95,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cf14cb2a1582112f352b2853400b532891e6eb,229.358 -0x1e140fe83d987f536f1587b6c7c94b0d8a7134d0dd14a19a885603728b6a05ff,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x855f896fe935353955324fb1609165ec9372d473,110.627 -0xe6c80d360a6a0560e353fb0bf69fb63ee09b3985bb7ef9ba0f308a98626e0f34,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x42d75f75d1aaf59304642bd7530e5de5a42d8fba,19.783 -0x26542f39a4e3e796ebdd6612e3ba17759206467af58c77f56ae630af449b26b6,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a22fbd442e50f1cd5ce576ca9a6d917e1481c7,80.933 -0x470e8902a3bb364beffeea6255745a0ef5fff3bc3b3e2b2f640fc0d6959d51ab,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e499dde041fdfd3cf0251a08b7ba8582088870,23.123 -0x9b7201a156ee5039f8d861c29f12332bb1fc7ed146c580e8291a10c22d25bf76,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3cd0266a7d638588e79fa9b471fb4c2d6072e4d9,99.538 -0x68720047b174f59a3088ee89aedbd05c2a17d8f37cc9b8fd82e6bde26f760cb0,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00541ab0a813fda7012babe7b3378441432f48e1,1101.324 -0x927389106b1cca06f4d8f608cd6004becf4b7827493e33360696d99b42713499,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x11bc2c7ea454e083cea1186239abc83733200e78,306.464 -0x79fb54dedab9d82ea3f86ed6b321e8cb338906574b4d3e097d074f10d8a18cc5,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x56feea6b7563f20c2d2dbba65afe424fa39e68b5,11.103 -0xab4233b96566f4c7bd1aa83d41cafe1535d0394fcb04dcbdecf69b593b4dfb7f,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1fc2d658b3346975cc5bd586efd5e7c26db8c98d,22.802 -0x9e0b86c0a07b4c60370ef32dcd0ef9c62a40a6e5c371903654a2ccacb0a4df0b,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fc43f8e2e61130eeee24b8f1d5fa9e80dcdd4f,557.177 -0xb0d37416efddc1f928f0a18aa240145dc2dc24d2d4b04c44cedb95f91c95658c,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00671fa9ddc406391fd5d60aa885f6d10d9f0c9a,307.034 -0xc6de4d12af371aefc61e5361fce401fdc70367915c6cbc68ea9ec7eaa7bb4b11,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d102007852fb6304637ad44457b9bf42be382b,4588.132 -0xa0ce72912554a73393d3f367825516991e11f4b8c68ef686f069c6eda376df01,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2a57844f09543679d27a8f5ce1b6bf81bc14f021,275.285 -0x9bdddd17c62050b41b938e9e0012b15f958b31d2041c6214673473f6ebc88a22,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000fa37652ab02d5da570506aa4f0625102f91e8,36.704 -0x6a9e66172e9ff37953bd75d8646c2c314dabdf0f645e34ad854c85673c9ebdc7,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1bd8808429c6f5c520232fafa9dfe1ea760c5bf8,0.917 -0xd298110fc51e83d9479d24bf88e18580d4ba9e61726b3b92077820e75f56635f,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1749ad951fb612b42dc105944da86c362a783487,10811.826 -0x597a3c4d6b3e017c0951c8e7af0a120ab09058ec57145306587aa421cc01f653,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa0d73de5df565717a3994af5cb75455d8674b46c,9.176 -0x9534f0db56def8077c17307266b794931506e4a6ab153209d95d2de67998a029,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcd17aab6f8299d35bc11428093bf1c4ae3b981f3,183.523 -0x71e37c28beedc2de96da5afeae34169e5bd3f16b03fd67e9eacfe445c12aaa26,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x16621a778e3533c0219fa9db54f2d65c1ffd978f,336.306 -0x930bb8d0f40ded52e7d024359e1380e2c73bd9c93d215827d4829cd29ca14e71,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d559c543464fdea0ec1795669c96182180b559,11.286 -0x982028268d12e31fcec8d322091352d5f9113e16f17d5fb155cef123d5d7bb53,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1330b7402f677e3adc774d13164ebbd9066ce181,45.88 -0x39dc02411d1d5b04372c1f74ec4f405a5d5d573c8a64ad87c28b127cf96ee4dd,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbc94540e69a5c2d5a2e8432e99d9a99d66265343,101.396 -0x4b155a21c08bff7b5fbd7cdceea6129e99b8136258b23c5cccabf832c79e760e,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8dd535c62fe25e520fb4becc53d19d39f5d798c4,91.761 -0x631ced6be9f7377379cf9091235209890f50bbf4d3954b240c208ab9673c0daf,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x129631915a3ca10b9a159a7dc95bde0ba71682d3,1101.14 -0x37d1f4627c223862ee481cb4c96358955f83341b1177433027ac4105759e5c18,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cdd4f0d8d858b122c56d54a8a719d7c76e4db0,14.324 -0x703ba5b6ecbe61084f9e8309885884f714f47a51bfd7636dda08f619acd36bca,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0028b16bf35427a11760cc5f4db866dd8127be14,3.119 -0xf69b31f1e2f5695a015951fc8ba1861cca77519f4b6856d495ea3ee352a1056e,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005ce603c14ee8349fadd8888ff87d53d93fd43c,6.239 -0x91b19c2beb887795ad9d56abda0924d6a848214756542e086baf1fcdc1a1dff5,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd4b3731451de43ad92166a9866cb90795b6c85be,31.52 -0x6b1f11cc3167bfddc0709299d1f68944fa0623bd286d473e7c08ce2a1dd5cd65,4440550,1509125852,10/27/2017 5:37:32 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00887eb8f21035046af3c7f298fce3bf38785d7e,45.88 -0x891e032f6448b5ce2b088a4ee602e059d5ab4024e06fd4c0456d9ab68326162f,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc7fb76d905102fbf68a981474bd26e5fa4427790,18.352 -0x4c48a43ffdb85691744f5181aee87b3c394f0858088522442fa0a7e1fd4c627e,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0054cf3827073c8663e5211e7af6c63ed4b0ceac,707.793 -0xe8be6298592fc0bf62a3cfa003b3528ca295d11adcb94c90ddbb61d00b0e7c6b,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7c90efde43639f566ed43d95d9f909697245acaa,67.582 -0xb72f6ad077f08b55773b75d2472ed760fd07a8e81957a2774d006fd05fe9f1c3,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00443dd96337e1a0de0d5b909ca680f00af85f45,146.788 -0x99890af0f1bec93219c5bd34ba683f4b64096f36f4dc9b75a16db52019941e3d,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x199a8bdf216604b7b05272240b71fab7597749f6,1262.779 -0xffbf4b3e84ad2e612d4b1ab2722c150ca49cd172a1c99c3a0a2453a29ae19368,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0054d65ed11bf1e5ca7f22799d64d88e7e5c38ee,9.176 -0x8ecd0b326287537d3da4487888f41170005ee6f5291319bcba5e59348bd46026,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001ac6d62145c0db63bac474a8bf1ac31ade59b9,44.412 -0x34388fe9dcd48fe3f4fa2a9e699c91185aa084027a8810890f927f1b7ea6de25,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1b609382d115d355e65a0ea206290fbd6ccde06,531.208 -0xcd484af2bc47b06c50c5d46e26c35756b5de44c170b7a8c81fa083aac559dfa5,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc1efc49285eb5deda2ac887d613242475ed15048,91.761 -0x204b67cf7c468b5fef0cb4546e7116c5a5676ff1af77a3f2f3b88e35425c94b9,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x85e96a824790b12fe512397506d97038500b861d,11415.342 -0x2c48d6e8f16862708bbf530bfb1b15cb2e2220e70f8cbc5745ae34a4f87fedc7,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4d1f0e7d6941ac51e65ffcfbe8f84db0ef919f55,68.821 -0xa19aaa079a0806df204734791bf14d87b1d3db65e56091f0b9e290da048e737f,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005b2da8bb885172492b3f57a510e3a90526c637,815.761 -0x77cce9342530fb5c1487f64e6c14a8d2a76d85aa780150d59bfbf82c4a916409,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001f7eef6a5b727738156deae8f0604d92df119c,45.88 -0x24a979224bb7223bbeee195f4aa772591f34071eb096b6b2a2eeadcfd7b8a38b,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x84256d81c1a191e6952c781f6a204626c6912b83,64.233 -0x410824c1fd0c474999decf52887bbe983176e2e196a3d3b1da69d6e02a4a5fb9,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8f60895fbebbb5017fcbff3cdda397292bf25ba6,681.321 -0x630fd17753acc1551df1af64930512d3e84677067a93b1b306027a88b3c3f13b,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x40692724326503b8fdc8472df7ee658f4bdbfc89,711.153 -0x645227f6b23c52dbba41c87e2d6a78341e5fa8c13e10b5f722f5af4861246dbe,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x51e9ebaa1d6b6029c88a42bdffe81ab4956cc062,458.808 -0x01d6bf0be15eff0e6e108257e776ec145823832ab85708ba8c86df46674ca9c2,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00892b067f072e1f337b367c9a8d9ea968d4419d,45.88 -0xdabc3e048140c878e4d288a2af1371b5e9c7160631523ce41d5efde418dd0b0b,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c2e1891250427bebe1e66c1d86d1ef010e4396,110.114 -0xca5bb7d209d29328276214037655199bbd27b4fb6d38bee51c48af13dce22391,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0096b6577d9a53f506476c8cc6212f947562ca4a,550.57 -0x5fb3fb97c82e7e7e4418c12ccc5f515c7d7ef63efda4cf45aa4e939a98ad1b10,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xabf9eedde255d9fb1047d2f63970faf7637ce68d,4.239 -0x913d7c5e19c8fba4a383ec32ad44ec8d56eff9fbfffbd9e3e624a6bbfb293432,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa2fb944dd8930532d3fb08109bd7a46cf07a75d0,101.947 -0x9e18fd5f250a2cd8730742293cdd86e304438740453b5530c9069087e24d8a38,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x98b6371f584b45a302d9f09e8741c4f0e4526bfa,36.704 -0xcaf6e4ea7108c9d08fcd0ce0fc7551a892f6daf27db2d35855b239c79ec7cb63,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf77fd2297cb28b7a104f3f4d47b19a50a1ddd451,91.761 -0x80d4ae0ccf6a5e58543b58916ab7a6a767db9d166a61cf640786ee5c3da141fc,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a654566edd646283c920e3225873fca5370f489,83.778 -0x43e871f7a11d666eaa77748571ce6104359574722dba5ea5a5bb18ae6e750041,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fe2716ed876e1a4243333758d547131a98490a,917.617 -0xf82b93819fdde5bd0df01434fa8e6948f960cf576c3491aae74aed685ecfc742,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a249e3666698c434db898a9ae29b64875638019,55.057 -0x5753abb04f240165f1f3df9533a30879e8f85c0afe730dba5713918ee3edfc8e,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b67b5d99f7bd244fae58ebf86d35e38f72cc7d,87.081 -0x464ce336e6060f4791a7c61f7dc788465c6f10c54bbc9683e8f768cfd017dfed,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb7067ad6ed9252ea6d37ab1b78a62132bfc6340f,25.693 -0xf4e4695614c8ece5c5489973e4c49b6536a504ad6a8232c839f037a552ded89c,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009bdf8ded35fd7e2b8f649a808323978569e05a,15.14 -0x17cce0e0d17d25d6a807cc0e2384393be044a63d362903afb59a25bbbba2206b,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9d0d5ff120f3d5a0daec7ea328dbe9e682d0efd3,55.057 -0xe18d1abb1825ff379d895e2cff4eb5007d44d7a5891f8aac996a4bf85e615b06,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3e7321d013167e5d2a3b591bac90baf4c75839e5,139.936 -0xacd8403f9af9893a9662039612ef890407fa2fe3ebf1be296a6835d222583104,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c6ae8a52978150c27cad4136308d4acf3bdee0,752.446 -0xbfec0b4dd6f5bca9f76d9e9069b44a6fbc862a4dc3ccdffc40a978c9df06632a,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0006bdc62b8bc4ffb50a0e99803b147843117239,31.887 -0x0b51b7735d086a94f0958e0ad3c766a4d101d674c78ee406471ec4586087ee2e,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e3b44cad5fb1b7f0e23aecb9564e183a51fc0,302.813 -0xb2e1c83f1ef05c86741f94c47475bde148cf052342815c46e86c54aeb6a4959a,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x422d9bba52a289ca568b6be38a5bda2ed79fb328,45.605 -0xe3291a20b0463fcdf010d5dc13f40730b95bb48745cdbcee8452fffaeb03a661,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c431b755d5b1ccd238d5b8470b35afa2591474e,1027.731 -0x982be48379d2b102bc14240f883ec47d040bdb94c235dc7050fe0e7b26f11a68,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b054ab94e535ea6808941b416fdc14255dec9d,0.917 -0x368cddc9d9c5ca61d35fef83123e1f6aea31ac3e12bbf7012c488d6d54c2af92,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x62288f785a33c2318f0244dfe24748a9b444f8e9,119.152 -0x39eb7e189fa3f8470ec20c9f99bcac2ac564835dfe88825777fc85d039dfd407,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x992094bb15f3c52186de0e92dc4912318446be04,17.805 -0x2035b3ea5a9b7ee5b8b7184fbfb1fc39dcd64bad7a515d3eaf99054f30c38913,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb0b0d02d246dadb22f40133c2fb0fcf738b3337c,91.761 -0x3f0238a6daa0955700afcf35002bdd9ed9ae6929f6739ca64c59f7f316c97df1,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6ddce5e113d3d358257a4130d8f2eef6008dceec,17.103 -0x6d4b62537daabb48dfe5de006043cbd7cccb6def0b28a7c6222afad04a060322,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe293a1ded3dc1b5f86121f41d9043cbd18914a2f,2.798 -0xc83d3f45574bb1cdd49be883620b023a0922c776c63a0657c5adc34e06c5e8df,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005703ac09115ef8422705c86a94025182b20fb1,41.87 -0x0879073edea67d52388ec17e66fa8dc05660dfadf684cf5af7c6be772ea0fb81,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa01b1820b48fa4f1866f485e6351659beed55d2a,33.011 -0x03429d7d83f1a5ee0bae2d3204c22fd72002f357fae12c9d668968338b77046e,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe28c5e4c6891afb0df739910c733766305cde69a,2.11 -0x92a9ec5a9fc1b9bd7e70e3d313981c0a9a7be9c37dfe87cda8d5d10ede73b2e1,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006c1983fccaf096caaee155ce27a6bcafe640bf,4.221 -0x6d8cb9b7f7fd2c4b64c12ad11d08aaf43d2da56343079e4903dde110b5238383,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1fcec00a57e3900cd43cc6f187ad3deaaa27ff56,45.88 -0x18f3862a9f8bf0374ae80eef8a98b3f4e362698195e1df8d9a0b6b7d2bd11ceb,4440552,1509125882,10/27/2017 5:38:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1206a4d89194c3fa52d2e48bddfd64f38cfa7a53,2752.897 -0x983db198489c2b570e3caf8f70f554ad3e33034a80df193542bb6759b128a38f,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb7a9b1c894620751312656b66c7dc2e333cfe677,277.762 -0xa83c7cb3d8c5164502853237b451bc14bf6bb9744268932e0cdb0ed9d34b9efb,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x31d04a32f22022ec66afe6c2351db768ed32b873,64.233 -0xa470fc49f009e1b71da96186d611a97f998e62243e863ba4ab46a583af044a6a,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001b2ca922cd635a78fc6e87d33b8e8726e057d8,9.176 -0xf5c87b1dbd25869a1ee969621b7d27d17c21582398619b1bd4a754f6e631d2ad,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006d966f0ad73ec431cc6816f7436b8486f1b25a,212.474 -0x8069913c0f81c639f3451fa1bbf8e6a321fd4eb6564aa943fd745309a31ec15f,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb0966d51374a7fea1bed099f4d92c3fbf0192321,34.576 -0x8b5c7874653ec861f4306ade2a89304185f16f3f403d6bd823010d259a2e92fb,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00abcc8bd0d281984f9234065c889396c7e3244e,18.352 -0xb522e6492703a28860fe1e17eb6eda910e80f1f3dcf11e1413f167e376ddc765,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb10d4d83491e7be1f9451065c9dc5909b717a28c,39.411 -0x252603800247934ab083ff5ae31c87d87b779dd76d160165935602c8cff6a903,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00de5d8e1837eca3e4241011b7e6ae4c090d9f9e,17.893 -0xd34e5188842754497fe5b35fa87bc622cf4e8af6fce11660c0ebb009875110a5,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf67b3776ac1df6d0562b404d4ec62deb0cbe930c,5.505 -0x13e0ad21356958673f6b6466ec4b2fb3beb7f27069232e2fdf56a52666394a46,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fcfee4691f55d3ee2276a75fa57b784d98ffd1,458.808 -0x96cf88548769056864728cf41797ecae2f1b675516c35cfff29cd54764681e94,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x222954391116326ccc7e022861d3d3f22116ffce,110.114 -0x6da58e67078ebdfea1c45ffab8608b63dab769ca713eed6108bdf74638231cba,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006d2623e4d647b291d41850c287d0f45ab856cc,5119.988 -0x4d3eb0022da49291bc30cf14d8a6458be7c3206677e0945216585034f9971c1a,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2ab7d6f01cebfd4f9fa58e85fca6ba6a50e4a2a6,113.417 -0x0f91ac37fa2633949ca1427103a222cf6cb06970c45a7ce7672b6c9f3876692b,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa3f59ebc3bf8fa664ce12e2f841fe6556289f053,1731.317 -0x80abd1c34157636523b27d2402ae3926deeaac7749eb66168227f28af4a52cc8,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0011dadd05ec7515e18f0bb50ad1918198ea2b5b,45.88 -0x6bbd4f5bc7eb667f68e5afe95523ba9f89a7518de3ef7f8d86f99f3b1366aa4f,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fb5dfca2e526f23b90d21488082228750c17a3,9.176 -0x2c80fbc572dcd1256e1c32bc5fb6e8754507c5a378d40388930937223a2acc1e,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00120c2c12a1b40077200b7122aac76068b49490,917.387 -0x40479e3f77f462cb6d7e4a5b10f2bfee496b6069d5a6fbb5bae0eac1c96781f6,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x17161323d264e413ae0984c6ec4825cb4082cf9f,110.114 -0xb0609003c3bb92f550520b9b44f92246cd2167a4c399132fd8954ca0154b6eb3,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ee9bf7584ef015af3a9eeded671e1e424f0e62,45.651 -0x4b6346270e5193ec5b7d4cd0fed8171e7a7d22fef3f5d2464e6af1c86d6d7f66,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eb4363d35b0824c7ac8b54c2d05c6bf54b9946,55.405 -0x88a05a4abaf0b0492da4fd5778c3a578a32edf4b0e697bf959c04043fa90071c,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9955dc870b36c6ff8c41567f6937f8277b00769c,9.222 -0x59b61efc8508fa8552015d248bafcf59d313874ec34b3cb67f294c1acaceb4f1,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4bcdf08359aeae40aafdd2cc282e7c1fbb2d310a,174.347 -0x6d283a11f602093a3618d4710e7daf6798851495e189e9797db865ec7e3b7eb9,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2da865b913ce50451351a315d8b37cb87a4f4109,24.96 -0xede3464e23e7e93a7267df7e8bc84287a356aad7965ffa40abdce121fb573a3c,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xffdfc5c3130107f310a81996104c889731811d4d,183.523 -0xaa32c82c40403e0998a8e91e9434bfe093ac3abb6bced1bc059b76f0161b3196,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008e7bdaa3171666718763a8b46b28415c256a8d,91.78 -0xb559d596f917606f4152eb26eb882c561bda1521af90b809d3fe9ef86c37821b,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcfd2bd2a86152bf48b1cb9ab2e52c19d5717fa86,367.046 -0x0f6ef857281018290c6a0375a210a02495ae3a92d638de3debe9d0d491825aaf,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0069bf728cdbeb783ee8adb4801db3721f94f1ca,84.355 -0xa10e67e6870ff2cbcbcdbb0fa249bd7c5e345e2f2f61f64cfb2054f7b39e1a08,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x70a5643374c28a958b5dcfbb68a36d3fc31e2fb6,137.092 -0x9c4def9a91f93687d72da6aabf714022518bcc3f982cdb308833eb9e6a2674c8,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcb86edbc8bbb1f9131022be649565ebdb09e32a1,611.045 -0x37df79a2913c0009527522be99606ae2c2ef1f6d021e13a323f8771e37ee70d7,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa6c0c85366f11498dd656da6e5b05bb8eabf1c82,407.422 -0x94a93719facc0b58e3cb2808c97f839a17f1c12029c7de14a06961466a458f01,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000e5a0a7326596d024936e96ec7b662e5de59e7,304.754 -0x131e0a6f3e2f5c65aa93f1cf1953da9c18db42bd3e75037144be1525a3ffe143,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xae6869a774b00ba29794c8d4611295bb0d9c2bf2,940.557 -0x32e0879311e6346741970c68155a5d67e785479c84cc9b718b8bb57176a11341,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009f4a65c06d5fb189b88f998eb9cd5e88f16708,19.347 -0xca3c20795ee82d865d526c7a96d3cdcb99fca4cb996ddc79daed8f312044eb8e,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd531b67faf691723fda5e741359efa9bdb52bde5,412.927 -0xf1b70090b9d785fd9571624c2c860719086f8c6ae05a115267e573119247f46a,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b986ff7069c7e6c8a4bb67419d839a8cd9d07d,1127.659 -0xc87ec75a8f36c585d5154bc037499f752d90879f88fc7747af4ebc94ff7a0ade,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0090087b636ef3f95b14a4dd93d28fb2b1747fea,114.992 -0xe24ae51a8a3a852a214a177cb3209eabc3c54e97d08867b9c5b2647a523ae25e,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d8566765f1c00841096a4c097c5da2cf656509,1009.47 -0x8a96877bbdf434073c60065a46bbfcffc694e0186a5ea2d6042951ec96fe0298,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0026ec71cb407474b48df42a58a80618c4e44e99,27.707 -0x109f1e23ecee50e33975dd1a474b5781a646ca83b22da99eaea86b45d3925158,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ecec9488fbdd8393c9789f28f557b02c1d5dab6,1604.091 -0x773c14d90853544622c58eafa059950ed8c9ee0689445e088860d75fccfa2a02,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x772ea6e9bb2ecfb884c881cd186dede1ae2b63ca,179.402 -0x8b16d05870436e4e65e05403bfe33916e81fe207ed12512fd50ee69a76fdf1e6,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x029cd6683f849069fd70d6e9e7ac4b3a71cfe9a9,73.409 -0x9c21460747c9f3b93fb48a0ffb1e71c31a992123a601582362bcffb3135d2ecb,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009e02b21abefc7ecc1f2b11700b49106d7d552b,204.812 -0xe758bc5ffa5c879c802c096760e2f77f9c7eb0f00d506418804ff7bb65d64764,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x531aa49f00416d099c75ab4ffad972cc61f83de1,209.147 -0x37845d7180afd91ab568a8b4820d8d984e359ebbd6a0dd31f2f14b930cb76709,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcd7c282b347e54ed214e842158c7c36c99cac70e,163.632 -0xa41eb0b7bbc9445b50a5acab8096f615ce0dd4e2fdb9ba42a4f9d8ad09e3e0ef,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc43b0c4013131b17eccdcef96e6c873a21c3d087,27.528 -0xe409a7efe5119559e5ba439d95943f233cc032126454f4a61d21d5d666050229,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00705b1272d1301af42e4a730161bcc1da26b534,45.88 -0x749b7d8c86206ce3e8d6ed83d1dd480dd9dc736d8d86e3b3e189fffadc2a3f15,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3e1404e9af1c94c9eaf8fa92e2c2e1a936ed8701,37.897 -0x30eafe30a689174d4bb257bab0f3fe11b45d3256d6458c1b62121ce08315d91c,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x13d8779df2c88e622175dc24f8bd2b53c562e631,87.173 -0xb4731eb801931d98d990b49c09ab14ae6f38b8a1a91364a64be68aaf2a17eed1,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x511912af85b5b6fa435339879dd81d5140e516c9,150.489 -0xce6f6a4ca2e7f8dc7de5e5295d1ec6829ddfc0f76f259cc2669c7240a9ef71e1,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00049f62287af249ec7e0afef09cd6d6d708bf6f,7.34 -0xd5a1b967c07747040ccc22706c6a3605a5ef345811eeb2a4157303819a93d13f,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a045d6728561c3b5f1978c235e83331e4f9d54,2.752 -0xe57d2902b6d8cb7b549157245524e5b3d6333498455136a0c19143e5c3509d51,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa3f80af332d2b92874c1e0f76af6f23586847357,45.522 -0x82df18f283361fb49d7ded01f871196eed0e91fafa07b3b6bf6417eb770630cb,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb03d651170ceee35729aff792d522fd952cf94c0,275.285 -0xdaaeadf770be0f9d5a11a6a12ff4629aca28bdf0a52920bf41fa78dc373605e9,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8ca3e84bdb1a6d3e68fd572699737d203ffc66ea,301.896 -0x5d40540d952a70985e064f6ee37a2b62c55aa620d5cb2131812400fa499f5345,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x51a1bac19e5fde2dcacf1024a16aa62f8302617f,100.02 -0xe8edc38c547316959c63de71efa207f9bd4d76a79be72f55f5237b56aaf57159,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002128dc2b569d5765ff40f2656d6d7b91422c58,9.405 -0xd9d4c33987794c7ecb6ef94bb5bca83758f686cb9587130b5109c8ea96f3059d,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0014c1efea175cd39fb686024383fc07374d6db8,73.409 -0xc4c05f6e2c067a18194ea52c5486671240926d9ce4c42f5f8426022bb432c808,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf71ffc433df3a137c9c0a5cf08fcc3e4316e4e8e,91.807 -0x75c5135d27eec97822a81a2e1e9329a8925cec3ea5b7c1b82f4731d05bf5e9b2,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd99b6e4871d4235bc2dbcf58c6c1cca46ea8ad1f,505.653 -0xb10f4866f5f2562c4793dea1e44e71d3ca4803edd588f716bb381edf52b3bf4a,4440553,1509125884,10/27/2017 5:38:04 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cd52a72f9655ced5ed66134b11deefa841a28d,0.917 -0xaa7c56f354b290dafd2590e03162277e1804d19824df3fe8c5151df04d7f406f,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe94ec60bb2c3c196338c7512dd5dc87839aa2d18,9.222 -0xaf0b2173779b3ca0270c871230270031a816aed0a12f0b3d8d818fc30bacde00,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4e86113466d232dd99103281ee6da6888245253e,20.141 -0x55ea2a9d11d1edc38ad0b372a023358ae2a9ad93be965d9d97d3ab215c8dd3c4,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0084000ca2cf4517f4af097574805a518efcdbd0,22.389 -0xbbb9dc01f3a44cfdb4af869803910d8517a1ae85131acc555341d99907bbcee5,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000bee5537a6910f6dcee78c1ea1b7967d4efc2e,41.338 -0xa9faf11b215d4bc0ca136ea5ae1b753eee74e4e6972d8ab803765aa75ada58bd,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00de002b79aade8d38abb85617f6dff10f60917b,178.935 -0x9111386fbee5f2dd560b734a25f30c47a6d57bea334fba7e8ce54af44de6496f,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000fb7f3c777a047c7730c8a4d5055d62355ebba,4588.086 -0xb62df5cb6778eec2932b2db5c62b8eef74ebb6804d50564285a3335d86bef049,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xde4d5886da98c3a1140260aaf536a2f1262e2948,1011.856 -0x38e29cdf1003f8f852c94e06666b9e121c79c9e6ee32a74f521ab3c671f49877,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001971fb3e5be59084ff323d05976eadde3a8852,4.588 -0xd7d1824685651a7a1903a864a4c3a062ece865155c7137b447716fb6d7746a62,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x162ea064ea50973af277b0c8b32e9f900e2fc635,91.761 -0xa7ede92f8394d87058d184ad20858191d4bd5546d31a58a00ff00482d4d3c475,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xddf2bd305b334ee4aa8e27481db525338c87da5f,1.835 -0xd428dc60e05ab77e860b55b96480ff8a56d6cf62a770845a34aea18ec793ef75,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c3078593afdb525caed7ec794de3cd88b917b0,3.578 -0xcbf81408902859b2903b0898ee089986099930753ceda2d309d5098934370998,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00760e131413c57cf00d098dc27ee53f0fc3a7ff,128.466 -0x40a6ae74f3fce72adec224eb1d751a0318013d23225db4c955bc736196a6f5ed,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087e6f26b4df85ddd9b9b60910c593fe401025e,116.537 -0xfc1a36aec3190edc70eb773b12f8f0351d440efd7056d51f5e65b46b847c6484,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ca0e74521dbefb81823ffb4807c78957fea21b,18.352 -0xc5f171419797cf3fe6579185eb25baf91dfd8c6f0c525817f6dda8a18172de96,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0082f8170db9a32e8cfed10aaaca5cba2c20eee2,36.567 -0x9f327c9ad51feb76d1b3e11a5d7c8019a7c68961d9ac8f8550e3afcb26ca0532,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcc674a3c614e1c49a0389b3797ca27f30a5dc78d,8.347 -0x35598318a8c0bdbb817beac9b3c7d17af87583499ef17f0d768ee7ea096bdec8,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f40139d03ee67228f37fba06e187cb0944fc9e,2.339 -0x8af74e850065dcb09818dda4e7705555a86d90017d0e77c89b1d0dc5ab732a2d,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005b2192a3fc9f380351b5931adffd50a3614731,34.41 -0x69dec4538211834a7bcd563b5b93848a7c9b4342ec48cdc4dfb7b195c89fc9bd,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001c0a1988b92b2538bb264e649e285bd78beb07,13.259 -0x8d2b1f52aa795420abc76dd80bbb414652ce95cd7c65af08cf68f9a2b43a8b02,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf7a2d983c0ae1613f4b3c50dd85965a81fa43a49,45.88 -0x6b26adad175237c7410bd5fa0f61373ae706befb2dee5422d9c77d7974ee2ba4,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000ea5d2483ef8ee35807c829bdb6addc0f8b76c,1.926 -0x2a1da6f03bbd4fe9ac2f0feb6c65a2619dff7a31883c79146a303430addcc659,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b02427864d348004ecb1044d508c68c79d955d,55.057 -0xb6768786b7e75c2a9f3f04384778d64ae452626dadd91f4633deed92ff2f7750,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0067be6b1747f53e8c03246205773f4622b858db,119.29 -0x14b59b6f83adc604be2295ea45af6c1f99d305998b3962f81893eb57173449a7,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0011f97b8a9f4902288c235478d2a5f3aa060073,55057.038 -0xdcf2c2f9913f19122d00363dde8946b391a9c8c7efc1672df0d04a903ad9fe6d,4440554,1509125893,10/27/2017 5:38:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x173216d1fd08e76fd4f25710d2849091ce2fb026,155.994 -0x7d2a23c28b399b7cd340fa11698a602e6912af419bcb9b10ca8f334d52f8783a,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000977634918b6483ebdfb23a3e68fa322f1da1b,9726.743 -0x507c6a6089b17a7f97a72ca38a9e1c44d92789af792bf248247e086797e38e93,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c0798c0df1e87069417e76b8ca4fa089d051f1,45.88 -0xd4920dc11324e725a08505bf0434a18bc49bd2b10e0e3aada71d49e35842b683,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc64f09d3a447e74cd8e8e769983c25c95d697714,7.34 -0xcf848f488a314a55aab65674d7ae05c01af0abe026f1d87c806c9252f1ca0dc0,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbdb3924fc91e02130cde47545865b618eeb5e1d4,116.858 -0x3c038b4a983d140ae9b56c296b85b5f3522335d0e8152ebde2994a81f8f9ceed,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8d0d4cfa04b458077b80a2b625bca31d710cb0e9,45.88 -0x70a6be585405eda5d92dcd73916ef5dff5b3d6e1773a0064bbe5ce0d32401c9c,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x98e43e922b829f33f3a8c9a81943df15706e7441,36.704 -0x859579f69ee3512d437042249510a651dc39f25908e9a91134b55d61ed9fa371,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00411a29c7d830c7e7461e7ef541b1a7a00453ff,2.11 -0xe64286adc0e3f8d4242089145ce47c65cdd7b584b9186d9102b94ad8cf04b172,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0049a562169b9aa96c9327681444d541c8382cd4,61.526 -0xc48742b5428b103bede403032d4ddc8538dcd4e46fb24bfdb6d87f62032eddc9,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfb2815ace3d144b7381e2364e799abed8c0d6ec1,133.656 -0xbdcdb5a2c6a4191cc63f50414f943983d5ec40df4cc200321862bb2743612788,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c5b5f898ef9dfd2971c5fc2f145a4c05d762f2,13.764 -0x99644f184f149987af309d28791063650ae286cb49535f7a43e0d909a2cef230,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4a74a375a7abfdc2a836a1ad3987caa82aac2e79,12.846 -0xbe7fd5503badfb932498b8936e8f5164e8377dd2dbe70edb4327cbf120c5b54d,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x69294b14b71f036b1f394e45b46a370bfa860300,155.811 -0x9a325d50490b2d641960fc67ef690402dbbedd0fa7c829d743ec324ff0990de6,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0089d8cdbb9494f662738349c4d940cce6d95ff9,91.761 -0x7cb200ac2a282ac845be92d70a9fdae4e6beba7a98ea4375815f017455af33b0,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdd76301e7c4b342f1d805b7205db98f6c1611ad7,55.057 -0xd9fbde5526448c3976fb37e12b9a77eb790b06104a0e5d6a0bc4f673d107a286,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaba74c2bbedd2cc9fbf53faea49cf1080aeca487,1729.249 -0x51497b9c01f02fadae970918208f60f5a89f4269665415601ffc98c432d5b368,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x93677d3d013f091f772e54e6e50f26204de7db79,233.579 -0xcaf892b5f0744e4d27a50b69d12a11211474dd86e8daf4ee1fd91b435d6f524a,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb61eb7bad145d2c220180375b327c7cbe0ae9a21,16.102 -0x04f1cc7c5fd3dac664374db08b69c3c032ef2427de309ebe780edc14b90d9c58,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f2fdfdb7945f770436d1f41c01b47fb76313a39,88.091 -0x7b0089a86c2f4e1db4efcaaa6d94158a4c75f80dbb31e1526242d9dab87cb321,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007843ded6c179363a1dead9c1fa8acada60528e,19.619 -0x843edba009f4eda6e905c32b35c2a8117103169ccb40253bf8e0701d8e9ad653,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x750383c5e0fcaab8fa81b168ebb0da0f280ff80e,141.221 -0xd94284144a246ff60b0ca58094d34890d987d4481f25ff545bdef6c8f983c5b6,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8036d0aa7ffdc5c19ffa7d73a50265849b7a54e1,18.352 -0x59503c1511d1de7e23a613a4a2d9483745e8de4efa7a548460de147f2c59db19,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x63118c5e7a405fbc2fabd7d2b03588488fa2c602,27.528 -0x890008a39514719271feccc1031b092d9a62d00e4bac28f87b03d13a809b9753,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0046cadc70ad1cdac10862e9ca7ddf6f5d1dd47f,91.761 -0x14a0291b601c9b6c97be879f59d9a0c0a93b1a774360e3c15b39ca46469e2ac1,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd5bd0f12144dde4c70b3a80bd8b0817cc1ae6593,45.88 -0x06f7d3f6a08d5867441788216cf1fac844f076540799535e069aa7b498a7a4fd,4440555,1509125903,10/27/2017 5:38:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0081ba2106e5e4a6ca54e9dab7ce93d6f95c095b,55.057 -0x7193756620e5085ab7d451b437244b8279c07d47dfd6828dd7a1a5bccc69c82f,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009840b0386d229b17d0c230dc03fe8a77a99b2e,275.285 -0x04f951460ef6921afb77623f937bbba05e3d988c0b4631be9e30542793360441,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008a15ba6eb9104f34001a142a0b57e0008d8e07,91.761 -0xd3686896e401f2b19368b38a4dc5cc7e98b5489662d47b6154d5ba792cbfc740,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b53d311cf309403b9f3538ffe66927c3702ea8,18.37 -0xf6cc46550a3b36f5351de20e9af0134fa92cf18bc2200365ca38903cbed14340,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008d4360424c57ea4e11f07b95ee83d591570557,7542.163 -0x712ec9d9f3892fdf5235dfd5ff3d89e662d76b5226f6fd5c211f205a03bb786f,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c834fd44543334caa34c024436112b2f2d6721,18.352 -0x040e1006a2d0ec9348d4391d35a2506e8a1947936b887ea05164663cae7ab43f,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x949b82dfc04558bc4d3ca033a1b194915a3a3bee,129.567 -0x4c51f5cf369f0a3bafa5b459f9a83a2427e9427efc8c8c68fa7fcb7a24e4168b,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf3e809c51300ca5731ae485be9885098ea8139d0,11.011 -0xcd2e6058e23469fecca9a33c828d5ee49c407abb5438d50ed5b4a3d051b24147,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe53166f4d724236b4235a9bacef0e425d9f13956,2.752 -0x9b538c33df269d3110f60069b3179d08672c381db4435a35ca759d6e3d8321cd,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb55cb6edcc8c9cca3b659007d1abec171bf75ea4,1864.942 -0x5c71c57b02de06c49661dee37de05133d92377bc7bffbc0a48105ed4d5daeb25,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6189e56073fb6102fd6c0fd5f0d1547c4f3fe350,92.239 -0x91b58dcc3ee67cb894da1378b28598eaea0b93c4d3356f160f6c9af7645752c9,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb9c31d32260bde35e51bff1fcf2237219d99ef91,27.161 -0xaaef7ec203babf48792971f38260161fafe9b658342a153063ce4abfa5b01886,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x29c0e5b31ccbcc929e001a4828a62e09bd307688,367.046 -0x48eba73ef866e21b4ff167860bd20141aa365c5a8a74a3b55c83f6bd536d01b3,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf2f3d21866a3167be7b0af44dacb2e496c5b827e,100.937 -0xcb81bce1d03f488f08e4fbf099ac05511d87124714b5abc7a71005e2ef3c9e9c,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b58305431aee894728e5faca9e6cb28c28ac7a,171.401 -0xdaeff41af5706e0af604126f492523ae8df4ae47a5bfafa9b0f80e6bd7e302dd,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00adefc329ef84f5ab49315271912a1ca57cc18c,78.915 -0x1c107729f591ccd8b257ce0b91ab2c0ecabe712bce0befa246f726d5be845465,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x66e369a3a9c3678e3e4d05ef6a9886181c9a2c5b,275.285 -0x0ac7a6604e96f7109263ccc46bed28b99c6c8ae12d1b1b1dfb03ea0966177e3c,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd52edbffac1aea8f0bdcd78ca849abfc51a03d28,457.982 -0x9871db14f5912a2f8fb75e6a1d8e1f03452b8b82e4e2da2dffb22812327475b0,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6eeef85c9161e7486156e8fa517ab0964fc1b969,65.15 -0x750accf5bde4423c1ac5f9b0ab13707369c4ebe66ad0cb6f7d7165cf40501131,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc4a991fd5f82d736df9ceee054511249b89f9a4d,9.176 -0xfb2c1c914412ced0a298a50ff4da06a4f68714956e1d7e6f7236b0e5439b20d8,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd7438a2461c64335a5c736b31be6a2506be76d10,32.116 -0x81396ba4ed283ecdf2fe3b81abfe3dd62940e613a299b73f9fb066291869ca95,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00de8cecef8b9fa5dcad5ec62ec22d635e8d95bf,45.88 -0x3cad0fd32319ebe932971038f4253a5bbb1159d15e05de250c4483b54e733209,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00463c8b0c4f1596ada872e327fa84481fed673d,17.618 -0xe86a22abda56844d4e749020c5cc0b5a8364f91ec74a8302fde39dc4d355aabe,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0003903739a38fdc8226d75fe036caa51f37ba9f,642.222 -0x7db2d2278bf77ceaa4655334ad8c45db9699348ea38d541f8332e8635e6fa59b,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x53972a2e0db345848a8fa288b902d1be01393ecb,346.719 -0x870977305ba33801fde56c48f70ce12e4a515ae76482e99dc3d98fc3afbfebb2,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x72af8296d1272deffe909926d1db18ee418542a8,59.645 -0xa33e7edbb94f3cbc2c20bdbfba831e22f7dcf8b1980f4c401cd725f038d93442,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0052a07979799d203c54b44b3544a2e1bd30cc9a,2.752 -0xb6864575c2d442bd6ec345b721294087701ed19da7e67feccf4e8134d2ebe23c,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008b789d4787d4b2688f82f0cdf9f95ac4865d0c,669.86 -0x057a38ec3eba0f6100ada6894a8817a54f7d518871345c5abc70b5663bc25fb8,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe2d8cd482efb93b788cff519bcbf5e25dca333be,10112.051 -0xcaf727cc384f30d81df130eaee08f1e7a37416eebe670c9fb5194b4d3726859f,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e596919783fa9da0f9a813b029fb5f3473440b,9.176 -0x21b7707ce2b850cd6856ad4d05e291dd568a36b56074794a22fe227957f08d81,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006dd904124038280e01c52b465f2d802b3c1783,91.761 -0x0e0c1e0f52e85fea07c6f632e1c211645bd99306d8ba479c2486ae189e600f83,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fb1c60db3703abaf29a2d3a01f46c109275e0d,31.538 -0x4491358d39ffd6a81d6571b1df38d2a7cde5437102cd3ffaccde2f7fa99220e9,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd0108a019eee1442d3b864276739f6824a460331,17.021 -0x32c6ebddb14c03d0c9a06dbb73535a54d8b630b62ea7da0ecec17611a80d6456,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x15955df69f2c7dfb120839d6b4c78230b664a362,59.654 -0xe5f7cf33f9e751b320d5d705664a53dd8bab7f178a5b5c70092c96491ec2e4ec,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007e98442eba3fff13fdb90fefc77b2afb347e5e,32.116 -0xa196ef954399adcef9e2a976801958882fd36c38a58e3ab81b5cfb92b92af11a,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x51cd0cb94cf5bce38ae16c1a0df2af1fafc991e2,144.983 -0xe6a23fca62a8342fd070959b5a724de56c911ffe721b032373305eaaba0fb273,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0017a7dbf1051e0ea2a57513ff9423919bc8a5e3,17.801 -0x352108d3f0887e8580922a4e5081555b60d48c32bdfa0d7469fc3643cf318164,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5ae39db49af9e2dec759ad1647fdadefb7184399,4468.796 -0x31138c82129178531eca96d6778e4d2a48ddf9b6851e591d1169d1bc46020d17,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a34b5de30bbf7a351c897e26b088397487bad42,106.902 -0x8a84d0f7756ff63bfc82e5b94cfddfbcf840f4bb5d8a09d3cec3d61c170bffee,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0001e57b2199d16ae1aa1e5f4d24a83349ff6939,18.352 -0x210dc3d8d5b5359db8f25eaad601e1db3b4486b49cc993e8c7c206ec0e51c14b,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x51a8e0efe83ffa0ecb7f175fc41e38563886939e,73.409 -0x6f25678af67a6eb3e96ec90e186f1dea043eda5f71299ebe8da009cfe62c8fbb,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbf1a4bb27ae3ced0991a0c60d49adffaa014779d,4.588 -0xaf5f01f58dab4f9a05ad71ca7baef8b291ece0aa0e290a0d6bb396b9f50a9e49,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00250aa807dbedae13eff449a8303ac62fa0dee6,34.851 -0x79b4115f0ebd773c8d6be515559253712ac21f07c0a3b683517312431ac84056,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b0efda181dd90a361cc220d5b9a6a12b38a551,8.108 -0x760ffb2519d44076f2f950d0ece309657477439b58ae3251250948ce12ac876d,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f55e8a9bc462bbb788e83ec8d022f1deebb3e4,9.176 -0x455f8d8c42935e09caed6f4dcff104be99313d780831cbf21c3e768886b89d5b,4440556,1509125919,10/27/2017 5:38:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x27efade55131916b2f0a34e313d858bd6a30cf4b,477.161 -0x6b0b33fa08054b9212d74d387690134f7561135299373d045296fab8c9606a5a,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xae09e49b8529bf5e7cdaa468f652c3f09fe62289,3.578 -0x43cf073b0a5869c7a7563f912e7fd4af005e63423903eba9e429bc4faff07115,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b4f630ce350efe5e1171e7310bfb519b33cbdb,1504.892 -0xecba0747e1fb98be241b861751582d95edb83e6e8a00a17b46568ba7fc83646e,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xda0396c581d426dd0c333d8991c1e979e02f3223,183.523 -0x4ad15d811c50a230823780929d9c5859b05f7cd9e61cde2903fc8cb0f5013281,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa369d5026865d345184ff86caed29c118a1566a4,64.233 -0x8deda528dd9542fc9563832e62213ea5f85d0b14dddfaddd2fc5b8598544ec3c,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfcfe4380a6592abb74ab7a3d270f87acaafe118d,137.069 -0x993e31a367098c8a8cf6ad2337f21322cbd081be7c471f0e9f6c26bf5356094f,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b6a48781fe2ed596deaff18ff09363ad627245,45.88 -0xcb3c84869d209028afe0523f63bc9e808753bb5938553ca8a5b22ba8dc6efa81,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002b8afafdbf14bd18a1ee36bfd45a35adc783d7,91.761 -0x1a5088942204cf5f090c14b7b726bf69ddf9732a47da9f8e7dfef624417ac04e,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006706b3aced8f9c82f45055521b875be51da06f,45.88 -0xf04d3922ba3a475ce3095a70cb6a672de81e8f4653fc8620eecb6403878a0e41,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000077e89a2702e5438d2be4f7e8744a5ee2b60a,91.853 -0x68fc1c12c9030df96b9dde7d1376db74dde6dad2997045980095bc67fc5f9eee,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0094e5350b60f62464c4006345eb31c2e731f6c9,91.761 -0xbeffc3510ccb398cd522c7b2836a5defc68110647d853b7751f00ec80727f88b,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xba90e5b6d3376d792ca3927524c27a185fbfb159,50.193 -0x6bae236123b27525b3f635bd193fa567e68ae4cb14e106f848adeab4484cf675,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xffb99b6c2fcbeaada365a38b333eaefef3ad99eb,73.409 -0x6690d9f29d9cb6e57bdceca389f451ee3b3e4c6d71a5b519fe3508e9c97f8cf8,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9ad897f48e2166a71b83e541cdeab9c36232d905,96.349 -0x0bbd5b103b27db46f7d72a64bfb752739db73b6274dd49ec61e301542ab50b45,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00360b1b494ea0f8e156f9f003732727e94e6986,703.812 -0xd74acac7c5a24fee2ede4e62d6737545f930b3d91af1dd6f4c434f8f0355501d,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00feecad71fbf3f5acb1569b036cf1bd14056316,1559.949 -0xac8ff4b0b2f227f6783ad57487eaa608c94b526349dc71ffd7aea1c96238f49f,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x88b5c0f4c52ac62c66c1c4d009e6ae0f72f4d042,155.903 -0x27ddfa0af27180e8eac37e5324cc100ee0a57bbf02b098070dc4bbfc6621a99a,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0f465f7ce5a1e26c402177194653c12e7222f127,412.01 -0x8c2235acd1775bfc82da27f4d2e17746eadcd91df7eb76f63ab1fead860e0ccf,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0045e6f8ae50c7b511c257acc200e3fbbf947d44,698.521 -0xbc79f52f0f23ec9c8855291f6ce5d90473f96f714056270872410653f40d7491,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7d38e956e11e3185142e2b50fcf2f02afe9e12ba,370.327 -0xcddfdcb3f1a288f5713329f69cd62a71a28a867f5a97914442e38f3e49fbeb80,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00033b2323f771073dc59b1b9a869d1b6a945330,36.704 -0xe56dfb2146dfa10e7cd3fdb7afa3acf980494831548e675a7fe7c850695b23f4,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c794e65e0fc0135082244e2105900e3177cfc5,3.257 -0x722b609ed9ddb323696b248480729cfe86b7472d063a7524dd5e5d1c1289bf7d,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ecacc2f1bf37e9b8278709b785922e52abd83b,27.528 -0xd7bf2e8cd8e0b581ec4adc152c43f72a51f14b8fd8885b5a755ae701ac8800bc,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002da979ad2e50484456020e661e39a076c2dd33,13.764 -0x2d12d82990b465f84ba09481c42afa56b9b1fbbe0b22bd395400e3a5ecf6a191,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f18036a91dcfc6f8b39de68f170a683efbe0527,42.302 -0xd760c64e78a044da29d44c4cc82469505e7376cb8ba6c04b041388851a470787,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008c2651bfc939ffc086fd5b5e598cdc1d662c97,91.807 -0xf082958234eea3c5372d910d110fddaf8e3d0c010a66d5b7703ab3668f5e95ba,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0010aacbcfaa53a4b19bd7bad12ea033d1377220,18.352 -0x5d3aa3e73a347f14285d374bd137840e3f33b7278e363b3fee0fd24f3986ded3,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0016625480945278b5ff3606667b0571f183efb7,18.352 -0x60b6e4629903452f69f3356f98347747062e5ce5c23ce0327f98a26154bdb255,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bca0e2071d5f0e59803828bc7e0d3dd67e4215,142.23 -0x8352fc2eb099c1e7f2b69ecb1d12e2bb4fd9385e0fea95c59ec1f0f43144009f,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004db71babc8ba9aef9c02bc96ae2c4daa74db15,91.761 -0x8249a5c21eb6f4009724faf93c058949082f9ded2ab2c85797394d502d6e7eb5,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00daeed67ad54dab091b23a46ee6cc9f7e27d510,188.111 -0x98c6183ed71338840a0cab40cce1d6f0e4acfa5ffed04f0ba8a9a14f0624f9f7,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ecbd51638c57c1bc38e405ed703d82a977bb76,367.046 -0x08411a4e282b6480fc6309cab005c36ba1830175b9720d9ec2d917afdccb286c,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe2b429c8428f37654b553ea0aaad267f8c67cf82,23.903 -0xc530c3b951b3399d0b571660976ffeec4d9291a7f5903754fb5a6d5d58d1ed28,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd1cc0cacf39176b5947925ed5084e7badd44b625,9.176 -0x01d3cf5f7393f6a26808f168660e231626f0cca0fa259929d0baadb350ee5ae9,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ad2f45a879431ad25fd8ecb47119e20b86040b,8.258 -0x6990029adfa2e0e4ebb65eb2957517aeb1f8980272c998d8e81ff5346330f2dc,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005789f1339729bd51c51cc221efaaeb571b6dfb,36.704 -0x1c4bdf02fbbdd3ef9c63fa4c1cd40a1f3f292ccb2cd2e8452a9240a9b8c980b8,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c14b2331974ac8706ad674e22f707f34a17ebf,0.367 -0x96e2bb973c64d5dab26c0aff7583cf9d3f789749f684605cbb355bde982a0b6f,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x36569c3f76b66f8d3acaa386be180b76c39a2f19,171.594 -0x6eb8bf2334258e8a42f2a8a42d0f0b255bf2ca6ae5e245ba4d724b370e4aea34,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009655d2ce1236c20262b402d2fc89892962d45b,275.285 -0xc3c4e9bbe8c4a9c6947b5653f51d0f9687b952b82113fabd570a0597d5a72339,4440557,1509125937,10/27/2017 5:38:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd36bc6b7da07101e5302f94d5e39f1eca8aef0dd,9.176 -0x700075aab0ffb0ffb82696cf57cee132f4887abd33d68a824f3fe28aab561c6b,4440560,1509125978,10/27/2017 5:39:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa44e6d1cca8226e718ee0b4f4edfa68bd3773705,52.818 -0x399f6e89c4788597c5f0b636cea053b5a1c66375d12cb3035f20bd802d865bd8,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00556f5ccd2cd28ee1f82cb391636d9961cfb1bf,1848.998 -0x743c88bb6e79e0c40ff19e4046ce9411f93795da48e47587478e31b0598f2841,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x01ba3841bbe358c1b3a9310d84ba98bfac5fb318,6394.875 -0x810549636dd67020b1bce2c214c78735db173d0efa72ae0786440148e9af413a,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eb8e5c2880dab44f41e7ebd008ba6031789932,367.046 -0x606be20440e25f9e600e7634924010a8ec055e237913d4036a4a497c35ad9591,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf46a575607dc5b276eb6f5bb2c7abb8ec75fb648,183.523 -0x5269b89fe7e7da231fafcdc58409a265880c1d609444654b79a074c071ff308d,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6c4a157e6363fb44cf9a3edaabeec6657914f8a1,3.413 -0xba155ea48ccf1e26a3f402b350e3b2cb6a64ca87e15414d0817e98786cde993f,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xafab97a2147313fa873dbcfaf175aa1f24c8cbbb,91.761 -0x80660f0f5cf1a0fd6d819462566ac4eb9bac87bfafa8720e1947779c2cca0c90,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6b0c4f552eee0531a134802d847c8f2fa0ca4e79,371.176 -0x7ec72fd9923959e2995981824946caa54338c70e5902270ae2114cec7cda396c,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00349f41813fd23d0e1c6fe6160d5d44f9931624,458.588 -0x397171501d8413a37ff272df7551636acd9fb9bcf14a457c74e6144bd029b00c,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7f59fbfe6c2cba95173d69b4b0b00e09c76501fc,98.643 -0x839917065765d888b5cf13618b56ec1d3d4c8970e1ae7da3ffd87878514c2107,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0062340e032f69aa1370bbe8901d6f4e40f66b60,73.409 -0xd720e5e37c28df9b44c35b8514a6d3e7e0b7f3093fd328288d626224b0d0283c,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00597dbb469f69d8ec4de77af1da483c6775a794,9.176 -0xbc05e9e9a53cdac59091d80f8a829f016819b059bd9f68f8e614aadf43c20a7d,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a0957c6c74540218f392c01174ac3e6c911b57,218.109 -0x17c505620ef3605ceccf9ede817b2ad72b768da173d9d9223f3e7b2e4919b5fd,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x21b967d11709c5f62eccd737625effc14de873ea,12.112 -0xc8af763a826922f6f928b9e110bf46337c8e466ab2f3e4480558fa08dc568b3b,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001895edb9215904d416dc35822c8576444e674a,18.352 -0x2cab32aca4b8c174015586aabe90a77f2c23ebb2e333f7cad59f0eabe77d6df7,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008bd6775fb6055f78ac30fc24f3e55669499f5e,2.294 -0xe5441b4bfed8d0be29bf3df40b1f3728bcfa774459a0b65c9ae976b392fe05d0,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1b22a64ea64c2f4cf1d6ae25c855db5fe1ca0e20,802.915 -0x1661dd06ef1fe674bd4bbfc50d844859fe8d3344ca8ddc8725c844b80dbce4ec,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x996709841049286c8d63df10988e70a790a68daf,72.95 -0x20a6ced8f260e3ee022dd65eb94c2ae69cd4305c73647321e6a2b939b8dcfeac,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x139369f83fcbb405f405796c3f2589bf9a9a882d,4.588 -0x5472a8cfb7a3daba66bffc9d5f2ed08af3195f62a9705fdef7c459a0f87da625,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00130a5ac1ae656f19e54e2c28c7d9b4e96462c1,46.082 -0xf970a4b00a2a479bca0cdfc047319b9f30eccde10fb45438ab50057780163ff2,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x39274cc91485b4501445ba4c1a67b16e6a5fd78b,183.523 -0xc64c5ea55802b2456bd75d8ddf2e9c94c4f7849ae16bc16d3eadbfd4d1ddc276,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0092faf23a9a9c66a7d8ffd3163d81d9f2bdfe56,137.642 -0x39cfe78a62fdb5d982673a5068ab1b1709bcdbf55cf8ce398b38a139e25dc6ad,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0091e7dfb2cfa0adac37bb5cab874838973c7f0e,1835.234 -0x985da861d79caeacc7c0037bc1ace65082d446aefdbfbc6a2d64b732b50acf1e,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0011aba70dc64ecc7f869f9c415c3dd23642eb2e,4.633 -0x8a0ee671303e445f0032ba0c3bd08956a1f6c17b72242e3159d61e66f285d528,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x898f81f8f9e937dc0629c0b6915921de04d13b6f,11.011 -0xb7cb998cd422838b6a0c7789254020b40e1cb3fc8ef8143685d1e2839ff3a486,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006a0822d45e7a82220093d1abb1d595e05b1333,18.352 -0x30673be8c476e1f6f8d92229cce407a478958389a6a929e522b69905661dfbc4,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0020540fa863f29743c6ec48150a3bce97706f18,9.222 -0x3949a04ade3caaf206073232e7039f2cb08d4428f7f46f9f390c445e642d7a1a,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1f0047ad5e5ba9963f9430b2306b6856aa5b9b15,13.672 -0x5bf8ac880197fc64c98df98196a90314efda9fd73c16bec97fedd7efc0394577,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0ae46dc2234842d01e72c6d688bc2e1c4b18a004,22940.432 -0x002a061e6dbfac91a31e6752ae80c0b81d624ecf706d5dd8bba2c626bf3fcf36,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000c6e132057a388a9ef1bf73a0e6b686dad276a,36.704 -0x92a0c3efac026e9c097be561158247a9a65df2c979cd8f037abfb7c73c7745d7,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dc3020ef4790527aeb51d62567bb48642acac8,18.352 -0x68ec953fc68104bf958ba5b41ccf40a34c67aaf059ae4e636423e0450b3b1ed5,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x20a77f06ce8ad15268b50577aec5dd0af28c5c84,38.815 -0x91d5ae65a5873b42934408b1319b477bbd71661bb31876238d64dec83995050d,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d31748110020cb554ef2d73be9dd33892ce435,155.994 -0x96a0be060bd068fdd5fb52f58a14e32bd188a29b1ca040e8d9afcf6d1acb5c3d,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3955e672f3306fd39545edb3d7040cf8de2f9180,18.627 -0x0ca1e1602859b03af964efb4d29aface13c85bb42b916f6996fb4d86e25bd25c,4440561,1509125997,10/27/2017 5:39:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001c35a3ca5e21f8398bddcce36aceb288d11f5e,18.398 -0x825c7802954bd78c82a3331af4214436c4545f05fc81381ad060c6fe9a9c310e,4440581,1509126252,10/27/2017 5:44:12 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x13d62d5a1963046a3caccc3097a4576d1f9b42e1,30.386 -0xa277b17af4336df99e3f14776b104eaae7290169e874ca85dd8893c3d3aee3c3,4440581,1509126252,10/27/2017 5:44:12 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xad1ad5f214271d037176bec3f90fb4448ee56399,164.528 -0x3e17295b34989d3a6c1f60d35c65ca4e597aa9daa1a0b3da890b39f1b4624d29,4440582,1509126258,10/27/2017 5:44:18 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x709e8bdba7a7ca0bf99a138cb2a1d3e84b91c753,103.231 -0x649b9929951dd5cc2f56511ea3ae057e56432e2d8e01d7572ec38eaceac3f9e2,4440582,1509126258,10/27/2017 5:44:18 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xce1cb60d9a8ca55e467f0cd5ac465505d39b1f58,3.486 -0x7ab28e982a703830a8587948a521a9a7c4da05734ffc9c72a09e3e32129bea36,4440583,1509126263,10/27/2017 5:44:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2f45d57c49adf2be37f4cda720141fc9cb6236bd,91.876 -0xb8242892d21c542a1c22cd3e2f9150749ba2e4bd26fcad21533f156cb510d221,4440583,1509126263,10/27/2017 5:44:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x290da05daec7be770a7c20be2881abc1ae2a4e8c,27.528 -0xc9e32a8d29b02c0fcf90aa0647df029c718dc048256705f2a11d5a6b599d7463,4440583,1509126263,10/27/2017 5:44:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x36a2688e8e60c13b4a124766e598b6169b0e9642,18.352 -0xe6f32775bcc85c5bfbee21c97b15be62940375bfb74903a7f86381be3a60e0d7,4440583,1509126263,10/27/2017 5:44:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd07c48e25485b727193d8e1ca5b5a2f3352048f2,893.575 -0xf0f8199dc14e151143b650127c93e2629fa59dff681c45340a8f9a300f7f166d,4440587,1509126306,10/27/2017 5:45:06 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a2e5004a31e7b931bef05499dc4f3dca1b616b,53.588 -0xf7b7e32df6026b1eeae350eee5b0837d3bcbe12a96700a9711a2fc55795b6873,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9fbaf540fab13261780b0eac3e1beafb4a923bd5,27.528 -0xdf1d5c588dae5677af2436795dea98b178738aaa7058e76ff499c57d1b4dd4d8,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x01c0a58e08274297cf31f4660c89723f655de3c4,495.513 -0x2fd8afe0a8c142790cd5a3b1d0bca30e40cb8a9ec43fe8e04b32943e19215881,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d57d447ac2a9cde3401bba7abb6f888eb63ed7,92.413 -0x42b6c0b16c5ee57f4bf1f7a9874eb5f9ff56a304a89572e212a28e223d8d7112,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x436b98f3a614079ad005b7c62743020ad3dd672a,183.523 -0xb119afba0560e63b5099b9170df0f30794bb61cf5fcd66639cf593de4b34a26b,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdf677578eb4297cab4fca1239773f757a4d13a01,91.761 -0xd6e59511643832c81cce3778b5ceb2ea4da5eddea1bcbabfbd6b0fc4d371191b,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x78402f084d2219d4844e5446ce4e67fba23b9d1e,488.695 -0x4a410d4bfd235a8c6a6686d800e216640584d59489ef48fba433f84442de3bed,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc4bcf84bbba74f7ed07abf9e39df86bca995fca9,19.269 -0x2fd1fbd5ff63f22cf43c467abb745ec27780b4fdcb7134328e3a05d59b1e7a16,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa09493ecfecb6c710157bba28443bf28bed792af,18.857 -0x6796559655c74652e5a71c27a0076cbda5b29414f4993a9e1a9419edff173cb1,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfa4be1af84fe8101f91891adc2d52a37b93dfd11,6047.189 -0x4582cafe4ea907d7b109c50aa8a1257d39b829bc3b0d798c559a5de6574690d1,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e49d3022283a9fa6d64271c2f18813d5250667,3.579 -0xca53d1ef712a54531a925de63a85a56a745fc4400ea2f23dcbd90182f61372cf,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdbefd695363d03dfec48e770ad6859dfb30cac4a,229.45 -0xb918d2cc379e28931c8b064c026c723dc7d6238722d10e78e887d7d66da8dfa9,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0063dc69f9baacd4f90f8e385a2b93e8233dd8a5,45.987 -0x65430ea878b838f0e9da94cbb277fe487b1d878084242f4a8c30eb5cdf88a99a,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087043671cef82fae55c6e6648e0d763e65e2fa,45.88 -0xff4101bb1a8475bcfbcdbe46618c5f455b742650600b216022cf37af9334fa6b,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001c57173ef5705bfed109af15e677a8d8f5e520,394.116 -0xef45edd1b2905817ce1012df7c80ffd0d4f85d4bb94750bdfa53c73191bc1e27,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00092cb42b631dfbdf26f405f931c409fe5a3913,144.736 -0xcb99f5347795e58bcdc79c21a60b354286481813a0864928777ce914f06616eb,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x592f17165cfaa5397984f7306155d330fcbad444,0.183 -0x3fd8910722775ebd82a2c25f760d3787fbe6f404964829a042e990bf80d9807c,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003febedc03910f869564187f04c2ef1ab840fa6,18352.438 -0x1a9910f3832e4f7c49d128572fbdb815f145f1beda8d4029cd95ca6f1f65038d,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007fe28a2303b0943a759b036d56a73b48bd3164,9.176 -0x2cee2063366ef5d8cb03a6ac3110aac97aef98b8e922f99e050cab35df48d4cf,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6a305168cbb7ce64213517ce4b9fc6c2d8dd8913,11.828 -0xf9325becf19554300a9593a87e91d1810210ea4af8a16c4dffc033e3b08facf0,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5b0fe4c9158992bf5af9256b0b4793dd6ef42711,11.455 -0xcf9a5a429e3c2fc307d6d3c9c6490a4868ef876a29def3c0cf2c1f76c27cf124,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf4c17652254bc6e13310168a21c5749982cb6d64,9.68 -0xc912ab95b5e7d73f8fc8493ea7418ceef250032cbc26da7e1432111f2e144785,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001802a47a849fb5d290323e4255e690fba12898,32.116 -0xbdb6ae8366210608f92294f5b1bd2f9e0452bb4e6d30749a6e5b9949607b99f7,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c02897a2a0d8caf336a1a5997db294e39df614,18.398 -0x714f8ec015a514a6521756fa3de525f561911ad9d218405d75d21d6525df8809,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x18b453f5fa588d41497ecf34e19fd30ed008e34e,94.514 -0x50f4833b7b7ad5b3e209c975c30ec551889c8807507553e1f4fe936a6abdf18c,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ee795dfb870d57cf366f358e3eb41c40544313,92.491 -0xdeba6aa675e3819e6e9863536ba0dab272c8073063cc21db4393ab28389e9d0b,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000177e159f6b155a0e81f6859e9ca4c6610156d,22.479 -0x263872690448943a4ec9ec102db48bb02260c7b0b9a27bf624f210f53ac8f9c1,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f52eea67eac5e43ae5562e4daaedc440d51378,8.258 -0x63860d54579dbdd79480dbcbb2f35cac531f3541ba574bddaf646ec29a214ca7,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f511e2cef19f48355bf52d70dc291f2e9ad16e,91.761 -0x0bf87c407e9cb2d2f7a0cd2f62c1856aaf83a0d4166120e622cb5043edab602c,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0023d732d511a5d2cb335d824655f29daa85be26,241.425 -0x40cd33178c7c7f94bf396cd805e92985eb132432be14f039f61f17356cff13b8,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x822fd50f043f331fe44df12af8559527b4be8006,4.588 -0xbceeb9ea889f6cb24772cc5126cf5b825ab1292268ebd8c7cac674def43b6219,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x940650c5f5f78618c938c182d89b0687579a99c9,224.816 -0x44703a3f7e7ece09d729e06ef6dda76d1825c905b944fa53c2c0593f53267fe9,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001d4db20608af2ddf38dae3c22255f5a6509cd9,9.176 -0xbc51f6eedeef5f15b2d39b7a9f6c68cf8d09385aff2b76e1bf338f334687384f,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0091da397a6675117a811b82cab27508d75d078b,4.221 -0x90f2c64635b1c73acf53d9e4a035970b373f96f62f8be4dd1c757df5fb1b7bd0,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x622f1c8146096564ed842e48b498c08fb298b4b8,42.27 -0x102174d95bf63ad46fa068849f9316c3a76651448a1a9ddcc71a201dbc0432e1,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008ce1ef049738e34a1f1e03764ec209b329a558,18.352 -0x8e28509c69ae77050d220ad45e3e16711d2e4812f0172307cb375eb6765feece,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4b51113c775e15754b42a7ffcef1bc3281adfc01,7691.828 -0x3f761337316807c201df42440f64ccc7cc15bf16809517d4882256bf856f3ae9,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfea35be9327aca7beffc93d2b0cfea5d291f7d13,558.232 -0xbd70b8da71e354d10259d26809e8051d91468d4e9d429f280bc38f41a14df684,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaf5b50ce2aa522d8d9d6f06247ec7d877d0ea3aa,2217.881 -0xc16d5d706adcffba81e9500f8eb29eeedae278504b5abba479f4465ea956267d,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e69986ee1df06458380aeb694d42e5d4b4098,9.818 -0x50137a08c196fc19c782636b281be1431ca4d02d86da90fcb1e6be01cd5c6d1f,4440588,1509126316,10/27/2017 5:45:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xafe949978ae2f7098f9b5c2338ed5de20ffdfff9,458.808 -0x183eb1360b218700f0ae5b55a9898497322fcfa90726f168f0d1a5bdee9dcb9a,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x71fe8590d29d971bbbbb17342ea62a3c52c6ed0b,2.294 -0x851b745998eab5707fde95769d5be0d98d221539abd5b7a397e17207e1999225,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00613989b259f1d4c333ae80a3e78e67446646b1,92.22 -0x2e0d25a7c8341fac5392ed6bb8b03e9a0ebf0142825d1e770e96f1b69471fa94,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008d3af90dba667b290dc64a97f2711ed3a7039f,5.505 -0xfe3fb04daf59d5ca56fec67191c82544de48b378c9f3b7dc4bf36339ee685234,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000b79d6fea0f31e919301506d8c62c645949af0,2.752 -0x68a68e7b4a22a197ca67586c981077ce845ea8fbe344fde5fcc439fe56c04227,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7363ce9c3118275a73211c2746432167ea95ebb4,19.269 -0xc1bf62096698b1c88041089018967b6181ea84efef31fab37a2a4db0e0be39e0,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0096746df961fdae3247ffa893802d1cdbe60e86,1020.849 -0x533da66e1c07632c1cde9ee6951dc3279b82c8cb678d60b7a1884ca8f6bb5f82,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x93d79977ef117007a0028218d99dd2caebd70b55,46.018 -0x85a777a991d6a794e5a6141ffad6c165c349a3e596deb74286ca29486c39e419,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfcf3808986a5bdfbf72211debc42cdd72af74aa1,1513.976 -0x3d38301831540013fbd39f4cd059395d51d964a4928d8db4c211076e86a1e6d1,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x61436deba951a9f929c5d7f5d9488204c2037aa2,17.434 -0xb3828f75370d138fee73f284b5d5104a72af28e693b18f26b46fd70c9bb27d76,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x29bff29d8193e551e089b3aad1e3937882fd9d3d,18.001 -0x05caf2ce2c96e4a02404bc4090a061917cab8ef4ada3f9cfe1759d510914fdfe,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xef398a72ca7e9c352d14aa297c5c59f604c43bdc,98.643 -0xeed63556717bfdc003ed2025eb15a5294c42ba902ab62e8026ab3e573e6292cc,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2da0721ba1e1f36de7c61bbf20ed24cb66ce9c1b,92.22 -0x6a7c31373d6bcd9841261145e926406e21dcf471dbded566c6d0db4c101b6520,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe11df746c5ae8018c863f98ba5e0970529780eda,13.672 -0x302dd780616ad33f6ec372c9fbffa9f041f90da0962cac779e10485e6379da55,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7f4b3e6adabbbd946c2c4859607a134e4c609f53,394.667 -0xbd41b0dd9d8120eddfee7aadbb067b2393e95f1fee8246163d39604d90a5f853,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e173806d025484091145ca79d5d830f3d38b4f,229.404 -0xd8a1e4c5b7c8500867260dc781ebaba443b67744a2cd4c5637d943263448b1af,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000f7e4679bd941ca16000210130b66329e28845,18.352 -0x5fbae6ead11af664b5b17564f5b132a6006f0cec3db554726cbee5b1aa637a86,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf78e47fb57e98c185185608bec057d495f2abffa,8.304 -0x23ac42d1ad0995ededdff27198a2db1dfb27ab5d58b1f7d2e674c499b1c60e9f,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0086163e3bd61e85334868c8b1a2d65d3f244f6f,5.046 -0xe9538d414982ed3658fad46489a9efb3af173acc4a2438b7064d06bd18a0741c,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009b32198b47c8b8006c0c3483ba90a7fa18f8f2,110.114 -0x7aaa634e9e088d5742fe3824d3a5d81b03073fee7f67c7bb83164abaeddf465d,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x34ad8c38970ee9c497009e85f48fcd856322aab9,458.808 -0xd8e281d86e9db7e1535d716db2397b3f679bc3c16d410852aaa4484fca87428e,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4dfdcd7e1ac714e61cffb899d09235f4b548f960,300.527 -0x64c6cf3a588c330e7a327d3b7d6e29221bfbb5f5b7ac3f7fb7bdc97376d783d3,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005b6d541644ffd62b7c61884bf8651b1e10e146,14.223 -0xc4bc8e8fe75bbadcab2cd881ba0f7fde75472abbc3134ab446c6e27d6e3ba22d,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7f4c327d9fb68a5b249d96d7680c8203ef4fe56c,420.727 -0xd72d9029c0f2e2810a3967e77b866bf79d84e4acefef8b08182f29036348ee21,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ba9171e89937ac44dfe9a19a1307e54814ce78,17.893 -0xe5b269eea6419262a5f15410256f876e3fe3cac0fadd92cc78cd14623da0138a,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098e8aaf2dc065865e68baad8c60fb2d9787179,18.398 -0x371a681e2e0724f2682722880fe962c8af0f6d019af4f83ff867f34c6843b93a,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xedf039c36c3fc977c8830d68d75d989d42ed1827,10.467 -0xe08d5910b06f64e3e7abe67012c21bd1cd3f34f852c1a1b1e3ac80ee81530178,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e3aeda1fec9c6242efa7ffc383b897f0e06d85,4.588 -0x0230383c7608bce86ceeedbe8f35906733ca1784950ed0b0eda3d6ccd83f8b95,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x67a01ab58cc873bfbd93c89f2b0897e85007b772,7340.846 -0x0d162fb26a5fdba1e2ba73cdbd7e53a602da8b9cd0a8e26e5f2a97c747b67bff,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00185a694e3eb29e58f03442d75a8f59479ac8c4,55.057 -0x10beaf82d242ffd1ff0be8064657a766182fbf3ef0df5a75ad8ecb2bd66aa7ad,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xba4795e1db269aa9156234e30888d75ff3aaddfd,93.711 -0x7cd8c97b335f8e76d287389671af58c354699bdc6b2c70b08f49bb9a53597fad,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x85bad1dedbccdfafd231fe1c96b3a9bdd4e2e083,9.176 -0xcd39099f2939035825285187fd074c6d2ce9f4e5c4d2927f9dcb7f6384ca55f9,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x84f135b9ea6cd15016bc1790909a0710ef2fe918,310.089 -0x4c0315d83df3f29ab7b45f59c556569876278380762c8f16466390b747d7215b,4440591,1509126370,10/27/2017 5:46:10 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe13540ecee11b212e8b775dc8e71f374aae9b3f8,4129.277 -0x60bc2986d4225db52a054431a0407e1afbf451732b98b5d22b1534f5cf558085,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5dab307d07dba5375eb40ac1f1b285c2d8307b03,48.633 -0xc882b5e15d55b14c5d04b0b94aa593ed44db173c4223446b2c0fe1e5d198d398,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8622cef8a526857f4a3223af10b302fc29f79226,89.054 -0x195ed313a4c639df9200da6aa7b58e7304f7426dd935ec461d8a6a993eb1f44f,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x805d90d33dcedad0f8efc6510dbb067fe4b36674,91.761 -0x926dc8ceb0cb3887a8b15e601a17a58c43361d15ca495d1e90ed19be75a8387e,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ad2ddf4425a05406b95be23d2d66c1b11844c28,45.88 -0xa24d5114c4149e877782f2a9f468d64dc48b0e5017bf63603f63b3bcef5baf7f,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b9ee82eb0c10e873760fc39cbae615d05dea7a,17.981 -0xa29d4a41ed7e8705389564ca9cb353ad6feeb80bb815691cfd3978be264f3e04,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dfba60f29b3caff9e6942494862994c277f05d,91.761 -0x17e8bd49b60fb21ae28090284b62788e6a3039023433eb16e5924efb0f81655f,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb78c8f3b56f2e4264792922e064afb51b37c4e58,138.56 -0x09ed65715f4d0eec0344cf7a4582d24fa6238677cb67ea49d6e158ba373010a1,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b129e8f6a6e723e77313bf99718cdd640721d5,13.764 -0xc81dd94633fc90d2729eee6babe273230d740dd183972f94fb5fc0a48a1a365a,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004b592365dccc0bcdc29fb82223f2774b93bfea,3.303 -0x9acfdd25bff844eb478cad4e1c8b1223e19b3824da3cc6fd9af29d6efe8fc49d,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf947f05d2b295c924a3e6058771180cbb75cd60a,26.243 -0xee5497b9eb8d4a078bf6256e7f98aa2b39f0bed25f22458549db120cb5add09a,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006ff6c79e263c3d58e9718ca0f08540d46d0db2,27.528 -0x7652badca235956910e7b3899a82adf9a2368a7f52851232f45ef2c4efa5b613,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005032c359b798eb433f50af95dcd79ab333dc2a,1.605 -0x7924459b380ee0f59e01f715d5e741e63c074204fb830eea73dc5a03e16e8900,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003ec3f13edfbe650fc1a703298e66caeba93476,9.176 -0x9222d816a0dca6f38046cd71e5b5d92a48d795f79994d6d004b7f258fa0a8788,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe260e35f88bb3d71ff842178649c2817dbf50c04,380.719 -0x882b1d0e84113c112866caf1ff85c3fad37d0ae6b3e159bf39b365b3158aa44a,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x741db5b3024790ff32fea3591714c38987948dd8,8.717 -0xbccebb3e375ff266568fa86bc46ea31f2be697a28d337d9612eb76a8942a3c10,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f4bbd56287c3b642dde6ed8f03d2f85ab803c0,270.697 -0xe6a988884151ebf51887a093e3eb8c0099c99e362a80da69306653adb8685c6e,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c96ff8e5bccba1f29e17561d2aaf59cb6e38a9,183.156 -0x14b25d8ce360d929d98e647f7bcfc18d0ad271360172ea7160a88be5816c72db,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x60f2a161f72ca11980c5b6ebb86a537e63fc2de8,36.704 -0xe2071c3120837b42d5be5c5a14c24e62b1c07c904a579a8f4c7ea161ce85b8c1,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000989f1b22b2b2ce40d680a388f9033bc8fa704,18.352 -0xfec586883210e359e930129afc696c1b36c663169b64c7913bfa627fa3b15407,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe6a8d75bc5e3c79b23e45d6ff505015db1b0b753,45.697 -0x7a14cfbf7eeb4860e022a5b019999a55ac90fe0bb368561ff7a58a6e78bdff9c,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2afd2c2904bac60f47e0a351c2fd66e12789c7e6,91.761 -0xc2d1c19d577b8cb0f7092a808b3e0bd1514c9e6c6faacfeb0164ceaf802ba9dd,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x206c99512d5e7bbfb0d430813e23b7b9dc1b41be,1559.949 -0xac1932dfc6b515b1bd42a992a3a2b906d3548893caa1169cbf711ab8f463855a,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f7a3bb54858fdc941a3be7418e1026dcfdf65d,417.057 -0x01d5334c410a7a7e058657df4102949830a918b0088a72ca2156b7e9b89d666b,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf374deac1b5daf9d8f703189f1eec12bd80295a0,3.808 -0xac2cd67935c87c43f61b0b87082a329599942cef49968736c5d84bf4f0637e1a,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a4ceceef89a949afa2ce10c73ed5f0d79dfb3c,9.176 -0x80d1614815b9a12c65e8deefc9309dc4182f2eb53e8ea7ad3144daf7b59b54be,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d4b6a8249f1ae3f967892d0187e7d783a49d926,0.045 -0x68a6ce4ef5156875256b78b59ecd8e911e078f4ebab9dbdfceee8d1e0bc093a7,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00958aa22920b759f069b570b275e2f9034ad0b9,9.176 -0x27846454325fec66adc002a074f5a4278a182e40d2f7ac69e1485ad84bc4b29b,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8efb665b2cfd82983e06562b355878da59878368,18.352 -0x10530e9da6ec617218178fa15a039bfc2315dad1b18e125fb489492ce77b2bb3,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x84b3ea9389fd14b2d023a0650890e7ae7c2fbfcb,2.752 -0x3bfa90bae13a6600d56901ff4bac7add3e73a9af7853d888f9494c7489fb732a,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008ddde69a07c04100b334040505dc6b4125bdfc,10.46 -0x2181bdbba67f4a38c9f1bd5664ef9f6dc4e43eb33e951973754ca79480894177,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f1e189ada672a8b8ddf69ce356e287ca318f99,917.617 -0x374322aee025785c8fd142d33aac9436b1aa534f1ff0e073b8470e9ea65f5724,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001c79f24805bab6c77ae73d7e484769a7034875,32.116 -0x5fd303b87fae6b042083788b7c66d2e268947f8e416f7c796ad5b83ff66ede73,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0086c68ec3a352527ee68308deb658fa50da846c,1835.234 -0xf31b9689c8dd55aebf643b27c569a64ac541b1c372f7623868e915c5e0c7ab0b,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003d4fcad4255d3f37dd02df6b961b352298a023,45.88 -0xf21989f3d0227e1a8ff326588c0f74c6dbe497c7373b27f0b9bfa631f2a602e1,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0004ed6ee7f9141133026274973ed0ee4ce84f65,68.284 -0x98537454b072f7960bd3e92c7b8b47cc1ff8b9847393eeb03e8202af35468b4d,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x790a8706d0ae9782042de2a022125b746511047d,4.633 -0x33d2380d6de37d8fe9e6202f21fc9ca3ca8f8f98806615a441042d7880675f6d,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006d21a300eeab8a54eb2ef797195f60b2517e0c,9.176 -0xa0b9ef4f33aa0b428d0048707f35f6beb55b94f3540007c316b6ed3d6688bbbe,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6c583fd0876ecf8c8497bbcb3f8e888f2ee1c214,348.694 -0xf5f452459c7c8d4efe8223237f8b30ed98ada69e44527e52040acf4778ba087d,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cd5df6d891ec36ac93b730a2919c56d3e211a5,3.716 -0x9aee6b5e53166f078e25c0be9331b1248e78f39be91bd0b71f01219d29223a89,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d4b1e7287477ce8247daa310641ddef3b9311e,32.116 -0x05e34bbf7df202836fabe2d4a2d281842180752bc5a00d91c01700e344041cd0,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb0afe917e54529d9151a5ec682107da993d89065,91.906 -0xecbf2ff405a0f14bc071c7e31a68485e12767f112e40c63a7fb360e53897c866,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb6f20d6fa4c28a6ae5a4372d4798f2f759c25ba7,50.468 -0x9919a7ec326563736eefa4ebdaed31df03f03d0ebe43e4f86c3edaff5633d8ea,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x53359144f93b2a061fce84895acefab5b537a055,32.135 -0x42104794349998cc1793497fa74c519edbe255901065c92c03c084cdd7f0bee4,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb2e14a1805cee42c55d5ffe6bb07a2a8d09ea19,19.637 -0xab00ad97541f755dda39c37b3c84b943b8265bda18ad5f841738fcdd2d3cc798,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe326e81577ca673de641881b5d997528ee246f20,29.409 -0xe567198a07b2c5d520155a60a1f96d60471425e22b9a456b5385ada6a48ee0ef,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ddaad281bd203effd53340aab51fbcef400e9c,18.719 -0x9df93aa6b39546e43915eaa19b73baca22ea7d848374063deca310a07974b2a6,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8b0885a1a520a11daab59febcba271e67ceda6bd,19.728 -0xf65be2066a781d0b431d67fcd3946d126df22408788dd3afed31a5ead5ba1c55,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00272a64bc6afa24c034902ae6d9253314a0f655,1101.14 -0x3e01b4d16165aefb7e955a12f8b3ed8547bcebb67f60a58a1d48ea9583bb7190,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdda6898e71868f7f38396c71107b01396ad4c36a,4.312 -0x6e18360ac902af4b4e8c200ef6fdfd64a4211c4e5a27b1a3763fac0714b183fd,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003997d4a7cc30410836ab9003f96afe1f6feb50,24.225 -0xb005a4080073a3202e2e937908f869f12fa8f3a73814b0732067a3aa90602505,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c4d09effbea40dcbc56bbced8bd75c4bca2dc6,183.523 -0x84e8c5c62a5cf2e033d14992d0d8a77ada578f0b27f65ca3b19550720a623c12,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3fa2c79b96c7e30d5fa1f24a81a84e10aa336ae0,0.825 -0x535cd8e86e2cbea2f5286f76a37db1033754c838c9c1764381ee5566678545e6,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005a9309489cc3231adee672e986e79d7dd1acd9,27.528 -0xab2803a405eec033667ca5ba195e58fadcb95fb4605289dc3d8e2a7693345f4b,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xea9d6a9ff692b9616f90f983f2e2aae2ca3c9186,28.492 -0xfe22df1bbd0f1cb8012da55a6f9b7f26a817dc9dfd5fe6bc9da56cb152a43845,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc84df4cf2dc2f818925a0cc7a14b1a19edd5e2b6,5735.108 -0x38ab6cb3321f1de1b9c1b6e7827d32f7f2fa48dcaffc8303532a69611ef83158,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00020887bd8bfafa35f1d5de3c18c6f81b0f8f29,917.617 -0x2de50f4ab74a1d0eb062b34f2084541fb10e5a0ccec3772978dfee8c96c52c28,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x94ce92ac9c9839221b976caabc83820dc33a337e,17.893 -0x6acb084ed7a41d6426559afc07f81f9d0062953fbe9a04e26aa009590ff90dbf,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa13d980cb2bedb03cacb7003143e7af78c602030,12.525 -0xb740415df422275b5d621da66c7fdd63a4a43b49db3024903ae0e69dcd222374,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0048de500664dd14290254bc70fa818079308610,18.398 -0x36963f15894c321742a6ba4c49affb774e9669f43d7b6a128434ef38cddbede7,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb566eb055743eb2daf5221d7a1da355b1da5433a,227.569 -0x78e11ae48bef9bef56b9e3e4b3ff81786f78c3447d5e7484c25459741b9c68c6,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x34672e7c7d9d2df99683cb8162b1190aea453239,155.627 -0x12f916d8f17394ca2303a39667fee81a31bb8e8ca3377d3feabd07cd7000358f,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x08c6c136fb974c8ffec3b38e8d053791a048a0b9,38.769 -0xb342ba90d42b88461f12147c0b28f4ab49f0b4ac72a33e29501cd849f4b3ee3e,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0003ec6a173a7f45631ca5d96bb5b0a3ecccb5da,379.309 -0x27d03887d2599baeb687d3f2599cc2ca048bab7ad453fb349b3c596cd0a5ec83,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00010b75619f666c3f172f0d1c7fa86d02adcf9c,8.304 -0x8d56a8d875c8129af12fa475472d14bafe5d11b7cd0cdade1c794365778aebeb,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0050e26f4860d18a81ec8685bee8e73b18f2614a,8.258 -0xf3a83a43070db5a9da905d4718290ce331c7826866283ffd71b687cd80c38f22,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d4f741b495b845b4e4ec9bb7851f71c854d4a9,18.535 -0xad2f7b73e3d3e10b3c4969015f58fcbfe1030449d9114734d68d532711a13fc2,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x719e57b6d5969fdbc9b35bf76153dee9d09e2536,2752.209 -0x489de77c59f96330d2cdf62896f2861dd28175a5645138dd48ef4287286fd626,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x752975f5990c33da38c4cd50f0a41b70b3a6796c,35420.028 -0x7f0d7093efc5384fd88ac5f115401823c930897d0cbe036937f67d7bb5fec8f2,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007b6e06cb7b7a104d3ea36f466bc14ed99eb513,22.986 -0xf3549cfda3bc490a293267ac11584b2e8b78688f95a4b3b3cdcb08b80bc84f5b,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a6badf4b7cb3eab8cdb6216d1a334a48be8c5db,183.706 -0x33f15d2c08ad32c73672cd3414d76806e84de5b33f83ea331ffb4e9ecf9b5066,4440592,1509126371,10/27/2017 5:46:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c391666d5b864610559e59c046357585192a25,36.704 -0xa30f913c967545722c9e9d14cc382847af2b239bb129e4be6eea1ef31f48a9bf,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xed8bda7a810d594f145079dfb46849d8ae35c716,93.891 -0x088693103b60d1f6d6fc46369c79b4a91f1434863111b7f50404954d17553cbc,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0e5b7813fe019f6aaf820546035fcbb40b58125f,322.221 -0x345bf999bd4e9b5dec8b14c2d2c9f22371ad46dc6c6e9ff17a33ce6a65b7050d,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a20f355ae68be4805fab64fe798f19e6db744a,2294.043 -0x7226976caa9eeaae5cff196be76b44ad13cee32792e72699c60c421daa34a05b,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf42003e7c19b429ca0f6b9f0f75ae6c08cec5463,57.541 -0x44ab2dd3b2931b49975d877736a065586765e5a3fb7ce46b5ec1dccc6e797784,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc08a9da0ab9bb63faca19694e66c95fce5dfcabc,91.761 -0xea7a27f57a09ef42efbc908509114f6c55306ba4934774d3c507e82b60dbe84e,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf220d58015031403687716a43c54f64dc99713b6,22.986 -0xaba0391be232d1e4cb94e2b787ae908b8594f05dd34ab029d4e875e4ad09d690,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c8e15c38714d27525ea5dcc9bb1e622f04fd04,338.876 -0x0a5e73e4de95a7b9ecd0a76401fcf208f61493a22b9a5f4e2ee60e88fd404075,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e06a8d603b1151b6e88a82a4ce53e6e8b985b5,27.849 -0x5bfee7f44d4ebcaff3e27aa1ca0d1e9bf87377232a945875d83029910a601706,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa55e8d42c5212d555acc4c1756744ab91530dbad,91.761 -0x2aee9fe58c0cebb8450e5b58ea3fe32deaaa0d2f9aa55fd0cfbef039a1ee1449,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x58ccfa1c26b8a49b83ffc4bd2804fdc5191bc28a,90.844 -0x25627891dd8ce53597f9c43d55869aec3b5f41bc0b497496f62268fd242df262,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ae34487911e04d149472ff9819d3c0fcf84249,146.818 -0x9c6a9d14207eb8913d8622bfcf12944e15cdf094fab05bad1c317312d76807ce,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00778318977af805d19aecd1aec84802cc0672b2,4.404 -0x3acbb51c0e139db9aa3983fa61cfee07da6fe432bf61c8779a8c31f0b7e45b85,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x27d8519774c77bab85031463f236c702c7ee8bd7,367.046 -0x3134cfd27a2f75768a926c7e52de7bff03880a275646645b1c2e4793e8c07494,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf0f3afd02178ae1d3e34a7f787b9b8a07b937295,9176.173 -0xb3f081ad200b5f1642924b4c1b017c826febad46ee809fdd18a61abde6807c73,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb00ae1e677b27eee9955d632ff07a8590210b366,275.285 -0xc29bbc669cc46f47a702c68138f3c1fc2555338763f66682cc8091e28a512d59,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002ac73d3488df5bad2e9e70dc37db667371df44,4.129 -0x5b6597af6b14aafa4de6ed21a4650cc43dbc46692f88490622a022a4d97c9678,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcd2d4d9f76f3919510de38109dd63172b05e86a6,164.827 -0xe69466fe5a5e6d010195f08052b17f14f7908efb6bba9f4c06490ded1d76f991,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a5b68dd85f2aff5bc60ece004f36879399c242,275.285 -0x3221e9beb1b9eb322127e2490408ccd0856e8ac0ca17860cb71cecf15f69f5c3,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc4ea4230999370bef2b2f92144bc03c9511338a7,287.856 -0xa5eab59458213523352d8d46f4c504778acdcd7dba806203238442d98d976805,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c673e696e12296fd3f52e0f6e354039467b518,275.285 -0x604be927b7606fd75830740cd6860ac728d54a7b0cb2282f415c6d417854b105,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b91355280b218cadf3772a949f0478880594d0,367.046 -0xc05a130b28ac4ee0beb666ed2ecb9f1faf88a3e4b3e6ab4c9b104304933d257e,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2fce155ddf214a56eb2e88939f2a48afb4b751c6,92.312 -0xd57537919ce99593a6b7c2f212d7d00f2a134f568d6a52b429063d69a78c92bf,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f4ecba233c28d3b5334c7c1c1d1d0e2b1ffc71,2.89 -0xd57dd70b70f4fd146229c04cc1adf6e6b38ae3547dedea90c6a3f98e73d71fa2,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0023d77a0316ae6c765a6e1c6616be7030f462dd,39.779 -0x87efc2ae416c98e771ed090e061561ee6d71f043e52b10b212d48c8d5298ab4f,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf613cbfe3c3552aa32bd23cc820b811b666007e3,68.913 -0xf657449e003dec937f35d1f01b39aa554e0f5a2101d58dd090df5a3758be4a66,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f3654937b2fb15344117b9b16fe5065d8f0d386,10.369 -0x0a5675b85f0d831ded43054fb8c076aa828990dca6b464255a2705e15ece0076,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e20357f4f128753e6fc6de0e6ac51e897d2ba9,9.222 -0xa7ab8cc0d5938bc1307598b4e7aec2b82950e4a78666b956e3b2aa747a81d6e0,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbccda47579963d17ba3becdad1512e02aa9fb80d,18.352 -0x8a309d65a53c61d36a9dbac1420120ba393818d551c02f0a59cdfdf7a76244a4,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x68476977382d9cb85d11775b79252ee7d2859738,26.382 -0xfe4946c0db0d07c96f5e5fda3126719a155dc46f8305836c03f5cd1e7641ca0b,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0af9641145b68970bf6f3904732bd7740d57be1,44.687 -0x2cfc379382323c2a758dd599a3ef0b29bb34ee8e904db71033635544c0225909,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002bb2aee0241ac3b7a6fb01a6fdb8c5c7cd61c8,37.025 -0x98af3832c6d35634ffddde0e6f8731b4973da88f2ddc14abd6e289330e2a959f,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e8523b608cd42fc15c1ec89738a62fcb9e5a76,36.704 -0xf246b70001fe0a1ec1609e4ef4484d436a9a067aadcd381d6aa032c27958c877,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0076df9bcdb37939908f00f66c2d3d83b98345a0,201.887 -0x7408591740d74119b205eca917ea0ce123c00683641875cce559260c0ea61330,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00da52ce7a1d54e078399894b20f3b4c6c99ebfe,18.352 -0xb86da8a881f43a2be2a564243f7d78d80ee77712f07efefe5e70c9906689267c,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdbe2e4f5b4322a6cf5cdca229febf825a21462ca,58.635 -0xb141aeda5e584630e62214f7bf4924aa3e1db01a1f3085171196787c9f68bfca,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8d30ef809e87bb997989679572d1416d0d311276,27.344 -0x74d6f87bd91a4b812208d017a73bd6aab4a00612c2234405425616c02ea8198f,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009f7cd88fcaefeb56fc2c00be4f50ca8fd6d0da,27.528 -0x769ed8e4f8249de8f087da7df6fde09ae61cca46c6c7f394b5bc276390173755,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005807b3364cb222841a96051227671f15d1f502,64.187 -0x9fcd09befd4d9b963009d95f5889dabc3d9606c46e371b7bef265cf448e3bc26,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f36a2d00e9312041d71615ac5260dac69b2c44,183.523 -0xffe63a00b7db7a4da11f0a18448eb328cabac27aaae401c6c60ddfc71b628eb1,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0019eb2b083a143b40e6bcd7a0d4508467100f22,876.044 -0x8ec1bd9b36e7230ac714eb7f62d3750a7948c22c2fb280585c295f0b8986dcfc,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a3c5437ebea4546ac6e6cfc1d8a76f30a6539f,91.715 -0x12425e4d09696ce5323b0bfd92b1d0058a3b7bc96bbad11bb56ac910b04aa955,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0056962a7b6b0ec4c917488d06892ce34075218e,230.321 -0x760bfcf54c0c6ddede0ea4ebd3ea78c3e5565c567316af2f3468a91b23415a55,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c0ab889aa9583f67dd90116710079d7d2d94f3,4.588 -0x818c48e57d5b226beb4e62c8e34fa388df33c4304cad2752c34e41d89da7ce3b,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x932b0f9fcf70fbf60f6ac1b4db3f74593d1969be,4.588 -0xf1a6fc030affdd02856f0f444dcf60784fb47532bc6307571ed240dc7b2c1944,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeaeccfcf272dee48fa3e4e783c6dea0fa1fc38cf,3.945 -0xf8e9bffa1235318100145fccbfd341b54981ea153cdefe11cd974ec200b440c4,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x60c5157e1255dae7acf046b38fece4a69ad6289e,8.809 -0xcdfc7b6d0f65835630dbaa6886f0308121a0bccdfab2ff180f8ca011a5139f24,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0967e2492eb0f8a7bec3979df99088fad360d62f,27.528 -0x69b17ad97770dc49087c51e0815570bd6a782177f047a0c706335cedc4ea808d,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005c87548ba2fa697f7d3ee6d63722cb4f25c7c6,18.398 -0xa61ab4a353b5f5aba6cf0b5afb959d7f46b39c15eeed9111e0f525ff66e8f5d9,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000b07ee73f21b4946786178085fcf66f760b69c,2.339 -0xeadf62cf1294de4fc07cb01f3248be2c0602f4308d3943b6582debac93b49ce3,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d05ccdd7d7481f71eef6aeb4e0527ad47753272,18.077 -0x7749a43441c2432e67a7de36b5e8ab71b286cedc794329ac75e3ce6dca282608,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x594a1a912ebf1023bf9bf1b0e77d6d40b8232323,25.326 -0x02f57d2ff42ad408362f2afc8d5c1b1aee082e6f56f642cc8fca6faa8e298cdb,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c766b7772d2ed956c850107bf56ca79299ce6d,3.395 -0xa11fc44d83e653e42f8fce0113987ee56e14829d2ecc880a05220c7521310027,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0044603a9c1b3e99918dc373a07dcdfedf38bdca,27.528 -0x54aaa7dd7a2c3a664d8281722723d3d3b81ff8256d1768f7186d1dbf7cf4f770,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001ff7e32cfd40f06e0d9f60f60eac6bef113f41,366.404 -0x815e74d2aad8378a9ba9e535e29979132e5ecb3fa34a0dd046ba3480e37d930a,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bff9908ed6553a0c3b071b1232bb6b544abdbf,1.835 -0xcb485ee1dbbe4a11c6cc17e057791775354a4ef47077baadc2b45aa73455ee30,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x750410db2d74027243fa5b6abcab763635fa7fa9,50.061 -0xae36e396a85b6756c9d90c138e613d7a6417a66f03f4273164cd2ad96310171c,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0045fa890802d3a2b2a1c7fb78859017786a9fad,91.761 -0x1d2c4383afbe0e06c2a81d0cb1bb065a1081fcb1ea9dee8dfbfd9beb72ec428c,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbc73c898b502cfba8144fd3a1a33757ab84440ac,16.562 -0xd6e2242b37a3c498c6496902b842c2f92adbaf3018591ab1906c7dbc2062fcf8,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0d243a2e86fd76e56fd99cde8bb928ce3d140f8,908.441 -0xded560b556f8223b54afae2cfc3085bf8e6125af0d6ba8280c69d7a1fdf71805,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a44f67e79908d52a5d81bf30cd063a481eb528f,362.183 -0x6370b8e41dedc048b8d65cc55f3a61a8ba7a19b0abb05965eaeb85741c094ecd,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xccda9de9a7a369174a04ebfc2d18faec1120225a,31.495 -0x8afb2c429ef24ba0c8d2ca7980dc745d5c5f75b4c3ba4f765a7d84d02d42b693,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x15510ab37ed950371ec9ddd5635fb5d1419ba3f9,20.646 -0x1a80df077f842b3e213174c390d0c757e5c573908355048b34ce0f4b3072dfbc,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdb5d3aa321ed9182afd69a3e1ac855073fd914e4,2018.758 -0x06ace2af03d0d0cf82a8f6b91fcb986eed1f4597c79dc8330cc59b7d48ba1468,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8ec079be8fccf89a39f8a2ffe35bc08f3047876d,3.619 -0xc9b703e6ed735aa853b7a8a8ddf6a4a1c242979669d8cc824c459b0b1336e1cd,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8c94b11f460481f86363563e7eeb447225fdb61e,126.631 -0x586ce5aa521373262a905de5cdbd6d761e9714dda284695dc4910654bcb65c9b,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c020f030a93bf6e1836931274ecaa1cc958683,16.517 -0xfc085873477b00c8cef5856d12c29473ab3d9951d73d2183727aac6caccdfa25,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b3e7a175f6183e2c8a32e94881d9cc24b96f4a,18.352 -0x9e4e3e31852bd37e500c3bb05ec41e07eb6e81ffb72ce764cc1683597b158d6a,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002c8f6cf6fffece4a83cc3d75760f268bb0c90b,25.608 -0x7e6abbab8ec14bcc7edde8895c82893777f9ec86dec6d0253235a6b73a96b2ec,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0072d5c92b77a0ca227964a4dfb304acadc78a05,33.034 -0x6dc7e0a83ebd63a1a198a80c14ee25d426f16f1e6b48e93a2bdee4cb1740db69,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb8369231f4ee7d48791e4b23b789a6de4ac1beb6,70.656 -0xfbcee5ece3bb74f5b372ff147b6ff0604be35fd61c9739c4ef7e707cf69bb24b,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x30d381605485745197162f89fd80937d890b5358,307.401 -0xc3c0b18aff2f45f090d4db9678ed1c88b464e988a6f1a2f7307e01ab5a176f6d,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00365211e85575a3a4ade9c33c7207fcfe886bb7,485.97 -0x747b66fa537f5455c8698a0336f3974e2318b0ca17bc4d2eaf7129f2a5107a11,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0082242f0e0c5831adcfdcc04052b72dbeffbad0,1.101 -0xdc0815b0094f071b5fe389de6486cced2f6e064005359bb5cdd8f44eaed5bf2c,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e22bdca82b186c02ba11cccaeb2515d10b0a81,4.588 -0x64919bf040d948a02ef249acb017c8ae357d9380dcc56a7e70ca7ea4a6d1c649,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4c3f69ca5a5806321b36b68e6a25aaee0b58b259,8.992 -0x4fd78f34f02e3f1f8f822c92cd7cf9375b6b9e12aceec368f999ce1922ac6a31,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000d21538f4fbbe5aee7b158591e7cfc2456b0c2,19.38 -0x8cc7acc06dbe347709c5e31aa626f91fb13738bd0d476b77663054e23054199b,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcfe2d550e5f331a0626b08e9dea48b37c7d33231,22.94 -0x8275ad8eb132c3e6b5f2e41f635007dfd51dd2ae9cc5e0cff1e147f6567b847f,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002dc409f3938a24541ad2dbff32b8635f5af5e9,6.191 -0xa08f92e520a30a2f9eb2d739edefaf2f6228d5bea7f88ee0f92090963373cfa3,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x953bbf3ce4f4e15d76793c6d672f227993c4f3ec,6.799 -0x456d99f01044ffc76dd31efeaf576f14c655f94a0b3dc23931ab56e03bb4111a,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a1504b9d2fa2a344ae27cf32d1ddef24ef6d46,8.625 -0xf858e8876409653dee23c03510ed1ed93d10341a187644ea7f8cdad61dd08031,4440595,1509126417,10/27/2017 5:46:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c50164ef29cfbff4685873ec8918fa2b5190b2,32.116 -0x188ac2a4db20c30dd128e66483d9ee9fd022ea433041c5b406267b42f102c362,4440597,1509126499,10/27/2017 5:48:19 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004d9f28eab5867df8ce500efa3bb8a2354b46b0,2.661 -0x16a7c9c3c52a31ff5e53270fa252b950b4a47fafffe058923221689b65e09e12,4440598,1509126503,10/27/2017 5:48:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e82fe500c39f4644d479f85e4b3e407a9d6a1e,18.535 -0x6cf88c4cf2513a964d275d201402fac43cc69cd679869ad2edebc8292c8cd0d9,4440598,1509126503,10/27/2017 5:48:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bd4e8aafa7d3e1d9fc46c5ca788d6dcd1ba873,36.567 -0x43741eddf487cb54c2409c311a1df98ef3878247dc0b1ecc0899670868beed27,4440598,1509126503,10/27/2017 5:48:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009c889dd86e5465eba2a0bd3481d2e89d4ac209,9.543 -0x1d23a7ba79280d071da8333ed37700ecdf8093ed2230eefc01d2b50394bd0ae0,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007af51d441a632cbf0b4ec175e61332f28583eb,9.176 -0x5d91c8b7318c22240b9d4b0ed22b61f9675d1fc6a17849c84ba5b94dfcff13a6,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xecda139d1a13ac2f0ea53cd2be13188e54a1c4b3,61.76 -0xdc03eb69831fc8715bb184243e9c7fd5bbd99e8c481fd3b257f4cb0a972bd3bd,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1c062628943a930b805849b494719c7d23c77bd5,73.409 -0x18ec010b13aaa4aeed8fd595110d45a25062f71e0dbda355cfedd87b8aa2e955,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe4465431b88b42ed2cda2b4d4c50b38ca1ac8f83,1816.882 -0xbe50c81ee222d7503ff60b79581eb4f0f8771bb6b6a68b6259bf28d5061ff74a,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c69d0cdaf9abd8b01a100387d4c5ccba3b467f4,731.478 -0x4ad66bec75d23051ab51e5890cf06fab2a79b47f6daaa53c01220efc7e8d025b,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0059d48fa65e3440a352527e5c11627927751023,97.496 -0x884976efd8c853c58305166bb2bbd1c1ca9164d24d8116164a4df100995f2006,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c4ea7d30d01e1d8438dbbea89d44d235a46aca,21.655 -0x8cd0699fd233624026cbcd38cee10fbb05510f5f642b3c1fb681126ca6bf8bb8,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcf6aef56499745cfc8abee1fec089e86dc2e0b33,18.352 -0xb90e6f12f422e859f406c9e80ef31a21ae8e517f93bb5ac824a8ab4b73406d52,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008e158b389d89e9f98ab781725f34f5d06e7ed0,178.935 -0x188e3bbaa8c11eb4d88ac499570db6423a11c86f7513acf682b2281a1f14af06,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005e5c04f113b7ca7c62a331be999bff4f0ec44d,9.176 -0xf8e35923c2216a67882491bdaf3e27907b94e91a84fdc4341b30feecdd72b949,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x74f63340b5ca9fca58b50dcbf6cedd1c97972200,16.654 -0x1e7e80c2cbeebdfa55622be2427564d5478b02b5ce77f8cfb19b32ca3a338887,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc46fbc59c8742b17c3f67fb39338046c1b3be969,138.101 -0x5c4ac8beebf8b824ea0c1cf68127797661fd2b060180691853668c3453c367e7,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0082f93778fdd8d0264b2718574c75566651201e,27.069 -0xd337a917aaf43ae374fd334df69d31816ea0c359e65cc268e2ef9b80c8931ca4,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb9520248a32078fca7bcdc6459dda51afa86fe3,42.091 -0xd44dbb26d01d00dc1dbe21b5e16aadf7ef4116e903441325a06ff875a82ab2bf,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e7b9a7b203678bd95a2c7c44630e7d56efa2d4,64.233 -0x7fbf0eb4bc82c651eb3d77bbd98c826aea624d7564e44dc63fe18f16c2e006e7,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b3bc9934e8b33722ca127accd270cced149b5f,13.764 -0x7f65f846008e16b09352184a5f25b621915a71a0b1e581dc1d6738807bad6988,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4f7765e7ebfafb17ebd8da8a9422d5d1a9a4760f,11873.968 -0x9c62cc429d2ee9b9fa56e9269d693afa703a0eeab3deff0c75513ad8568b4ea7,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x89379ecb3d84d69e1b18075d89e864bea36c9b10,1917.82 -0xbee98cbdbaf7de4b95baf66f0398c89126d2434d9b0a7c16d64346f5b9239442,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x60540e1682be7484af2d79b6cfda708ee285dc8e,68.729 -0x31a4423e4817a6273c59866a2efeea0a6187ca5beee21a65c054fa868d0abfef,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x52ce0fbe0808b1602284b9cbe22d0cb06203fb4e,18.352 -0x4f7be10cfa7f44485feea47f747670c11330272f4e2cdd61c0695fce8590e8d2,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dd083f4f90637b34f98f77c9c6027a0c78c6f2,13.764 -0xce95b23632f5ba9686f63f98db5ecaa36f110d6e77e0867b2adf4ccc42a3180c,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x92349b865f8b6033f8a36861f62fe4b0202c93d1,73.409 -0x31327a056bd18a8dbbb988c1476931a3eeca63807a613ff66671927dba337400,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a5e5e5f1350b92dd9bedcb9b840032fc728dac,183.83 -0xbd85046582158abf8595cb7188e1daef4b9fdaf3636748b58134596ac6f81118,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x355d599405c853d1be6f1ff027967879d69acafb,183.523 -0x794efd0af4088230c8cbb65d7ff7f929a5609d484341c6b046a45f66bb646664,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf8fce84ceddb0e33e9b310adcc5625d8f7b8b77d,238.58 -0x11f351f729b4edc914a5778f760d024d236751e7f197fafed592a49858b69b02,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e73ecfd355db154dd6f0f9a26a610d791d95ed,172.454 -0xf97d662bc76793113f2fe9491a66f878946e9321590f828dd91bab2006157b54,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x95009f768050dfb14ef9ada842323c6349386972,1101.14 -0x70605798248d84ba7e0effd027ed668cd8af53f1486faca02506eb9d34ce7e6d,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ff636bfe534a97fa8adc9366aee821059b032d2,18.902 -0xa8240fa0673dc98505b5629949b28c1160b0d372ac6d72b023344c3698395440,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004f7dda0a8e0054890ca92e930239cdb6a6f74f,27.528 -0xfeff0a24347403845b3032dd16ce07234dc683cbce90a1ae7a3655ce40053f1e,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xce22e1a0a40b684163a37c72112c304dd51bee92,155.994 -0x4418c26c582201c8ac69ed225a7c9bfdd3923de00731c063cd2707b57c9efeb6,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1b1bd494502e19e60d13e635c6931fce893f7824,917.663 -0xda00b0ad5647945cec3628e82498f350d32e369f2c0490492f0802582af6c193,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d5f0ae658e4d4d48cce0355ab6c1eb155b7a82,36.704 -0x9b86067c0218771633265b5b6460a157f844b89a07e798c2c0b45a68204e4c62,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dea07a98574e30bd9c10dcef40d228a0526d6e,3.42 -0x85c6c6b02a17f8c8d167af005c5b892fa123538e0fc036d415ea2c0912f682ae,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x49aa20d0109520abd79ca28bdb453ba1ba348b3b,0.045 -0x52aa56bcbfd9fe4e452be41a0d7197fba48667bc20e7f5d98079ae70a240fca9,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f7932b29b98c93c7844cc0833deff8b0109f958,509.277 -0x3c794a5e8fd165531cd2dc47d3808ba6f3e45b3d674f6865708c8611552ae48a,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc5463e2740bf82a52ebc0b310c575854d592940c,36.796 -0x3258b49ceb0f0d780aa3c58f3e3c3439252163f7ae5ac0bf48b9568875db12f3,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b9f5c58ff70657d2c607eda6c44c1b70e69665,73.042 -0x4a9b1e727f4f9cfb3cd45ca22e0f6d9fd62475e3057415ed4e35871075bac564,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8d4920fa9841558c97da4dbad60bfea2664f6cb9,9.176 -0x5ce32c5a7bb01bbad9e084a682353193bb5e9c73cb832e2b2bceb7727f0d3ec8,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x40095bd940a96c8b42abc9602a265071d0ef82c6,11.929 -0x7e2422fc2c85ca26e22419a26e931873087da2f741f64c6b0ded85bb1f9850f7,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5dedb58e1daed431391fe2f71a4296ab37e01462,183.523 -0x5788505807791bad23f36ee73ad10a9d31f68b379e81cf1dc791b2cd40042723,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c25af253615dd16c0cc521514164ff2b390b5cf,4.175 -0x782be3e1050d345d8d9d0d06e8951b0825f431c8349e13efb075bc045271d743,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f51382de43471e6056864cb39123ac877c1902b,183.523 -0xc400d1744e3b75e76a7bfdda39c8075594e77729f8e3e31f0f49a1874f5d0004,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e3bf929b3f1c271e62cc6d1f2882eda0e741f8,9.13 -0x147c8ae953094e614c2391897a6d110a0d14de92cc2fbe6b96e81a02425586c2,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c14584ac76ee1a0c3d35d336f2448c65f1dbad7,77.813 -0xcaa894fcddb7c9cdea21915df317e73c1ff507a75cb87c5285b59d7c456b64f5,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf3bbb30d00284df9abc29e5601e34965df641199,458.808 -0x41e9ea562ea340ec8fbfdc5fb2ed431c3210630ed3690d0f09079f8c32d1c1b4,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0628dae391a37ccb6ccae7e6b6495c2622d69cda,4480.633 -0xa5ccab89dbcf84720c9c3ec79a10c251da2b80b7fa3eda0948e6ecf8b0eb57ea,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0016cd03db08cffafe5afd43d9cc903856a042f3,27.528 -0x590113af83aa33c3f4d261931e9780141636556bc4c89725e150b7faad6d420f,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x442bb3cc2095dfa3447c774c3ecaa91805c4a94f,549.076 -0xf4a9869687fae06cedbaecd1ad0f197ebdc83b1cfb80cbb68071c656efb6713b,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000fa4aa94334c36300b16254889a721a01d6cbb,4.221 -0x9e0927ad8ba3c0fcc5bb1c92ba6c7889bf173ce0bde316903eea6279e18789ce,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4d41ec9ddc83bdbead278781f9b8c57fd2028dbf,186.872 -0x9cde8cf1810b1c6ee0d9c220be786e11ef57c1c094aa44a29f7c01d97f4dc253,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1c116f3128654372fa53ea006f91d4a6cc8ab13b,45.972 -0x9eeb6835f368229c8193e86f1b2f6e81cf54ef0160c5685727f7230dc2438d21,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009bb861090ee8778e674f54857d9fa5e2f32358,4.588 -0x9eff53b33fdc1ce22d76d1ea8f398c77e92c5e358db1e7dc50ea5d470b3707f2,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x905aa2247bfd6b8c4850d59b83cb6a43007b2ad8,275.422 -0x9ee32a7d103f539e2cdb0ecbff4ed276600e129a1ce5d15d3342f175eac9dca0,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd517ccc6eaa9380931987daf0ea1c53ce4ac4ca8,27.436 -0x81c5301530aebb0dd795f207f03a069ab4ccd1f0f3719aa3805f2a39128e13fb,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0069c7b8173234a0b275d948db0a415a7b48091c,18.352 -0x8456ed760222674707c703d1026dd5b7485e1ee3cdf6729d23a33e9d926be552,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x484ac7901a2de5f9923afe4ff67546525e07ce8e,5964.512 -0x0badc392fbd8850ac2eaebd01588c7b99208c3771c43dad34823cb4d64939343,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x03377073f2421fc3d9eafe9e235a820c4038ec8b,9.176 -0x24096585b981da2c564d07bcd1b66e99852f5be9157754ec4a36c7b59bdbefbe,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x93c419191cbbef6717b1992a1f854ab2d90aa7ba,9222.054 -0x04f8138ff6b5422602506469f948d7f17c6791c98c7f639f1eaf7076d2afd415,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005ba629a682cfc064d0f7e35710819889fa357b,30.923 -0xb364014ec20678d38380071415bc8085d1d3c1506b678fdf18ef0207a0b6d5b4,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006bc93719aef20a0258f9371a725b576c046148,137.193 -0x70f1d54faa54f558621429b8728b4fbdfa2ccedffadb5ea5d93a93ab227869e8,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00449ebfbdd1a6e11dc4d7b458d4851efbb06778,3.257 -0x6c09cf1b392bc1a516a2174e00b4b85cf0105055177cd6882ad2d6530fc41028,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006061c454fdec0a781c00ca44508a04361ccd93,1835.234 -0x7ccdd7d488e39d955bf17961b62f57a0c2e49468874c9f49d128c725ff5fed15,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xee58852b55610f513c694362070de7122a144b87,1930.666 -0xe9a9fedccbf4a0366b6fa61f59394e378831c465ae798c97e9041fbd4c8d0817,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x625181f151d0300b8a8ed7a5bf2779f939ecad4d,85.613 -0x9848e5e5f47a24cc747978a9aac74fbdd13d2ffec8f631051a5db65167e134cd,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0038954411d31a29442c8978cd56cb764982fb65,262.438 -0x7c292a4f3e8ee7c9a453cac0f153069039974c5e8d930e941cc320389f524e10,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007ce39c82c2cf3d1d4e5890abdd3bb51567e469,9.176 -0x7919c8471274771277e9b0f2d16e4ac0e015852b04171ff43736c1b22f15442c,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa3d8392d560d174203e7c080f13421c5aacf1314,17.939 -0xb3d7d66849b650856c36f5ac30a734369770058d1e6826ba0e2da72fb3c29d5c,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009dd16c2560bd2907136d9569c32920e5f0ae05,45.605 -0x83d7f38bceb5c3de0d2777f991298eb13ee1624d9f52f42de3967f37e9bebdc5,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000e8ad6492f516c942bef6561251b531fd7b10c,50.285 -0x6b990da4be5cd224ae11108fe30dcb2bf042e2ec40173d2849ddeea43a4006d3,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000028ce0fce9e53bee386adbf4d175062b20fee,18.352 -0x4d367aab2d8cbfcbec8b48125024f8e0305eba2eb5b281a22e342f07ab63b448,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x213de3994517a65ef92c7ad4ec9b824dcccc67f5,9.176 -0x085d8ed7d3ceb495b558567c0c4ac62707b54d24eade8178d90604a3b86addb2,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8533a89796fe8070604197679c3e250ea2a88a4a,8.763 -0x99039b04e12c7c71dd405acd9a0c3e8939f8d481c64570f2c932065e211179fc,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004c54887f268bb0e5ed906f779d6ac081c11660,9.451 -0xbb4b5eb3f73f1e50430e1f0d6632c02f7efa80299fe033a9436737fd3829e935,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf2a9c275221468f59ac010f639c06615bcdc8076,27.528 -0xcf9b9a0dac5606c17054a2a55cb20cf9f01b4e1228496752ee7a52620ba15922,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002cdf90e124b3a929d16682b6683f198d65d9b4,18.352 -0x2863c8da91befef316b58c36221cb15efd041f45253510b006e9eca087f7ade1,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0c04181f1437010d0db38d7623be82af40ecd6e,36.704 -0x276013c2a4d1b97f6dd8982c71387694b6a46e9a33c11b4040aa2801448c84b1,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc17b6f24cf566e25bb33302da671b658577c1373,91.761 -0x5e863794407631d20e8fe94ca6ce65f18d2ded058cdb43d4511e1746474bb6af,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf527277ddc787974e57fc195a0ed5c86cf5ddeec,247.756 -0x62079ec297310176b4705774643edc264d0ba8ccaf012e4e56b5ddb13e3dd987,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x687f956a18fd757f21ff2c1f0334c589a6bd4d1b,80.75 -0xfc86230386fca320e1391e8b239c92a9b687890f0d64d33bf56e85cda390d18f,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x94ec83fc57394504eb57001350f2b5d4e6f7c5b6,128.237 -0xca7c1a272bcd242358970851ffa843bd6cdaafe2551c8d268dbe996a53ae8008,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c400a9c0e85fec5dc0607362a1783e0ec224ef7,419.901 -0x5d3735e303330e28e70f054996841bdffb5b82f607da8919ca682c267eb0d6f1,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf6b8e05763ce13e81917c0cab8f724194abf57f2,45.88 -0xe58793e610083a998074ce928e8ed28d202bbe75a49d9e8feb6c28cd8eb7eb59,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004d70b92f0b70b284fc33d396e293ab6d72c04b,9.903 -0xb7d81cd2db5657783da7c1ab39437959f262ecbb6575b40de6aca43d5499e9a3,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fc27d391ed66cd60f72ce19ccc99abb67a57ee,2.844 -0xaaa0ded95853717f2a87658dd0144b5d51dee90d223bd218009b77404d07bfd4,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a3437295823c66aa4e245297ed78ef52fa6c71,14.223 -0x04da08678769759c583a8d5ecf773527e1075279260538580144d8af49d608ce,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf55dbf691b3e67bf10853c67310a10c60a5834e8,53.221 -0x1b50e83400fa8a4413d5e5e49410632c35872d3d51b372c716d95e43643a3db4,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0088f742d8a320915da103114ff128fe472c7cff,30.966 -0x497c29bec25f3bae303a5fef3e1a7b92fb4af3e03b73ec36e0bf431b914dcf03,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2215457b391a2660337b75568ec05adaec457502,18.352 -0x85ca8eda129ea856b3ca4af74748e69d4b773c4b8647240bbd21344c1a5514ff,4440600,1509126520,10/27/2017 5:48:40 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb577fc5fdc344b41df64449866e73d33848ea51d,16.792 -0xa7ec4d755dd5e3709c53ff716f001d195a451fcd99bfb2ef14a99af88adaf8ac,4440601,1509126551,10/27/2017 5:49:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a91beae0866ae95a1e006e7d6d2366a0a839f4,4.065 -0xb569ac1a8089eaabff6efe84c54377c2d2a89d4d598e57e454fe352e5c1d6dde,4440601,1509126551,10/27/2017 5:49:11 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d1b7bff428ae90b82147cfe52e2e251b1fcafd,9.176 -0x0413de9b55961e4c0c08249b7910cd101984cad28bd43eb2de735c97f5d88467,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008dc499df64ff95fd5b048b15d430ca0baabbe1,18.352 -0x8a3785fd0cfe49e8c0d6e2445e2027d80e15c610719dc86aee844f8a0484b6f9,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe18eb8520947679c4780bae0abb06e6a219b8df7,917.617 -0xa660be1c1e60249ac881a745f8ddf8b1fd9e764454a9110b91d254deee6625b9,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0016b34601309434ee42c643a76b78696e8363ae,133.054 -0x8bb8e44a062811f7a1ecec46d26c6a0fea2aa89b549fa11d72f8653df8341817,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bc894689f9202d7e7b18734c97453335548694,41.65 -0x4ade5c7c420570bc4bc5e8f59225e6977bbcae9cfe806b7399b0e63f616825a7,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e8ca36ea8d56e723c642cafab49c34f261abd,18.352 -0x12a1313bb4009b66621741d6ca173222bb3623830907400f7fe54d5a5f908492,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x43e0c52f9a3920e2f8c01479fdba32a8115ad332,55.072 -0xc8f3ca40b5979dd6eed50042569bf1f6dec57e41db84f3a862e89d58e7350cb9,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006b0c951ffdbd1e139bb4734001e5bb38590533,1835.234 -0x006d527bd45a0b0bfc570b1bb6ece4fd0cf726e5bc95dc0ba853be350a49e1a1,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0055996baa3a392a18f78afc52a0fa967e6206e0,9.589 -0xc186ff32b0fc54353af0bc52844324b73e8ab99e52200fe1eeb3a7558e718bde,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6a0638fc950ad83956179d5584f8115b9f9e0cb4,458.854 -0x98e0a8d5c359169ae29eec31006ba81b710524103bea2ccc104399ba82ed2ade,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0dc056cd15bc9857757eabee309f0412cc9c79e5,96.258 -0xb19899600b3ecc1a78b82f751a68a5fa1cf183bcd1998c9176cc28f752e276aa,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7dbb16b85b247430888763302413d6d2abc1ff8c,27.62 -0xd3bc3558ae185b7d1cfe386eec000a572ad265e819ef8e0fea466ca91c966b5a,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c80503caa4caae2640f0bf835bd5e3418d4ee1,1.376 -0x9efe3e8acc04001cc6f75b45da6a985124787fcb1c295eafc42191083b21c83d,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7c53e4175affb6add29bedc688783c6dd9afc452,0.546 -0x6bee204523a6c0ee71eb88fd485dabee272dd04976995967682f1ec3b0d8e4b2,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e3c4d881755355b58527e1f09a5507808de5f9,32.116 -0xd3eafb8917d175a96bae3f077b21403fa9be2653897a075bb4376dd39fe9fabb,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002e2b254a4e3877c6ffc42106cb4f519e6ac27a,11.057 -0x511984e89a7f0f9e5b9d2f9580c6c82b01d7ccda2a50e48cbb5facdef7c23ecb,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6db74596a7f6ca2798670cc82ac150a41610fdc7,192.699 -0x687e679627154642a819c7128ce57325a89a68df71de0ac79c41b04aa16668f5,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x799217756e33b324e3af7439e0645c0d65b614a5,582.686 -0xed003b31d711d0e13bd00c1285824375f1b6886474fcc4cc71f772477b09b0aa,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00edd6cbe72d13a402da3478c6fbc8a0eb461fb8,45.88 -0x45df205f71e3c988c8ec85ecff29b6c1f72d30d4bf52a70513922319ffdf78a2,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00735384d4b8bc62916ff05a16679d41c9850fb1,9.176 -0x6a44618d8d3b918da7cc091d0c001b4fce76cdcdcb66b6c05d5bd9f2798770e5,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0c0f7fd4a8a750920dc953229b45f708754a2a0,0.458 -0xd44707e909e55ca7244a5b58ef4649d728dcdefac54746001c674cacd91fc0ed,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf04a8b3701556ebe9ff89b64058f0875ba4366e3,12.846 -0x38098de42f3d9b3f40d4c4b2ab63bb10662cf42432108d20632cfa2fcf5053cd,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b59ac37bc3e2ae0f9d32b6751e516eccb38732,27.712 -0x57e54617f93ad373280f128eeec5114b6e37259a75db92bed517b0b36be2cf58,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bea41f180d6d5a48ebfb12f9c497ed3ffe1453,44.763 -0xad931fbe306683efbf7f9496564d233d02808bf787ed79adaf431445ac3bd6a1,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0e4aa4412dc3eed8c5c6a39288866940730dd257,146.818 -0xfdfc84ead4bcafee39ef3140c86ac681d9b9a9001da87fcc6b1b653cec267b99,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf0bf059f5658c248e0ac04ee4f1dc07bfd739ef0,9.176 -0x9210e020ce1311ac43ef630e72b5c4df4afb6a9ca7a849f51cb4efa97796a019,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf9c86dd81e7c9af956327767f5e9c5da7a3bdf21,18.352 -0x39ef3a3211695f5e533ce9650f6e6223a0edcb7332b5ffff1cbb15b90e67c4bf,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x205ef96ca87f9546f2d241ce8dc949c49765e4df,16.058 -0x727eb671dc800f79bb182381effc736ce1a32de1b0f77459e3f2763c17b0a733,4440604,1509126597,10/27/2017 5:49:57 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x392e05b27079b3502ef2937e0af15aac14e8d8e6,71.482 -0x1816d4061894fd6da63054618e8ccdf23e056507e1d292060e1aff74c2b3ee44,4440605,1509126634,10/27/2017 5:50:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0025641d2b744f643432cfef4c08b76430fda5e0,36.704 -0x3615ed2bc16f75be235d72bdc535465191036a9bf07576a51c94108451fc10f7,4440606,1509126689,10/27/2017 5:51:29 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbed113f4cdbf6e0fd3d402f84fe00cdb9ed79c3a,0.045 -0xbe3e4eb642a32928a90bd48041493ba92999b25d03ea5edd51e90907b358d65b,4440607,1509126698,10/27/2017 5:51:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f63722233f5e19010e5daf208472a8f27d304b,45.926 -0x25ab45f383accf94574365f5f317c3d9312228559289915e127f361c7f0609c7,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a901cba20c6616581ae8df057838198b5b41f3,1440.475 -0xd5dbdd40dc9bcea463493b1b7307726d6fd45a668c27ef2fcdb375872e1c277e,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7758d89177a41267dd2390262707faa602f4f2d9,783.415 -0xc9ec7b7cd6eca56985038fa71f1dd1ff404607a6518dd72235b15bd77d96027e,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xce7ed9f16f6ae3a25599f03d4f65f8d3bd7664ba,229.404 -0xc8b92c34a652f63d7c1f5e1b9b052a1f048a501af55fc5bc3b982b9584472dbf,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00feb32379a84bc54fafefc9e3faa03e626892f8,228.486 -0x1db81737c2ba2092056d645948d54c4af1b1ae523c528ea5b34e90940841d5f1,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd3388e1ed707443442afa9bb133d9dffacd9b467,8946.768 -0x05d23d0cf0c1347456489fc3785d16533e8098dccafbdce1c220fd53f5ca03ab,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x05c94ef9192ca1b80c427a749771cde2e0f7dc53,13.764 -0x6be86ac04d6f59253d5cb0ce9486778260fd9f026334321c53ca3320e7afdc56,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5e0e7a5ca7fd2b638cb8e544d9188dfc38385db3,9.176 -0x71d30e1997ca5b3569620fd58a6a6dbd6c8571ef65f32cc6fc02464261773de5,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8ae1a0bd06aa351227ec269277a43831f0d34da5,4753.257 -0x4c75600d493a5db35d0e45a17e1c5c7a4385f2e94f4df11458736b2928518ddb,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7894774b62144bf5cbbee837c96e833e16e3edce,2114.19 -0x2794f8e991d1a9a47a0a3a84329b43cf30b03358b5040d382ddddb688503b13c,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc25f885b631247a34d1429b3f43d7bb2639a7e3b,44.045 -0x726d62bd1f3f9d645969b0890f253268a58931cdf3a001578715f5fe27bd422e,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9b53723ef104396f1f44a378a84a15067e11e166,30.281 -0x971a65cb1bba4a73fb1108f5660bfa60d5c46dd2f87f2a7b4860a60aa7cb34db,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x460cad37045859b3f67579bb363d3e8f48c4df50,834.572 -0xce0be3d54a99d467a591263f3893b7cb0c96086223f2faa38e83444ffd67a465,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9a94771e7e73f9d8d6e880cfb12cab4e9573c45e,642.332 -0x0688a1b4b784085cf10e40f5bebb2e79d87272264455503caaa8823260b77970,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007589e0ef0ead23d975d47e48eda004c90b14a6,4588.086 -0x16452a865a20deeada9bf73cb01dc532207f96043b1ceda0c0298ea08ce6fdc1,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd7ed2d43538974c607917ddb8454f00f3cfe250b,198.939 -0x77838fdb5cff1b298e705691dff60c3c141d0c1b78f8edc223d403d1265f0802,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa0346f3edefd952f673a0e24ae4658c22a64743,4.588 -0x7381867ee61f0c5402c0829892843d5111da7c9b19d35f74b237c9e7b816dd78,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ab6a08ca44645fca5b8a50ddfb04a8f9477923,18.352 -0xe82d5f32621cbcbe45806291ff960ed6900bc7a2133ed7c8bdf9d15076c7b00d,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0021381df55f5e10059831b97653c52d42a1e137,9.222 -0x7531d1cb42be2e5fd5a688dd234c98bba06dde277fb03c53262292f6b25400ca,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ac15089b8aec4ee664da691ca3e7e29bbdf1b7,27.528 -0x4931a0b1a3bcf2717ec1190716f885233bbb43eb0bc9bdd69e733ac11e871cd4,4440608,1509126718,10/27/2017 5:51:58 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa899ca042ea5de91cd2174dfe9e13233e9deafd6,8.258 -0xa0634b6f60aba8109955c53308f18e044aab092ee269d4bfc8bea78cf92c81ad,4440609,1509126722,10/27/2017 5:52:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007cd4fdb6a94978efcb1997af675dd6e4bbe1d1,45.88 -0xe33f2997dd55395736ddc1f0ea7bb97664b1f876e9e9250fe84c34004e383004,4440609,1509126722,10/27/2017 5:52:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004c129a0b05b5bda2b7ce56313ffd840c3b47d5,11.617 -0x4067289fd2c768f9345045da24c73f5690c8a77f89a85cc19a3a967e532dde22,4440609,1509126722,10/27/2017 5:52:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1e768862e1b8abaf3c1c776b032036c7b774de85,70.243 -0xe9de9bd8bb1254fc7229396c3d2bb61368db1f2bb67a38ceac90ab7552fdc5d2,4440609,1509126722,10/27/2017 5:52:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0001343f03e9ad77fa47f674c4ff59d5fa11fcb3,229.404 -0xa05fdd23f4c31cd4314f290f85f3de8a3d86aeb3d4c46cd5802d5e36ef228bac,4440609,1509126722,10/27/2017 5:52:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d5e9ea82cabbb9fc6b0485d31b5fd5bf97431d,46.798 -0x053486d332fefebb768a6a3cfbdf2cdd3976ed27303253c58bdeb793d996548d,4440609,1509126722,10/27/2017 5:52:02 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0074a0ca635c314c5cd73ef58b1b8d64c5d7d20b,192.699 -0xdf3d41d4344bbcff1bdc60941c5da5d5e0d2809c72a07a4996194b1ebbe4378d,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008ab9fdfe08b2cc37703e4fd5f1312f885cabb4,18.352 -0xf07ca56c6be7daa403aba1ef4beb1fb92a7fcabb43e59f58f1f6a50a0b54f904,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b22169c960de13bcee687ffc210c714aa77235,1.055 -0x3cad985b3ed3532f32bcf9debd60e0b2f5e844eb196b1a26e6c0b31e2c0a5d59,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00367f2a3dc2af6089b3d5c929f997655d7a9151,36.704 -0xdf7c7f7b0479f1e077624ca0311aaa603eba17a65448957d0db05323ae8d5c83,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b01d06372d7bfdf7ddacb9b11037e024377810,1376.425 -0xc35f879b3eeadb4de968067c7131c1f979970e77efb9c65dfaf2f57fc8d18887,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x77c2a982679c5d64e845eeb58f59af38459578b6,11.011 -0x554be5f0a5297b32b8e79577f3ca406d76636f8c22a165498791b4d4c0a3c381,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1ddb8c1e2204a92febaa4dc7242590cb74359f1,229.404 -0xda2b075f143b50a07f9747d7cae5fe628ef401f1aea7c77d82c7bdb40cdf7475,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf156f0e79a516f69163743f87e592677fe3e74f7,513.865 -0x97cec6edde5308247562f364f047314772a79a5dde87ede5fe8d728195c81ca8,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a82c7fd9dc03658b255b5d68e6251146748953,436.134 -0xcca9c73935af8595ad020bd5221e7e1a992dbbefe8e079d56214cde388edef24,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf6a3ad2ff813cdb72fbf4a76d6a9a7bd276f732e,3.211 -0x6ae5eae50531671e81224f77ff49f3b150f8957f5c6dab9423b751d7ae01b2f8,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6556deebc10e49b32cad8ed7f3604827f9672e0d,33.034 -0x5656fe2cf40f96581ee1badf9f8daec93e08e6898830c1170b76deb9c4969f62,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf0ac4a702918dab29f9c5c317d250141b0afd8f3,119.29 -0x352256d5f5ff56e1193c4e3cf1c88103f9c9d0284cc14498c591af1f882d7b78,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008d723ecd3298ecf004ea846fc880002822cf59,9.052 -0x57c8cbfa59b20ff2926758eaeff42bf5176958733fc4dbbd82427b73ae8e394a,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x607f233defb94a83543cd250f2113eb5b5d68f7e,0.642 -0xd2b3b5a6223745ee9e8f56c98f92746aa860c800cf6da0ce2332e1186f8073ac,4440610,1509126756,10/27/2017 5:52:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aa7d705eaf0a79ef8f0eb9b8c4b80b885205ea,0.55 -0xc1a59bcea21715dec0615de1189499d67995ed573af87f40846270cce5225298,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4d9354ef22423d1d544a01a2fd8b2ac03af0aa0e,79.649 -0x65e28cf7eb89382269f6090eb83bbcac154c4ad63880f573dda5d8488f929d81,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x01401ede19c4beeb2ea70043493695646023d0dc,55.057 -0xbe5ba48ee997bd398ae44dbf769edf500345dabb22d1b8731e5cf5771dcb6d15,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c8b461ad395fe2411869281301c2ee7b5fbe5d,6.423 -0x4b38657e4a812c78636ef498a14ae3d5bff3a843ede4030dd139285b6316c38c,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003be22889aedf2d4ddab4756263f82d6aa52ed2,0.917 -0x95557fc06f7e3cc63891b73ec03b42be205766d304ed53918f584a1494cf87cb,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1de627e3faf8e64287bd2152ca027e4eff582790,536.347 -0x68e3ac2a6bf0f5b183f98e366f2a94e6ce9e0c3081c1204def9fe5606bc1f11a,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00165863e6f9608161d8533e213c009390fec3e7,9.176 -0x0b91240e2cea762702ea94abea7a19947fbec0df4d65e23c7072c23b0823d57c,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006a1212d2d3e63753368cbb4116ed4bf3719e64,114.285 -0x548a4382f233f997b3eef522907b81e08e82c8222c1fd1d774f447c9ddbb5ba5,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bbfb61f18a0949a5ba261b5a7054c53d5b3c93,1835.234 -0xd7333d731e563c35b9cbe9bc3aa4e0f60539fa6e23f3e26209091d254503f915,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009dbf13548b5351c0646b52b1f81d913d0fd4ae,4.588 -0xd598048cfad4ecfdef6ab1fbfcafa0fa7b884ced50461c262baff7a4dffc6754,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007486e5e3a85ada7f1ce1fa177e02da6321ab3a,1.33 -0xa186fd8c4fc79ba2a07bdeabb64674734af91eac91ff006fb33610cc6ffe1223,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004f42b803fbc2580a9cd18fc130caebea8651ee,36.704 -0x470b9bca305b9c0ab1f3915795989ab19c222d10b7640aa4f4611aac38b36bf6,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fbcd1a1318617d6df1d267e92dc329c6dda05d,18.352 -0xcb7865dd0260d78e9b314fc45381e1825040f921aa4a2d8181a7f279fba17cb0,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1e5faccf1d24fc1db3347fe4315bb7d00bbc45b7,13.764 -0xb13d05f89b1d0afcdfe2deed897e041ac08955e2c1429d67d1a15a5fd9f13924,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0005ed1b33b541a3029004ccbba7cef3748ae1c7,19.577 -0xdcdf28b871051db6666dbc1939c80f81eaed280621ce06ca3a470d532644bb9b,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0054ee21332017c772a9dcb68cc6e120b305c9ea,917.663 -0xec602830616fa7d14db82513258a2cf74fb83becb2a914c461a094232f78bc19,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x088e9ad1f2411247868395d0b0a6279d92bf12f3,73.409 -0x30c72f0ee42e563156596db31eca12c4a59e2e483ead2e6b9a02969e3d1131dd,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x96f0aa4251eb879290d36ae975c57a59f2a5472f,42944.49 -0xa213bd38eb46363a2e304701752fd875059bd8a6064cb4a1eb1fc5f7ed7c1741,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006dcb8ce8e81b15ea955599cbd14b0532da2d0f,458.808 -0x287aea94dcc80a58299e821b7ae9506b35d21dd8b0ec87a604bd57defcebaf55,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9a2da86405f0032f5ae8337cfdf47f067fcafc67,36.245 -0x423c40d4f69aedcf0551abbc30574c8d315693050001f85b24440faee4a38f60,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00de397b4f819087f0d36a12f89b4c0eebad2dbe,18.352 -0xeb5fd86f854719dcc8eac59bf335d762965f2f377cb4d3b13d6c2a3889a507f7,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4a522a059291f53b8ffee8b90b72a1223b6dac46,45.88 -0x7851a61e4767dec3b074e057f969ce1ba09f15e37afefc358499c416a5862b1a,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c50ea337609096cd614dc0752ed130e0de08757,8.12 -0x2ca8011ef9a947e54c9959c6e6f8b398e924905f9dc1e85329678a3240aeffda,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002537ce06f4d8d67fa5c81c75dda886efb646b2,91.761 -0x4d68f2b91c934ff9bac4b12e7c6f6c37cee1807702508c08cf3c5625e81c7edc,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098029c2d615fe6f6cd9a6b6d35618878dc4cdc,27.528 -0x4102f835a18aaa23f6e3a0a3afad9a41ebc89f485e83594019040f5a25d1ac81,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a69c42be4828dcffcba1bc8dd9bd10f5c3caf3,71.115 -0x6e4cb69d0cfef1b512d3f4b05a478329e9f6a32bdeb82ea6cc304184c295de10,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0074b0b90a98675309b9db4c27badd1b8ea42b0b,916.699 -0x5687497fdee5baf9d4fbb31dfc7a8d3ff3dbdc9d970095f4135f1045c95285f7,4440612,1509126779,10/27/2017 5:52:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0051e28f46719ed3e65d93c5c172bfe0ed982b84,12.387 -0xe27102f5620ca18a66445ac44583e923549dd1850c786728bf84d9e87c5b3f5f,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d35ee346bf2df7627509006d92316ed8d0713d,18.352 -0xfbaecdca684c35872e159b75b4a030ada246722803a2bdf4a1656f37e320510f,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000a8a991cb59ddd83b76f334288e57997d25853,31.107 -0x7fa78f3040eed61a037217f50d3b505036ec894b8fbfde4b4e9d35432139b3aa,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8889ff5b6323e71c28c26d2c34b8bb52654f00a6,80291.515 -0xe2e2dd099e4b2998117e29516c10281ef07ac81b5352848c436dcd8fe93517f4,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3137346f506a2d980e1b00a5ff4801ce702448fe,91.853 -0xb59edb4a3c8a3f8c92ca86082743f4a88f4cfd7626e0e9af31eab5ee861cd110,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcf2e734042a355d05ffb2e3915b16811f45a695e,183.523 -0x01a5a72dfa0982e4cdc1b79d6f16e285bf921d6f6497d56018fd51677ba04009,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00802eaceef7911f5ef5884174357a13de4b63ac,9.176 -0xc3d031db87e95a47d15a1d24b7c444ff43d4c40da2bfad62cf7c0d306e302182,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009f33693d1d3fc5b3eedc3d9d457f77059a498a,9176.173 -0xd13e3fb4c512f61701c6e195e3a9328bf9c54b3554a3dcefcac73787d388b8f2,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf9c1f8b4234b1d9b714c018fe96afaa186d841a7,183.523 -0x960ab98deaacccc62d6c8dfe77c1059410716c358552595ffd32b60bd706bd4b,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc61ed74017d66eceb5eee1f20a012e4774cd79f0,27.528 -0xefde5673d3aacb4e9ba6fc3d5b176b98c7d2bcd88e176225c44045a59ed6f6ce,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x23acc3516b86547dc0096ec4a3447af0ea0bfb55,2.661 -0x5f03c5374e543089728bcf4d669f47f6cc83b5e2991424aa4b2883819b86efe8,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d3949b803273f985e9a167bc42c0ef376b70d8b,18.352 -0xaa6b658d83a933a71ac3a001134056815468f00e2ede6e8da33a69fe79b88781,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x49739691fb5f3992b3f2536f309d955558e75933,27.528 -0x7b97864feb441e83121c3b2a9487d16644b389560fd31be5d837170bf62347bf,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001a3dfb43b4686238359abf20ffe8b890cc65ed,137.642 -0x4b559d8341a0542148da4961d0ea3f55c71f3fcbaa937400a6da733d53e6c11a,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4d300b561ea06abe10d38ad05319e5d2ea641802,91.761 -0xe1c9cff32007d140989519215d558d5901e2ed19bc628cc06e3d6c164e225127,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeef2e4a5f6a01d5fb89f38211fb4e6a8702d33b6,183.523 -0xe00fef498a1ce05b70dd7333700745f33d7a1fa8b9836574b9e26b78c1dbc02c,4440613,1509126814,10/27/2017 5:53:34 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd8f13d654e51f66ed93335d573ab2da1cdaf832d,204.169 -0xb1d509dc14a3d8ca7f495d025a4ca570a105d033e332f3e17731f52898d11622,4440614,1509126876,10/27/2017 5:54:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd70464a147925dde45821d92e07a49082107b862,18.352 -0x9e5e66a2fa7d5153d73b2f0efbc2d39acc537c1d26ae6d94a933b8d732732cef,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0620a4b3b1a36178015ae2c7204498ffb160853b,55.057 -0xa968579b2406fd2c9e56bfd7d2b4ed2e9abfb9e79093261b998b1c8f675ba94f,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3cc9063e7ac5fa8345e1f59bc32a470ccd30ca6d,9.176 -0x06aced1184182fa3b6fb11c98f7ecc3a33cf89114b27864ed6d1d27254738d21,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ae83c799eeb9d91044cbb2ffd28e79e577e1a9,9.176 -0x20541e597095549281541264f4fbd1c7ff86079e84a2889a9efd16f9d68de8ec,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008389dd2775442702e13781f464c01558823b23,265.65 -0x545347d97458fa98934683588dcb961497502d654955a989513bb88d6e2e173d,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd136726fcaf415dc235995fafe215258aed5c421,48.633 -0x908335cc8ba4eee47e28b7d56eeb26adef5e6fe40bb8109df6291b57e663f627,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006a8106e821a1b44cb0626f7fea5a951b11a282,7.026 -0xa6037a4e00290282282d24d3517439b627ea471f23e953748b99fa4778ad0c52,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a670d24c5fe23dc467cd47ff9b8b5fb07369dd,14.782 -0xcc2d07aa357ebabbcd0bb302911d0d8ba87d55a4d7ca21c4e769743f5a8f660f,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aa569e5eeb25e923ea96578d77a73a53bd643e,45.88 -0x08626d6b477450be3d5bfe075fc9c42b8451f8a88631e02277d409e7d4b0facc,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007cceedecc880f30ab9f9b968e0d6860d51c6d0,174.393 -0x243f276237c4d727420fcedd21db240a098a4fbe99b8148feb989fffbb21e433,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00746df19d71232f9e5acc79bffda2745b69b97c,13.764 -0xe637b0f3049e4d6f21874656dc30d7c6297432924bcaccce924523659a3cadec,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa07166eb5793a0f9d60a9adf056b7e4fdd2eda73,917.617 -0x6a36e637ef5a47b9a03828d696c92a208448d7e17b7e61497a6d6e924b6f7721,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf3181f5237629b697ee63a8a25636281c84e0a9b,9.176 -0x0316054d46b6674dd4dc8d21f0c5fd337e7c361b14359f48b794b0c1c3c74ef1,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xff83a6d7418c73bb7fc1cb245d8aca979295316c,73.225 -0xff499196b21330e562ff4d993080dbe6738c53a9d8b2e38505a80476a9dac274,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x48e9fc7556146598014c9b9a4f258aff8aec463c,18.352 -0x98539bef24981df4bdf4c01a2166159f8c69d264ff09139832912f3a5f78b7da,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7ed6f2cb4f74ed164582fef026304ef2b1d1b637,36.612 -0x59a525e5668f1e9f317659be61f569f069a0101ea4040754e519296da9e3c539,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002696d567f76c4b7a60cb00b1d95b0993fdcf95,220.228 -0xd275b4220b6f0ae7761ac1c646bac7fe705d3863ac7e7af16628f394ded93492,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb7ce6873ee9cd4a462a3e13fc8dd93d9a40ae5ba,833.701 -0xfc2d106a7acd585de4ca2a5cbdd4933d9ec49bc70176cea06126ddc5fe7df8aa,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00adae7292b68d8d92ded17f5c4f606bb90f6f5c,100.531 -0xf1197fd989fbd2042232e45d1ed92b3c33bebb4a3125cbfc62761e9333774b58,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0097843adb6489371e27819e20fece2d58cdda3d,27.528 -0x3e0412129f3a0753aaf0ba46c8678ae65f7e6fc23e60d41a0d70095d72f960cc,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ad5f21adf36e7fb8eb51391c3a68cf44de0ba3,64.233 -0x48d94f3ac8d3289b1a9870c56c93a8a7c5e1a77569858e018df6d35d86c7314d,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cd0699b4667af672f71ea4e589d9d2c29ca992,64.233 -0x320ee02c2556a2f26bf63d2624ae5254e6a8738160d2687ab849fcd884911440,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f28a4aeefb6f2d8b39298422ffd4a329fac161,37.163 -0xa31823444f20f8b7b1bacbcff5f2696950fffaf1af8497def11d547d03e49993,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00543f7424da419242560b6036cd8a21dfa01c52,4.588 -0x9f95c0447d674b0d02ec532f2ec6c3a0423ff454a692321fff4e225413ceb1a5,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c99a3b6afc1215dc0b1196ebd9edbf8b045b76,229.404 -0xf809fc346f1f70b3e3a4778f444bd36b6fd1b3996f23fc247bfa751cac9fa28e,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c26f719cdfe1303d3ef566ca2ada12cc56407c,19.545 -0x2c1bb1bdf07c4b3cf976c96b04c89a03d969538d0cd7690657d955838061bf96,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00818158c1ebf72ff7d3a2feb70735d99a5c674b,1009.929 -0xbf2a1beaefcf98d38c6c85be054163b4aec908a9bb382d9ba3ccc73f7bbab098,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00928c48cd1e36087af5c06ed90b4a6cc161abde,4.588 -0x2dba9617d7ebbae153f637d2c818cf6f48ed1991779f9f9b307f8d4944a591cf,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb8ba75ea553f7049eb54e20e3ef220054bbbe583,65.15 -0x6e324a86bb2f5967cce93a467c06490915f11a6069bdc7b2313abf6fc65a1238,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x610449b5f52ba2fd6a5cba5c29d650d12248017b,226.53 -0x1aa229218880d21aaf643b2fa3aa6a9f3b19cf87d291972908fb496da886b92c,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe47494379c1d48ee73454c251a6395fdd4f9eb43,578.098 -0x1dba98f867f1a86cf5dcbcf0b61bf5f82bf8d3c0c8f5f426aaaa6d24c5105345,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x44eb5b6c2d5cbe2d38f9fc21e5166f5964bc47a7,73.409 -0x51b3d54e7bd7b17890ab116b8c2c78bc1a9989bb4d10d490f99d9f67b7ba3fd2,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f454f6cd7fdc154be5bdc8ae57c9ef6d83c71b,7.386 -0xa6814cad7c9fc4526976a8e8edb898431ef640429cf7f019c0a97f724012d598,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x87ccdf773a25a7036e7b95de5ec8fe74bf7121f6,45.88 -0x54e466cd2d66486e9f86f9098bbcd46eaa7278f0d8e32c2b1aead7f6d6700aae,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x08ee71a2eb80bb3f51e5d5a95862f78aa3703ffb,18.352 -0x4393762a28de07c25ab8dabb80513dc8915cb15497586b6aa732b22becaa3cc9,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa7f5082cece0be9b14e8be6c1747d0fca39ec8d7,91.761 -0x3921afbe7af58f6d2d2d934562b86d341f222700a1230f4d6918c1fa8a44e3a7,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008ad80219aac538f2374ae749d1ac797da21bf7,238.58 -0x44e928bd77d63127e7e7d2b6e558678218d31eef486211b079192950eb8fe367,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007c2833e9857bdcfd571270b500c0c397f0ea80,65.856 -0xad0aa6ffaeea145d960f471b23c516cd402399c6f9e530f03ce5eace8106d50b,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf961ef1f20028e8340d5618d3bcb077718e58825,4.707 -0x7fec26c68b1bbf578f8da033925384ea52445dd24b3b2d4b1e68b317e50eb70a,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9edf2a093bd2c6d0a7d44368480ce8fc34bcdd80,16.15 -0xfbf610f862d6d8f03d9b9f7daaa8d1e9ac1d67163495f899b071ca9cb730d576,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x09ee4979e687c267db3ea238a9ec64fb74140438,416.739 -0x289b8fdab971311b287582abb0757d5b18eed8a46958dfa54777cf6f1efea043,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1ee9f9804eff1886d23e8a04e5bd9ae506b64740,9.176 -0x48230424d340c5b055e692e43d5fdc96aa7bb712fe3cc17ae22f6a83ca1efdab,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a65b40f6e9bd80597482769f6bf1e09d49a5634,2115.107 -0x9f3add65e2fe890a79fb2eb5072361976087bf6957bf2a44f28543bbc60bc559,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003813a962efb1a03191600aa682d38b08d953cf,183.523 -0x9f91ff8a5de4df472d54a876c9c71d60646d894813023a9801bc4f83c0d762ea,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00de78cd0ddc98246466f7fffd6cd96ececf7430,3.134 -0x3d383fd95377b1dd7383b7b1dc66cbf077fec212b0f7bfaf5ae2fae8177c10a5,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f9d17d432948ac1a523ae7d1a16e18903705f0,13.81 -0x8ab330e53db2ff3ee4a97bfbaaf32f13e8849543c87b6be858d4dcef7b81dfe1,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ebd4b8ed2ce27e41820169a6f89111436e1507,0.367 -0x43c0963c60b5c7bce2f6edd53323b3def9a8c11a392f96dacef0222fd2bbdb36,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x80dc500e1464a32ab0faec15feaec216a734162b,9.176 -0x023729a1b5a08fd4bd2a1212a5290535601b69528983e9a93b748e55df74b427,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x836856d5d672d99ad3b450542cdacb91c394605d,127.548 -0xca68987b5061f9fd463a5c7c9a1601ed7c7801b95b4c728eb5c8eee9a1e88874,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9ddac6c981572aa3f4ab7ffa3d64356d94093206,10242.903 -0xe7722feefe08db09529620208e5a84e5e5401aaebad7e0520fb4e867eb933b9b,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x02308e5635b9df891a27b2f837d88b8dbaf01042,321.166 -0x0ffd643eaf1c8fc3568c7b262580c64ecdcf5d86e0db7d6254a806877fda6f0a,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f09f297c045899f5cc00131329ee10e522de08,9.176 -0xea9ee9b7ede4e173c8d435dc625fa8b46a925eb7240575d1e8d926cc61d8120e,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc6b2e23616f4c246e2e0dfaa0485ac98be69725d,48.102 -0x82207cf106c3b642e80ae1049b6fc600d8f6e59c8d66f0c7a001b841063c7b16,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2f80da45d4b487b5dfabcd2b85478a6730d798c2,51.524 -0x62f545562ae85ba8b51fa6d3f93859243434f07e6df55f190d325e8953a86e86,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0093897717316daa87a594feb918503d7adb5fb1,9.222 -0xff753b4ccfbb63d5d4088da31eabdd74800e06f1e22405bb8514716e5a306081,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004547158d12daf5a188c111543b87aaa3aafb92,183.431 -0xd6d1ff1d598d2905e7d6c26658b633132fd2043ca9c79084ed3a3b4654057b6c,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006d9c60615239ae70c618e265f3fc12f7a3b12a,91.807 -0x1261b66438f8f7a285b85502390d5115a91bee35de331d53f09bc6c846b7a1a3,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a79e6221d11f5f98254fb956a38a55076f83d0e,2.294 -0x2fdc0ee02ccb57826d53ce018587dcdf93db24871a77dfd1b2bd5f12f465c746,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8ab7edcd19d92170528cd5d8a7d25dc6ffb75c39,91.807 -0xa67731dd88573d5626eda04525732cb7ee6aa9b51b51d8d2c5c6d5538c8ebef5,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7e5684f9a6f43932992d720d52b378fadb376732,36.704 -0x9266eed0ca24f04be06ea0ee70f6a3676e548b4f4a34f93daa38c47caf2e73f3,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x28e66a9abb74aa9fbc4dddb71775f0cdbb7ae031,27.528 -0x9ee9e4d240ae3137caec2eb519bd15205428428781772b03d59c30c4977b7f3f,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c6ea84064e0db68bf36b61506bcd3f4a48de7b,36.704 -0xde537331f3aa3512b455e67c1420b8deb930c7356da8e6e0ff4ac5601474cf88,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x71b183dc5834b02237e996efed6933c104bc9292,9.176 -0xc71b79ad95d14bbd62de14fe9486e28ffc772fa9e22e6d40f776dd6bb1cb0e46,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f1ad9cf75089d42b8b56407fa8cd4914cf1453,36.704 -0x282b55f2c33213f985a5083bf05ef362e91b9a2f32a2729879b4f17be1a0fa45,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0083c66b575c021b8ab547e522a4354b78032602,9.543 -0xc8eb75beb0c96c62e548f647732463ac5dfdb655335da4537b2f762284327f44,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a5d4145d389cca2ae8740dc2af3a06acf135e3,12.479 -0x2ed648b9dbd067d163a180efc49af3083efccd12644d8f22d600758fd7884e49,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0055823c75b1ea66d16f08559adbc70e19227322,91.761 -0xce8959e4b8d5b0e1f050a5811c5cc1ac8102ad05c52c230ce479caca5465a8c7,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006704be2884970368def1738cc901f92025c04a,229.404 -0x6f130fe7622a347f97b71edd21070403cfaff2eb4b03fbeea92dc89dff5f9a8c,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002d43afbc32a0d67168a2de3833ec368ffe8983,9.176 -0x63c9db1ab4b43385c2ef5e5aa9ba7be57d9cd41a64a967c45d8caa997ff170aa,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d62544cac590661359cfd64c73c4f33f806d24,45.422 -0xbd579891d80d5f3294cabc3d97870903159fe4673eab83eff202ec3f17811f47,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0038dbd81462e435a757f14dafacc119b98bc2cf,4.386 -0x42c6ea6b44f75f462bc4fe802b0ae816b42eeb77daccdc982efde05e42b13486,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dbddada20c7b2b653812577388aea9ac896ac9,2.018 -0x8811c46382209e2f8ae215e030d7e6b2a5103b2769f05a9f0e95e174ac2ee64f,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1ebb73c3f457b46f0e1b2c20406d790bebbc0a6b,83.503 -0xfb2da3175265de6135349371d19e3c907d47720c4edd49000e7209ec2ba58b11,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005ea4d2572a2015e589d4412f4894da6fb4bea3,91.807 -0x0116cecf36401d21f1d13c825b786aadd387478154303bec027b4367f981762c,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004ed6f4db65547b8b8998bec6c133d99d37fe3f,183.523 -0xe58e775eb8b55d9516ed57f7867f419e7cfbfd80548367e19826f2ccf8401614,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00567685d0b24e7a550e84ec66adc6fa91c35208,55.057 -0x258f39bbbadcc3ae4a6eca3b4346b23e6486ec627e63c81e80ab83fa104aab88,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00de0911e577096ba2d8e3f2d5ec0458b1d24830,74.402 -0x57f0d716bfe550115d9116b58241e1006610cc72308627879b73bb0a6f82c10f,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaba3761ab14f87094b3ec4bec2b49477e65f9bc0,1.871 -0xc946e2090dc1aa9e61a136906a28e059e10bc71dda09864fc74f706afa899c49,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007924aa5e2abb7a230caa625cc0f073f0ca61f4,91.761 -0x455de3ed9ea26b48e45c4a2cf2cf15b685df5c0102bfd1386de7275866ddcb3b,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1399824aa53d03fba9d3d13585341c819882184b,765.029 -0x518d59028abe827a85a29d54a6e7ba64d86f2c0a8e3e848326323b38a15bc243,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9479eb3392e8a2b6ca2e649536b55c8a2b932f1b,917.617 -0xe306c1ce5f3d8fa9a530cc83f8e67382c517380a0defffc876b550a34f82fd25,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x678498badbe31d20f718a303e51324a6d039e7af,131.219 -0x59867f689cd5b70745b0d4e423d0d7f7bea0784812c5a07c08018d063e894137,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0097788b27b144f03715621ac2de4aab5b94c158,91.761 -0xd07f6ea6c93fae1b88f492728cd9393f6a60d920d294c0b4628fffb6065d7dfe,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0060ed7298f6492489442f555e38acd8c672edfd,0.734 -0xd967758193c1399c7df778c38c2bfb6ac49c1422a7f0ca42fc88e44969b1b699,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0041a3cf4d4230d2ac84ad786f5675c9c06779a6,2.569 -0x5588f6d22084820d47b4510e20cb82e7eea56ce9fdacedf5a9356f6c714caee4,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0065939d87e6f958a20873ba9ebe06bf120a2d33,82.585 -0xae698a376416fc87ba7408cb86583888202b1a30035b1cc3cffca4c164d0c5a5,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x72bd01b74ab575b2bea1ac2f8112a0a15cf09deb,137.642 -0xcf57e3f60d23bec9c6b9a02ad657f93ab49dc56ec0b3910a75ea1eafcd20b145,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007c0b89085282ce1cdba3bbf12e1228547275d4,20.679 -0x316b7989113f89883bbdeee688d024bc7a672874b187985398ad086a025b0d37,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00554019bc1d942aef1cbf7ee6becdab99ca91d7,9.176 -0xe3cb13245dd7b5b01125e73bfb108778fda5466d4666719d563fee8b4d5d6586,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d3aa3b4ebd357d5ebde65ce8ac9b4d99ac2b125,207.17 -0xa4bae8f2aacab5d9804e64c8292f51a0f2bb76dc5befc107f7fad9987755506f,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002802750d12a39450f2f4a0e19375b8de24074d,387.234 -0x1db9734def7f59a9beca005c517c457999292a5be4c64a2606287bda6b729067,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002cbe540f860818a183be6052ffbb1de22dfbec,95.294 -0x5d4d1462bf90dd9e03f7011762988b225608225d8dfa94f1bda964d4b0bee89a,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a807188cf956530898c1cb2b0017428f95a3560,137.642 -0xf3815a2ddc2c016618ef5cb44c4936b15ed7f418d37dcbd36b0ba4b7aebe7216,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf4f8d0377b14301ea3778fc39552b421b586f7e4,3.532 -0xa1aa15429dc6208da80c55301c40ed3e2e312f0ed796e9366c0ecf3e58b36019,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xac139d4ae0e405462f35f4a5f9238f39844cb982,45.88 -0x653e21a83c613c361a7a141ea90d1ff1820db6b568574f12b08a2bf686ac34c2,4440615,1509126879,10/27/2017 5:54:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4287603500f11aa83802c4c02e2b5a9130ebe23a,155.719 -0x2849733b5bc372f6f96184e9b94dc938737033a5fe52ce0806c03fdbc4095c79,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x012b4170e46b07ad9cc49d4ae4f7b406467cbacb,18.352 -0xc3fed200a4319838253ae7444e348e96ff0225b6c82d28f65343e61dd1f17087,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d8bd56a9cb0b6a854305830f3f8269a9e5e705,27.528 -0x84a0c17d2c6985c009816673339aefabf2c49488930df1dbe7487aa67481e7ea,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x280b9eb4839eb05e05e48973e1c969226fcc4392,18.352 -0x949608a8a5115189c90677f333b1696552e6bbe65026b4b267bef8f8a5ebffbc,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a3db207ac468ff88714a85028b6fd96cc90363,55.057 -0xe3495c02760daa5d7fc514e4dc82f51714f0e6685fb4103ec3e1477bd85b0a75,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00624c215baee850f4182d0602cb938bba095066,27.528 -0xcb740450bc9af944414e7b5624b76e615c48494e5e0cbf25c9efd6fc2929b541,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a7986da7d631e90cc61bd9b5272b6524a03702,0.091 -0x92b65b4f77fc115f49892b7e56bd69ac4c35822e100e6b47267089842fcc3671,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0062dd565ced1168f0e8f55ccbd353d41a19e144,183.523 -0x72ae8189a42e4be20af64770f857fea06a42b4e6aeb141d2ca2c3786d995bd6e,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9c00bb75cbd8e55346d2fe041c632d5b6cb6f6c4,45.88 -0x790c61eace96347e3bf8b3cc9261d9d9a86ad9723f5528ea1138c4475fd806c2,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fbce25b75b05e04b9f22e60721aaea19e87e92,779.974 -0x11b6f14d61e3a0358142de1e1a9b49508f432643597df6baaee5f389ef80b141,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2f41a6aa9773d67c3d31aab2ce54b27f6945b049,132.29 -0xad3d04ef9d78386ef0d926de85fa42b7a82f4241fe1c4767ddc409d9b8ffa672,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x765fdcbaa945c2f73dae083770dd0aedfa386d5a,72.491 -0xc30c0f156cb881638cf1d32523195d206d1931ada460afe2e1d499b2a33ba0de,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8212ec9b5cde7fd6a19690f889fc34d45d1db06d,10.277 -0x3d71d774ee9db04ec6d7b36d67c9af3d909c5e793b7ca5fe4db88a1203e29714,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0067fe87b5fbabca1cbf1971d25f26162cb2d060,31.198 -0x5280c7736c0826c07089d6984828b78499de2db226130e23a605e467c3c60299,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00361b7e4eb1e3af12bd13b2403fdad70b822268,91.394 -0xc758012c0fb8a7a41b0ed898bc50e7e2e1c2cdf1d9db95a6adf59e5924217611,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007edbaf17817a91eb48f6166a592d16cc47846e,119.29 -0xff97ebb311bbfd00e27efff7187fe91dc64c6737ad9b64a220f37171c4e11f0f,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd106711bd6fe7f02667ea334ff74f06788939959,150.379 -0x50fc5c2e634f802a0bb1702464b1d3b9330a840009d1991968014b50e12028b6,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf3b383d191e038b067079e267bfdf3c70b422a18,132.045 -0xac169a549de65d4097a964f5b012a8b5bb6970128fd53a0fd3d576c8923b086d,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x822b1f91970e2a6a2b4a72b75c3aa890d9b1fad8,520.747 -0x69b6ac7bd7120fc2e7a0b8cf1a4929547064881845d8e0c25d3e97ba250ec891,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0607df4570ebc920deb346220ffb52a0bf1fdcde,36.704 -0x801a7fc346a7421b005a0f4223530a6072f987e73639fed4c3231f11e9294e24,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc15031d35a947d4f64c09b7153cf9a0b2b18a431,55.607 -0xd48d71c3fc0f7ea59ebc169de132d7b27176b0a33bf642fd8d4444cda8aa4dd2,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f6be6461b1a0badb3d4458da2f77da2268b83a9,1061.591 -0xd6ffc51e4a14f78f91331b83b09db7181dd883a44a966c4081858b379609c585,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a5c6dbf8963947d36e94126df831a50df8eb6e,229.404 -0x8489d64188e0092576a9e8a7c57f6e20d7e35d2aab992e59335d110e52afb406,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b72e3cb05569922440ec3a39875f98af237e42,6.056 -0xc5bb6d6faec7975353e9ffb1cba0b7d1a171e9a2f558d26ce246bb7e1311e90c,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00606ba24a1649ee35a5c37671941444ab6d2b8a,37.374 -0x23c3bb0e620ec12879e7f3da5544b62b63ff613e195972696488b8750b8bd4e9,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x51e6d5501ea26f012b2d37fbc4933bcebcc28244,47.991 -0x94b6e7c1e553929366c157e80a24e6ccb964062ff2c9abef0a2b60ba0e38da06,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb4576a033caf3ea0eb8a9545b26fef07ee78115,0.838 -0xcce1173737f8931f2d2746cf2286d6f0df1abc1ca6e8b54ff2741cd80b4d6213,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x620348621ce092ee666b698246491e95c8e61499,264.182 -0xe66079b98dbe27fcd960078c61c9763e24793523d7ed8dd3a29d938edd3a3935,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a63a3a0fa11052369722629a9ac94a23a8960d,917.617 -0xdfcf70299ea58cdfc61b4c64fbfee7bf3575120b0389256cf463c089c75eb208,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0085a7ee9578243c26fa140b97bf771178297a3b,23.5 -0xfb5bb8349ddd476c2c4562a2ad213d739d9960a011a4f699f5ba2f2edaaf5474,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ea81627c72919ac393603aa79d4c7e00cd9438,12.846 -0xa501991786691fee090ecdc32789ef62cc4d1a3af76c88ad440a639781dc14b9,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009b72735e42cb02b19f88204e08931c633be665,27.528 -0xdd7e078d267e371f2fdf0670a3b5a4303c71602967f6029a96bcca5753c7b4fd,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e3f51f35abe48323c6734d1f83342c684225ae,367.046 -0x194e2305d8ee3d8ff59cdb42de846d5be6623da6c4acc4c9cca725f19a5e9e0c,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa482566e63d032af218a8d65caeeda5dec73e4b4,32.116 -0x2dad2c00613452b7d2b062495af92d88142d7bc76aafeaa5818e3733f1504ed5,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c05dec4d0797b45e7f6e036155261cb1cbb5cb,6.239 -0xac2994c030366cf7da2a68a7a83f2a58bfb03a783bb14bf1777c0051fdf565f5,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa50382a9b22b0720698d39131fcbe289841a54bd,183.523 -0x46a6573b5724390b898ac943cd347302890e2917965995881780d4b6e83930eb,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7ad41e9d6e1fa47f1f6bcc63bd0327009590a47b,1633.358 -0x079538ed96cc005f1baa5ee5a106e669b4ec3a02891da4fa03e872f582e4f4ce,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xefddc6a78911e0d1964ed041a8d81de69cdc8ca4,45.88 -0xa7d305d47632e8406bd613df34f915805b23ec6a84aa2bd2746ef77ff7c49233,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001b93e99a0ea0e8b12f3df09af6564b460aa7e6,9.176 -0x1764cb7b47c23322fa614da6d7647c81ae3e865803e51797612a3982560c5b6d,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5bec595767bf447fb61edddc723765f241de1dc4,2.294 -0x72d2c45fc43b5cf00a9f0c6f3a9c26ac70c74a852b25e66e5b54327e36814d24,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aa83bc9abf0e8c4937a8ebde74a7961f050747,45.926 -0xcc522a9a6d03f01e46cb69257c75440aab4c2b23a5691051514ee8ad08f37854,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d69358163f5146f04918a092ec4f527cf6f252,24.729 -0xbd6ebb7f2a31c2785f7c3cb2598c2bc18a6a73b0346e78c4c57100c573df908e,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc8f9a7246af6650f96401dbbee0c30e5f913cf54,91.761 -0x1b657c40fa5dd6b525638ffc29a9b1da84c70005d9bdf0aa8ae285563397fe34,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0026eb71a83ff1c11b7a516768a7449e27ff565a,9.176 -0x8d8705248e12f00036408a56d81e10dd514fc523dcb80841779989a5e0fe4b02,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3ffe3083861f58aa0101453a61fd3a1b747d2b75,30.539 -0xf8943672ff257bcba0f269bee4289345a464a89070c595bbcd6fc5b9d8c1d097,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x94192ed10285470edf1488bee3cfce683bce1877,330.342 -0x8b530b55ef310bcdfaae9ba0830e533234b87612ac70cf3adf1f8e882986bceb,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5ffcf1f0f84cfc6fd881348ac8e74ec5856beefe,1564.078 -0x7012c6bc793d51c51d623d8eebb47a4e1d77c83cf3c400889e0895670883a6f3,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c335498511b633e6c7c582d837735dc1ed628f8,67.435 -0x44f20e5e986813b16114e88f156f311ab80b8f246cf1cce204a18d080e692644,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4cb77c698aa1213e93522c4b952fbda6403deb3c,2110.519 -0x8f0253541e16447a6b454917308fe2b4d96e439bb5e673b46d6d335dd613b6c1,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa884c81b7b5f4b675e2e041826394e8f0b16bbe,458.808 -0x693e5bcb993c230e1c5a4efe3a313d77287581db3290065aa6dc6eb657f55a81,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c11fa6623df9ce654d9b7e75841cf9156ba99cc,55.057 -0x10a50911edcad44433303c05703fb21205d83d22108909f283a25e13b1ec68ad,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7c838d644d5b60a023afed7497c311fa78175a6d,36.704 -0xd049457f1c64258ae563d8bb85c63794b52b82dcce34ab84159e2eb0d51eb2b6,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bf2209a10d9ffda04bf453bcb3e367f3eb6756,137.642 -0xda25839396445e3f8bb92f5d25cf98c799dfc546ace1a9bf927dac8d4a3d56c5,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008792aa9191cb0bf670babdaab314c232435152,1.835 -0x3e9412dee99ceeb9d605f0baeb92181b1dfa8dfca35ab1f9c60ff4fa08074455,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098cda511c8a1a04705b0e22e81ffb60008a21d,11.351 -0x7ea68f5da829cc18a83182016d55b20a652bbe9da0edb9ed6cd6cdf7f9ada66f,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00577ac183e66678ad5f27a8e5cde19eda76cf6d,2.711 -0x54d3d1d008860a3882c80f76546d4145346458cca54e52dea53b8fe80b1abaec,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e367a73ab3fb5ecfbcb4b118bf57538d1d4a77,18.352 -0x8c909b771c6367f1cf7d6e00f8daa4818fd24a594e430fab05d17996b93cdae7,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa62bc08e021695b3cfada083d0481452bf5c0fd4,188.333 -0xa2b7136ea8d51d186fe4cc9b80541e3ad61f34deae9fe15df64be6d198150e92,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x11814f00f1838263ab8b3acbeb9b90e90bb53e42,643.708 -0xfce3e4f70086d633aa6a6ff8b0328761c26696f38bbab45e7b2574932235aaa0,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0073e43211dcde9c888a7f57d65e3dc23e967896,19.571 -0x7d6d3ec9eb52952b821427ca6896cfda6a3ad550ac0bae51f8b9fdf55ecf9d96,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x705fb243cd2cdda5ffd62c702fbe2d48353e3bdf,16.058 -0xe6082d5caa80d1795a385f93c3ce1a88e2e02683f90448b76148eac9014fd3d1,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6e3c0a9a3d9bf8854865b75f6d4b01935b4eba1e,9.313 -0xdd48968e3ffcb8827cdc8b84e938e14995cdd04023c15818eb7502636ca1f190,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3890a960391f2a35e00e7fb86ddd1637b0d5ace9,246.299 -0x2599506236e0a4fa73d71904351452b0aa595f904ed0d2e37fc5cc5e863c52bb,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c8e20df2aed2601379f90cca198dba99cbd8ef,4.496 -0x6c1c48d8e02d35d44465b9bfa00c29b1e1218b6dd523d873651f29d036e6c399,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfa7f691c51ed0ef0f26c8f780911c95d5ed62ad8,55.102 -0x1243a6b7cf523f63e2230366143e7a6c40f6e7ed61ef077bb767b1f4227f74ad,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe723454d7ca777999065bd370faaf671b469149e,91.761 -0x981f097f523ed03a560d4514f79ddad095c1116c4440d3ab77ad7ebd82e236fa,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x80fd49b3453f8df565032a0aee096834600235a0,69.105 -0x9e8f725083bfa6855fa137d008583047b8b49d1f674b13ff199812ace628551e,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf4487a0a91f3c75bb9631fe6160690d9149ed853,82.585 -0x1a7ebf3d7c56ff85a92921ec744d7101b64176eaab09c1b22fb413fb97df4bca,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00248d1380769d8ad43a4663da2712bd1186dc76,25.838 -0xc62d2d043a059a6a615e09c012417d4253aa180ccdc900c2b33b82b023cf331b,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3b271c43635a5ff2be9b8ce704bdc3ec1cd199a1,64.279 -0xb20ced84cdb028f049ba77eba19b8f198ba786e7aa39509de7a6300c3f13cd16,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe69c4321926a7604508fcf837e03ea65d941ef8b,16.241 -0xfda5f57ab96cb132940e83917d43d7beb7e94dcc0391573cb3a6f7e3f8cb6ab7,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf26719804c82085d861d13a0338d07967af11cfd,117.408 -0xe19e537ab4338fad7260963339d26c0435ebd82f78d46bf65271141cf1af16aa,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb9f0597834168a78ec443f09f75e3d62ee98dd4,229.404 -0x048c63e35df0a91c3204df5e7db10361556b90bb26c7b42e2b01c0979c798abd,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x90947676a04a00d14056a9d1d428e24999f60f2c,9.176 -0x77cff30ab9f1e81d06463d0bb55d1801f3779d0a0ca54c023f6007ca985e5dcf,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5998492a4881a733e4beefb71b2022b3eab9bb6e,45.88 -0xbaf809ad2010c40179fef2f7a15a60262a74c1a9ce82456e851c2f1695cdc92a,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002c39a54adc4033eb6cd69c7f67459c0bf90ad9,149.571 -0x6cad17ca25106e2f14f5e77034c089bc0149eb0a539a11b24f1ccb34e461dc21,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00241515212d8321ca983eff69a2bf11b58ea42f,7.405 -0x2add176b1bf09aa12e90a77a94d525a49bbb67d0dc18a226866ec6224cc9cb84,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc24318e1ea1b011a6a84d2f83436c77bd753e840,917.617 -0x12265aee5a614b37b4de1af1baf5e7e036ed747bbbe4c29430eb5d5f2abc100e,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x74d452179482b55e13d4382a7cb9fc74392b5e4b,30.297 -0xb5958fb5a2242127a9f5aef31a96dc27cb326a23e35cb5e62e6470deb6862f7a,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0065ecf82bd0cf4b0645fbdd271c790298a364ee,5.964 -0x81184cc688236aa9657a81ba611546e37cd903be54a2c20862a776eb7a42ee52,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c95f72c8e52f3df1ebfe156e7ce75c2121c8d1,9.176 -0xf1944101303738276d95352aa267f58fa2650e8372ed66914fba9f756297229e,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8c2a3dd76bbaff6c13be1d583b3c95aef9e773d,18.352 -0xc5a55c163aab43805c304868a3587f9c9549bd520192e6623ad19d12d8a5b2a6,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009e2144ec83c3caf492d6ad92cf33cb2cf3aa7c,2.752 -0x80af70aefa64136bb68fa95834528d9d50ce52176ca5936a6389bbed5c13dd4d,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x04d83431115cc45d7e1fb79b4d64b5669238b687,9.185 -0xb7903c70950473c9ace96d59bb658e077ae7a57b6deae01f2e08ad7a4611d144,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xecb3531beae3a8d1c0827a8ce461025835feb8fb,87.265 -0xa5164c13336caaa2e01735326188414b947b256d0978f2a27374ac4f1bcefe81,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x68f67e0a9c4a93ea99f820c1b4fb86dad5a27883,55.057 -0xa60d3db95679202136c1208cf12900f7beaaba77b73f5102e5ede9d9f9a2634b,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008481aa634a6d406c0ab9ba67ab019f68ec7d45,210.024 -0xacc21b5c677a8694116e39122365311956a6a461237cbea0d6def6e1755d6669,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xec77c48e880d46812d3e9c6fc5e4f8858f51d94c,156.912 -0x7ac71b20eb7188fd07a03b705f4258c5855995c994767b0df13e8cd295fe5acc,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1739e6e25e3da9107b7f60145dd2c8cbb76fc139,27.666 -0x58e3da3cf862f80cf4b124a1216722dad7206624a8d8745292b096524ca2b334,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2553a9aa6cdb203895a904e98f6d2437be0805ce,146.818 -0x98237bbf0551bd8ac8968a7c30691b96ae0e32b6104b1ac4d894311c5b39b165,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0099d229b3b989f3d7ad9778549a540058160fec,42.21 -0x0d81a9c9097f22f4704c1c6c5607d6a95983f6e3d09cd9339f5a1ce9ade038cf,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004f8b0da646a07903c9d2fdbd90579b142fe435,224.816 -0x8a0e79d117233cde388e2aedf3b480f95a3b48539b655f42ad5e1e11053492cc,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9edc6ba142d75e9662cdbdd2224773be20db4260,14.672 -0x71de602b8ff49439fb2d90dbd65e45f7fee2422882f675c374c52ba2ccae427b,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c5464af38cf465bee0a30d7ddccd900cc20ab9,917.617 -0xc72be37748900c1ad71dcd38967e26cba41b8ca2a16651ca8030f0fe2300f553,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c5de4fee9a3aa7722f7d285c6cffcabbc760ea,85.2 -0x509e406533cea79ec27be44162ff625c2ad8ba7c71345e4b6ad0daacf1cf5372,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1eb3162901545cb116b780f3456186b5d1396142,45.88 -0x24069d2794428795d271c6aecd73f0150594152346519421cf04e0059a042e96,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f7f7e96799de9750a394f3d6310eedd09c31fb,9.176 -0xe85d256f75cfc2220ef816a55628a40f2fc49108d9adcf0c01bc8cbcfe6a443a,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd067ee646a21d8904fe24a5d1047cce91b34bdc9,99.609 -0x0e1524245e8ad4dc378bcaa470090dfc884e3785fef7020cdddd6e5917de80e1,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x465fcb930bde0872602382aef73fc393a31d8122,917.617 -0x3b6c6682ea44de958d02e97e8082853057d8e0db40eebcf76da77a2401fe30bd,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b305edc645bc99c5264c16c8c9227762c59043,0.183 -0xe8251f5e4004503ba221c6e435ceb70f5abf9e955ec6f6b9548a9c5b6f40a180,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e2f4b428f4fcdc1a238a75b172a73c6fa788a1,7.34 -0xa9cafa6b25cf5c8c79ec920c8c34d8c561966460aa30026ae755baaa932a7ff5,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa48bda48cdcbdd257fa55b7b7985a1ba61d9e1f3,19.425 -0x1c95ca327114aee371b8e8da4a4a7e3f7f979a02f6519db26c8fc3680a166c61,4440616,1509126884,10/27/2017 5:54:44 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1cd65f74d01ecbe6a63f131c3bb140a0e0a90955,18.352 -0xc754965837155c344d816b557490bd318a164fbeb0e71ab592564c1943cf0eea,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002aa61c8653d63ed86aa91053285c5db6be2ef1,36.704 -0xb72eeb792251a50e51324c8413710024f98ba5ef61a1e3b84e55bba239fd0a11,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2b4294fc374566d487008f154cfb6701ae636196,262.667 -0x6d525f6eb34877be45dd12a9ae0977caba3558e36a227a5cb8d01ed775590ed9,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x320b5f61e5ce5f386149dd2f1f65019657724650,385.399 -0xc0ecc087733cd1b022dd5b6cee8796eec62e640804fad1b2a5bbf022adf83964,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf6f9eff7c30c41ddfc4cd9f78a5757cf3679ce7b,33.676 -0x330ddb1c6def1a48dda07a2e0de19f129d68e2cab01a1f56b8713f5e7715b450,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe64078aaf2bb01b7dca49d0257a43652f03813f7,36.704 -0x220f85a357382e03b17b5cceb1be7ca8fcea654389029b068358e534320b6db5,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd21d90b501c8f1a883642c9158b61c987753650d,91.761 -0x83702f43ab0f27fce13cdbd57bd24c2b75d52d7865cf9431231aa5c2397f8eb1,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a4c2cb3ef01a02eeb516c1adb1325e3bfde619,917.617 -0x2df55656494b4b7f0179e4233269484398470b106803ddd01d80f983756fd60c,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x319112568bec6af88d43c258f36d94319bf1ac23,15.783 -0x3ab50a9a75b0e5c444c5eafd33bb20d2e0a3fdfb66df7ede8b617f0358ce1a0e,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d7b4f68efe1aee99bc58f9a511f43738fe5b0d,8.992 -0x9ffb0769edea96095bcfbaceee5ec4a6ab6ad8d5cc67cf6bc4b9a3e8a5f2d5d5,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dfa25c63cf36b2049181a0038762839ba364a8,104.608 -0xca852ca6ca18256ea631988f03f236b3ade2e460504b4ff6389b45fd5854d030,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf57c911367700dc2b5d847ffb0849293ba5af025,5.092 -0x6ca44d1788ef762d0114a5c1211bc5ca41e29412eb6073cb9122dd71645d2d5e,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x275b51c1557dec3d252df5984bd2ce9e1f7429ad,9.478 -0x5de536e9994a265a42f2fce8e77dff6e26fc9fc11731fb5cf66f9fe4f404e762,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003bb46bab150b189a72adf721963e275453ddcc,27.528 -0xd97a214735eda111e100070fe37bcb6876ec5e8ba2ad706b3c08f26302a929f5,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe064b904dfb30bdd37886efb20bb328a6b5b4a6c,9.176 -0xe8cc1392295125da8d2ed2e9ca6dd3a0f80123920d796f5ec46cbcb4ce096e63,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001c75e0c290be78b48b440123a7b9c9950cb4dc,13.69 -0xe0da195d8d75582f8d5b8d434bd4c860eb131088d4719f8b320fcd4a7e2adb82,4440617,1509126887,10/27/2017 5:54:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005dcc47544933b9b69fd851d150394c011baa6d,275.285 -0x768477fae859b642a4ab1e1dbdaa627213ab23b439b9e6bf7910d4dcb0c3eb00,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d59dac3bcb670d0ed0c737ab8f2560ce0e564e,16.792 -0xd7e67dbac59dd4e32fda717ec82e082981e109dcca6854ca70f5d95975659fdf,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dcb926da7ff3bdd92ea659beea369ef286464e,190.13 -0xccb7ed93a33a4203695ca3aadf688ac9c892b165aff243eb03dbcfe638df5675,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001dfd1c89c8c18aacdfde2e1e30b11ec2d2dffe,1.835 -0xa8a1037f13c263183edd7512a5fee4219ea3a354c44c5ae17484fda703c6a61c,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa3907773de2b12033f7196b9517045a63315b4cd,45.88 -0xb4b91281ae46704ab8579e7cbfad91e6039ced3681b9f526a9d2ea348b726b0a,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c687a26242033da5caffa1ef62a293c930a3dc,45.88 -0x39abf4ccf7607b6c1ccb6821b13304495fb8902c04e28acfa2dad8d39e6e7bb7,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ca6719bc9fd490cea2f94f000a3a47a4a5a498,91.761 -0x0f1d1618181a789bafbc7d3a3292bed2a07769d4558e698c3cfab75387983b25,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x642a4f994bcbf6fea70c54ec416ed9de02f8e00c,18.352 -0x420f72d5323eaea05a8435d70de36f572dbee1c169f7660e1f06276917795b6c,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb55be9f54c6606717a0ae67942f3fb297df4e396,45.88 -0xd4b78b731a1840d5c9fa4510add89e6fa8cafb4306797e38d694dd1c7a1d67a5,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c8bb43bfcda8845d576effa7ee5c555e126b0e,2.936 -0x343ff7276c4c1c788d2b4837f7c327781fa508da45c86113dbd153cf17fa18a5,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd9103bb6b67a55a7fece2d1af62d457c2178946d,142.46 -0x86a38d5cdc15db230a87117db8d9bbf314985c540bf5567437277fb94deb39c1,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0007186e9b4a6d02ba04e7b7504173a64814387d,9.176 -0xa6ef9ecaad1769d15e22f0f6fe9c50c71cd5f5feb9f8de8afbe7949fab6bd03a,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x96cced3c89d0565c7075aad1b2b19c49f449af1c,64.233 -0xd86ae8b82e4288e208312191c38c7f396a19d68fb1fa5a479e49684bb5beb689,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc68bb853570f4d75a02e7f7c1a7bc179e62e830d,45.88 -0x8f1ebcc60aaa824354519e2175c1790a37a179dc1efa8d559536f3736e9aa1a4,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00998aaa8fe8444322729f9dc9f32b41cd006bbb,91.689 -0xeedc416fa678661b085ec30708de7912beacaa97451c1db6d662803c0bbd3ccb,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9c8050f5ff8d448a5f3ac9e092f45f5ebb9df9de,27.253 -0x6c393ffbd6f0f7a73afaeababa0685cad5ee61ec7b120bb60840e3b1a54f1ce7,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x98725bea9caf118e3e31a0fe480b887f81f45bd7,18.352 -0x393c7f63e1d0a2c402a36629f428760cd48cf76e8e23981b8b80fbf2c3daf281,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009276734775cde94eba0c4fdb98078db07d5fef,4.083 -0x4844c5e6b9adf7cb3843807e744fe7dab84200600d16b3cd60fb2d92051acd60,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcfcfb4fa0e64528b2c5c8c42e7d46118ae142d92,367.046 -0xfdb708fcbc0621bef76d6daf4fd6f8623725b9d605426fe85f6c9d0bee03121f,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006860119dc98195115d8bfd4011eea31214f028,9.405 -0x81ec54f6867d5322ac5f777ed7393fef5d666fc7e8d1a6bf56e198c1ed820888,4440618,1509126891,10/27/2017 5:54:51 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bfb8779a31e7ad4c1e4f852383bb1c6ad7dcd0,4.349 -0x97ac348fd3905717c41541e4015e515d11e61423986b097b76bfb11dd4528d5a,4440619,1509126947,10/27/2017 5:55:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcbbc5d06be48b9b1d90a8e787b4d42bc4a3b74a8,24.796 -0xfaf1052b11c9420ec2348d547952e1c6ef44b5051060c61f8f735e1fc7bcd6c8,4440620,1509126985,10/27/2017 5:56:25 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f9998f8570b0afdf090d930b702e430edf66f8,27.528 -0x46cb3e9fcf4ec88551c13d67ea2cccddbcfd2e5bf1c1ecf2e87f5c387c4c5ca6,4440620,1509126985,10/27/2017 5:56:25 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009325dfeed3f384e863c57455ac3d3c4809d210,9.928 -0xb0606c6936713ba43431a9d9e721100a3f520511a9ba3e4071679d53fd72a3ed,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087fd9f134dbd9d68a2a869f14d88c812a14051,8.809 -0x8aad42d7b4b3a44a2db58576d63f0a9d96b520e6abecedbba255a51aba45675d,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x02dee0b9caa39f4e16b63822eeb6de8dd68464ad,917.617 -0xab5f88f227a00ba3ccaf7bfbe9d6da0a156e4e59289b7958ad50296ef4ccf757,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000a0f7d5a3ba578fd3438cbccae3d3c722702c9,18.352 -0xbdbedf703ed46cc6e11e68b342447f3ca6ee53ca0dd8c10c9a76c2bc65b24eff,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x343f61f6d7393b93a6693b0114b8be1fec7fe9b5,9.359 -0x3ea8de3ffbaa72e99b01144207900dfaab7b66c981dad1477529aa9298599e5d,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00846460e32cf55cb7917297457d5f7ef697caf3,13.764 -0x89e8e515d12df992259ea4aabe7ad4ca71f300cbcbffb52fcc4e9245b19a9258,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00002f21194993a750972574e2d82ce8c95078a6,1.039 -0x487fb1da52dbd2adcf3f2ba63c286d36935b797f1accf850cd9c55a2b1311328,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe56be81797e2616b7d4c57c892dbecda35045fa1,669.86 -0x3fc12cc79e2ee98951795bd313cd83c2ce279c8ab117fe61c3551c858468cc3f,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeb0d43ba23028b7db38d8d6e2e2fdb56db9c0302,201.397 -0x560d522e109eb8ce880f9eb12527c75adfeb6604ba4f944e318ba2232f06d4c6,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001e14757da7169f07fe225c2afad22e69eb93cb,18.352 -0x76c568afd56b958696866f35a56cc339421cadcfcede7ce6720aee2b3a35c716,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4fa4a8ce59764fbc5166bfe260c1aa4eaee8023a,3.762 -0x933a69004abcfe05dfb31e531b88ace24ea0dc17767ffadc57d699935186a7fb,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8c2c0007f4f50045241bf96aa1934b0dda2528d,91.761 -0x66d6e44733f4af953ab264d43a7c426e87ae570d5009243f55298ba57ebf68a5,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008211ed672526f479a537039766a8d8daf809f7,183.523 -0x18f8e280e17040eb937a765269095d6ee76de0e41daaec17e0e15af91370127d,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005ea02626ac9c77dad4f5b7601d99c54e112157,91.761 -0xa893deed9281747c601d392cbe7d3a44e92edbd7fce4168db707d8ec7f3a38ca,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb1655ab727bc613b0cfbbfd2a8222a17955ed0cb,319.239 -0x5be05772ab33c74c2aa3361957e85b069b9a102ee49bd4ef5dbc1b729dbfe791,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xff0447aac61f107abc8872248ceb6a04522f54a3,3.084 -0x79b2e008cd560500a05f039719c05aa7a8badef2e00729c30b1fdb3d87ceb2cd,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e7551eed3542006fb6ce1487e3330f44f6db0f,10.093 -0x49b77d620e08fb98943f9174274b431ddfd205c23dad42f7436a271266c7f52f,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0077f609a73630a90fdd05e6edb7ab0c99bf71f8,4.588 -0xa910ff640f7a60d1dec1e2e805f6e4806257f267b978ad1467ee0591e314b172,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ed2c3880ccde98d3366d536feb1d71b7f04b74,55.057 -0x97ab1bfd9fb5f6e50971d58b563dacb622ecb1c02e44793d3df5ffbd5784a497,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e17abe40cddfc8a2d2ed13eea958eb0030c0db,1.743 -0xe1ea8720ce51025bf1a01d9f3aee537cdd711974a4dbb1b7bb37061e535763c0,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe45ee0163ddfc1fe2780064ffbb0d0dc2999f873,27.686 -0xb3fe5a47771b5b7e1431a9659c96c86e74ecc49c6d4e731fc71602e134c52a64,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0009e426649bbf47ae1816b30bce4d4bb3977259,4.037 -0x33a4cc38d579bbdd6ee281c0dad53038d1484bec931d613427e6eb0037a9bf68,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00710a76cb9637a974616f5f9295470eb4abcce9,18.535 -0xb3c6f9058f857ca120446790f465db3e1591af1363a9ea77af07a47c059baaa8,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3fe5d6a2d1caba760006007687adca8661a252f4,596.451 -0x73ca76ce04c064aa279a75634e90e3f10fd84a6ddb8b341ff8ab990a52d813b0,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x25e710cb23477bcc48cb54d6a329d35cb6a79d67,44.963 -0xb1809c65313d48fac05422831dd44d8cac5038098c9dbda4c1fb735cf657e37e,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa71944087a4242e157bb28a8a1b110274228ea5,45.88 -0xafd1a778fad4bfa48e148ddfd2e9897686126e25a6ded6b4b87b632cc28ea8b7,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x46822990c0b2d37f6e4de46d6201e4cee5ec6117,309.971 -0x8b2a8bd8277e363714da615bf64cdd30bc4d6fb1d69d427d673a3ca33047c5c3,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e1738f0a09511622e06dfede9ec64201bd394e,412.927 -0x1fb0927fcdf4fad31bdd2d439c945338ed507ebc81f9a14e36f6b46af87afdef,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x75b5e23bdb919c8c798db9366cc447a6984f798d,7410.402 -0x3eb242d9dbe8e7f80cd15b62d3a92c1017a73c28bd710583a8b48f76753d57e8,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbc49098d1f282e8d10fc8ec1f27e119fa45f8498,45.88 -0x8e247423a7cfee89d3e30f41953470b10849c9550cec96208a821ada451d2645,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2ecb3d65993040d26944b347119eefa31f7bf3b4,45.88 -0x8d542de03e123b28ebe98f4b6b2509fc4b27beed9527c3a14bd16d2c8494ea4c,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x76c1e740aa7f9685923e23e884fb23361f008111,36.704 -0x3e30b4ee8d8b0441d4a963e9cef16b3fb05e8d6eacba6200c45f7fd1e073821e,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x884748c1ba66a37845abd3cc3bee1621cff23241,9.176 -0xd602e8327978fb0726c51b3196602404983b07fb470b7fbdf3b71807aa4ad008,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009715b79dcb53d3fff43ed82c11b2cef7088730,13.773 -0x2eb05673961af9af1a18b96b15c4be4b09d945634ce54f8303dc55ed65618f4f,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b16993a0b0cebca447009fd302c7d085f4a3f3,45.88 -0xe11433cd38c5e53bf6e342f7b866a1f99972090e39e893420672db41de6503d4,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00daac3d76e6a2e0bda10600e5a6b0e044ea2117,184.441 -0xc7e090f93110330317c2f72bb4d2be1495aaef749682ed9dc38814c5708f4b3b,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bf1c98cd754206368af6e2c36e0661454adb11,458.808 -0x775b94012ab0c814430f8261690f6f27fa907ed8ac766bf7bed3ac41ef5482b4,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8ce6c2909b2bbe2f6a5bb8df2f37568668d22663,18.352 -0x31abde92046b74a7ca263396874317f4aadae963c10d245c8c378dbcc93c04f4,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0007265d4ce76f580ccf575ef78d9f63181eaec4,205.888 -0xcb21b8e4a2d1c42e81fa05d94a0e16517af4664f996bc27ce0b87b4665a2e6c0,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006e724fce558be730b5ebf7f1d4da69b8d72daf,10.093 -0x62b271a62b952cd33f741f5fb1f24c4401daef0d4133261add11b13054731dbe,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009fe4c8eda6664669ee264c1db5f831d4af2f5f,5.551 -0xd344b065c86a0847fb8c9d68522f91439aacd5376f78d841b4b635cd0009e799,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd84372f8b7fefa198c90e3ec77d5b062e0467b32,47.716 -0xf52cc7c9be8e91148170559fe0cb8dd0e6641c484e16e4dcd8fe989a2cc8dd16,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6ebd92abd194f0cd6ffd845b0f7c81bc9b11ab1d,73.409 -0x1697c9a2cf044d6bc143cb9cfb8b528923e940efa6f7f04b72c879081eb51ad5,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x09f8eb817bed2df18ed680c9c310b9ea75c2a488,45.88 -0xe9f15e004eed1a0e469cdada6fcde5b1bbc08d1aefa2d39f6fb2d7e40ce72d65,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6c068858140829f7fddd7907bca518e6b97c7274,33.125 -0x2db3051dc529967b8745393cbc6356e5a9b85b4b234681b569f7b4981269348b,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2fbd318ce7d1b4399d68fdd3561921b1b6fb1d80,18.352 -0x46684426a0cc5456c33af5704519a76e2b7a4c97f58117d8e76d0919f76fb3d9,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eaa3371c03ec84b98706abf06bfca8b85956bd,449.632 -0x40b92ee6882501ab1a74e3f13311acdec06493ac1367abd08c9b1b7b9a77ce46,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x54368965237a390978643cced184c6ec51d0ffed,12.571 -0xa0022fc47c0f5adc1207fa8e9c5df169ced08992be226eb6bdeafb62469c0301,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa95e38a8dc50337aed200378a46bfd23d33232f5,36.704 -0x981b9a5eb9bb2ef9fb9288b4b18472ecf9df4d5baadcbba073071fad046a9612,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x08d2502ef55264180f07970bd2fe83bc206f0715,27.666 -0x1cf8b29f0d00e7196c9ba61701f1f8e9094803f616212673d1c67438127d5423,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00edf9881b2295cd5f87e43d57ac2707bef7f2c0,9.176 -0xf16fba196efea7424d4b0b33dc8e69bd8e1850c9bdc2ff24e6879b6594c021dd,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1cda53cdae34c5c3b2c62e35bdd1db577e56d3a5,9.726 -0x0d5bdf8a2659281c9aeff6e5fb49b3fa1d3de8cf6113174d02abd3cc4c09118d,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x56fa0858580a1f355ef357c2b909915f72c4b626,22.94 -0xddbd270871f8a2e2c95159258d16cc262d4f42d2a9bc7c69e8019f7f2d434c8f,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x57f0c073f9954b81dd7de5d4b33cbcea46500d8d,9.176 -0x1653084d0c3169a3ac5fa3917a926dbe8982e0b4e9a55fb3b96f28b9dd03e3b6,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001ca8b01a535b2f6d01d9f361f86dc495bdb21d,449.632 -0xb48832b6003298a6d2797bbc9be4f2143013f05a89c17e967c30d43a38ae0cf9,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x92fb25e8d9fa70512c5709c401274d1e6a441f6d,149.801 -0x9783b522126e8f9fbf1c7faeb244c3dee86de3c9900e9679a3c41fbc5cd249e6,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009bae8840cb3906de25e5f8b9e89ee6cf7eaa43,4.588 -0xcd538c6135e1eab42cf3b592bf136fe108536feb62713b611cb9dc23386013c2,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4b11f86a69ed65e8e2266d936c55dc66f43da055,9.176 -0x2570ee95fd57b86cb87e2776a2bb40bad126f19f3ea8bce2592fb2263fad162b,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d849681da9673b51535230397b2aad3e68f7d49,27.528 -0x3260188de66eb011362412b8d1dd351b2b892bf8dd0cb55f6c5285e571e924fa,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00508808bce4e1d3d170cc4cedf616e759522144,2.02 -0x26e844910b066bb1355fb5833093806a13afe2a4eabd320779fee4027c5cde38,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d5a35d09bd00dd0d73928aa1d67c266bfd6273a,55.057 -0x99be30dd72d4470101bb11dd5cf3f74958aa4e42ce4f38550e0b89e2ca3effdb,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe09f6bbacf54dcddfc5277a0355f2dcfe657c2d0,18.352 -0xbc8160dce86cb8a50b962e268b6dd37f2b47fea7410417b5eb8b3784f8102260,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x035e77f52292994008eeac5689f59457998f4f05,183.138 -0xd115818bcee9004dda14b682d4dd96dbc3d06eff85f0a2c764c82efc95874ffc,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbf2d514689fad1121753850b85496743cb6ba7df,32.116 -0xab87912f50a3cbf5ba482e2e78fe6b8714b0fb608748b5fca114fe0400def2ca,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3b8f1babf9c1a911eefd093089acb1a47b7c4fb2,18.352 -0x20c859a24c667115562ab5e3c515c86a03f3fbb7a8a35f9171507dc793eef89e,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x07ff3463620606e7483f074c44fc25c32383bc79,137.642 -0x87001574618c58890ed1f0484c57ea940d8722f87814383f47433e76a29699bd,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b004efb56cdd4fb9bc79132f2fd60902c28142,5.322 -0x82bd51c23a818f66d10774ff2b8a4efb6790fce868eaa0734bb371a1ea5a53b9,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x62a98395a16d0050d55a4c575daf1048bc9cb023,36.213 -0x002b6e9e353fbf44e4493da97aa88678bd052b897902590fd77766cdb5b30217,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x231e4177e2d79bcffb4dd1d0e9b6cfa31f1acd98,31.198 -0xcf9c4bbed9c442493763269da6a123626c89294ce20a765d98106f4e7e921a14,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x15010e04d91ca1a9374a0cda2902039d362fbedd,612.05 -0xb0a10f97c9dad948f28f1ed65aeff8f9c2f4a4b378e7a2266148451dedb7e945,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x38f438c88c8c43562c4ceb3c0d7b24e11c03b708,11.057 -0xd463d0e8c7f8840af1bfa85eeab8a87e5b06e9657218168319df8f2aafffe06d,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004deef731d0998523980400c6be915b827d4a17,5.725 -0xd0ff94cff7c06785ede420ff9902456eaa3d995b4ca18240171bb931c1072c53,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x27c6574264011276bb58654e48973380d5c20717,91.761 -0x629b53d4cb75ca9706b1801309c780d3f6eeab156f72e331937d691128068ef6,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007ceccc832e7d85b6e02859a60ef100bfb4a2b0,55.057 -0x848fb4d76225a2240bcd118aff477dc987827218dd16cbdb0c96f62c18a14da0,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c44438ca119cb3f91dee8f514f435f2d88c338f,93.046 -0xe18dc17a33bf021171bb17d5fac8bd5e93bcdf42d4d5c1dc1785a57d68d87dad,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008bd7c09ec961aac1fffb733e6f7615ba6990b7,0.091 -0x75605f50223ccac5e2739d7d17d36c3d7c5b52a291396ce51260375ebc256977,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006cb4d719cad2ba7ac9cae5520378b76fcbaf1a,9.864 -0x433918de887e88173dfe71f192dd85e6733e652d21b43c805af64d32fba1f73f,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9cb6247bf9e22da514b1b32acae28c560c73d848,9.543 -0x3be5b51415e629c4166df9bd75be21598bbd4062691b21358b3ba3079ed30d63,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xef710bfee1c6e6ded8ecbbfb8449e782a809376b,18.352 -0x7b5097ec55f90f82f75c2e253c7e3284feee87bab1c3b958616ec61c8aba5c16,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe51231daa306acf16eac34a864564ca36b262a1f,9.176 -0xa4da96ad0cb57721d0042411a27819c850613afdcee8471bda64458d3fe2f8d2,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002bd178dc5ec5ae344d367d4a97281f63736d7b,500.239 -0x87a26801ca8e9b79766e5f496d862347ccc6ca49fbfcd8946a673c9b6814075d,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x414f19cf5dbf026f6e069532c8c220b82239c652,70.897 -0xce32a7d77f10e57621d65f792fbc5574b69013d8f87c56819bf47ee567043c59,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cf211b9f0fb04dfa9f7717ac2d614226bd1873,123.373 -0xeb0191460fb5388cfb4f9976250f821af297cc26a1088788bfa205daeb5dd410,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7038e2b36b1117c7c9ac36c511c1965bc14b2062,183.523 -0x433773aee446be3d10bfd59d65eea0744acf51c819e49b5ab94e818f6104154a,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001ed2471e25c381b3c24895fceb399dbb4f319d,40.833 -0x4db31eb9093c507eb44d2cb8848901102f044b5920d904b3413d7e084ec6ed36,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00410f38e2ab3f96a8303558ec4b470ad81dd10f,9176.173 -0x20f6a6cd32f0ce0f24a05ca416d011e2f24a3580c46cc09c836db6adb649b516,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000e1841bd5780f77ebee2dd24a19cc47e1e47b2,36.486 -0x614458154d036645fc16e999564814427d2533566fdd1d7ec6bd2eddc9ee41c2,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00961f206d72118bcbb9685c1f642682c11902bd,183.523 -0x4e222608f3de6e7a8000d0aaf9a536ddca41b8570d12f46987d34d1368e0c20f,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0027be158b9f1dc432577577d225f0520c309696,4.483 -0xaed064ea590fd35f621a20b1b43c02045d72083d9f0eab846f60879c7dfc136d,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aa4c31db8fcf894fcc3499b2ebcf3e4eeb8842,9.176 -0x1e0e8d937f6cf7c9a1291d27d2d3ed7648ca047b393ce0bd1d77e57ccfde6184,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00936a6c0bd3a0110725442f1e0887d5ad459160,72.95 -0x321343a78d2581820b0acfdabf29b4dbcb533b75d23b16840a3e64cd99764f01,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd8094382e17e1d0c9393bf84d2fa671d57a71a05,45.88 -0xb25d70d346b3ed457ddca215c04bc543df00765271282a70c68ea08338b49b74,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc4bf46544793204b9ab9b0d276c7416b86378115,137.642 -0x0bc656eaaa7b5f8b55c836f26d22b25558d40f5ce17be0e6ad5a995b5db0f9ff,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc09c648b43dacc11c63f053c95beed79c3e7fb31,35.443 -0x3ad8b7e598c2402980b37b7de5bd54d77847f0ab60c17ce9860bbb6b93277f1b,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006e6907ba032a02644f7289d5a2e5b6f3e41a49,321.166 -0x4f0d1cbcdd3b3cdec040f016cd3c0bcc39e0d1aff1fcb1db9b2ec49d3614d1e4,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f0f772504eca495a1e9bc3b8a1cec2b639c9df,316.577 -0x445b34fc3460926c186d3667455a8e235d0d4a08e5a2ae9bbdf07e4ed2ffe954,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0086eb4edda94678c1d7894533072af28e6b0faa,0.917 -0x4b5b8c33f2f504b1b3cf5b6289a6541cbbacdafd6f6b1ac951d975f9f06c542c,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x012d78b8ae3effb27d1a177cb14b2776562aa192,4.588 -0xbf6c6dfc927bff916c63c2ee619f5461adb4d0321f4e25b73b876579fc98e320,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa5fbfcddc1a8cc93b95498880951526ee7314a5,28.904 -0xfd0b46844afb6040d8cadc16d4de61d2d4fb20cb760c00a60b198aaf41f3cce3,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005ff4500730a6a2a32b6add8c27abf2803b3bf0,91.761 -0x0d1d04a79bf3c16462c54a4fd88b872c41dee437a2e236300f97769f2003bc67,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x64cea862ccb0395f7b0f2ad5bc63b0f299a56637,27.666 -0x598b32d9d227e50e9c979d1c9256690d81a5d6b60a330b1645bbd1a959e312ed,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe204f47c00bf581d3673b194ac2b1d29950d6ad3,91.761 -0x7cbee6039ed138927893ae6601aedd2f87dbde94d42dcfe0d2a4a6c09d2c47fc,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb8441ea3b1d64620b1b83a902a7b711c2066447c,1495.844 -0xe7ef6216f49bab6bbd07d578feff60e293dcb36e35e214d752e09fc7438e1812,4440621,1509126990,10/27/2017 5:56:30 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x75485be7dc5d7e1218052accd222e75d4484df1c,61.939 -0x25a582f5df6a93110b43460084de42ba6b1c3d1ac882559eef6562e83db1e059,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa640c639421c815ad2e40be3ed98ff0eb0e446b4,93.092 -0xd009a782e70931251d302c2579694ac0f8e25a5695bd7b3c5e70cd0e5983ccca,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c44151439965c709f7d79ceebaeda5bc5fba9ca,38.549 -0xa71989e58902a2f7d68aa4485485eba2ac1f180ccc85669849f2e043ccf2c608,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe79ea613690def3083ecc0d55b223e7711369c72,91.761 -0xd652feb320e9eff4444e8036ba4e4653350421d4379290b5115d99ae6521ea5b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdd86986ba67b4a1a8e7be4833dde2c09243333d7,2.11 -0xc7d331b681de8bcba818db7638c1debaa6988cd39c2531745424438efde6ec86,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x230647d9f4ec617a62a6685058aff69d729a5dcf,1.376 -0x2ac074e489632ed08ad300fb77f4b442d9c47df3e808b5af58b1edbae9ccecfb,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000d31e57b61e464c0241eeb74d9e6ef8f9ebe09,12.571 -0xf26ec34abc7f8a549eac1316ad63d3dcccd0ae5a9bd643c23da827845ce0dfc0,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000b6274e5e9464df801fcfd8a9fed607086fbb8,2743.721 -0x24ba07b73cee2363ee2f369e4bd94fa5eb81dfd0a56cabefc9cae8183cc74cd5,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x65570b90b7887a0ceb57f7604da311e84663a290,2.477 -0x433ea555121d6dac4ebae96a396ab38dd0fb37a9d1272ae6a2e5efec86efdbfe,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b31f557d9e0b8ebe6f6fa65d6bb6e8d774c794,91.761 -0xdeba9027cdcd08a8921a8a61d0ce65f16a05b044a361f2f10d803457d372d9c4,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c908d506ddb0c9a41766b3f54f2ef592c50fbb5,10.002 -0x4b39b2d525a14924f6176293225f367fed4037e71f7e51947feedab4e7247ec7,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00484a2fe88db28bad5aeacf9aad06c476542d92,91.761 -0x37563907a6e47b94f7a1da7c26001c44f28eef1eb9b7500ce384504509578a78,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x269f2df75c2f22db96592cad6ad5ce58bb85472b,55.102 -0x7f4fe0c5d298a6b0566ea78b678a1d07cb5619bfc5066aabbdff9ab30f1d4cc2,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1e9ad7f04d507c0cad58e5abfd5a55dab4d3b19a,11.497 -0xc35983242d9a138c6a4465e06523cb5aac014b88489afbc978cd7b2a0a7af617,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x93f4c3085d088c79aa83a9e60ebaa245e8c3425b,18.352 -0x6b1685c2b4e76a0889fd773f5f05f9a7c21fd584f3419b8e2797ad06098fc1f0,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x28ddb52172f1e4b268415b84edc45316bea434d5,27.528 -0x417107ad2fbc113aeb371133553b70dd7e6b58de5809f7e101b04937f2731bf6,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1d483bb4ab67995d0689ddb9104df604cc04178,2.752 -0x82af88739388449b9616519c1b00c79ddd6f8dfdb1554f7326ac59fd199b4413,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcdbe5c54d75ea03526b2241a1d79329805ac23bf,23.858 -0xeca712de637703584fb915d59e8bff3e933b33892027ac888e49308b171140d8,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087e1ad6809711d463c993d6d4396ef57423883,9.176 -0x19f780b946f2b3455ab76202d961308ecd4e30291f1e5ef4cdb13b7f43341a44,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x759e87db3f90e6dadd412213aa32140a8cf26ba1,13.764 -0xcce37eea1dd7b350b22bb868638cdfc221c4c2c0b8f8a1e93acb9ed2d65bab16,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ed69230ff6fdc2362113979ad08500065c83f31,29.455 -0x5aa82afa8f018d716f855d0e225abe9424f7c769bea3febf39e191e45f4d6472,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0055e4b4e56e60aed3224764a6479e704e2cb236,137.046 -0x483dae6f35cd688aa2aab4b200476acfc615b965c19b3440d889390bea46e848,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00860b441b1ae0c0641409e5863e1a5f3a28a651,9.222 -0xeca7ce5bea7bf79828b637a761a7b8e3139c95a6589dd382e1c98ba9e10a893a,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d0e8e4ab292f43b95ab94c1014d22abc9adffd,8.717 -0xb714a67d1e42e64e95ab6cf17ea665b270a68de88c3afab9b25670363e66049b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b1c20535f3fc208f2b320157b65ea09e960496,9.176 -0x12115af952b4df4b662093d8892dd428d70301e555b6e232932c1438cda8c7a9,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002a66b507752653dd0468eac677ce6063b58701,139.477 -0x8aec35f39f445d02c42e33a179fe2c19799491f63f00564302dd9ae28e873b32,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x960cbcac0d20353c14c5a4392af3b80b3f962eef,55.011 -0x13cbbc1700fa458529e5fae6bf46fc334bd7a4673240ff8ae0339be993d3b547,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bf8ef866b3d8139c982961f6850fadc17f1d48,137.642 -0x2e441fe5e260eb2d116a52cf46ca84d6eb7f736c4142acb41c411a5515ae9c10,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a53e3fea0109124613c5ba34c1bb2a9dbec3d7,917.617 -0x6408a308a003a93b0ba21a4d5cf1a96181d4e835e5bb511b1cec7df7c1d9e494,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003b382fd41c33964be3e159799e8539c0b78159,2018.758 -0xc3c1010ae4d1de9629171e0edf974c3b1262204c66bc8bae0af5b5bf8c73b0f6,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00106ef113a8cb3c3a233553c4ce69ea14d88524,550.57 -0x958db0f8d85047f2d086d951a55e19ec3a74e7d76a11f8e9a4d9c326e84d98a8,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bc41f12063661d86d9df79c28c9a360782b478,220.228 -0xa99cfe76c64b56b6282348b87aa23c6d371f1d5bd33cecc01703d4e6772fedce,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c49b7d15f4b1fc5beded08a2d77d7d57373f3d,275.285 -0x1187e6509a1b2791e6fb0eff22e4ef1816c5f68a87864014916280d971fe3367,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x98d13c1d3fb4621065d79a06a17a0621daa314ee,36.704 -0x510298ee752ff8a1ae90bdbb7d17a5d01e3a46fa6cc21664893554b621df7072,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x121231fa85c0453947732b1e902dfafa04c71563,9.176 -0xc8d3d5c3542e71be6c81cf4c5acc73f800d3f42b7ea48af26cde452fd53b359e,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3ce8a5f25554d7c733169f3b682eb3458b67472f,1376.471 -0xa39703e0384ef34515cc93c00e3cc35f88923197bb7411567e636a4a574c2756,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d7541983658ca17367c10e4ad6553103b3a719,91.761 -0xf047c7090c3d5267f62d45a0046f107ec7157427f3559941dd0b41560b8760f5,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd40c1e3c54b1a2443b533b14505b267c1329a25d,183.569 -0xcf956ba2d59a0065d3623b308a7f7ab19c24584b91d7ff65fcbb0031992b40c3,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x287bb445456ee7a2ea62c0a8c0de60d6eb41bf3a,26.514 -0x5aaa1a0ee8fb8e8cccd335500e7a1f6b616fbbf099438d0f2559c60152fa0558,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0f2dbb3e34ed1d44c56caa450a65199ce15165e3,119.29 -0x95789cc9f546edcb237c459c59a58a195346cdff6d6ead7c3ab3ac7fab004d7b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0006c9e7bec9d239b8b08a48c3c4a0ac7dfca848,18.352 -0xbf3918ede2312d61f2b6c21ff30f1ec6bf7850aca2119d495d724614bebe88eb,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c316f08646011244eb99228d384661e77ca480,45.663 -0x6e8d5f70f0248fb73127cffa2ea559b1819ac732a83f050557e13709ad9d8c3f,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1f9aa698b3781ea29878036773a0df87f5325d98,55.057 -0xf72151f64fc3bb8aa95f57afce8cad0a5e48f0d5b04d2dcffd67af8bf71f2955,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbd408cbacbae6abf32dbca24ba4400709bcca948,637.078 -0xb8f233688aa7cc872e0511966226881ad45cefb45f76d543dba9225fadbce8cb,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0044b3d793d4cbf50f0973e2c8d62ca3bdcbb38d,381.637 -0x26a4b45de54d0790f0cbd49a5ded330175a5e594de6f18562bdf9b26c2875d8e,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f721bc7693c0742843d9d5180715178b81f90f,15.507 -0x3fdf8f4e57aac92a42ac8a1f044b3dbd205ccff71ab35b2791378911054c1fa8,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0062b58537fc07796be0571257f39a591efe3cb1,679.036 -0xcf4b6109c66fbaa8e64fb2787e9880701939cb331133382681a152d7ca240a17,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x56b8729ffcc28c4bb5718c94261543477a4eb4e5,91.761 -0xd8d9544d69a5e4250bb3f8427212820e299dedb52e12620135bbc84a18e064f6,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xec705b0199b23563c3a3a9b5599aa1747af42eee,18.352 -0x32a1c0adac140ec59b7228eb53d1a7cd6157c632123800bfa9a9e96930a9a7bd,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf74310dfdbde986ba9bde96a472efff97e2234a7,45.926 -0xf5f0dc9afb1c26e4f1c64f1fd43a324d89128ef3d3dc92d9176601c178912b0a,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeb0718ce75762eeba4570943d5b2de2afb9085b6,321.019 -0x38aebb3f6254e58d5d2509e136f5fa5af5dccd0a7f153355c156e437e819a5d1,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00850453ab4667fbce4688912e43f1ded185f847,36.704 -0x36967d55e29741538dba9e5852dc6e875b5730d96d46d457dd89a308e50cbfba,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bd5f99e04c74736c9af2996d0b15c3f8165207,100.752 -0xe2e18fb28aba45b3a412928e401359451dc18208dea355923bdc88c5a66dd65f,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdac2f0e3d8c2bec6c5f11f6f5e99adb3e9f3b6ae,9.176 -0x152fb28d2ab145e37f720f2eac20ac30fc3e720881687fd4a0971b466705fda9,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe5e500d5c726fe768ca583c996e244d0d809a1c9,4843.184 -0xee042481edfe0851f419a3f6dc9dae92dc0652be385a6b4b49b27fdf8524f38b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x77c56ecfc21bf4bc66adae4898224b07a81b4efa,41.384 -0xd1b4a0604eb9be25ee71623e31ce2d5602b52c9458fac5d2e2a4c32d9a3ddd74,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfcd8d9d843b3a5558a914eb74b0ee05e7da49f59,36.796 -0x69c70d901950f3f0e93f112437f0474a043f43217e77cd4f97e2fe0db2274dd5,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b065022613dc0585e7b5536173fbe028eb6c00,27.528 -0xb4f44a65d87fdf307d3c902177b86f54ea43cbcdb00359adc1900d25e445c582,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1213c5f7d2cfc86eb87f0bc54e0418009ac46f99,55.057 -0x6e086db1dd23dbf0e96afde654011a8d95b7804d7c95fde18f74e31cfbcd1eac,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1e825b93af6a21bc084f8f21d59398daeaf2ecd1,13.81 -0x15367201c59947e0a6f346b2e058975a4b015b07e896205a18c5c0f7d0a2db8b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa33674bcbdcbdf860db590db177e3ca258795121,9.176 -0x1f3e0e54e29762d6962b67c4e97780b7dfc1d5e3ae9eea57d5b35420ec30d6b8,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5852b57c0d039fda16a6c948d2689b402526497d,6.625 -0x31c4549b8bd33ba27b9a67f444e3f74f96757039ae5eafc74954ffcb87d180e3,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x40f264c803b913ce7769ab4319b371b95a072103,458.808 -0xded4d273ac564a9bec09d93279cc9cff49c3ce8295fa20ec0f2669749da8e327,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x12ecdad9268108d4cdb6c21da81e447ab12ad84d,18.352 -0x8e92363652e632c5ab8d0c3e4746aefdd9a12144b5f25d87250e92a577db9056,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a7c2054d39cb60856cf2180be68ce2265eaffe7,183.523 -0x42ecbb0cfbf10f2c4e48cc4c4367fc953d984273d70cbad889b7ebee57812433,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3be088b61fe7972ccefd39298656ef9b147e06b9,27.528 -0xe13960872b427e6d5b036d92ee2eb92cb401c060236cb4fbca4c4236c3fb6821,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x599ad3f92f76e859f7b7a87dbe3aacb81e54c6e6,917.617 -0x283b3de4635ba6f6e29ddd005b43a98f742a848a2b2488fa3aebfa73e7fe60c7,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf8f3088978f60f5a6c1992b1b3ada0f228cf47ac,320.353 -0x807de3fe9451e6107c6ac992f73dd3040ef5ca67fcfd2406a446695557ec34f9,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3257722a739a71c5bd42d8818a17faa4179385e5,9.084 -0x403387c033ac6290c5c5b1e59a303d7675a595a10a25933c5328ddd5abfb87ce,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb2da6e051604740d95273c51180219056d3e70c,183.523 -0x116e17a27fe76419349ba9539909ec1a80937f98996fc333c94eed5ba519524d,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1f77687df949341a0fd8f69a3b557a26e13efc8f,1835.234 -0x9f59311a04eb17b8830667cd95676ba11db768bfb003d6791327fc99b9d964f8,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2586319850defd14dbfa93fe588780fdea0d4336,2.752 -0x4bea53508fedb1342a492c791d3d28b4b9b60c1bc86803a1b52476544480be6c,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc6b58e5a157b1d1aee043e50be138b60bb41c478,0.55 -0xb20aa2340a53c7d3ad83fcaeb06ff549e740ef1a7b99770904b5ba1e8998cda9,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x20af7b38515f4fcb71c988625bc3c35d510ba7b3,18.352 -0x952743ba1dc30a260615b2a77d8ba20f97e8ce543af7844d6d5bf542fa9f1ecc,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa49b7c571e40e73be0122d9256016ebc704a38c4,18.352 -0x41e1df364637243ac145a581cbdc0a262da6e844532dbf1826bc8ac75b05928d,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6a4bab3ab426b32a90c353ae450a1d9712d67d64,294.555 -0x237aee6dd6e7116223055316748afafcfb5ab332cd656017f1b398fa91d62f3b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00470a170ba243e44eda167e15063b4a96f25aaf,2752.851 -0xef022873f20769e2fd76f13b767900c36f1eb274773224e8709898ede3d7d9f4,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009b6f347d957e1374610319d75d49348c54251c,165.216 -0x3bba8f67545374b03ae04a700d2d9b4a997e25ede1870f79b11a0d6ef1e4fc67,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xae3e8a291096b596d36cd4f6fcb3edcbaf50e673,36.75 -0xdab3482fe7d6d84b7dadaf4f4a543ea429622ba47dd2bf46b2983d3787816c9d,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087814a753208557c3fad394d80348307326fac,27.574 -0x5c282538d6621b30d33faf5b082880b8feb3499a5fcdad6cfabe884ab824a471,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003d69a4460b62a962d7dc8f5cf77db217998d25,9.176 -0x7252d22a428abd336b7bf505fd80ffc4472aa0e4cc105d38cc0e7f52cac83af4,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe5027fdd10e5041c66a7e580c605258bd92b84de,106.351 -0x5bc674faeca073392708e76139e4c1a3214620a9af04da9daf641fef7ab97f99,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6064d1a20e529ea15b06551e1690c8f50342edf2,210.134 -0x9fb227ab2fb2e7bc40527c27715278b122e9be15ef5a574577628d22e04efaeb,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00599a3e41a80ed4b6dc948a52fb52bba05ef887,91.669 -0xc8edc12771147092d4e18860d0dbae2cebaf13fdf70fc7a815a07fbd4d929050,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5e5766ead1ece2e47e415f74fcd2d2aebf46e87a,134.018 -0x9b2b1b45076684c914297fcb5bbbec2111caa97ea3a60fce3f240b6d6771821b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc5ce26469794d196f16f4b83422bdae40f610dd8,91.761 -0x7d4858e8086a18aaf33d001d5b1163e76d0f997b77a2e9219be853e67513796b,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0030122b94e0e0c56a5b04feb3ec224244a5b18c,91.761 -0xd5b07e36efa98e5c651fecabdc94f5d79f5553a6297e04ea761903f4db89c0e4,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd1ae1c475ef49e628bfa5e4e09e52fae00d6b66b,58.347 -0x0a3bd455c29d34253f47a7fb022c15755b39424ec0d3d4184016d77ac684fe8a,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6c11fa9f82689aa0d4d41f2ed3e3a80932707b46,28.275 -0x1dc00022747f3829bae59b2ed9aa2efc0a306ab08b59045969bf4a1a01cfa7cf,4440622,1509126999,10/27/2017 5:56:39 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ef5b46a23ae74f4c079306fb11198d526b28b3,284.461 -0x8d578e0e610ae33d2fdbe04582d831ca4bf1d9a06ff00dfe95590a4d4f20829c,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0038aa4c51581fb226d7a515c038de9796f41fff,458.808 -0x475bc5a9d8fd26fc68efba543541c5341d87ce4612de0cf6c4d20089f54105ed,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1098afe502a221d6d6687077daee2b5692faa9e5,23.399 -0x3bdcb0be7aa9929fdfbdceb056f10f94e1aa06e890cf6331103d4ab3ac66256e,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003f12ba2e37d864732ce8b000270b05fdb2a893,76.162 -0x8421908be1033a1b9d1d510b0d8a0de365fd6491ba053445ab69ca2306042d38,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5dd5aa7a9b90b8ca0e608cfa2022281854490dcb,183.523 -0x34f71e674d7247f9cf598b3d95956a24bdcb11b91160a4428e193bf4f3315c30,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b1a22d149fbe630c3f18a01bd593618e1e2fdd,31.153 -0x807fc127b4f57eb10f4d2b8ca6e8a92e27f55d803dc748cc2e5be8267bc9c5fd,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb1190e1c02cc7db63072609b9da9dae5557f478a,27.528 -0x3ef60f71cdf80a4019e38a2254b9ed16115b6a58736180752305c80eb68a1781,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc963b8f2ca98eab214ba907e8b1fefc8f291fb09,64.233 -0xb6f6ae01ff693d2836b68a06b289ca0fe87df9324c6af03dea29e808f97ed409,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdba1c5969994434143ad0966f1e785de075b8e67,13.764 -0x6fe45eb0f76b82478facedaf8df3299018f94c2a8e5cdd777b8ac75a72606cf1,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x43dc2d9be62bee47b83825a901aebe29a1277454,128.466 -0x549276a7dc407ee1dd9b94c63b47017a383d008bd053e991251a929816323f8b,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006c0cc442ab4dc5ed006af112fd7e064511eca8,98.675 -0xc24244bf40892f6712a8c94c65c807fac2924bc6a735008eec5ad985ee90c109,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf4639a86127f62435576d4ea0665cc07584551dc,137.642 -0xa458cf972430d2bf05165d24048111c7529adcdb95124fe514d742300010f15d,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9b35dbc596f545739e25e203b41823251acdee17,82.86 -0x148ac1c9969b50c877d131fbcec438a49a9c93d584640b15225f6babbcf11d2a,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d97436259f34e11ee1a0be1e59a98a6c4ccdbc,68.821 -0x1e5d453637eac240f683b96d0ad0c31a279e60a21c8cd6d8c79afe79d7fa0d40,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x06118f0b0b10db4ea349c972900c67fc44d54516,366.955 -0xee8f08404a1e783bfc8e3b99ee55f0aecac9777900cfc8978b69697f340e9d19,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004d1fe43ac70412e62d8186e8e0cb261d6c602b,9.359 -0x30dffad5bfcbf72b43f39bf5f29dd0c891e1dc7fe9a1c87ceca1c4a4fe72698b,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001ad8e92592570e989ca076e2d5e4c1638cd3c5,18.352 -0x912bea03326f275c25f31f8f8dfa6a0032a087ff17de299aa8131e7dea5f9f80,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd6fbb8b9ba0bb75bd0f6109df41a2d22a6f48566,64.233 -0x34144743ae5be179281c9f31cb584c48f63b825f965d4b5d2345c44c49b4b8b5,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7ad682addf837939690da95071b9492b064797b9,146.818 -0xc4f863729c5d44942e088dec7da8796490f4c803f69e9b6e01113e1035cb37c9,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xba9d129d178bb0d08689948da60b5517ac35b89b,862.652 -0xa7d8017007db729e8e03310cc0e58295bc3eed93d7cd2015a794891cb0834f68,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b409f5afa0274854823681114344484d69fc0f,458.808 -0x6d2bfea8df4e0bf5fdce98dc5264135e7077f87db8137e0e1b35f3f989e9a04b,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6285a2a0892b479e0324f4e51b2f1052712a1e73,46.247 -0x8d1eff4e5f59ddb63af9bf4e9f30fe372ba8dc18397d9faa973cfa3bfa0db8d1,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005906f955d7a8c58b036a9c36c96398cc40e32d,229.404 -0x20b0191f9caa9dcb65b16a0c12af52d7443ac908c20aca94ba09884cb3d9bebb,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xef039c706c593b89dc9a9113f96430cdb47a592d,13.764 -0x3ffc673fc4f62fb81d4bf4cf31831ad36be8ddb434d76fafb73e1126ead6be7c,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf74ff8fec69a8691f8ff0493dba28b57fe3b11a4,46.339 -0x9694fc5403d66b4bb992d020d365d610caa64555e8e2f4aeffffafaa062dba4b,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa6b2fc358a77318dacd1eabcc8a5b27b7ec14861,91.761 -0xc7a9eec5d3aa2ee1bdf51d46e290562f1801ccaece7a3c9125fbfeb7e90f0df8,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00957438646d37820df1a7d2434f4955f4c930ec,93.596 -0x3e9ea4cec73a3866d20c4814d591dc3d0aa05dea56e3d933210b0f3f13d86ac2,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0047b1aae6b63c54033f652a84fc05eb863ab1bf,18.489 -0xefc670fa342c48d0eafcadf82ff14f1f11c239cf29034839e81e93e903ee3bd8,4440623,1509127023,10/27/2017 5:57:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004c7f45a2cee4336a07480fc8fa78c101c10409,1284.664 -0x97bed4313988ff252b1e4c2bd059acea5fda881256cd24e2066bc31adfc772fb,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0069b8480fc4275a0bc10a317a8687deb83ba972,109.196 -0xeedaa2db6a70a4d074fb50850aacc701018b2d32e599ea32be1a9f3d3c43f8bb,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d920bbd35a0a98f20c6eac5857ffd316b80963,18.352 -0x16d627a6cb1cd62384f1eae33063a4015cf113a6d089f8b94a27034492bcff1f,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d97d053f7c5743eb80c78ae4111ea464ba30a2,45.88 -0x3621db11b0264ff5c259055582a28b43185dbeb67de5f0268b7fa2937201d373,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3f9265fd0b4f92eee642703e72d749c077cffbbb,91.761 -0xa302648f1f71ceee3517ca1666885e50512d2063d421cac55cff2577c6cd01be,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc8495a15d9120bec1b5148745f13667dd7104a82,8.913 -0x6d73763afc88de36cee1083e549f7224a59883e5f8e57fd33e548623f09cf3c8,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x56f780c276f972ecf6363412132bd9801204949e,50.468 -0x2911630efdf832a999de100cf762e70f47a891105111607046d65d9a4f3e4bf8,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4a7a5c1f34c57b9d1e0993e83060b6736f6a42bd,42.21 -0x4b34d8308467c60ab4c43827eb9f71357ed1b8cbd99da3d02904cc099ed221c3,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00512a3d8d53dcea7e5eb52946e0d41988b6ca55,9.176 -0x04d5b9410d1ab81e86489f74f3371f8d0c767778ce8134aa765576a2d9270429,4440624,1509127058,10/27/2017 5:57:38 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ef12fe1136a22b1ba0906561ed22a934e44e244,183.523 -0x4aef14353f33645dd791175bd18048ca5081ebd26d2359e07854af519672b869,4440627,1509127096,10/27/2017 5:58:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006d3a544384b63158fe841d6c84b27d998ee27a,73.409 -0xef030b0869856eb246f34afe0526fe8db4b0ba2a68395b772e8fa91eb81127e8,4440627,1509127096,10/27/2017 5:58:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x33f00d8b2e67b6239aaf2e152efc9d85ef113583,1018.234 -0x35ee0478cb449adf5016c1e4c902fcf7b48af9c86dc47176aa44e81540b409b1,4440627,1509127096,10/27/2017 5:58:16 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00994d4bbb81f3d3cf352edc8af739c878b78768,27.528 -0x5217ae9cb952ca720f886216123430e13c89d44074d070ca1ad60483aa746c91,4443409,1509164789,10/28/2017 4:26:29 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x271b8269e278d8a2ab0113de746c1b1136b320cc,1160.785 -0x294b260d1facdcb6cbd306709e4f1a69a6d54e59167e9c44d2f2e8f5e9e0baba,4446832,1509212537,10/28/2017 5:42:17 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb752d54f3436601d8ccb4fa02bf2289192e4ab59,12.663 -0x59846264c3cae9e56e8613fd47da4635d7c0a1a995966d3594c7ccb6c853a632,4451126,1509272518,10/29/2017 10:21:58 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00729f3355fdf72962e9734ffa26ccff9e64c0ac,35287.891 -0x71030901d6be3c986a5a1240ae51a874d80e68ad12a342ecb6989389749600d5,4451128,1509272555,10/29/2017 10:22:35 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x13376a50540351f4d0242e20256e857a80bc86b0,3165.779 -0x3a46e5dc2838ed02db4ca54101f4f55d6eb137177227eb204cbdf60129bad8ce,4451129,1509272571,10/29/2017 10:22:51 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaddb5210dce9127918db041caee93be7b50ce633,3693.409 -0x9a22374e1fbfc09bbf89d2fe42a3da661c73051972ab79351c6dee801f9a69b7,4451129,1509272571,10/29/2017 10:22:51 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x386c6c6a0df3ebf66b64cb34c6f8834b9711a2e1,2110.519 -0x1baf8957c72f49b5f84de2fe6b508295d5b2abaf5170f19682698354ed9726e2,4451129,1509272571,10/29/2017 10:22:51 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002408a2f9bbf1fee7a53eb361f8eb2ce47aa6af,20497.117 -0xacb176389b8194625e655b30a74a9c3eb95e21617dca8dc665129c1bf49c44f0,4451129,1509272571,10/29/2017 10:22:51 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x70f055cd7b671c7d5f167c93b506f30ee46c9938,177.336 -0xcda45365780e2dab49d7d0e246df8c988ed255204067facbbb3b4ad4e67b8a26,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xed53f7c273f524da37f189e800b9bb66ec9ea26d,709.346 -0x732b0465c91235f90c4f55158a70a7c07b996d559fba30a8c66256e24f6b1fd8,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe6c6c739e406cf3ccb1c666d24cfd200585faafe,512.427 -0x0536b6789330124392ceb2f34608fd82400eb69c5d5c727e615385de315febc2,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001bdd794e80b596665dfed06d2876eedfe4f1ec,116078.59 -0x04c80b79a2cd9253fc812e5a31282b147403d841365bef65ad432a07c2529945,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x061c15a9ce506d6169cb3f7269b6b426c1d7223c,5540.114 -0x09e4d9e5cbefe4a737b02541e96d09d211b5a91c7fec17510cab365b27aeb888,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0569baf12b57be4808c0539b9eb6b34b0fca7466,31657.797 -0xb22857d3f781fc27adc41a461f59574c4c4751666a41bca060ef0b052a989c02,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf170d28a026ca70f9c4a011409cff2d195d0359b,36934.096 -0xc80a7442c1ba0781def05294a7b3cbab4107cebb4ad0235044030dc0dc19bb24,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x17d907986cf67f89bc3ef8e874391495a0640395,2638.149 -0xc1367af684a6668f4a6f81a271ea0488c3b3f25d64b0da9c9c829f48d6c46819,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00812ef6564c068b4612e2c1f289358a115b2ddc,2954.727 -0x1a24657299e02e38c76802377671a8631f8d4588e641e19966c26a768e5a961a,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd8f150feb4983f36ab7bf83f0829c94a00471c1e,47486.696 -0xf98dcda64d7753a1bdef136aec7794b09577e7e8d44697247653b17ab72ee035,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3fb4981d33258835ed1de86668344ee3f08c626d,30876.905 -0x5b53d7846d903cffff64e7efd4df5c96e116f1ea8ef247178cf1104f14d79982,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005e42814cdf3db319923b257a0e0a48e3ee5350,33557.265 -0x68026fa1a001052813d6723636b6f0adc4967738dcc43465b3f23be54ccfad37,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x63c62d874ed1c6fb31ecf56529892875ac6b467b,7093.468 -0x3811e8434479c20686b84af6ab3e4bb83ad39a926f941d99a9bcac4c50924256,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4185524e7b4ec8f909a435f4ac705f9348105b32,3482.357 -0xdcf833f5548cb1eb602947cd79e3a8ddf2c91c0600d26561b322d80d16fe6553,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe8fc0738b7450ebf2b496cd15652b1805346be72,1024.982 -0x032255a0d293044bc17ed4ad1728e0912ca2fa4c0b8965fee0dcfc4872a9ac59,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb3c2a4ce7ce57a74371b7e3dae8f3393229c2aac,9497.339 -0x52f8515f53aa1ea29a1cdfbfbd46ef1e63a35cf9cc63a53f254cdbe0f89164e9,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c840d94dcf091b87fd63db7eb0885d9ca4b5f79,34823.577 -0xc21e71ec61be396cd3cb0da9b6c7201b10e39ffb8a08ea127bae22dcd8d58d85,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb4fcdf9e6c5fc7ab486cb70177e3676f1df239f4,21105.198 -0x5d469339a2f1cb276a8af3a719d028ea55ea371b7ce48f581c2bf06d25d9799a,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002309df96687e44280bb72c3818358faeeb699c,5856.692 -0x41c0bb09abdca10ee615941a2ee29daabab8024f28e8d5afb9677ad1346f2546,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7a669ef68da390965ed95cce8f02f6a11a6520ba,1064.02 -0xc27fdfb3005eacdc2f2e2d5d50a148c61f79b4a91ff31ccb098563f18d85aae6,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00004c5c68de80a76948dfcf7a77045af476d346,15828.898 -0x7f95bfe9ca31cbf2a8f158d8be6fadfa1eeb2d6caa0d509b9a607f2e3303b664,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0017dd07201d4f2f7cf7b46d5b54f710ab579f4c,425.608 -0x50fdcad7526a4d3f91d59c883aa3caa474e97c8dc592eb07b7dab81c665a0219,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc163730557af3cc84dffd66affb23d2347154257,1773.367 -0x7e35e103a224c91a3d35e41ecdb34c0506973c7631337d2ac3c1b76b3e2f6fde,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x600011fee56096e5858518ba9d12c43474866e37,1899.467 -0x86e5d885dc9fa65f46156632599785de705ecb30326450fc5c62ac00a57684ec,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4678b10000b032197ae5a403058cd72096198650,73868.193 -0x1c877162db59629acb396369f65d6eb441492c14a46ddcaf5dc909dc2b6d297b,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fcaf0a13a98b04a3080d7e246ffa7d072777e7,1041.764 -0xdc06be21f2ea380f46a1006108c7d3198ad514242627895a6bfb112706733ac9,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3518a8c749b8c46685b5bfbb5ac32932edafc9f9,5319.651 -0xd3f65e139aed2514bd207a31ea4c3da0316c28a67cd1606ad08dda6fb57e4504,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6641a9a247811657a0c435567260eea47c3fc81a,527.629 -0x650a4ec5cfd5da26ab613ab9f7ba3f604d34e8e669e9f8306fa9aa22df18be62,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00db158028c2d7db707c525956aa3fde0409eca0,1418.693 -0xa1ba5fe8497c537c8e1d6a560e49030c15b8a2cf318071ff8e1ab7cc34fd0f52,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009978d735f1a23bb6922b620c490ac4aba66cfd,52762.995 -0x8450b470864af9c1c28ee4aabe96df130a65d27cdc799c6d39570b6a5a24481b,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0055a15e869bb215e605335181284aee8be30a50,9112.169 -0xb0f1d54c326ee88be674b37a08f439187f9a54adcb39aaa50b18550ca345b106,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc094df9784e3a409a27f39875a85d47fb9d6d520,85404.654 -0x66cb6e4fe82cd1581f90f7cb29e71309ffb9448c4cedcc893b8641d8599964e2,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x67936306c1490db7c491b0fe56bcf067ede1fd28,8540.465 -0x361989320f27effc71fff86ebe0d35d2e172636c2c3a0b3a8ce1e48a6928e63b,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9f043f875302e01d60d90831ca17593557969b10,4379.328 -0xfa37c2e9892079daaf5159a3c9e5d074daed1dcd62cd743611aa11f8fec5da06,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x032f6b944721fd338858bcc0e323d9afe77e0a40,3546.734 -0x0d7f818fffb6b8e21a37d12f27ba5f6875e8f7ee58376a64d6a4f5e9da5acace,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcd0cbe2eefa616252e493b03b5c2dbb9060784ff,7386.819 -0xe574ee0efe73ab596ef8251b24c5a5c2a4b4feaeeb787e80413017109ff04135,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e5cdd4b7b3a78a4277749957553371cb6b2310,6319.944 -0xb415a54515cddf31163e62ce8fe5d41e0b62afb7a2de64c5f3af9acbb1edb88f,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x022070e52ad6f0425f72feb16636fffce243529c,27535.143 -0xf98b298da15def77673a8c0eb1d719b2dcd411483ad6a0092504969b9db75e70,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbdac7423ca974deb9f4d5db731cbc3f5c64e3f4b,17733.672 -0xcefec71d2c582f6203d9d8a59147e152c2f997d54ae8b5fa09d3ad8b183d79c9,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0887159799951fa038ecd71dd8335d2c19d14d29,1793.497 -0x7e3f1c0566eaae79d56b06d64908ef0dce71bc24f44471c1921d2d30057c8b61,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0089698ab4f16050d36225631917d4db489dc251,10552.599 -0x89eb607da3626bdb2081f745a2f00e9b1755e1d95c55c15fbaa7a6ac209514d5,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0ca15a530dca1d29ca3557b90d80e3a05638fdbc,42560.813 -0x4220cc69762af07316670b1a8463057590dd4eb0e0d9b948631c3b4f5466aef3,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe92133cf03d81c3a6dbc919f19ddc3c3ae95f354,42560.813 -0xec5b73b39a86d2805e4683aab89a68115d3d580e31d1fc4899f3418fe5750fc3,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1020df9da65f804831fa334e16befbac20599a33,42560.813 -0x9ba370c6c1ce8be5e9652aa4d00057c230cabff53eaf8ec4eba8c261f163d78e,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xea72ad53b162c6759b80a0b33e523f391a9c41a1,36406.467 -0x0f3f98991ecde10309e881ea422cea9b2825720ea4317d3e0b1e461a45645c2f,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x01a7d9fa7d0eb1185c67e54da83c2e75db69e39f,31657.797 -0xdc34f24665facf8630dafac494c5a9129949222a22c9945a22fa5bb8f4dd379c,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e18a7c74b913a4f28da74fe2c194ed4655d63e,22205.21 -0xfa38fcbb0ae32ff6b25439df89d047384c1e40b9f5e6f833da0797ebb8892a90,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x07ef90799d9df56a442e958d6bcbb274f2f9bd55,40013.18 -0x178dd6b9c50075fb6cf733193d46de6a2e5a3ea1f8d9cf23ce6008e735accbcf,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cb139d5b7f41d8b74b5a5027ca35e9ac8a7cda,949.733 -0x4a11d6e8a7f2aa2d8b0349d37eeb6ab5202d8430c1b044728872541c6ccfb29c,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6be555d4469720a6a980245a1a2139a5e678e415,12469.079 -0x0a30dd96e0498973bad77520682400e64fda004cf60288e1a617cb1d06dfcfeb,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5bb96900d055aa4b3de73bd195c49400237fe7f2,68323.723 -0x7660fc32af3cbd918dee804e9f07cb5facb41e04225ec961fdd862d4c9c7f605,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa951a1bcbbd1bee2cc35cfd96dcf9d101e630c40,21105.198 -0x66475e684b13c383c53cc7efa4bee14e21026e67bad13e42310c50370f39ba95,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf61b2a45875ef1019da9bd2353572f00935d163b,42702.327 -0xd908d328ed83c864cd7f65041b1c7dc6d592fa513ebcebc5d5900aea24410874,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xce28f4350076be8555df352a48c0e9451f6cde0d,4256.081 -0xca1261ed88d390f3ec4a76e5066b1f3a17a8a517feec18039ac62e2b0393a4a7,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb2c9f9817c45bf58e8970b0eb6694599a02b24e3,8028.037 -0xdfae321f669a906370c8e852e0bcdf499669eeb5e72bed5818429ccfb77096ad,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa5eb42c2fa202b4df66a36994d41e04bb3af2b5,141.869 -0xac6020e951a75425f052caf21b72ad92519827717e5a72a1a8052ed811fc04fa,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c8e4ca2bb6aa6ddb36939216ea4e09c5787435,35467.344 -0x5138fce8c72ad9acc9f0c71327c7fa1fa3bef60d6b686a05f9d90db2945fdd67,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6e33fe6344ffd1fb1aa35d7823021a99e10aa1fb,39044.616 -0xbf3acdaa631c3890c5605cb42ceda36d062ab742ecefb91e3d14f8ee901221ad,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x45ddca7c0426fb78561229a9958873ae9cae4e79,3165.779 -0x1f9eadb2953c3cc75b3558719597e7464560e270bd5e86447159626e87b5a66d,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2b3d18c655353ca14fb9d4ba8d047d08d1140974,5320.101 -0xc746347972869e4fa915d45d190e5beeebfda65808f744f87d7962f2fc332d81,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8ac74f5da1ae7e61f7c7c511e2b888589b801c2,10640.203 -0x335231f48149fe95b51770ad61aa4d865335dcd32e841158303e08b4492c1511,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ab35e5fe5354151bccc15e6d219dcd23c2e868,7093.468 -0xd521553915c0835891608e64192e02527311deb4808b395ba98e2bb4693a6cbf,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9b157bbfb405ea4cc3aa9f9257202770623bf3ab,26600.508 -0xbe03c80a1544f0e919b8448c333287de3522a82edc9646db11a6506d43a51bfe,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x699fcd9fc201726b30d6f6dd8b3307334f1b89be,3535.12 -0xb20cc8973cc6a026d58e0ea872f90fc06ee44d71713e527da8ef31a992a24df1,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb16547a72b4d9f37fe34fd67259d07f65953d141,8568.705 -0xfa731d3fa282edea9ff11ff4acad76005987fddeb4f24d08581d15db0555c574,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1f8978b550c0291627d5604a84e76fc044c23fb5,709346.898 -0x01d61a1732ebf9ebe9402aa3dcc7cec2503560936aa6ad42acdf7bc6775260e2,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x60aebc1d9f35ac28f40444bbc318abd850c9376c,3587.883 -0x5e6d7a4694610d9eadc04629c9887f1a0ccd3246c8da4d8d9472a181b8ae0631,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x74ebb92f67bd7a62e95e8129177921c2808b1070,177336.724 -0xddb3f7f027d86adbb32b68fcd0d5e3d4e654929767ef680dd44b4715b5fed803,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8506d946cc63d1f1f3a303d68b0da64597cd64f3,18994.678 -0x64a701ff37814846d49c3e097f80b1c46b20808889a3815c1b931f5c371bdb97,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3e68535585ffc7b21db787e713c0bd5ce49a593c,21105.198 -0x7c0e310488649efda7efc44683bee19ce41f9e04f31bbedbabefd45dd7033d6b,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x08afb83c6ec32222be7277238e78b8b768f47ad7,35467.344 -0x5662c405ad4303b7ae077209f39e0e31c93ff51325c7c496baea826c47a5d1db,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x123685f3b3c7550254f187ca3746db61e6a248fd,833.655 -0xf964c9b4e323d315ac0dce5bfb28e733d15fba71a5c3bba23dedfaea3e60ac2e,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0003664d63acee3b899631c4ac4615f402430330,9598.019 -0xfb07fefba5020e66fb5d7357fead3bad6bf7c51b1032021a60a641114c4520f5,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0adf0238f7edcb1733269f852ff86bd4a9f37b99,17733.672 -0x99c25fee91da85a1c772fe502e8dc9cac5e832e11d0844abad57cb44eb17414a,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b2a5e72fe4377d708351ff33ceedfedcce3c67,3014.724 -0xa86e40663a40791c4bab3895ed99d59eb7eee72315a01a506939c786f1d5d5de,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009e51b0d7a06b3a8a22ddc326e1981d417a8b4a,4432.091 -0x954b6ea29c6b03f545d3aa93170bb02bd027fdfad3f1cbdce47e3d65f8742cf1,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc003133c97db8ed8cb2d008f29b97414fbf48f62,17411.788 -0x98e139c8c77aa1e20c026744d878d5e132969611ac7fb572743ce0a8582012cf,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1bc24e64bd4446b8873a956a4fc1d1af2b798a2d,9370.708 -0xeadde5e9cb0d9263ffe61cd18dc6ac29b9df10ca3acda6a9b2da39e7ebed0083,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x07d1920e45d63344fd7b9a3de9befd133e61e081,36934.096 -0xd54c9197164037175ee96a19cb455d6bae49f3f82fe4c816e1de31f088752bcf,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2e3fcfa6ce2e239eb735071d9f86e38dd5f8d8f0,36406.467 -0x197409b0d5e0d7268ec2a1cef3fa8c8a827da0bfbfea28e9bb6c84261ace6175,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe60cd5cfd2a79cb84942b411750fae1f800b5dde,1773.367 -0xd3baf836c61b50aeb536ac731ad376876589f93a2c01b72574ffa05aaec1b6d4,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a774182aaae3cb75b28f24b4b77f7c96b2b820b,3514.015 -0xcb8ce2ada475955b33b7e309cb8db6fd4e4db07b72bf1e8808a03de6a9897581,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x30d6d9ce640c97def75838cde7f753bf7f161403,3522.457 -0x8df2ed1785d2c648d84f3868a4da0864316f64c7386ba24a13a8bfc37fb90a0f,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb79356aad9bf2116efe1a66ed55bf1a0d124393b,886.683 -0x320967bdd1c55dd1e1fe498419ea4b9f640e3bb320bbfec6cbc41cb6c4a869c2,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00beefa91563f6c652924891226981aacdf88834,2374.334 -0xcdee09c73fa3e0a4c575f5d61cbc99f56db158bc47ab2139d29abcfad414317f,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd67c0d69691f9d012cf1fd44c5ac23c79cd441fc,42210.396 -0x29e541a68146db94d0e4a0dc4eef1eab0f67e2d3cd131bf9c024906f254fea32,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa20a5419f34167dc1b4ed5a22a8888ea6773520a,4270.232 -0x9c462c9e0762ab07aff3f00a20f7e19fed0419fa5d0a66f5a22b2e98d52c761e,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22a35cbb6356055d8216a36af746c58bcfb99566,22160.458 -0x0d389a7ee8b07c0b780c346d96006dbe96cbf54fab1facb2e178ef81cf71d604,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd47297cdcf36eed17305d6a5471c6cd482c7e91c,52762.995 -0x98cdb0b2b4e021e996ec3569d7ac67845480afcdf12b861e3df4c5b2119c8331,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x904a974b3f43903b63d2b6c7fd379550baf4742c,3165.779 -0x7f862433c23a52e8e6757a9f84a2a1a50b45101a36851e1111e0561c25920cad,4451130,1509272579,10/29/2017 10:22:59 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x225f3e472c48e708915cb4b24a3091f22fda52eb,6964.715 -0x85c70801b48fd31ccb5c8afc4997c4f280d4cb9f634149798bf9f8a8122d4b7c,4451390,1509276459,10/29/2017 11:27:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa5fe200655224ca4109e8bc0b29ccbbc1e1269b0,40.099 -0xcb8802c7275df4aa44c6c3616ff769e4fabe83d68094f1c4e20f4a0bc04a35df,4451390,1509276459,10/29/2017 11:27:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdbda5deda828ffa3c15dc99cad296c5671181fd3,158.288 -0xe6d7822fb622c3275310400ebe77ef21b894aee3a8d816d796050ff7fb4d412a,4451390,1509276459,10/29/2017 11:27:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd6110e8081a10caefd8ed1b95db4621085b55807,116.131 -0x6995f0c7d6f1a6bd6c03619499d42c91c21c1d1962ada1af435aa0100952f4df,4451390,1509276459,10/29/2017 11:27:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x129bce7b810124fa5745667a17b69a5c3eb5ac4d,42.393 -0x6295b0c8e2a492a6ad64f08ede47674a1bc58642b8c3be3b3b399996b1b877e9,4451393,1509276517,10/29/2017 11:28:37 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdf93b554f8a7c976f8fdb35afe4880a13b463dda,4515.668 -0x7e8a4d13aff98351bbf3ba0735d5175ad3f4478f6b5952152c295c9f24575712,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb422b17a216192f8a25ee6d08342dfeb3e05e6dc,263.814 -0x851ef0d80a0fe410194cf4d1a737a8a42719bbf0a9369756f052b5603edd33fc,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9da50c01643c31e889bb2ff6c0ed168c8c22f98a,158.288 -0xc0940586e5a76ccd19d32f857b7f4aa5cdba5ac71d6937ebb1b1020b40afea72,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6a8d40e52242e2bcb59b5163e4f7aa05ec1c7474,458.808 -0x74ea448b66ae07347550626dee7178d5cc894d0fc1cd4c6f3afddaf529929a1c,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf4f934bf2530bc28447f594ff4f05818afec1e8d,1018.103 -0x836b54ae7d08630004d64aad9b82e4bebfef5a33f2f62f4b75a35b5c8959a654,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5ca455068327d42db7e66c6c80532452f39ad256,10.447 -0x6eeeaa18fe70e6ac98dd58b9d1c605e2c34fbfab9c1f5156c698ba3868c68e92,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0022d7796a2d5977267948e5ffba8b9fe04c3da5,31.657 -0x84bbfe91f45c07910dd26590c7188e5bd7fc190fa74564a1050dab7c47d963c5,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4c6dd54d08d5e5db12d90baa03045e877095fa5a,31.657 -0x89d22cc209214ab8777a46dbe631d57a88994a1ce569c0214922e9e7b86b760b,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6ea0f4b12d694e26a89872bcb86213a8f6ae25c5,21.157 -0x96c819720df0b97ad77e9a0af9face1d979e2eb3daf304ee1d55bdfe8033987c,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22f6a08b13d46bfac92f45a624dafd3ab4ca5761,45.926 -0xa8f2569a93492bb6931a3739f143cf8c09887ff74fb0dbae5b7cae64c8a18d13,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ae92580ffe442350bfefc4c9e4fd5b137a0fc9,105.525 -0x60b54e2b9ad6412262a8408ab67ce7652ce86b55be98a98db1432c7ef1d58d9a,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008d4e47715eb112c1ffba14275bfad41150a735,105.525 -0xc61cca512a2e30ce56ef548ebae109476af9cff68169cdc2ef490c99bea85079,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a91987a0fcba374782d45d0a7237be1627836b8,31.13 -0x1ac9370e0d4aa803e8e1c42489a51ffd3714ee268136826f46244ccc8c4cfd4e,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5c1c3992737f0ed1cb650835f6ae4d44763cccd0,91.807 -0x11f3cfe515930a1ad2826de623ef4f4abfabc0c4fd1318d382ad27e165242adf,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2317fedd4b4af7c3b6fd14cd044a2acc92ff15a0,110.802 -0xcd45b2d3b02c62074f9da469c9fa40a1dcb9a3f33eb36984ce35b5e8b42b5773,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xddf8f475ee3b847117ed3df673e85c8b4593bbf3,422.103 -0xa52b7acd981170e96c0a2731825e1dc936ed51d932f2666dcfe32e66d24b6440,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x31c1fdc59cea10ca6dec6975e83f3c2f5bc629cc,16.425 -0x2a477b9374c1a54140fd447c64762bc7241f9d1955e6647f168342ee1275d847,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003e042a1c0d20f39cbb5664edb923aaf00b8e30,246.769 -0x1a648b53d88a335c6a899eb9a9b639d249ce560cac00e150669f3c4b5a5c8953,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x781088752c0d882ad057dcb31dd0d023efb8d872,3730.343 -0x08944bcd3cb18dc77cef5563a68eb9d15ee0b48799f91a9cbbc0625bf60fe5e6,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x12980b8c3399747ec2dea6d7586d30c43b9326f7,532.906 -0x9e94b52253d044876173f1d3ecb7cabafa77d57268ff25938bec2e2bc7a5994d,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003e07c10cd803f10f33b0a1c470a8e3f7e326f4,633.155 -0x8f0896e9d515efa513bcb3eb4c6b01fd48079ea29fc449f04bce1a378d3aa56d,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7574855f00481cddf4c103ae36ddf6e042e5d367,17679.274 -0x4fdc7c06558030bf2e12191157f569f36df7b2608eed3d1763751d858f82ef55,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c3e4e713e333bbc44b36f89912b5d8dfecb725f,46.009 -0x1d53daffefc8d26c3e0948e9d8290bd041d08c663211469c3fd9c3b2e643b999,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf8b4b80a2830d11d4843b980f06635530e993a18,31.216 -0x333fe8bbb38f1f8a35a17dea8c4c5af1d2ad58d19f4e854905efc233f9fc1e39,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x51aa47c803a20a6334e4589ca76642a68d3cfb32,115.762 -0x53bd19278866ba24797a8360dd8b29c2d3728656120da446b1a11bd5f4c8ee8c,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x831cead0805ac7cf4a744e9e8d088317eab8d0c0,31.657 -0x68549c29ba60c3a5da2dbce590ad4ecb79e35fb5260154e4abdecdef2150bdd5,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x87e9e73dd37a9e2163a893462c2664121c9c5e31,633.155 -0x245f97ec4727124d3ee5841c11229b26bb74b996cb93d1ca40cb0daeae156ab5,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x03197abad8079143a69da8d037b6d69bca469bcb,10.552 -0xb58448ae8996732a418591924f7080d372b0abb8477e1ab7ce1a761fc115b998,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdc7778c338e869497f09f0894618334afc21d266,247.756 -0x9779e699957574d8ede0550999587a6cfc0280d1de12472dafe16fe0fcf3d55a,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x32b2c49c595f816c6ff3852f983d77249dc9463d,1055.259 -0xd00f1be9e12db1dee28e553db73b12623b1d4d50d612e3f2c6fe27ab4aa6d86f,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2969dcc4bbf824145328bca8860135f4cd9ce9a9,316.577 -0xa9c09449b89518494a0c426be3b5b5a6bf9d11841390febccc1a0a7f38c70a75,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x350b85f8b7d4924c88b90cdac534ff4931512ab3,10.552 -0x7d38c809d3df05912d9c9dc19d6a23fd89a9562c0275108943f12ccd8be7301e,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4dce6b147ce7c96b3722bcf6ea4f86c98f0c3419,43.403 -0xfff697b98ccbf99d9cbc8d9f03d61939080262233ea3ad26bd05bcad8cb7176c,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2f81a1831e1bb3b21b063f40b5fd29969d9cb2ee,279.327 -0x8c78afbd0f39ec872400f5950f768a6492bcacdf25a23a7468881ee8c44a3151,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003ef653b996a653d41d4ed315b3209f44bcce9d,411.551 -0x7e95bd6934663f1c58e42f790a96d10a6226cfed52aef096de6c119ea5d9042b,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb68bbc3e20ee753a024a480dea125bb69262abb4,18.233 -0x8670547e5a7e44d6435aa32bc8f342e43e863503697874dc261014391e9ab042,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002954009901528acdcd08e4bc173f271ae4c291,3376.831 -0x14f121a1a661f231bc8de349099edfaf4e69aa150c5cc51aedc2eb37ecd6ddf6,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dbddc3563c920884f1efd111c93ff30d3d8465,715.787 -0xeb90b3adb92c6c5f2f7e1893f8458b7aa942a50ae2e553f5d1ccfbb084282e68,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0aa431c58dac3b6f8cc07877c817165572ac383c,36.704 -0xb418ef4abcf5b5946524019153511bc9decddb8cf7e44bd35c85374088cf52f0,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0072726b3815bdcdd6c5fe51f96bee5bfd7ca289,47.539 -0xcb7390e8bd21d6f43dd439c72367485d851f33b359cf5a73d7be803c8dfa4f27,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x25b584e9363f10433b2b033e3a9f0d207235c89c,10.369 -0x401351c0c449af3e8a15c06358e065d0b7a11ee68d23c44e0d6da0511f5b8124,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0fdf6c80ed447a4b0692af53a1acbb7df7bf983d,474.866 -0x8600413846dc7626dfba70d899744ab1640c7a8c26b1626dbc7fa31addf412be,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7eba0c6ce3bc5bba68807e2f390ed997a5f78763,154.067 -0xcdbf4a44cf01aa68a675e8d228ec4b3391fb82c1812302198ee5fcce7477e99d,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfc6b49f7539a0bdb98f78b3089baeb861b9e71c1,17.939 -0x30c0d7e913d1774cde30b883ac9a98b3ebc17552e95faaa8633d8c4980e66cc1,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x42520065f9da805ed7d122f009976a4dc769c040,6.423 -0x9e794520b48fe7bebfceda344ccb35c9710ed5748cf2274da3112a3a2b9f2ca8,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3de2de32606ff2d88b86efcabefc7f0d850b1d07,21.105 -0x213b8207ec21feb3b5d988b7e0a678535fad35cc80f8ce7a3e43de6dacac9999,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbc5666fb8f709373953716884e8e3e46537957d9,10.552 -0x5d4f4d9ad871b470aa4b00e25047bf83715f7c3cea8f049791457519b0deb03d,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3dbbbce710fc71eab5fd35c40743851ac5f08407,52.762 -0xa3a372f974496e1ecf0f7a1cc7db7d730fc896ebc6cb615e9733cf5af1115148,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x903e339fcd2bff1d25c91e1bc0d2b46fe71dc1d2,435.501 -0x55a7944766febffb72f4429d9c272561c45721591005913662609e46102d11a8,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x69f32538b86469d94666f6d7f570185dda0a6781,52.762 -0x4a0e426cd5cec2495b47090bd75e1735a22697c0c14bc83ea8345585a9ce17b1,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7adc26b95c3e4625e1ac01f4eba38273e6c1ce48,26.434 -0xd39bb43ed2fcf65c7a075d7bb6d27783974c72e70bcec52b93261bc9cb1628aa,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f4b56df57e5dc51587163525b2d82d6a461e35,453.761 -0x2e8b82c53638d864dcfc215c686c3800c68abfd95e4c2b0fce34cfeed0bddfcb,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c0dc84869b0efae772635a889ba9986b28c0fb,36.796 -0xd928808c77c49fe344143552b458f040ec28a2a4c286ecab05adb1624640c4e6,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c78bf3b5da90e93c22b8b41666f8b30472358c1,42.315 -0x8c06a08600dba255882e14aab3f854a9de75b10aaeefe93459a938e3fde2da8c,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x352fc97f4dfc29a453be0898d59984431a6e0714,33.24 -0xf04a00934fc33023b5df0917c6bc319e31e4d35233d5a54d7edd131aef832b3f,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3d8f5b9f1936995c3db39bc0da5c858015595328,42.263 -0x1af5ecff213f8c3f471c31245cd857d124bc77585ec0ad07e85366621ca6a351,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa2096e3dc4c8173bb1064f33b005844a22513d03,65.334 -0xb123041a28c98fe69d7613a3761f2713177a92caff2cb4bc7097d526168774d4,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb82ec69d0521ebd32f7d445188e5b6593ee49046,232.157 -0x9cc9b6c1fb20af95bab917d62ab362096973deadea3a41bb583eb7000721855b,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x98f94748373c637c8599aec7c09e7d40ede3b78e,313.825 -0xf08ae02f8de6b24eb63577f5104845da0f412c8cce7d141733d936fd04f3666f,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x801aa940bf8ac12429d35c2cbf0a13b61758bd4e,174.434 -0x7f4b9c66b2d7f2bb75ec25fb691e48a6b303521677a2d2de24c765521fc0a40e,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x19527a176a9634ef8b83e25bc0fdd90533e0a966,45.972 -0xce8132f6b5aa1d23d1c6be4ad4d0587f03b2c068002a430ce56361815480e066,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6846d14e5177c97220466fa343cb3ef0d1e29f07,344.106 -0x1d19a6b88b978d68bf3b3561f50d9f3a441091c6c51dbcdaa4700e7354edfaf8,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6245b5b0af5cb4eb4742f118eb76312b17acb807,19.82 -0x1e426afdd37f78f526632e126eac1c5a53dbe993aefce04033af12fa474e17b9,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x671dd13509d95926af853a161e78b4ed5c8a37a6,1074.254 -0x9917a8119af469288148e59dbd7b0ce6f55fe50d3713f359f20368ed7f42d653,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd9459cc85e78e0336adb349eabf257dbaf9d5a2b,9.818 -0x00d80e217d85b9e7cef18cd4db8150a737bd7555bc8e705d12b5344788187335,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x64be1c1a0198370f53b2081e15478be3135d6bef,73.868 -0xaade12ddd9b2db27ca9995630ce6139d0791ce0cf1c4a2d15b335c61c3606c60,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf65a7c12c29867648798aa6a777b44cc3a9ebc72,143.926 -0x483cccde74fdb0fb944c157a59b0f68f7c578d9aeab59a1817cd42c720fc6a3d,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005a2a05c903bb1491b9988dbcc67cd15c7f491d,35.598 -0xca79427f482233bee43754e8ee3b2a75df249e88c46e4a5136401f05f4112c59,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeb4a41fcb2d83f3cef61737e96467e5045729670,39.641 -0x93ffa3f26b82ea34c822177b86f6d5f09774a6fb38886f65631bba3848edcd49,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22128818393800d4123cbb9b81740db04f380977,87.586 -0x2053c9b2a2b538d807836c92f5d50c7a616609b31a20ab50c28c03b7e82a8aa3,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d9905f0c546708f12b180ed038e87fa702e0cad,924.086 -0xdc9eb20cf4a6727fbc8fca8d3e4ac982b1aa9c16ddbf78d2ba0d36432df0a03c,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9a597705df555e27d97c07b97e277d1169eba89e,231.703 -0xfe58000e655a0fad5472760e3b7ce842003a992a86d9582513d35d0681fba6df,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf6de115e43fc234b448bab78e647bf65c608d4e5,1055.259 -0xfec4c1a6890d32bf44502c0ba1fa0c9c9ecd0cac9389b401f59582626c84f327,4451394,1509276520,10/29/2017 11:28:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2f67383180d9cb41b115c017a3e1e9134a6571e7,9.176 -0x13c8f516c7a20b010d60bfd5ce8be8675fc23647d57e4f0d72320bc6e6a2ff39,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9303b03dc3aa29a78c0495513920fa310f9e561d,18.352 -0xe7bad3a039784389185c314e3789b5a4f3982b9ed44f7897a9133a763eb0ff03,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0048e604f2473ee6eca508c80397d2d8cee49bae,68.591 -0x431f0192de48ee59e040d60216c1c0f5b4f990e88c3ce00c2c9d466be9928269,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdacc0fd259ce0de2829b38a0765970e7ab65346c,16.884 -0xd7d96208dd35142f78ff0c243671e9963a09ab831dbd2739720114904f25f1f3,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f7269f2171f05759a8946831c2300720391320c,18.352 -0x52af8c4284917d326f64a624600aee98fd3112b6cf4c450a997b892897cb1457,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x29feaa65869e737ad53bfc2325bd8ffed8d27a07,1582.889 -0x00a192fbb406f17dc4c3de72a83ab25b995a417b821633769f6dc6564c96e732,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe73a25b58bf440d8ad53eb773f412a4e89e22719,427.38 -0xa05067381fc2dcc5b2bb23c260b394e3dfe95473607275a1b22ffd67888f534e,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xabd9a0c14b25a69a5bd2f2c67e7192d88e64d152,1116.391 -0x2ec58e8dd2466480e33126e1ceacf1b8b25db8560812ce51364cb83c3436bce9,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f30aa1a2b965b6273414c69bcdbbcea76a52ff,256.932 -0x84ef0a57eca4c96a42658348d5500a67d1541330b4bb6584d66eca88bdbfd0ff,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0092dd784a50e356b9e1705dc780fcdcd55d78e7,21.126 -0xac03a33f56c1c9159909c30652e644d72732b05bbddf086e517a99a696270073,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x862772a77f471da418313e3fb7680d570908b206,775.616 -0x5a3a7cf7023f39764165c9a1e1f366059df46f7a197f96ce9863f142ceefa900,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaef69db824a8cec8208fb4264ba6831ef717ae8f,18.994 -0x438d96d16292a8fec65e25200750c0dfccef6466d1b6e4cdc2ff264331b26aef,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xad5c6ec30473c916e39a4098f252d8f2561eb975,52.235 -0x6b7e4d9b0a7979837683a89bae58039ec05d4d2abb735fe5e3319ab9704656a8,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000df35b3d62b94414a010b9f2fe6a1489b32944,458.808 -0x41e21ac69b0c39c27e4df2513a07e2322c6bd502d3fd2cff70beb8a8dfb4d66a,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004a9d5ffc97eb0a4f20df642bedc5f7a848e2be,2374.334 -0xb4e231f31353f99ba9a9d24606ddf118ffba79098c6b3d09b24a9af2f2b18f90,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0093073268cc5bbc3c4a616d9fa90cb49a34d339,14.773 -0x328143ef71d8c99c00ba5215bbfb4a093f5e28575a77a4641d0bddb3bb0db920,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa145addb0a24f0c4697189a02eadb006be244d49,68.821 -0x4b19afd1e150ad86d214c58a27fbdcfbc575a918c7e89b10f7cdcbab49c4347d,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3637f645f8bdb74e1cd1b28b5afc64c4a29c1f1b,273.312 -0xa53df5f505c2279c896a6c1678e6ea69c43bc2468c5297310b43860c60fcfd4d,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0041910d9e4c61fdd7759a2d317ab892cfd80ec4,158.288 -0x9b4dae2b4e9ca76c4f7fa018454f1ecfd0441db2d814d25b651a3dcfa802066c,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ff6a2fe83421f7c8634dcdb876c6ee43b23804,211.923 -0x9082c89eabf3994fe393e7a3afc33d7bd8526c01515583bf5f24c61405d308ad,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eefc4631700701e9d546fb7451705dc83b0731,9.497 -0x81ac4de445b773779b7dd220845d1369dd9a9b1d94a21815f85d1902f430ccbf,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xea3b864640285099bf8b3535affd24c83050b306,316.577 -0x7b9b41a60c9e4cad0e45a52f995f14c428768914587f7008cb0114e69e47791b,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4d863ef80ba5eaa59e9daf2528dfeb5e78e8f83b,10.552 -0x0e40ba9a9fc7c9bfba3251140eb906dfb23babfff8f504e81e075b5c50f74941,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeaa40f6b29ce35d8f53f6bf9b2a7397e3d8475af,1.055 -0xe71bb45415db2ba549d1fca71ee144a9b24e33c6073bab433df6d68a7cd24a85,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5d930f5838e8f0a2e2db62535d767bdbb5da7ce4,7.545 -0x022989748d41fa0cbf03c2fac4564d0843b1dd9fcb0e1b9749b2680dab5f60aa,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5fa8bf3d389f425cd6bdca59d08b92645e236b2f,73.868 -0x166d4c13b3dc7ede32f262b72ebb2841a2b9729cd853ded219356696fc68022d,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c6c0f1c8825c7ea730b6fc23bceee8ee5a8389,1793.941 -0xf02f1a8c625da66bf706be5cd5f767aa7938783a5ff086e3400673ac5344240a,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa2e3a0c50956a2c664e9cb7783dc9dcce718daff,2.022 -0x5a5b73b262cc190b13b5696cf3affb16416f8161e4028991dac0ebcd7a4d20bb,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa752faa9889de57975049d585fa87377c7bf0894,9.176 -0xd7226752bddcdb7e8c518c04e46f154c97c398c351d831d90b0631c2cf549cc4,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8bcdee6b78af63f0ce1c8b97bb7199b8172a10b,69.046 -0x7328024449dd26495bde4a49c1738342ef883beaadd02b626740ee16a85e0ee7,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6a6a46f3bceaa2b9799712e1d4413ce08cb8a801,10.46 -0x05c3910c9eaa4ff9826527f43465d49181c847a85e4acc57c7582b6017271139,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x40d0a40a05c43ce715932731f2ae3f6b0fbcfbab,9.497 -0xdbdf4f07d179f996e927fcd6b4dab746614e70b3beb50d573a1dedeab2251da6,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d24d8e5836c187481f76ab9c0a7ab01a912c31,26.381 -0x928248a18afbf979145ae29948411303e63d13e22941243c9cc04ed8b50f3535,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cbbf87e662f48e24c47db88fbe9af500e10d05,2173.835 -0x94cc9552d8feebc083b5c4d8df85fbdcb0a0dd9c5ad095881f5b93ba079f301c,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4cf7037aeb2962a18b2e08aa140f07cb53e1a957,116.078 -0x01dfbf487ccf276046bc75a1c3d0bbf132e446db8446e828d5338b641e8892c1,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9fcf5f950cd5ff61ca37042f293113dcfec1ea5f,45.238 -0x07d1fc601bb9defa2efe56da0422f7504e1c95877a9dcc9fe9b22f0bd4d3027c,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x82e2b7d189a81a251eaa51ac31871f8c4b91dff4,337.277 -0xce9b533f77ba551e52cd7f0765dc4a5b635b2d38a02fd05664858e7550c68532,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb9f9d6b531546e4c80058bee5749d72ffc76b54f,91.761 -0x52b45c5e2360686895b5eb73542002ba4ea029abc9f54c315c25c063d7507e61,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x35d4fbfef171c1f89be9fa8b14a6b4bcf8ff89df,86.094 -0x89aa4998aec30764d578aa5af35224d9c32afe2d6703cf71acea13ef8de4c658,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4f813b5cf2750a59a45f3c5e50397d6ac02b64f9,21.105 -0x4b44a2d1a2cf69a804d82c9c3228aa287787faf9284a346c0b84e4a18205a154,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd7841fa410e1caafcc033f67f20c0f60163e3153,27.528 -0xaa173df67fa78ab2e30617b38e550c283cd3193b943eefe339ef50e4ebf5c878,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe04a97005acf858ce1f991e18fd742c98422d5b1,94.973 -0x00dd5fcda21c2ed193da2952c0a71c9bd56783c3b13dbb39eff7d8266a1c8893,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0040c3cb223f156e97861b8afb63fc8f62e577b2,45.762 -0x31192029805d72d128825144c1d77ef5c0b088aa6f634417c08551cbd6739b45,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfebbc884e93912a472969e7da085eba33f526ffe,52.34 -0xd15582ae40a1e1e41c7b1173c43ac0783ed95edc6b78eef2ad0cbee8d089c5fa,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006e7f956676282819af849760db488febfcf3c2,91.688 -0xda7a77466b06ae74196f6f552de5c414db460ae56c7a89507219c4b8b1eb5291,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x720bb1fa61910880dcfb5256a4b2378cd5d8f563,42.21 -0x6e0740fcc1209df3100d474199751848ca2271b48b1b8479604587eebbfd74e0,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9833f0f9247ee62faea47d6fcc838e262742b95f,52.762 -0xfdc1b97a37336709d341c42f1fee6bdd5941feccbc075b03f2203d0fb5a8f1ff,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb5634d0c12b29996b2086639b804b441878b167,21.105 -0x7c18763bae49eaeb42ab62e0295aa05d7c9d3d039e38b9aeb55a10bad1da41f0,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x45bca14081244a055409294312fb1731ab3750ac,211.051 -0x2b949f04ecad842e272c043e869d1daf272c4d4ee1b0e8b1aa84a1c168cd7c37,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x55755dcb998f1218761831ffd74747cdeb54e1ba,1143.057 -0xe15bf3b6393e05797c1c8619ac1cee4f3a68fc9f4e77bddc4d929d467a663470,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe5664b93ad268393d1f695c4180993e60c59fc3e,17.992 -0x7ca8fc082f68e07d4a0061e97815248dbebd3dbfeb57aa4220e96429fa9a0444,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x540f856a7ebd537891067c98e61d70d235257e5d,68.591 -0x034e6c772aa64502ad53b037ef0723272cbb0d94bb905e9f8206b8e68a1e216c,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x66c6c69ee2c1b963f63710a599e7fb3508aa3e61,15.67 -0x76f6ce7493187d22b5c33b9630c41006c6843deeede6c00ef7b3a920f44ba5a6,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5af08f5a0e43a3587ce7c8bfa21e77082e559f37,90.963 -0x12ad65478709041c7f546ba39a84493c94d8f87fb22775739eb01f2bb4d7b288,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbe581d9e93e611f86b7fd67cc33ea7125187ea07,210.373 -0x35bfe55c4a0e5536a4b7f212c6eb1a457f2e9262470ef2cc9919cd5dcca370ec,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x73344288a3782ca4badf486ce54de2f6398d1271,2237.151 -0x6b2926e6b6e112954b9d01a6285b18662a44c96da393f31ec0535d14b40fcb51,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x668ba98f1cf879d29ff9767dd89dd06c188bdcca,18.352 -0x5ff2458eb444a57f4befe83d84b500becc47c4372c578b88912a068a6d5db045,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfc1d8a37770d2a67c13255e89b3a235a57a3d1aa,211.051 -0xf75d6f926912b9f6e300766ff595b5c982586c9d0c6f2d532e205b5d26328e1b,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fb2d2432975267c79d283a617c62324a5b0897,29325.673 -0x93e2d8ef3348f36638503170c1e3477643cc1b18198ad93de40549b02b8267ab,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3ae2a64d4c258fb4278cef0dbe4fd9e6d1e639d1,137.642 -0x86e8aa2581e9a561108763aec4f372f88f6bbb59fa7cd6159ad782b481b14935,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xac3947b090a8daa38eec83cd7bbc5dd49c0e5071,50.251 -0x39f31d4f08222b2d1a2881185aa82e846160c21d8909fc232bd2b517fd6e60f7,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0044208bb3e0d5b0dd69cff4eb36acdeb986c189,53.29 -0xb5e6993767ad7595e8282764d26e2b309d4096beaf6bd89ea1f6a751c0602632,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6c5c5385fb7bebfc1fbe02db4b9c4df76e39941e,56.298 -0xc8749d3535b0172d062ee0546c7762b9f1d334f69fe0849b4bc5871eff033e62,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x15a5e1c36ac791c29453dfb2b7eae643a1b17e73,43.033 -0x12c54f5ad9c9673896ee561dfaae7c2504078975ba0139ceb53ee8a9ace9e88e,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9b67da45314e56d9603cba1d09804e710759b57c,211.051 -0x0ab0aa9e6818be53a44eb41859f83979f136dd52da38de4e39bf8d2667792d89,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c2c1ce72623e05242ce3932ded73bdc36898f66,145.219 -0x2e5fcee0c330e00d8832acfa744d4f2f215d927834de8d6773cee653ffafe18b,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x574f85614c44755bfd42ee17a3bdebbd67a531bf,27.528 -0x9890ff48a031bac7968d9897d38830df7a1af1b75c1e8c897c6db738452cd289,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb059b066f976d528172c8d6cc5257a4787266012,29.547 -0xad4423c0fca7cbf80bbbd29138d5b86e80bf5f5f62aa9da84f02eddbe709ee28,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fa022c7a8d5712e902569e7dbefc471919a1ad,10.552 -0x7536cd72eaf785747e65077236965362be7ade1dc5a2348a27bee17ed098d170,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf5c78d56cecddfa5e7151650201b5144bdb25fb1,211.051 -0xe06b6db2a27e5e1a17545268b74b0f86c401c0512635caa15dddcdcda6fd537f,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2a04068a84913bf3db84f450a82588801197e028,509.69 -0x434ddbd33004bdb359d6a69dd6912f5c27e57103a4cafd9987f469dbfb384a92,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004217146a0642a86afb5e6293021dd02d1f4729,52.762 -0x3e2e7b9cda1ce025fc962dca3450c0a4c30d9e43486ddb6847c85abd02ca2b8d,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ee03095cfa46cab6e89cdf19dc2cdc64fc76d2,1.027 -0x4df3a15e78da34a9631ea78530a7ad62ca6cda3e4a2702113264a63ad9d6674b,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c45559a7a79bd667e9dcbd6dfdbf09ae8ba497f,20.784 -0xfae54ad7dcec43ee98c287a556aeae4c0d9224aa95eab92528686cfbb91f0eea,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x21ef1af339cb2c91e55acbb82863552803e1fc55,369.34 -0x569af0c15dae18ac6659c9d82e20247303113627d919e5ad28c7c4c0c8c81d34,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x584455c19de7416a22e6832be0c35516948fae82,3.798 -0x56e8d9cda3d285e03118be6e49b7092aba8975add252ac5b93496361218cb759,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xac4d821503dff89c3cee4e7797926ae8b7db2554,34.823 -0x69efed150af849471bf7d667e8e357c0045496cd222707d72bcef76e252ee37c,4451396,1509276546,10/29/2017 11:29:06 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe5da2d78dbc9d7a047ac8700a09f4fb50a23d8c3,63.315 -0x10f0c7df2b6f50c4f6f7196356f324a9e7e384792a7433780ae0aab6c11f6bcd,4451397,1509276552,10/29/2017 11:29:12 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0072ffb8069bdd4f791fbf9352a7226c7f46ecd9,42.21 -0xdbba77f25e53df42f1526334202d00c90b3706ab00c85ad5edb522c0ba5bb9e9,4451397,1509276552,10/29/2017 11:29:12 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x81594a7163a447cb1ac16ddb7f831dc1c43f9307,105.525 -0x0162dc3e432ec3c329908fc43e99b9ec38c08e0517c7cfced85e404b58dc0a74,4451397,1509276552,10/29/2017 11:29:12 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003edcc4d34cd4a22b85b496aa33defee0ae5717,1793.941 -0x31f94f984841f7c756ea924118b92dbdc06193b58d0e316b5ce766b5b9ac2f30,4451397,1509276552,10/29/2017 11:29:12 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000d6dbcc9191c9bdaf3904cbc0bd1135f5ccfcb,91.761 -0xb0ecdf44ebc5726c8dff3a7eeaf4c8d767e2786380ddfd5312b9cdef7e43ec91,4451399,1509276572,10/29/2017 11:29:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd033fef6d4c75ce2f4878314057c2f959fab4679,9.267 -0xda8f83969cd4463494098f88b383805e8992f02b42eca5bdfc9dad8186e9099b,4451400,1509276611,10/29/2017 11:30:11 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8beb69c07a54a0feff772c42eed03d8036bcd446,105.525 -0x9d925cd580065024a21c1c85bbeb4d8f2d1c6d571ce4d2903a946d8d88f7efb4,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x37213da6063363ebdae7ba5a3b0dee7e139483f1,55.102 -0xf8f6ce7ecd253647ae35cf2ba12e8692e8b69f73dd821f09da3d1eca1e6d3026,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf18055387961a61eeff5a3fcf9d510b56a94c6da,41.368 -0x9f5620bf7feb93f1b1be2b47c83387d4ee9f7c807aaba138c1baf839d498ca55,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d4a8282ffebc08c9decb113a822135434f9b4a2,31.657 -0x472c41783bb155541610ff95374f13e03c3df7bbc226d026375323cce18bfc54,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x377e7e59dc2f5c9e08d0292ece47611b515dfac9,211.051 -0x71fb96a416e442d1d81d208590d45159d5f4f8dc573c6efe48799ed68d3e8fc6,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf09452094039cebf83165008759d201e7176d2d3,23.637 -0xad744ad046f83e7b11b92baf36a8cb4d780eafa2be6e2715ff6b98699861c4e1,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa99757c8c2bdacdb8c1470ed761d375f962184bf,21.105 -0xcff1318ffe9234f53e0ab38e7cb530502814bb6d931ec82ca0e6acf972fb49fa,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfe550bc1088982fa32049171142e42954f3294d4,105.626 -0x7b8f72363485d365ad1cb79ad29f55f7c8f4160a93cf440779fe4bb8300e7e08,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f454fa5c8c9dc56209f6f5d4c7df32c735c4946,25.326 -0x7187b8e84521d872dceb24f3b227cd95d5b7a56217b08df4427dded5ce7c696d,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005423adf241a0a11478d32b7d49930fa4267709,42.21 -0x5640f817af4c559422256ca1b90eafc3b36b9ab2b45abd921cc6cfeeee265c10,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x202a7913fc42692223e0f04d3be7a8c11c76dc5c,52.762 -0x3761958bc5ab0ff273f5ad6feeb453c9b7e8a8f1dc05fd12a15535f6f86b6782,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0de05b51aac16e7df22a871673adc10eb572fe93,21.02 -0x295edf4b20329c687568f07b6a8305aa9afff05fafda761da3b0203233670bd8,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xff110236b3b40155057b45ae77b99d1b38851b15,42.21 -0xdb0555d9ceaf31907ac93b6a2d1a9f08a93137980a2a0691376d07ee2710b5a4,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc699ed7a9354ebbcc89529f88b67802e6f35a337,55.506 -0x5ef66942dabdd8dce95e3a7d803985057df4a0e96979d3febbd9f6cba5a24937,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xad03ba0db46620f77489393a7e62e598cd7ea988,308.319 -0xfcb4ac6539484664e1bc094ff7b488e576ceb39e15d7e5c909537cfd50f0fb69,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5976fd31391dd442d59af9ed43d37a5394379956,52.762 -0x59a6ab9cf25cf72ed3c0781bf3c05d3f36fc501873c1472ccb649ac608028a15,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x438ccbd79f20c1e68b828211ec2ba30c0ec9c05a,1108.022 -0x9b50e8150f2ec0e4b88dbb5c18b456c1079c9346e4c9ff92fd8a152df09308a3,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0b8cc90051abd0b9b33bd17121b899bb7a9d796e,105.525 -0x67f59b56eaf4fe7043e693e0a1c8ac4c6e53ce491abc46aa715ae15b435941da,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c2a09108fc4add5e5259f8858d684162641430,91.761 -0x8b8317aa26b4e8289a90cd710566996291f263e8a0aad0580e16fd6b8acc3c52,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7c65ef40b6a9a126951a17eb84fef0ff99d54de2,14.773 -0x01c5b0de9b883437d9f02191c21aedef3469cf659daafea84852ba1bc96ddb14,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdccbfb039ee654031cc916533ef1ce64e6b1422f,28.28 -0xa790fe12be497b7d1a41ce02ee4b59f40414491666ba19ad6f8329066517cdbf,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d1329c5042de8e73a19012577ff26372d003d1,1.983 -0x2086e7aeae6e3f0ea50fd5c1fde727605b140cb55840a1b9d4142d9674e0c6d1,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009580bb9bb318dac9a5b0b3607491c858c45aed,189.419 -0x79107eecc3ad4940c143340fcfebb89c7aff364fa9c8f0d9b02bf1d525a53273,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x26c96b604abf5871c32e63ae7be295008967a47f,39.641 -0xb483b11375354b127203955b5e8572d9576cee8af54629ad0f549f90e8ce5ccd,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x089913f600e20bcca596e00940631f783fcc3fe1,1055.259 -0x6b43b21da353085ad4dcf9a9290a24769127aeadb893ab5b38d730876c9734e8,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5db9fef353f8a6c00294a980d2897083499ec00f,168.947 -0x233d160a0bd1b6f42f234e3313980005848df31466310f98a17d5465bd404269,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc9f778ebffa282838000bdab016dfa08f75dd445,52.762 -0x9fa94e3001f082a3fb30bb19b2d63d34f6e3a763408473e049a887f0ba36b296,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f81756700dca9b2fe8d4269a761206ff26ca95,105.525 -0x790a0f5ad0c3c9b9b621011fa988881c1ad7b481315c564c23bbef5ab645456f,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x24094ad3da60814fa50da15508539effa329a1b8,16.884 -0xd192b4b17e9d453ccc7f864760546d8517f3719373762b19ef0afd5c07136c86,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007523b9bfcc0c822d57cfd89edbe777e6994c76,32.116 -0x839de309b3b7886eb1b306e4cdbd086a17a5ac4dcc71d02914e22eb2618b5f7c,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b4f896bf50e0e40f03240f07c80a3be82e1fae,148.703 -0x1c455bb4329900e6b4f07328e9f2de706ddc72adce4e3fd094411472266fb722,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd908f80aba091f8eb3135e7876d51b5b1a7bb188,195.223 -0xb7d277fb18646346da2b054da13a7268b9634d693ddb2d4047e1d5be2742d32b,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0035b3ad14d644a13c32441d55dd13f846aa76c3,104.47 -0x28e6f228eeab4695306527e5a08f7c358d175158bea9d885ed6a4c9bb706a55a,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x92ad1b3d75fba67d54663da9fc848a8ade10fa67,42.21 -0xf22b3635960e963a263f71ed361401050544a6defb23914fdb2a59767e9ca166,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1ef59d6d8b11b8b7c23f9d6ab5043237a9ee8f3f,416.231 -0x24d8d9422b392c7e1deb22507fe636ade247df4f6724cee5fe23fc48478e6136,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098ffc92b4fbe3870fe9e8c688c988d380af738,200.132 -0x8dfb6e249b4545e9845510cd0b9f8377056849fc5f99c4dfcb237acb84f7a421,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005e14b50c77daf1b3fc6f12f3b4cf820a313adc,316.577 -0x604fe4b0bc48016c2df5f98116e78f377343f6a6403294e213490bd2c332ca7a,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xda0e34cfc36d47a3e0c08d8fdb0ede1408c7aa3d,79144.493 -0xa1ec0a9500927fdc7bc099d6ca49bf9942db7cabac566deb9b09abec2a2fce43,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d0380d16422278eaf980fcb91502a4cfd23d46,105.525 -0x662c72228b1866232c4844f1f633c5f079f034aa553d90ac9c2bd7e30b65575c,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9a9b1d3636dfba530a11c3ad4d920c9ccee1a981,105.525 -0x0abab4fd5d8099a76a2de2baee2f62cce91ad8146073def2ca467f9a5b41aed6,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd3dcce592e72f9de4f14f72c699145950c7f2889,1055.259 -0x415225916c6911b4a6f2dd36169c26c75467f856a6a3fe7a04fa376b4bef2ff4,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x42eeeee8340f7018c662faf487351acdf434f301,31.657 -0xff180b534ba6149bcec0dee7935f2372f6c5d2de6123b0c31618779b714625df,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe95141639b4ac81e74704c7fb969ed396d50f67d,79.144 -0x5e7ff1bb00368ede11cda87be8a035cc7f2aaa43752fec5aadf256ee9deb6ac0,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb41a84ae7ae518633f1eea1d4f4d13c4cf8dd6a7,5.276 -0xab2cdce26833e535bcf6f697ae3ade28833972514e595e2a787489710868d187,4451401,1509276617,10/29/2017 11:30:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc662747812327628780f26e0aa80149f4bf26ea3,106.792 -0x2e8ece3841f75bd4580c8d5c735c7565d8bd761e1fd91f96c4007a5ff5175ed9,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf36700ff798394c4a58fe861a4661f5489d90735,31.657 -0xcda69eba9e67df47876ee01cd30c28b7f75278fd90e7b54326be74bfca694ffc,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5ae20bb9616cc25af5dfe06997d4e5b8437a7421,0.183 -0x13474762e2a240c798af8d3b596bda781a8acbd39a1ffa0a6d362fff823df605,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x497acc237dab7e7f944a8b1acdf9f56288bddf13,211.051 -0x06d0a120872309a9ac4b376bca7b160b2b051305a4a0880c07a8d07b7f0aadab,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098b67b82c0be8d4cbdcaf68c96a1bce7bf61fa,352.812 -0xb79f945da7d0d339a3320343682e1f64340f88ffa5f699769ffe8b80551c24e4,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00360778f53e71ee3aa3ba78e9b6728ca5917b3b,147.789 -0x1f93174db266f415719e4bc257c9ff13b4535c042b0933199bd907f84b7cb88a,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00600ea2eca09b387d5be17a4a7df47d956e1ec4,105.525 -0xe11e00fadb7814ae609c706ac4705d2a69743220c45608ec75d88fe4e162d06f,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe2ccc768dbf601ace5bfb82591e59297993dc9ef,7.914 -0x3a5caba0abc7edb253e54d38fdd5d9595944a954746cfc2edffe7aab25fcc21e,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x849c50c6f7bbd0663381241fe5a7c65b3d74227b,21.157 -0x1f9522fe2d95447d7839df80152143a38e361e4a69efd02a349e759a9ff0a390,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0194b15e139b48efe1c11fd9143f24be3597d162,179.394 -0x78302df5947debf737d2a09a3995b1d3308c7e976c27882b7f142e69dfc6ab2e,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x261c307a058f4a6970c2fd1c3d696fdb968b83a2,21.105 -0x23ef705c020560f602791eea945e44365d5675a2f6032b79d3e95ca369ae1cf6,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6bd681cda54942050d622af1e35e6e3054eca95e,18.306 -0xfbfd6809c85c8b5026fceaba9741a2a06f2980a313ac337273fb69adefcb408a,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcd6b9c9d40ae9d4db6dcefa18167658c8c5afa1b,52.762 -0xceed319c36f265862d7c2aa4c54f8dec6f635107ae59b2fb27c8fc51014f2b1b,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0016930644a71069819f2642d0ad4a07a5add934,2638.044 -0x24a172ac9be5c74a179936081c60d1a26730174b41dfedb58bf6119d59f5548b,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x73213bdb86a2636440bba625ce5b570461ea79b2,52.762 -0x832824cad1bec3370c261aaf522c20687af84d231b07f90960081adfac8664f8,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x654ae9a08e15cea8d7d8bbce09f06ccc1cd8024a,527.629 -0x6e7a9a9484c6d05b1616977348ce0b5a1854895373294e901abfad92509a908b,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7a78aa44b5660cc42e0941782a278c510f17cfe7,149.94 -0xeaf91c51057ea039ef73f1fd1c0bbbe2d5976f6e6ec90bce20dff030f937b2a4,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b0ed4774f5cb36752a3661f8248958418d4bd1,263.814 -0xea1d73bf45906d76bd1626114b559098cba30096ad62ef5a231fc8fc515097d3,4451404,1509276634,10/29/2017 11:30:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x92fafb4ba354108be7f0b76f5aa93e59b21288c5,2.268 -0x0a3d895fdccc812a5894fb5d1b705635fa42de94cfd2c4a15a4e22a2834c2533,4451405,1509276677,10/29/2017 11:31:17 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0dc2c13dd88f9aae93a65e7e24b07a39e1d94ed0,21.105 -0x49ca5075fa57b903a34045e4c1d4a4b88e8ef15fbf7ce5fd62321eb26b043399,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0f7f54dc0421d8b06c07e3d872730fa111e1aa67,158.288 -0x6c2561c5c1439aee4cb94ee0de02a8011534ff1856961ddb92f3a5a463c08a33,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c1be5037ac4806f3087c19c2ea3375700b9682f,10.552 -0x7870529adae0f0dd12eab7652b14bf9684530baed3d6cb750c17f115af14d3fa,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe793755ce4e93d29ae317ed885cfc65d45e98d9e,31.425 -0x175534f09621503eb8fe089d408f4af73d2a23d95d58f2860e8815cadfe6c768,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6a1e09cd44050639a816fb6374da3baa1228ea4d,61.205 -0xef30b0376b0f6d86790c0ce1b31b326f9d7a5fd8a449fac58b41e13336fa8e56,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9604602d57c5ad85c36b8bc59394086b5f18e7b4,211.051 -0xf45f8c8d6c718db21b2270300b3990df078dbdada8929dbc6d744d655b64631f,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb53aba6899696c8f9638267c5c32fe003b86c871,125.575 -0x03df281fba1adb5116a635f54b7ae9c6e379205673720813497572006f6cd0ec,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a21429126894675cf6e76bdee44a18c6122c0ca,42.263 -0x7aad92356835ac89575c2584b6d9b3b6616441e1211979d19d7fb75617b4504e,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x82d313f325b3c9b63502bffe9c01361037086e99,10.552 -0x9ada227c748a1beda010fff75f91af47d0491a78c17bc0aecd71d1d1892a5e7b,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x58245d4b05fab653dbe189c35a98c9e4d84d67b1,26.275 -0x7560c97241ce7d41400554ff44d6ead949710663eb4d4eba6294905b7e3b413b,4451406,1509276683,10/29/2017 11:31:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc417ec8432a7cc95fff6a7efee0d97555b07caab,52.762 -0x7de2d4ad4bcaa33788b57c57aafe3705a0f8cfb009e541c73d0cdf410372565f,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x90a66cd2def2d13f4c8d09222a11cc2bd508153e,3.218 -0xb0303c1765b880a9faa11101429609eab0724d3f81b67194f54c3c8ed666f641,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fe383db1da47144fb59082c47d97ffb1848d13,3.06 -0x246e73522f3a51c96d3b2830551db3fe2c16285106f433f83a2cf979e5174777,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x635954403448b9f55655fd5dbcc9675e8a4b8109,348.288 -0x5972d8335a4102df800daa1607ed421540f9e4cf732b5817fd1c3f837068941c,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe5bd25b8ca7659835bc91ed7562812eff9352dcc,31.657 -0x690ff23b91c44b2d916050f22b850efd087a914917c2cacc7c408d7c6557c22c,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd5194314e068c9046f3b977ab344ee5d190b0aed,171.479 -0x06fc01cd261f8e00959b1aefc0b0aebb9cdd0e985b592e950ed05ab08d7393fb,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a403e651ec2cd3b6b385dc639f1a90ea01017f7,52.762 -0xb852dd2de76626218415594b9c6d0ac983ec6731f0f6bd7cfa070b86cd11a177,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4bcc2b45c57fa511a18cf50b5d54cbba9aa6cfa9,2.733 -0x5f6b75a8bebb6a13875518d828065ea4ea9e6346208f676e77734637fc6c574e,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x77dd7978b817865a780464f0d3628e800a47fe9a,106.37 -0x7f051ec31c6aeff1cddebdc0f721b0f0242b2941c61d0116032637755f2ea1dc,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4fe992e566f8a28248acc4cb401b7ffd7df959b0,34.823 -0xc71ebd13a9d90484b5f8f4db4d1539cdac840c882db2c6f7a124efc1d78d12c0,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00368ab2cb58eba931c52dfed54379ef3b56f79c,1411.937 -0xf3d7c2b09c12c514557bd4ccfce1dc290d39a8b16ab91fb15c366ed21b661222,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002d27082129124544148246a221366cd71844f2,10552.599 -0x8890067958f890d3449b54c7a52a4dfe88b3644683d1eb7ee56f5b9e4997e2ff,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1508d705f64ce3810d54ed2ff5cc9fccb55a6942,10.552 -0x8e2aa36b1016985ba4cba81e33818c7235fb6338406828a5e4f1969829c390df,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfa204a1b8d4d8da5577c1eacac9b7e5f3e896c70,31.657 -0xf6f9d35e0cb53a60487d4342d205e0df376d8a3fed3875772fab18b4e3d71c11,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x49657dfe91f0572eef4984feb486a34f2a98eebf,5.505 -0x33713ac4eb06e1d474f2ba2270863f4f0c3f4aa057ec83c2271509ccf948c0d1,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6e565ecb628a3fe2b055f178840bdd340ba5d7e3,29.455 -0x8f4ea9e254de38c76f4f41a1357c0426505843bdcbb63fc34543fdd7a9e73414,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5eeaeef816f1015b042f74c42d8d3ee153c2cfde,52.657 -0x981eb9abd19be8096f387d6d7d1ddca7d2882c6b3eb057f2fbfa2ae571fa83e4,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a64f00b89146c02ee1c879b22dcc661609a6fe3,158.394 -0x27c2f2bcecbedfef916f8ad03a80937678853f30994110f7cc09be753f827fa3,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8b5bb41b4a1a97ce7cab8ce22183024c57125fe,106.634 -0x55471c49fb86521ce3c0e95b6d481128a024757a9cb41b9182df1cc3833922ac,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x78ab8402b3e615c292fe9a69a9b4ac17983bc875,43.265 -0x2808742301f716bf15ab40b12ddb1710730fb479a19670fbbdfd1f058a432ee1,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d1906f171b3ae82d0c500555143c28d239ca74,105.525 -0xa8c08616de19cd6cc85be3ae95651e0fa813112daeddcb7e8c914d8e210c8b6e,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe45e521d5179090a446dd312330530177f585091,211.157 -0x24d5b8bc3beca6d9e8daa7aa47662c912e18b6d16147e8b130ae58179d29dc19,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xed2d649d7c8a8c8c62368e42c5717df2af5e1a33,36.704 -0x183d404368a61e8d21d2cfbe9e9a8313a0295dc7671a8b41ef3792bac3ebbfa2,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ef6623036edb96606b9dff2b5b26e697fbbb9e,21.105 -0x3c1b2bd98678450e205a36091c943c54cebfa026e4d329d20afa1a687dd406ac,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22a71133e0a9514145b5ea4ce0b874a9afd596fb,464.314 -0x4ebfcba5a9fec1671f8933ce4ff7b67ee7f652cc704fbb38fb56ea0f112065aa,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c65722a0772976ce0ecc020f2eaf0c4468b919a,53.29 -0x3974c4435fa11416e2650154bdca14c329e3470bba81c39ff5d4c0fc765e5e0d,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d43d052fcc727cb262971ea068d3f94f774935,316.577 -0x61c7fcbaf11308f5a1a4e66a48834bba0c2d9e479ad7311c2b7064dafc1886a6,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf80791d5ce62ea36ded1fba5e1bf53c15938c9f2,20.999 -0x3fddc70f87de1e1688ffe77b7deaa6716e4fcd9e17a50ba6c4ac2d43ca3ec57a,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x204ebe348564569032991905d5d1d4ccd35df422,10.658 -0xaa7db7eefad9a8800442d1de97455714f4052a90a95c400f02147003fb24b072,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x223124942a06b92fd5267174d18dee47bebd942d,31.657 -0x42617e7419c97e2c0701a519dd14596c2470f66840ab66975a94d8a53a6ca4b1,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x07b63625869391c66528acf9610ab2c19d935d9d,10.552 -0x42733d2c6e0e377f51a8883c476d783b6aa3e2fe34c84617047270b2b7b0e2d4,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x893a98ff8d6d8d13cb095ca1ee3f9a70bf9bbaa8,377.39 -0x08a4282742d0b73b6de9d5113f37e3b6e5309aba07225fc675186fb6da9f8079,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x254c62b0e0862a383dbba455dcf692e71fadcebf,10.763 -0x35d7827f7bf38f03113098567659b5d9069447999587f4e2114a3e31faacdc23,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb167f576f31f640d6d8d678549db0005619be50b,5.276 -0x2db4d0f250f46a7db8599874b451eef6b7db7570b260d2ef9adc8f3fd8e6f451,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9a32c58cec6a3db131c52c9dd88d7e006bd18bb5,10.552 -0x0f5e237bd9282d89ca328a01687daebd836c0e8ac8712608aeb95459e7dbde60,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x238593df591076886834b28306cbbf83b333d924,5.17 -0x14109f6353039dcd4708ee5fa9c38e6d0bbbe9aa2984c189ad39cec6d671c149,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x51a5356d5546a139adadf0a7752c4ba266dae69a,11.607 -0xcab4f4dd423211a5c575300e3879faf8e6449a6a4e1269a02a3d3a41997118d6,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xedbf4187931cb3d852b762e5ff28fd6af6b761c4,197.287 -0x9e1678c1edcbc83972c9443e7480c6646245373d89d93269a58f3a6737efaae0,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c061223361f4e8b4a71fb7837fd8eac1bcab9c,7.243 -0x29716341020d797fb769368077db1da1de233a19223dfd5a561d1521e08e6057,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x55b3230118d3952b35b7965b09752dd299a95706,68591.894 -0x08ad065a39112a79a8f96d2dc079d037d021b6935a495109fbd8f96da0b3e724,4451407,1509276699,10/29/2017 11:31:39 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c90de3a4c3005a259e20cb50402d7c41948c657,42.21 -0x998d92ffa7b7ee8ff36126a2c4f943a56250ab10843f1d433ad82c2aa2447bb1,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006dbb368da30eeda3c789408a6162512e75a788,284.72 -0x0014e393d0b8f4807ec39db77d3e0385477561054ee5a998e0bcea219bed8f30,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9c5faed48240954efe9b5f666d1b6df1de3fa2ae,3.245 -0x2236afa41299f2ba520323aa3754fbc3ebc32da840f16077b6872460e1694c53,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f09af5717a441341ce58f1b2bc5d9df7c1ad4fe,11.956 -0x7a4e000c7c47e134f8544c9807ef78e43e2312f12813ff3a49b515bf15308e72,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xec037e3865c948398bce3cac6e0a3af1a87969b5,483.584 -0x0840ccafc6e2dba9b65a2944d726c19fa645e73a58a713667c7dcde58b562d18,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x144da3f7abbb9a22238f2258d13d238a9149dbb4,10.211 -0x9cb6afe0d147fb67de60fea5eb09e68a3130573d9014ecfbdc3c4bd6aad9be53,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5c7975fa3b0e1ecc47baad4596626aa2c1089524,21.105 -0x1bf78bdf027de562636d4702aa16621a4cf2903d72404e774eab70444e286352,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xea63a7e85bbf2cb582c90d97d8f78170ba7743a5,31.71 -0x864fb38d3ed3e6d6104e878a97900e6c96a0c52db7c3978ff13a5173a52e1ea5,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb72b4ef3d1bc5158136b21f91e44bafdcb8faa60,0.674 -0x07819ef588e54175a44f9fe966f584816b6c7e430d481187bd387b2396210264,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbeb910ae193dc54411747ac236e67d221ff3f1d7,157.83 -0x43b1913a848235664202efd57f64fa4da702d8b55e452fbe04db6d116a0ade82,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x445fca1e2473f0c47938979ee2cb469aca9d36b6,30961.325 -0xa9277cb88b457605f4b29b03b3104b4ead7f9cab8e447eb657620bf224b85ed3,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc5a0d7d8d403f371985fcb5c4dd9527bf82ee4ab,31.657 -0xc0710bc0322c1eb382238904b61afcbbcdbf74df9363bc58893e1c6381c7710b,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009dcd9ee2679e1a794297acdcdb9b325ed9f2d5,52.762 -0x69e5a9a569b43f6cd3a2aab5debb9e3fd33f15d19bdc84ed43828dd88cefad63,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd7ce447361509f0575a6a206888ea2afd88557e8,3726.414 -0x4ba4dae6dd4dcb4f3fc128daa49be9713beb6b559d4b5a9106d472c4b869dc64,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x126e1dd8189d7a9d7d1b3e927339fc58526dae45,253.262 -0x21b7bb4e8dffb119df163f601bc1691adab9c06d5a95d2292d00f4900d14e16c,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcc04cd98da89a9172372aef4b62bedecd01a7f5a,183.523 -0x261097818e88bff8f2e91059ab2289925947e93a22592eb6dd988ce409691669,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbee33ac5520a2245cbf8288e768a5cc26927cddf,590.945 -0x1c471748cf598eebdf954e38097ee2fdbec76472ab073a16a655f8005c625dfc,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ef732c7ba71e0ac5b110cd10879df9089c20bd,315.522 -0x9ef500b25e34ff7be0ac173ce8e911fcd40e8866450a641cb26581ef9ee6b2f7,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001835bf16df6bece037ee219ddc4870adbbc528,36.956 -0xb49017d90a7a27d974c7b36e4d62b5019f645eeef954445dc5c2f6f8d7ed8ab9,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf5d7b6314cafa1938306aa393f09f6012ab7288f,70.702 -0x3b343f55ff0e5b21d6566ca842d9a2f29e84f9472e4bc688032cf0da6d0b971b,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x081c8e52338007010ab569afb8f1e098e645d3ec,369.34 -0x4eb11e0849811e1c666751eaec8f6124429f3864a603e3a8afdb66e567a6b63b,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1fa4c4ea0ceeb34bf67c13be01e477cf0bc8db84,63.315 -0xc92cf8b144b75410aa4bec50fedee040d1a71e8ca0bc5d3a613b750d61e00d65,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x55c6c9d943a08b9e39e0ea27c50f0f6b16898f92,10.552 -0xd894c871f289cf702a9982dfb6ab598c43f5fe196db0b53ee2646ec0b1c69c8c,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4e577a9eeb79d887f0d6bf7f504c5f273f533c04,2.638 -0xb6ba8085e5d1e639f7af2b44c91529c11156905ba0a49906249c3ad594610c7b,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0014f112fdf769779b38ead59b66f955dad1b147,958.176 -0x1dcd35015b6bde5473a59b9aa2e46c09e180ff92b3805581cfbb8b2b0ce04bf8,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0063a5947b2cb42b51fe5e6fa0b75e6105b3a0f2,62.313 -0x7e3c6f99b3c59e314686ff30f32ecf28c588c1a4684b95bdf7e9b1d54be091ab,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8b1f512edfd229d910efed5af91445aaebc8c7a1,2342.677 -0x5b5cd3f634d0340900a1274b6f801723991cfcbb915945fe4a5457fefb40a021,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc14f09369aa8e6a7490ce9c54be313e5daafc0c7,561.403 -0x80fe0bf04332b6ee7e732284ee9ffe0688251f11b0f9d828d94fb9adcd60b8b4,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe448f88bdd86658308994de3c90a473f04abb4d4,12.479 -0x7c8f13bade66c52af9db06ba7547e74fb54aee3149ad111807927dfd71f2484b,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6236f26b6bf5e69bae11e794e9ef25d3895b3b1d,12.135 -0x23c0112f514c6207daabc0a9262d1bfd6fdc213ba9567239d5cf5f4bec71e2a0,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6bfa1d111e63e47a3ee2daf430ff319aa7079fa5,53.456 -0x276780673987ba06cc624469dd2a52edb469e76ebf572d624af4d03f70ddbaf4,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7ba835a2252a188d72be311ab7dcea6a29eba4ad,175.173 -0x168a06a554bd55e56ae9a779348695568b5628ab3c6a04035fe5ba8ac491201e,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc7f440d4c45c1ce7a295c788d9cbea9ff627cf8a,102.314 -0xf47e5b58ea48cbbfba15f693eec9cda9df60b93b413068927a6a963a4236e572,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe59d5f000bd5e17b3d5f9a87bcf85d1940f2aa8e,863.624 -0xe05a7facb04e0c75ff53aba354832a577733aacb6d417b931f14fa47e35a7a8e,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x28046b3cdb72ce8eac1e8953d17727f87dd6ff2f,275.285 -0x72fafba50059085ee23483a5418927f27c554fad106ac8e8730d5e6cdb9ed0a1,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2deb3f6d44a5bb8154181f32f79988bfee948d49,473.811 -0x50c59308cdbe24f49666cea9fca1fb8b3d170576b16f7704b782f6148d7d205d,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaf302aa751058797c6ab5249cb83547a6357763a,211.104 -0x64c286dc53698af5e2a80f05341b4248898431e1c880cdcaa9106de4af6d5950,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xff551a18250d3764de26d99e1ff0e854771056a3,1610.485 -0xf12dae16f1882349079524db6446bdd2b5eabd65363405ede1305ce45491d517,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0052ff8b09907fd5cbd63791a01672362a6cb075,535.154 -0xc40c815cd01975b8e75b70d79a1d75477f81f535b05e5d56eba3584855489c13,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ee32592386daab2d2ac0ca657e8e165e0889f8,42.368 -0xc01d53e6edd9aca4bd31c90e46811ed052afcfa3a928f1ea87b7a5d19329cc5a,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb5d47ed8c07fe4d9a143fddf967ca8d66562beb3,29.815 -0x5b65ce72d2e36c03c34285649b1c8819ac9ae2b0221ad36582df20b64f189108,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a707a440e0a34f11c3c259a20622440cbed1970,21.105 -0x936217fe89025de0f928ff00159947e74f566ba64b2aea6d602d22b6d23e57ee,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0584e184eb509fa6417371c8a171206658792da0,383.164 -0xd93c12c8ccdfdd2677317b44ed2fa16b5f658814c549bca885c815ddd624c48c,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0054e99a8a384386279936d42dcbabb4a710ee74,158.288 -0x55ba75e0fff9c8b75d2130869ebcd6c7911cd17dbd761e1f7a1f1c382fc80f25,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00406bb075308305d80cfa3e5121ba4354d200f6,31.217 -0xc646d0bc702acace2f4d351c4d2e4eeaff440cd3038ea9e87ec919fc3a4e4dc7,4451408,1509276701,10/29/2017 11:31:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a4ba602a82bb59c3124f5ade6b77e93bb274b3e,31.657 -0x08b27023412b3809c8bbde2ec81e984eb762cb5b3c5c9d952633a028eb55b8f9,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x25d56aca979398aca283611258eaf84de39c0d9d,10.552 -0x03a143397f0094b21f8d95951998b0c49cbde64dedc98e1504c72bca5b64806f,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6407c0c25a5ac315d64b8eea2f315983f4096f7b,31.422 -0xbfdca8f0e70f58f33fc9e74d017890d3c5b8381490a7d05e8b6ed5ebce82a94b,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ba325bdfa51320407c91f0323c303ac8a01cd7,1011.994 -0x77e0b73fd64291f41b43714ac352694d66e7fe035032d5570862ca5ca539e16e,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x523a99d1767f000e1e77ee5a4fe0bc6cf264a1b1,284.92 -0xcaa80a7348d80d41bced34350bd171f524fcce269114eefcf97396aec1d15368,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x925cc6e8424900f85c93957095893f806afab0a8,84.209 -0x5393eb915304d8db305b6fbca1ab8f58d4e8efe2bc5e7d0c121b6f605ac4ce5f,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0013e7914c4e0368bb75176c58d7b85064ba76af,137.183 -0xbd904b7593f33b2466bef618b9660b82aa111181c5cdc881e0733dd37f279b72,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x86ec1830e985a7f8b3c7cebfa6c86774f9b347b9,52.762 -0x977715cd6fd37c17d6ce4356b301d852c8b2458ad2b3f019eed9e0f30460c351,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x082d3e0f04664b65127876e9a05e2183451c792a,68.591 -0xeccc849af19066051fa745efdc3e517b4beef9e89d5f874461baa6039fd2f0e6,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xee1fae10668204a6a11d73f1dfba264e212d3286,94.514 -0x648ea031ca46b44544384adffebdd35a62ce526e7a414db1280fe1b67e75b8e1,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bf8401e27fbb06066845b15be8c1b06e42b0e6,31.081 -0x635a12423235ad7f4c9e0ef2fb311e97eb008f3c3b64662f675f48d78ace2db0,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcf0489ae7bbf3b7321841f3ce9db682a6b0cf612,316.577 -0x1bf9897db2ee2b19a4c269b6355a564262b3df8d8d5df405dfe06cdbbcd96d2d,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2b0b1000a023e99555058d8dbce1debbd149a6f6,96.349 -0x54394a6eb4c3d4ef3d34514856387956d94363415dbe606da98a6a556a642a0b,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5168b667344102495f2d51ac4e8de93e537403e1,21105.251 -0x4ed95b71010a8b898caf346f4849445f96396a2c0a02dafdc0266e6f9f48fa71,4451409,1509276713,10/29/2017 11:31:53 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9019ec6a366f30602f324bf32d91fdc926ee23e2,26.152 -0xb5d767dab7effd573d6f8a04e538285e548cd229b30392bc9c2f7984cf2a9f8b,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf786d0aca37d4965c2929cacee16ad42d7cf9bab,21.527 -0x9f234064ab4f4952f57f09b3d1aa2f6da5f6abd7768a9d2058eb075f9940cf78,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x38edb955024a69942471180dbaa3416006379f2b,52.762 -0x2574a5b51fc1c3286d27089581d13c5f0801647aa498bc015d6d7b424d46eaf6,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x82d31226f14b0b79aaa950cfdd01ad248765ad20,52.762 -0xc3e74ed2ae2bc3de5f508497fa9932b5e15708b61f9e515c4fd68c28f17e9d61,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe629f5ed94561a2e8a2572b46eef3bfb4419162a,21.105 -0x564521a2076740bdf25b32e939430db8e181e1ab8bfe5634c82abd724b7403dd,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4f1de81781e8bf83b57548a1ad3bad66a16c4e01,30.602 -0x396722ec4df0badc0ca18d6a00f146100f7914d5561681d51856f93e53a806de,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7d098fec4ecf9ac948b17a179c638f1dbbcef72d,45.376 -0xd99c7cc4cc9f55799d7a64bc494124b026825050f6676c81a8756b533faced5d,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe2f7d96ae83b7967015b3c483a070239f74baa6b,46.153 -0xe6dc1dc37fc0b0db26350c3b986e95ff26afdd32c3e24d803afaa2401ac0ed52,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1af41a96bbaf348c3ca582b65193ab4d9108a22b,8822.078 -0xe9ace105b2a0304d53dbfacc9828693cf4865803e2d672cf3ec197f10cc5e03f,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002dbe8e8627105c4255ccf96f8e81ed4915f277,6.183 -0x82ee30b2f2d838b6963bf4a9a99da1fbadd0af93f3337f756d27633d361d7b22,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x997dfab7fe0925ba6e6c1c9abcd20a840540095d,18298.206 -0xb8ce80ef1125cf09329dc7521099a7a4ae979aca582d9ff69aacdd9cf9bd22fa,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aa0554b5802d43ab255cd089a6a7fee211a41a,2743.675 -0xe59f5b06267272cb63f94e0efffe2799a314ba6876282e8a41748272e6d34fd7,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7025fe5275828b45b97d3b950d65666dcdb9fc95,2.459 -0x92e9916d64c26768ce9d1dfb23969407c2a1f5b4fa4c4e08c253d8067d92ccda,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bffcff3d2093925b8a99458b5d9e81dc8c0034,458.818 -0x4e30038353d8358593c09420931c40a883060c6460564266812ee911767bc31c,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5b279c406a13a1772c7c382d1096b04a7e65e753,52.762 -0x164875fbb74c25e0bc3928cf3af0a533ed3d7003c41ea5e092ed09f374513829,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7bd77a44bafa948bc94d8fb6dc2d0b9e9583f215,197.287 -0x12d3c3763efee5898a1c035a07252eb7839536129764e7ca5ad5bc6f83803486,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6bf95319e992a3ea48071692bb0553b173fd7d34,15.828 -0x0414767faf183c01d669358d6d865b65e93f18de58cbcbb9b8f620183916d6c6,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc6f2faaa16c7641c1adff6944452976ca1504976,34.869 -0x757dfb1becce5e6d1544014b15831753f115ace9692119768c0c8a98b1f02f89,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb92a8aa0fc53b924467aceda1ac915abbd537be3,4.432 -0xcd8f15f24b6dd8ec05b1053f92678cc084ae2c85ab96828a665f803c3a5e7f70,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa3b62303f219bd6622c9039ce7df26e89cbe72b,105.525 -0x1e12c5aaf83d1323ecb41a4ced37dd189178decf229ac1087fb9f0f328b954bc,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4bf278ff22a98e2ec520472ee271da5586d4ac12,55.057 -0x17d2bc9afd3497e431cded97ea41b2b3bd853a804b761e03c626602285d5c184,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8f6292826b8af10c8b70a178fce20411da8b37b4,91.761 -0x464d6a40ca05b9ce9317d238a98b28e0f378686451824decba30fb662893f5b3,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xee2f123f672d5bce14e7f9dbad8cfc34146319bc,126.631 -0xd76a040e71d9d78f6796d0bf6044ab3d5bc52a4d8ef76b05fa366a1961a90dfa,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00290671c99ac34bc7c8254033de25a938d4fafb,21.021 -0xeca3f65fac7134c8e9122c7c4b9ac19d8ba1f4122dc71e3db68c3cee7c9da555,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbc13a9ed082cc1556a92d05a143fcd2346ebe62c,527.629 -0x7ae84c7264bc8048e0405fe933a92db02f7574e558177cda42ea33dab38ed180,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc61840fbe306c4e984a41128a5a5a492f5491ddc,527.579 -0x14126c675b04f29e357dbb78e2ab725c7a40d94d4ed24601ed9358bf9d4a945a,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb3393e6991ccf120bf7d83e6e53aa6ac8ac5c551,40.289 -0x25a099b08ce72a388957b519d674769691f9dc89f4e4964cc8b6fc1850741e5c,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd646982089831a323228bf105965a23817d28308,105.525 -0x882bd4bfae95f1efe750d940a01e1fdf672e5e682e047979aab7574163b40e0d,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2bca1236e83b1189db3941cf479b7c7cb1112720,316.577 -0xbb9bc430b3da868a61d354468c74d1a39fdb4ad1666b936094a00eff4fb08a04,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d01d14e379d23d6a9b47e8886761d8e9d7e56f,35.291 -0x5026b5c164cbeda84c92ccd996a57d1644c62a25d575260f7e4b4ae83bd3ef13,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x48299f5998fbdc5898ac71e8221014a7124e0788,36.934 -0x57894077ba85e2fdc50c35124b8724cf093add78a81a97084a809ef6cfe29b39,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4504eb623e2c8ae4e61ad147b13cf978aef376ee,80.199 -0xee0c2e488c6441d8f9d3bdb6cda9a28a6f81fafcdfb3688dc32a12dd7eb16cc0,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1c778ab3f6068c5583ee0df394fc7251cb00fe3,27.528 -0x0c7e752512323ff2904cc51d21ab6f9acd2e3b88f0c2d365c412a86b66c4f91d,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb2c52e1aeb3340a166c483297a70f1ec3d0cd160,73.868 -0x5f2714791a50af856f50de6b22bbf792c3ecc9a7bc49d1f60b913f45d5e03c8a,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000e229e2cccd3c40cc7d3182ac72fde71122213,275.285 -0x2f31e70d5a571b3da681d405cfa8b061c7eb80792da614bbacdc3ad8d1bd3dee,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x762a1795292a3d9355aeea85e4b174e9bd8cc3cd,52.762 -0x032ba335fa0ddfe3811c395748ab9e83437341ae22a77d5770c1200cebaca554,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x301ddc73314300e25229803eb78e02ada22c9059,26.381 -0x6537d81ead6bf3b9900d860535c3aa44d42a5ac1e067b5d77f04ff35cf25c46d,4451412,1509276743,10/29/2017 11:32:23 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x524db42cfa6386c5bd43229805ba087cc5d25438,3.22 -0xadffccafce67fbfc896f63b3212365ce61a3682ce01425f3be559563541187db,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x48135590503369f344c719db70e50aac005cfc24,105.525 -0xf5610e5b30abee81f1b83ad56d0c6131a06d32604876f4ffdbb5a9f44cb3bf65,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1fa6cdbeec8b0ae15c81a65c5da6d152a0a6c25e,422.103 -0x0e180a4b4c82d9a558d3da20c7c1b25529d85119343b3946789c4a67412fa748,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0019012e00e460970f1d39925494ec20a2dbd50b,620.708 -0xea786be948ef8e0df9caa6c444ea51634979b13553120c87a3f53745a344ceb9,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x035c88dccea98eb443d506347b9f96044da9bcfc,27.528 -0x902120878a7f3a8449b30dc624eb4b27b382120c80abaec56beaa729b858094f,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4daae42c5e89d09da39cb90f81bcb2acbfddf67c,2110.519 -0xcf8f866689524b09c38d90f3378ac3b946124292a281802682e1a5c17389caf6,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0945c91d5ddc3cdfdf7fdd45ded0746d0f31296e,91.761 -0x00fca6c02763a57642941fa5848dac4372057ae8fafbe8f66f8645fb974b5231,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x84668bac6daf894a1e4203bd93863a7c7dbf87e0,134.917 -0x3d1b3c69b6cdc738d664d36b8bb423336e62e411f2e82ba39ffe9b6c38afe83d,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fa8bf8c0bb1b6a89bb9f45a5228aea9d296653,122.8 -0xf4cbd2d963f186fb60299ae5e0d2f37a82e153166a43a3605cb28f0ac99f6584,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x75d27075d8d9aa87e54f05a07a52c5a117436cc7,9180.761 -0xd11d1058827012190ddc7bb10f2178ec26dcb5f124437df561698863bb24261f,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b28bdfb808ed2c7df779664ebbf541b0abde08,29.019 -0x5ddeb4070f72912684a003e8c521692b9d73eccf4e709aa664dd358c7175a271,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbea1d038be0b029dffb599a396eabbff2584b2a8,3165.779 -0x49258838b23472bed157137471348574f303b63804f52e77651cc3d208814c18,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aa961aeab33a6e82ee5a8f3a0c42c4f87f7068,105.525 -0x0729a719f5a56dce48bc707132c0d6402ea1d6e6932e3fb45b118eae4359fd2a,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x38c1a42ec8564eb3a62966a831a5fa45e42b5455,16.989 -0x70bdf087109b84e996ca85c1853376c26cdca8dce2e244248fb2c66a37e42a2c,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf2c671d4cbb4fc23efccecf72c6b995a67fac341,105.525 -0x37e778c3020daadb8464b5637339f6ef2f60a4957d6c57052eb4c276c9871e71,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e6224fd18cbbc2e20a5cbd2103d6e8cea741f8,369.34 -0xef757d575ab8eb3029c664aef1034a856e3f29bba47325a8981aef47a8f8ad65,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xab2a3ec557a9fc596bef9c447637abef78f2bf36,10.552 -0x340f67f7329f2f65786ae458dda5daa4419d2d7de4fc4bf61bb602cd6ab9762c,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006f3b97c4f8cb8ddf2838d296108a63425e63ec,52.762 -0x33bdd67f7c1833401596a2574ec9c458d758fbc734dbbcc372dc61c7a15cf0f9,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe5e15888c2f897ddc27dcd87dd9f32a04a695feb,31.446 -0xa562ce9c0a88bf689e157be40e3d6dd45d93fa7f276fcda1c2577bc2c406fe47,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ddef1f2b6433c7dd4d7012090f5049bbe4c0dc,16.409 -0x783d6840d4eaebe23fccf040368d944cfa0457552b38e7f88272e459d135bf79,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00467243b6d8312a68f35ca037c0428d52ed8aaf,18023.839 -0x960003b70c02ffd35dabcb963b11830de6b6e7470c751c5728afd8b6ebf8192b,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xec92519007b823765664beac13efaf630c263316,31.657 -0xe6fe62559cc73c400bb06990d85db46660af7110568bf8ffce5a7df5eccafebb,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x66dbb95b55759347745b8580661c049dc211bff2,106.581 -0xc66bc8f2b8966f803beaebdc6f0a849cefcffe7b0a5ae439bca29ecda48aa00a,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9e0ee8a2c14d8c467a9b31129caeae40b021659f,47.486 -0xe0f0b6f395a229a4dd8cf49c250bd74d4b97eeee1357234aa933a62e312ad05f,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2a9184c124058289cde2f114180733a9e5b29724,21.105 -0x22199c932fd87423f3c6019d3b86fbaa81211f31fbbf64e13ca36fd04cec7c67,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bc7d1910bc4424aed7eddf5e5a008931625c28,527.682 -0x26274028552949e5776336d334348d08eb7fcca6b8e7d23acd15cd5a69de59c2,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x86716e7f1b8a4ab2d72262ec5e034ff995b684bc,209.996 -0x59b8780d7f79f760bf4eee8817f9276482c974d159dca52b137aed1df08942a2,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa56106482594175c13790cc8fd6d99575fbe5154,89.749 -0xfb918f654c4b2866d529795f8c15b9af77cc725cc88c45f50931a443b46b4e5d,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ae5328446d335ff5aefe66bbc5be2d827915a3,63.315 -0xb2a32815af08f1682475604e481035bffe25351f02c3ee607d6d5674474d1bfd,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a3b9f63335f09ab460319dc5b38b9f7029803b,31.657 -0xa053cbbd69d09727c3510aa9540866ab85aa58c4b41a6a79d828198baf5a80ce,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009181f75cd5f86b015f28e0b1919f5fbb3a3eb6,612.05 -0xb040c54a5c3ca0514812344a85c818801f9353ba279a3e50bca8f21f37948c49,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x42cd06fe96a36b432df4c7cf663c9337851dd54e,95.289 -0x6c8e0daac843ba292384fc815dc0df4f3b97ffdd59e4938b71962158ccc08b1b,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x61ac28a26b98d1639e38034d48d1a3760b96a22d,0.052 -0x775094819b09fb5a6ea04660c6f87caae17a08e94c57eae6582d07b13330c059,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d2eb8b578ae98447fcb32a4f6b68c45058635ab,59.094 -0xf387b14acfd2ad1c3da31468afe96aefd3da2523856941f4e065a81ef09a10d2,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x09bb2615c8f45144a7d4bc6d06c1ea346b8d3063,5.276 -0xc0466885e058670c38f4393b5a56e714d8f637b556e8f8582e2ff3d0c277167e,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x67af2e44d9eb9eccddfc05163361f6eb5fd89629,484.105 -0x63c4e3307c4a99bcc72171e33e1bc33ab5c8d45a22fd4fc14c40354a90f3e10c,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfdab49634888d5432dd9f4718887fdc69d27f39a,31.657 -0x4b01e0b270983d7dd70b8d024be7c13d2a2a838aaf9581ab7d0e9a1a1e0e409c,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfba6cb41b57abe94c1d80b7d738e9946d867f8fd,10.447 -0xee8c8a08293c386a89584ed768ea895e9667be5d8fa8d714021776c82b481b3e,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb4513bc7f383d9f27e8c9d2b16216328927f1669,9.176 -0x11a2f4b0b52bfea605fdc196c159fb5e403b477e43e16e72322af443a9010f6f,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xad4551742f5718e0af5d88119974c86efc8b83bb,432.339 -0xfdf8df1aedc178f1e174c474c3deb0001601dae6295a4f264319524f8beeeac8,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc84bb367c7efdfa0490412a91a1e4ac7a613510d,55.057 -0xa12bea3c10f3aa72e3cf1e702bc1180b2ae9ac6f150032acbd4690d98bb328bb,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4c522a2fe6dd800459133be7817b955fae0beb57,11.607 -0xa0c1ba08bba788528f22150ec1810a41bbaf290177f477917f80acd2a107f2d5,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb7bfb979281653e88fb409461d39f319ae988197,105.525 -0x85f33c5eba9517483cc90f8e6fa323eeebbd0191190fdd0a743cff4a8e3f272b,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0012f59b4690aaaac5d4631d56f30e00383eb29c,15828.793 -0xf7b1ef0afe1cdc58c8f40eb9a7905453c9d0ba40fb0991788c67d69678952e37,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00091bfd5d263eaf2c04134a4ddd0eea8c70468a,329.874 -0xa547ba81aa4e4c4b50f555fac7f05050c443629d6917773a4b3c52395a65740d,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002fa17657a9c0e03b1b0c3d833b200a013dff47,168.841 -0x2011691e348009614450bade6c18d8f05ec2442fe204fe8f802dc1f4bfd40e1e,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb434e938062f321bee814acd82270acf6844cca9,31.657 -0x9f2458412a57edb04003568ccdb874f000df58e7a963925a133724a34678fe05,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bf51d287fc91f694da8c8ed0005b1251397eba,276.53 -0x4a2ca1075a696348667b07474fe660abe4c221364f3148f81de7d71257d3f938,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x657944ab5a639ec79ba234dabfd0eb792ee9412a,45.584 -0xe4233b932a5885a37af883de1a63d440ca907ae66944c87e466c3913441bf8c6,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x560cd6b5772c69efe8c36ec3e1f8af3b95c66b44,211.051 -0x2470c4e722d2586a5844e095541198b8f8d3fd9bd2756bbf5f010df2f0e57a2c,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe6f13f5f9c2a098a1b0e02774f73b16f93ed892f,5.276 -0xeed884fda5c11acec2f0cd2834e5be8aa8c1f9eb9e8376ef9640f5d46fb947bb,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x679ca8cd4ae11f7813074b9337395cafc78ad4a4,31.657 -0xf8fee5737a15d0040f00da288da980cc1d9b931fbe18fb5143c16893357556da,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x373ddacb2c816717998cf44bf784e75471d2545c,949.733 -0xcbdbd109e1c9bdd1638669e60b8c8ea1a2fcd91721d8c387f54bd6bfc86bdc43,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005325ce1235df371bf5e8671ba58f7bc2d549c1,6331.559 -0x39d0e3da699bf389a5c42ca29a69cba2c03868d4e5fc7a008bd30cbf408c15b9,4451415,1509276788,10/29/2017 11:33:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xce6e5f32bd27b3f64a693b593378b389c5103a83,31.657 -0xdcb940eb5d0d0afa68e65b04214cd20529b1db77bcfbcab324236182da2becbf,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x924c251902924c7dbd4cbf166d42757fb2d146cb,211.051 -0x8ca03faccf04534b5979dd4a8e05c4641464e233800f8eac92fee6d09feb2eb5,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00497c0ea743f6a572459c14dff09468021c84de,696.471 -0xb66f759973d07890dfeb4d7fdc0e3c32466a2b0f2f3752a206128ffd3b9de083,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5124f80db491ec897cc316a5e11bc0dac771128c,10563.151 -0x642abf001b82d11f7bacd95223fa46d7ad361b4ccf446d5715a51bd6530eb1cd,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf21808c5f1198f548a6be2410fb55fc0c4ac15f3,10552.599 -0x79393d661ae07012290204c991629d23681c95fbceb41b989d31342444eacd61,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7c4401ae98f12ef6de39ae24cf9fc51f80eba16b,183.569 -0x1eed7f02c63c9d6220cfc3b829d033ea5d80b2d08333885198f83fff54a66999,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f1f605aa47e882d4c33a928fb1620881682ebd,4221.039 -0x36aba1f599f422a174a826b7dc94eb1ae74d7651d669e8ab3cc4f4400cae29fa,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5414dda50fb2b732ce8ef2f3f796fdf342daa5fc,31.657 -0xca23f0031325e1961dc563c549a63a07fb6bb8524b568e27dcf6894669d08c53,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x59674388ca17d95cf03ca527665f789ac10bf4f1,327.13 -0x3ef37753cdd392a61eec84eeaefe34905d6e3ddb4bf84bf5f602ee06e06e035c,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5bf688eeb7857748cdd99d269dfa08b3f56f900b,105.525 -0x84e480bb7b7b2addbdc367b56452bff4c4fe8be7a51dde087f167bd7e3c10b33,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8761e0dd63d14cf566acf4b730f3540f164b6b56,105.525 -0x09d723c99905a772d41655edb35f0fa03e23ec734d55cf7128f7f3de2d461392,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a002d19522440cd4af9636097bd510dc780f8f,518.027 -0xfd57ca0dae19b7b90fecf471318cbf3c5b4d8a31382fe8f7d92c22b25d5dadbd,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0008cd3b0bffddf4b7f4528c58db5416eb998ac0,105.525 -0x646b4a572607333b9a5275b40f428974b0473d9da432a9be7eb0b806666b1c9b,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009e7f3b1be6c5e05c4b3c39804293b582ca64b7,2473.896 -0xf2829ffd3cd750be534484e9ca03e4104eadb24ddf817c9ac0851448480e2d98,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0036ec309c318597ab5e273d535c6cf2b4ecb98e,43.16 -0x438e51954dbdf00c09297c2489176444b9b8e92b59529625265eccf8f61769de,4451417,1509276800,10/29/2017 11:33:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x13d5d590be45f86e1c1297073951ad7abfb746e4,50.01 -0x5ca6d2f06f01e6446fb4296e35ec6296b80f55122225bddad740d8c4fc7daf34,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xffd011cc6737e113dc8ba4b2cc294e656e9d8f00,66.481 -0xc92a7c323efa8e84af60d59e06f917ed1269c5f68a0fd8ada172368318f254ee,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x03fcec3a20f276aac1f7967a461301d75180371a,4643.143 -0xf500e112e02d8b4bfb536be6d8d0b5b4a09b23d7745c241a53bcfc43ce062320,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd660e0a01a5850b0e4c1c447a8d4f41b9cae63d0,18352.346 -0xcd4caf8f8d4391cc3e579eb8cfb34f49dcdfacd481143cff0ac03cf949ae2949,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7f619e5784802a7c966c46b12cbd2510ceb084de,62.365 -0xd7d4af2af5ff9e584001a5e3460d50db08150a6824259ce414039e5b2977c30d,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaca3500b68da8eb37f45381fa3a0c7f815e8f5a7,26.61 -0x12aee32be2f3b85a2ae50b8d6f58d28c44b33a8612f63e5e5a56cd4e62187752,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6ee315451190394da7fcdceb57d157d6a3453201,20.208 -0x02ceaf82d011ea30d8a9e64fe4f533a27dc7216f9b8ae7554b25ba5ae3ee3c43,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x200b6591326cca7daf74d4b6a5789824040d5660,6226.086 -0xbb86e7d0c54c2ef62206906a12da49ede68ece812fce4334547a82d55bd9a62b,4451418,1509276810,10/29/2017 11:33:30 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdeee4f9f7c3af2f271f030229d3af254f2bdb0c9,105.525 -0xac01321404e0af6f049428bd0d2e19e8736b078204d0a868bcdb5f2fb3f8be96,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4bd120e887cc82285aff8408dc208ed32b132bb3,82.585 -0x8179e586c04f7d934b2cca672eeda22d643855119b87f589f8bd5be55d35ec84,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xffb3bd8b5365758350008118961254c5ecd1f80a,105.525 -0x9579a3329effc44374f94a9212c1921102d7abe2cb4a0a137c305d8787edb032,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd4340fef5d32f2754a67bf42a44f4cec14540606,11.509 -0x3eadaa51475d15146a5e9e219639134ed669233b0d1c489a127e67003470196b,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aec6e482d2ec9cedf8f03072ff8bd27850e95c,200.499 -0x9dfb564afd7f219efdc18875519f515ae30246acb5a7b53384a99fdcf118710b,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1ac8a6d59db3938ddbee19f4ec3ea8a0a771bf6e,226.88 -0xc229fe3dac9ebf2b6450b60c8c30c4cbd9c721ffc729969a3785873c927b0d55,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc05217770e1cae59d85c04f333cabfde7c7dbefb,189.946 -0x473722b2ebf987f8f7269ce38efa2889705bf6d294321e4a9e3facc10783b295,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00510782b5d5bf4c408ad8a18c4cb7eaaaf592d0,63.315 -0xd90dd1cd7926ccf1e84673d6afcc2f645b15a193457fc74caa084c020a4d1b24,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x928318b2e90c8b1a5255d03ee5eb3a1533e3dbea,10.552 -0xe26dfd5a8134a5b40f3fab3486f1849ecd00b9697c0fe6fd7dbe7278f65d8d65,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3ea7272f84cfca9811d2103170ffe0dc551ed3ea,196.278 -0xd8016ba86bbd5e945c743a15d9f309a3f1e14fdf18250d4f4832a7c3364e668b,4451421,1509276859,10/29/2017 11:34:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x532276374258365ec2058848caa8975da2e9dba8,42.21 -0x1da56a273d3a11f4c382ee3603bfd15d0fb375935b7837325433fcc167e3cb19,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x298679f84e404ac8a9c73158ee6fa4973eca9abd,211.051 -0xacf6d5ef08b33c7b6f270cb59cd32f94a354e0c0a5b2ebda9e20d2f0e2c0d857,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7b1ec653cb5acf9b5e95dc259928fc766d0ac22e,184.958 -0xb8bc5d1862eab31789b6339577ac30db7263841c766c467ca681232708c01e45,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6bd16c10081589deaeb5cdce5963fabbbd350616,84.42 -0xe74a9f4bf9bff3dad066d28b5ce73b44d005b734786d3fd1dd85dcd11d4c66da,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x516ca63270b7d253cd9af64cb9d92d62de81656c,247.756 -0xa3428705149a72466f2f560e4501157b1c12082fa02242094896784f71bb8137,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1d78010ae098d2ddfc01c7306f16776d1409a576,84.42 -0xa91973ff11031959acaaf3e5a9cc6ce6f691a886983b298244cf19b1135a5e5d,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb3a82b6e21abf58b057077ff00130f292973a041,42.21 -0xe1aa902816f4e6f7e017bcd25bef678e3bd3b1c20a235f07a5ce909f9cd48575,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9e420616cf7f23f48fd442e11cbb1f36e37546f1,64.233 -0xf9561e04fdfb20ffebfe0e72fa7be609c4713220183b00efdc8bb835ac9ba7cf,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x051f77131b0ea6d149608021e06c7206317782cc,0.052 -0x5d69f7ff2e2fad6012fd815d414c68764e4d7e2962ff0e6ce6ba483adb11ca92,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb06d958cce8ced5b26ea37e63d26a3a3a0d3ab34,458.808 -0x3cf7d17d3b1117d1cf10ff2a9a73e8f3141b0f96d9296edfa2898bd0dd3e1e97,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x888a870b0e77521b1121874499e934714af32f8b,22.16 -0x687d02372eba45299c467233fd50e680041a90ae4f86d791254bee5cc9a8865e,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006ef813cd8eab68641cd6fb8d5f3b8126abb5ba,917.617 -0x093b69a9fd9225bcf51292ab9170826e574c772ce8e06f63bece394227fa5fc5,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4209c9ea64fb4fa437eb950b3839a43c99d96c06,316.577 -0x92bfdf646f259ff8c9d7d61acbbcb9664c1dfb75fa03be02a3743d5ea250362c,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004996dcf23cdf72b62191ac358142615192c7c2,1836.152 -0x4aaaf110a8c7a81f5c9729f4bb48d68d0463c9dfaf36797c97c9586019a809a6,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002c33c9811e4b478b1d4a2e4c6f60250e792919,105.525 -0xd0c278c100b05718dfa06f41c01d55ce4c87f8fbb2c30237f27db72e4e0501d6,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf72a6e8a84e112b9fd925ad040b81bec8b17a6bb,211.051 -0x43eb684fdcc44eaccbe0b7ea49edac12f5011079339910d4c1311448c568647b,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x43140ac2d3c02cba8e461602cc15c3889dd9fa3d,63.315 -0x076c242c75cc1ff044aa25489b56f472fed1f37aa633f3b6a00d575f299bd4bd,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6abe176c495486e953392e1203c4f675aa7bcce0,105.525 -0xb5a4d87aeb090b33760e6c89ee0e50c04fe3cb7d9b8a326f00056dcb6402dde0,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7d2136d6cc5cae6b60520050f1cc902abb8460ed,64.233 -0x471d2b195f22ca7ede7d562034a604d1a774141c1f4bc54a043a0ee2aaec5be7,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xea153d7dcbb78aa15a80f015aa4b433228836d77,316.577 -0xefd8355adcaecb46ce3d44adb2e1c3e4c918212af37fa74110ca9395503901e3,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x20965e529c2a05a2630d84b9809be93b76720096,73.868 -0x453a29d41ef9c7ed312e81b5a3576555094b55cfe4b6c1a695edacab5aef7ab1,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1add1af6a3949b9613922f9dd9cc3c98d003d5fa,69.972 -0xd003cb74adff5d7ea246e4f7c3d420d51c0c8ed46f8a4e2b45b7af5e7788cde9,4451424,1509276887,10/29/2017 11:34:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc60d96a54d67eabb888e162ded238773b44ca3b1,281.754 -0xca9ed9189446d7b2d2687ce622bb169261884dd1a2e074ef06de0fdca82fb72a,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0028a86e047f2fe0834d472d87728dfb50774251,369.34 -0x3e189106efa8774b91ad2734d4949c89b4903e3651dbfc45b0370a9d5d3427c7,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0035fc5208ef989c28d47e552e92b0c507d2b318,21.105 -0xf8dc6684c0d8caa09e286add70173507333257d0dc8d3fbf4d8f3627480e35fc,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003ca16bd227028787da3cf107e86b4c78fcb8c3,153.065 -0x9e85587ed1ddd94e96c402a1d25fa0835ee3a9146c66a286ede7f2270e6b2809,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0a2a6f1eaaeced797b514b9da30309ccdf857d70,169.949 -0x919a333e4cce75a58cea28a2c30562920bc563548f753c44a995726f3bc00d32,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0961081fdccbd287cc1045744a7c0b0222d70314,26.381 -0xd2f6dd90d404ca89b80ebb261a1857a2c7bfa3c9f16416c2a86d3aa3647c29f9,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc2e763a5924cb23fc77515a19ec3cc7e7a122250,910.138 -0xa8236c31eac5235c4398b7a74e78bb624c5926596c43957c7646feae6a8d82f8,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x50633256a5f5a0a59ebb7c37a29efb44f0c21e8c,20.999 -0xf7244b89cc567765f5387cc15f755536f7416cd4660eb000b0a9599db292aa90,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x16af41d7d554e5814b2a906b2ac27bac06c9a61a,10369.075 -0x4bade4dc5d99c39f9abaad613e0bc32d3c22e2a740d378a720f064c6617442e2,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f3f007a415cd23b2275e689b088cc0ff0f0b1b1,42.21 -0x5efb488a421f4a59c7895be897563e46ab57f25f13b6282144fd1a4bdde3829d,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x81a1929517b52ccb71a63d31774bef3efa6d080e,51.845 -0xaa173d7a8107fe8004ae03e040565726be11a2d3a0ecd3ddf5f5db50f7e680f7,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x44f4c9eb38dbc24b17fadecb8033c24c70e7d836,1582.889 -0x5870f0a2095d61f1d2b24d6f4f69061b8f99fa9a0937bcb4c31fa166c0bbf283,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xff4030b388b3dc8280c53544646159759e3032dd,101.767 -0xe0f0a4a3720d9c53f44cf94aa9672e570235dc5fde5c7729e61fafdc0dd8766c,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc8a7cd13c25d7237e4e957074e70bc3985920f21,10.552 -0x96a2e19f8a001a022c67692b13ba4aeec516ca66c879bb760a23ed2d2d7be597,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0047b7702418e3f3ac962feee269d4057214997a,84.42 -0x1948972e7f41ba0fe7de5df73890fd462102729c6b5c44e42663ac038aec9d8e,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd2c56fc0046932d4aa37cfecef3a47d143722518,473.811 -0x9c74a95f205746a94dd46faee360f00151936b382d0b6e4aec16cfd90fef38e7,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008f6eb1f8852e3ec09a2a33ff19e4c7369ea37b,5540.114 -0x35062366cd2e9a6db389a4a654b90278868efcc40e07155a814800ae84094d0a,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9d6b708f01044bc2d23ac51ed5dbc7563c46a6fd,63.315 -0xbe985340c212b3f0ffe3df34cb05e6e73f4bb52f1d1f3a4c2599d2a338f0cdce,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x30f92bacb185193876bf6f37a6bb10f01aaeb36e,9.176 -0xfdd39df6e6365ef81424035f4a2d4d79ff5d7347672595a638fdaf44825a24d9,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00240495286c0f4420b6cf3b7d98f50682f82544,9.011 -0x49f0a7d9e086a1f5d59a3b99efc4256c4b18e218f000f742bc914d5dadf060be,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4e9763a3ac1928e281c7776b41aaa83b558204e0,2.638 -0x01b1396c193de007f89d6a0d1541ca76e38d8168618925956c0b4d3794dbdeb8,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0037a6b811ffeb6e072da21179d11b1406371c63,0.316 -0x7bf7c08652bd1ee3926512fd15e4a52d131bfa163f0e9c4b396249ef2e72842e,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x73a4bf5507f57385118846444b38bc10eedb7fa7,3.165 -0x2560e40a5f52070dbb289549df13e83df3b2bf39d4f896fe51cfc6167c9365ef,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bbdb18494bba1635fc00d53735c06eeb171908,105.525 -0x7a04bafc66a7aa009443953c387f8aa6594f557b4920a62da891c6897771cfb5,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c03372f10f16d819de4d9b22f59caa35b91c0d,27.528 -0x48b5107ab68d1c378a5b745feb44905ebe3a9b1ba544b3fd7e3f7d64e8208acf,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd98fa099942b9179688793b146505935d64def65,10552.599 -0x786865c2b625353ad679af1e1fe3d1b8e134add790a73d4523b0a0641ce8f1bf,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x81d6578eaae7398c11d6b3ae4842411ede0d8c14,527.629 -0x856f98b7224be801b49e2ad94548359c4c3d277721fbabd29b88d95c9f2afec0,4451432,1509277041,10/29/2017 11:37:21 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002b44b7211507e761721b71b7d9dd77b29c67f1,86.76 -0x63a092d7ab41cd4068bf2103de24aa88d6aab38c8dbbde8fd3382bdca99090ab,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8234c57f49a272ab89ed69f445cf9ce68406a1e1,263.867 -0xc493e48dd1fc0ee4cd82026c90fbffa664e479b0161c6f9e680bb050ec1a41e9,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfac201d9eb3ac69d0f333067bb0df400ebcbea7c,316.577 -0x3ec9552ed6bfacc62b7e9b8906f43d655c62446d588cab45e6da10879d008721,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbd125f7c40e252a090871b865aca471f5cb8ee01,31.71 -0x9d6bf62f1bcfed4f2e1dad989abb1f4c4778d6083f8580ae221e46daae4dc9d7,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa4932280b37de5fcec32232fb378cbb24275e8f8,10.552 -0x97fd185417e4fd522cae0f3fb410aa1d866e52b807fecba871f8203c54834c8d,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa44db7ef03c1c87530fe2aaba58a0b6b01d3c3e1,52.762 -0x9bd75799c58214e21dc22fe177a9d81f40c1681a832179347e5871a0075909f5,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005dd1c702c3fcbca5f63b3ab931b15e03b3c9ed,105.525 -0xd67117d66c816cf48e5a0bc0e12c88493eb7588b521f2c6d473afc612a987b03,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x08047a8561852b8d75e9ce66751a9e0ef4eb2ad3,52.762 -0x80f8b317b54aa13344306bfb6962ee71e104cb2028f0e73886a0621e4dc4bb91,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008dd1b21dad14a42715a406f36abc940ebf0287,175.907 -0x59babc5d8c96fb13833f798bb299aefa586e5a5e760a4f0ee1c329c3391ff70e,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0099fedd81ce071a859bc98a84b7bfdfc52f4242,53.712 -0x8a336cf5230ef21c6966ea178df2ec6798cdc08bd2d076d11223476b45ab6e36,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb505830ffd0059f9a3d98c1eebade1b8279a40e3,211.051 -0xd05833770153a8522d6327642c6fd8a2c903d68de4ca61b423a0dd621ba692c8,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0082edd0064f00c679183e5c014d3b4a77a4cc67,73.409 -0xa4f99758f688de6f6f7d923e7ce5d0411797a8a42a04703a5f95b56dfe3d25d9,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x190e7c0403a5dd4bd21d426d88b76b1d513d39b1,527.629 -0xb79c46ba7c54cb61ff85e95313ece97c8a461638ca243811135f75a4e3d827a4,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001b5a4e37e076c88c2d8aa77fd1d57b1a40e4ce,75.978 -0xde3a761abe64c73ad1bac5099ef6c0ba5abd1850d16064b3695745e67ee379b7,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x52e0bb68c4b18ad158ac8e9489378e5e855224f8,10.653 -0x399ec4c0e08ae9a27e6bcc86ba8b6b0973f1468d29a6bf0fcfeffee76db82a0e,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e28833ecc493aa66477f04c932a4d689598910,20.049 -0x03a820beeec9a90b6dde166f8aeff2da34ad1fe39fa4a0e7bff90b3ae73f0c73,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa22438f8c8ba4f08a9a3c857b2687cc1a890ee30,590.945 -0x28569145c2ca4a164bba7e926cce299ba27ea3795364e5e3930a09e9e1af15e3,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8285a8f9373803328ce82b909ed406e7b88e8206,5.276 -0xfa49a8a5e069df5dc22bb5be1ef2bc730e6c21d6aafd861373498cdc9e2abd1f,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc49830add09b7b13758537fa4e8db73fa5fd4bb4,45.88 -0x9fa199e4192a9a11855d17e6db6bf27ad73537714c581589eb805674d7429a5d,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc4d620dd343cd3fe7c350707ad56680b4baae9a3,2.752 -0x15d9717f09d084b040eef1c56565023c42bb3d85d1ac3a9c9bc44e4dc7d0f5bf,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc69c3cfceace9836d63b90c6bcd9ed4e479dc871,20.462 -0xa16fd6eddedb8c6a8bd91d588a6f9fb3464ffcc4d3f6c9482dc9105cb7f7f6eb,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007fd348bf472eaaf68e58f652c082b86813bdca,142.512 -0xb4122e6f1cc635bd3594723d232e4beb07298ac9f694d5eef10a719b0a20dace,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bffbc05987709ade08d71b36d7e36fcb7a613b,103.69 -0x9f12c0e6130f72d7b29976cbd8553217ce2944d5b93b4d3be8eeeff41b41cb52,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc771ceb58b220cb663c2a77b37558cde21c471ee,154.067 -0xe7fe7356c4b20432de69d007cd935950d5c152cc5f105f159b2282ca1109bacf,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb48eaf22121c5090df38caa3150be0872b9de6ce,42.21 -0x16486e0b425e84b551c34a7d375594e8040c72f4f8a3d1be1a344ad77f04c1be,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cc6eb30b179245a98c456964fc577a5e302244,5276.299 -0xa694a66542718f19cf5515bd2dda20f1cebc66572e8fafe6b917a605f3631139,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf40c3463efb7815a2369d56492cd4a8202033720,74.184 -0xdc800126d0d02610038d649e56337d51bf8755fccce3a88945e69ee81d5fe07d,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5feea0d35bc1d74650856fdba465a9fd7582b08f,52.762 -0xb196e047a5733545aa8475e97edd77773ec685f066baf1dbb8df4f22ffcc49aa,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8e6d7485cbe990acc1ad0ee9e8ccf39c0c93440e,211.051 -0x3e8c334e3659290bea39e90e2820d6e6d3c8e3186d97be2f95ed5ad4fa1f93a4,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1c5e4db864861d9b6203bd86af0c0b5ffcd6115d,105.525 -0xcc1d9464ecc84cad879398fd345602e64814a28e6c3c6f76d9c04a2f664b3a2e,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0054a7cf7c027ea72ac2b1994d1f6221539593a5,15.828 -0x12203b8fbfa3ab7b82d19e07897b1d51de0cc7f51e049147042310fa4f5b88ad,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x94cbc73d485035a0ab712484144dde3352d6cf60,526.31 -0x101ea9bef7feebd05686cca453f43c67755cd19f1d5839a831ff07a2e41171cb,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0005ffdac0973574e3fe91ff31b254fe2fd08acb,923.031 -0x6cdd82abbcde140d7d898a2f86cf871e61538eeffb108503a038173041f2e854,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004337ca7ef0391b38f913689626697307aece2b,561.948 -0x8c5490c9d8041992d3d525731c5bd2a070fc2e7bc93f3fbd2a2b2a5bb2d32e0e,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0014bcad7b114436044a783d787e18f947fc8bae,578.422 -0xaa3fb0949a1f98d7ab1b25017dbcfbd9c36f27230e92dabdf72f692e5722b182,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb6694b3bedd5ba593526ce5e1d6f5ce899ce70b5,822.707 -0xc55e3df11c71d70e12fab2d33e97f0117ee35d21b9f22d093228474af84e17b4,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf0be27337ccc1182df91cd4075af2f6dc7a67c5e,111.995 -0x675ae1b7e9654e0c27b179f358d717c3e87a98513448012b293993b9b387485f,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7cef137621ee58bd6c3a7036924dbc0288f81dc4,149.846 -0x7561248714bed373ad38dc1c415b408bdac1fdba29250ebbb3a80534fb1e9b0c,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004b8716a1f5c2f8a423a5f170dd5fbe4f436171,16.884 -0x15c18e596cec7d17680a20ac694d1a2b6d7812f88fdb07cd1c666a027ea25229,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6d8188d47b24e6d8061509b7915cc40d31cf4b8c,31.657 -0x15c8bf5705812024ba34cbab3c0e0c1b9ea23905eb831e31ef8bd286b9152bd0,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb0807cf08105020d06cbdec06fb549adcccf14e0,22.94 -0x50ee2b72de2e3ec17546eeeee64eebe8a582d351494d50103e4fcf37fca2ddfb,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5449713c3b74111612c326efdc9a5e9567cbaa89,91.807 -0xfe9d2c604db8f9a32249324aa75546ef73391c4e9dcaef8f451f1481c4461890,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd79cf77ed776c7b4520fc4f95a21cdd75a7b9b07,58.039 -0x4d1f325259a09790acf9dfc826ff8e7541e204dd129aa8ee83352e136b4ede61,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00efcd61a32da40d230aac22bc0ebd026d8a9fcd,95.026 -0x993de5ca1d88bbb96a4bb4178b3ac119081093a816cbbdf8c393c0ad3e33d131,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x28c42de479e57cc0c90b8a3eceb406dc173ad7cc,71.941 -0x379ba521aa170f3f818f2f7b82dcba8d5b946a0af8be9ce84add6de8c7b897aa,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6a8666af2e42ebaae251383d5d96bfe80e41b4e2,24.541 -0x50a6501628c141d76e86dbf229bf1375468800736e1323d84ab7aadd428b002f,4451435,1509277083,10/29/2017 11:38:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0dc2547858e1caf83aaf4d61db51d3696b2a593a,211.051 -0x495309ba85d4f543d1e5b1ca393d00c18ffeee35bab6327804a2352795657e4d,4451438,1509277180,10/29/2017 11:39:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c4363a5d67bed3671cecdb593609745882e913,211.051 -0x20883756be04330a77e21f661c9d423519088606845b7210582725f6df2ee4b9,4451438,1509277180,10/29/2017 11:39:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0075cfddebf8f19740296cad7870516db11db25a,183.298 -0x8088a9de2075246b7762dbf21fbf193f9130611882539c6c27fd0a59e46db226,4451438,1509277180,10/29/2017 11:39:40 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007ed64ac2fe49e1bcb932151e72de0ca813ecf8,7.914 -0x0938cf87a924f7db66766810f6723f9f68c2704d96b6bf318c2d69033a94914b,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa34c6bcae6f46ac6470443ccea67d937f6060c7e,232.157 -0x55a5589b01d3f90eb33a6759e0fbdff8e8582e72b642f74631564562c86f4860,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00afdf133993cc0d4101f56f4b12a0504024bfd6,2638.149 -0xfead752ad5466edc52f17f96e74f7f92d64fa9c94c4f7610244708fe54e8e8f8,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c39eb735f8dbdf396c2749f298cba2bfd74cde,84.42 -0x8b865808164cbea6d47c72553492333f54c3caf2170f5d505846cefa97bc99ae,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x596c4221758f875f51403416940e0ea1bc1755c8,107.021 -0x67858a894e99f095a7d9527d7d179645f26748a4437c1d08aaff629c6c038762,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf9852f33e7b714fdcb0cc70fd2338923c5ee9c45,21105.198 -0xfaf27c7d5e24a48ef07eca0cd1a06adce662e0bf61cc7706ec5bb28c378e46b6,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4f8e35697891efb39506e932c9084a855ee53ef7,4839.421 -0x8ba659f0ab3a895d5180959b8823cdaa8a6fa92d1625f85666ee514ba5c542d3,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ac42f377da5d9a624f94d0e9904e76c144736d,189.946 -0x20cb3480e33f3337ee3bea1da0e3784d8cd10cf084447711dcd4e7c52a05c34b,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb8cea24ecc961f20fd7ea6332915c9ae85521f1b,15.512 -0xdca78bac151cc79091f8645362526c2f10c649640b3303a21d954bb1c5e9deee,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x01772953ed3b69349088ae7824c649d6dcd0cb1e,211.051 -0xff4f8b9648b5e25c534fcf8702224b4a71d2d02feb8adb328faa29fc0fcb7649,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7e22e58855cad471e60b297f1a48c34f44091132,529.423 -0x4d4ab6e58c4f4cfe29c53ff4411cc706a7650cbfab8c1704010a131cd22ccd70,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbd315db0cbeace9fdfa9b1fca41d0c0918f4827b,35.878 -0x95a004bafe9f9195a19ae5a805fbde8f699fab7f9a54e153019941cdc3b0e6bc,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9af1322b1526ea42be721916e6ba232b4f001fd6,1055.47 -0xc9df930e5184b892066f160f43fb1abb607d72b32c9af77f5460dbd1ef42728b,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x99bc4449c9a1e3435912f2c19e75afb1defcbd94,21.105 -0xadf2a432cb8dd6bca1ba4aed9f7f9d5fc1bbec328f9f5069043198b0ca0ed614,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd5162bef9ca95cab0b5469e0399878923131d36c,22.529 -0xc84cce495d4d740cca25ea8d64019e4f220033c91adc5550a4bc77bf6f74dc89,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc29f18ff6f0c0ba071e0c6435efc1cad05c25a9c,2374.308 -0x801781ece574ef2192fe518336e7123d4c9a5a5f3701a821fe53c138b0a0fd2d,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x359043a2edeac162a5bcb5594a24724176dd68bf,660.592 -0x29fbeeabe5cc7ddb191934dc22deae74a70d247ebc41586070a3fe3547fc0434,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcb431327705a1ee54417f8cf3146669ea52f3e41,463.396 -0xd751e00a43a7561ecd50ebc5f469f84ec541917888393c2e03a9b4190e285f7e,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x511e81b9d6c360fb6ecbd923f66aad7c34cdffb9,64.37 -0x554ec6c7c4a6542865cc345a6086e7b5f5705ebd893eeec1ca2da781155e048a,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6b3900179e0d9e20712ed41f8bb9ff8cb1e3fc88,84.42 -0xc15d34c553abb392925552bfe8c625d6d97579694dcb981a390ca2bf6ba20cf2,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7b365d77a01b72223a89517b981d0b97e5e41646,84.42 -0x08247e2dbed2ac69ca24d02cdb7b0ff81c630664ee6765b2bf4e4fdbcfa06626,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9bf140794f7009345dc3de37523f63ecca1b155f,17.939 -0x34c5563ca00ec422e63875096d10209e848f4635fe86468f922c8acdef5709ca,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe31e4be4a7c65fbf14ff16ed654bd06b3a1c6750,211.104 -0x6f0b67986454bc42fc3432227323704328e630e417a30296ef3a1b26ecd0c38b,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a02c4b206630fe17cf7657ea80f1b6fab809da,105.525 -0xb7622eb4560b6dac16fd1c36a8179b30dbfb6e16d155a8cc376c5bd87dee5de2,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7b5d5685dedfd298695086da41f3f0699ae9d82c,1772.836 -0x203abbdf061821d4a2a4e2b87b9ebbfcf65eace69386d0e213d132f3e9249ecf,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe35219d98bf6f9c693bf04197070d79d9ba73bfc,3324.068 -0x6c54f77d4016fb7a81b5bc480e33f70f2e6e3b9b4d44831b3412733455dfd763,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc383c50f156431e8f7187e0c04f14b85ad4aff27,52.815 -0xf406d54533e033bea972a54677c3cd6bbc2b671d443aa064979a544d73b0960d,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe4d4993cf7be0b894bb458dff9c2653434d407fe,1055.259 -0x51027de294d2fb32ce0b1f16e2a15240143e450bb6af9493b54b78032145f271,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6904b80d7b5967daf9a55a469e18c55ea75964e8,15.776 -0x2f51e134b4fb66d7ea8750adcce9b1a052be0342b7d20e67d7ac9c394bae12df,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x36f44cf83a35e43c5ac7d775f24a11e6a874a85f,48.174 -0x4bf552a40e4d24e9c66d6794afeaa15ba310a975761c4697089ee34de41ed610,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fe4c20335a78abf60128c5f0a375a09d5b64e7,105.525 -0x9731fd993fa421d3b0133ddd2e71bcffa7cf78bf7fcc74d7a58382e13878f4d0,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x08548af3414d04416f96f60cb1c39dc8ea927b4c,211.051 -0x04b3637defddf11650771947667981f4c8b86143af9a15184142bf488f55ab5b,4451441,1509277213,10/29/2017 11:40:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x291cb06901bae540721973fb6a98a2f6170b21a0,4.432 -0xb60924b7239fe9eaf86a2213e5f6e59952ad98d8f081824b93234c0ff467bc3a,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00843587f711b5b15b4b234450e0a3ac1750e4b3,695.416 -0x258fba41abe2cdf6a54eba2cbaa848bf381d0cd1e43834e371e1effbdae0a44b,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc875b446639ca898f1b3addccd107b9e1e2f09d4,57.534 -0x77c4520abfb36a24e670bcc939b8597e49b9f26e202d1a1181e8316f34073fa9,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f7e7b1b52725e1f32729d3a2c521a5f76c98df,6.384 -0x431b7b0a6387164b8452a6cb0baeb606e3159c8787346d577c0becbd61fa93be,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00878eea2b606244d21b41565ebdc18bc324d38e,10.024 -0x258af748503effe7f8fbb77a354abd8c448e837dacf67f3d4e198c9b4c71d87a,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x219a0751553ba999f730fc1af78bb5a3f255670b,527.629 -0x6ed1246cb04678f14d9e61be53ccb6ab4bdf48ecf6f6d0d828f49e9d8c11a71d,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa9f94b0f5bed56d03c2a3741eef545edb7c27ddc,31.657 -0xbc568551e6506d692cd02692cefc41ea06896be8be185e4783cc1562cf075367,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c5229fd8a631cf877622f2e37af6eabf15cd99,177.6 -0xe267a22b882bb6eab34cc8d0fdc6a30ee4982eec57664ebe49b4b7072803e3b8,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x45d094b1790602ec766d3a81701f02ad99f3e954,16.884 -0x8821b5a8f4f3e3b3f63df69e1405b8ba9d45ff3421d0a78bcc091c72870b3262,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7c019777dfda36dd460e7322fe6e1f5c94972517,12.663 -0xdcab0229983fe0248d07c1692307a0cb9976b277649e7bef4439ad2799ed62fa,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x07bec2143e7052bc6608c012ea585984f8f9b27f,91.761 -0x8895feea06e2399031d5ec800b1092d4744fad6178fb18e67b50c767fd5028d6,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087c431927e0a49ac8908026cfb13d3cf96b950,12.188 -0xb0e8267e805468499e9718a576f748f1bc72942225694a6a30ebaf5913a34373,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0033f21fa9aaff0f79eaf1759611f0d8c60f7b03,42.21 -0x7b7af13e31b90e0f3dcc4e13b8b0122d7a7d6be882c88dedecb7eeda445c481e,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d6d291937e1e0158624cc3644af95a6140f2c11,61.234 -0xac18c69e84a2e5bb0403afa8f033a18bbd790bc3777185bca30e9827b97f255e,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9c3668049cc8c0e75c32ec8bad06421c3bd26281,1055.259 -0x9fded539098c35f42498ffb26ba490f62e3cf8fd20fe3476afd0c476db05080b,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcf1e7d7b8b56e594e0294c5aef7a81b957350e34,352.181 -0xc8a4a1781ced0e258b3e9bce6c24269767234de58757f34c5e7d259d4127a5a3,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xab416fe30d58afe5d9454c7fce7f830bcc750356,791.444 -0x860e014cdf7ef6d178e07ce157e75adf8c45d4214b13399d1fc08bac8992cdbd,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4a3f746d8fdb67aa729cd740d720c4a64ffaad89,2108.959 -0x8a14735a67f7adfc50edbf5565ba68076828e72ce219febfeb0e2bff9c95550f,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009cbd06cd1a0812b83234ff4b16d4561901dadf,275.285 -0xff644afab5289e298d5a3918a1983fc8c00950f0c5e640a11c8fa0e500b91f69,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x608cb60905efc0b59ebad8a9c650a410fead95a0,55.057 -0x39c68650611a1b287fb608d1424fbd786860c927246d995cb14675a8cac6e02a,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x52e0f7339c1bed710dbd4d84e78f791ebe2df6b9,91.761 -0xc6dae0e632d7f1b4997b71576a5c6004f51f673724f7db44f52b25b5007f4a68,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x92ee94af3a409600eefbcd59bb63623a6280a13b,5.276 -0xd564ea3dc80307a9b824e2923bbaa397a4d263b39ae039c60b68ac203ca06e82,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x57ba0396c511c6dde22e4c524c07b85411d6d05d,995.614 -0xe8bcf06f506f741359ad982b860c2c39e433b9fccd786f6986e9a1300c1cfb2e,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003c0f01ebe0f29488c629e253dcd4cb9f1cc586,150.871 -0x852c1ba6ef9b7ae2652f06868db49c6f2f17ca97b3ccf89801a3ba616e1927c1,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009789e46d6734cab174c01e5811d744f664504f,44.943 -0x4b8a2a3d85258fa61e893ff6c64030dcdefe7417d7e420f26dfc17ddc8d26fa4,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x734ed6fd608eec64c9fc1d82af4fa6165820bca0,147.736 -0xc4d481e5548b3922264e9b8fa38116fd93a3384390327d22a3d163654308a1f6,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0052b34370f45aa1a3d93b5837975bd9e088d6c6,143.882 -0x208e66b8a4f88d82e46f1cac45ebd506ad126f2f52aa4655e2942c33beabee57,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00228be11366ac5fe81770d49480c2a190a9da08,527.629 -0x2e0926e0d2762836470657c2639bdb6792da284f69d12588a38e94c59802355d,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d228ef1e58117a07783f0c17ba1faa7aca9516f,52.762 -0x6e1404d870a087238c2343ce53797ccc6a8275f9bb55bcb7c63df2f2264629a1,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x94b05d7a1cfc33b148caedb2b979d603a6532bcd,158.288 -0x9e3e4b189f677c74095c952b608e81b1866a0c6238ee8dd1d05c32d043c5cd7e,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4999ba3e07e8446389fc80467cf6cba34ab2363b,105.525 -0x9d63dd691f5045252cee459a69b8811cd2459a7de83ca886f863bcac473de171,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbf79ded61f78515c23a76e625039bedd77c50aaa,15.025 -0x59ba975fdfe256d0013383ec6f26e53ca38e3a1da3a14e74771264876962c627,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5c5f66fc6dd672a91114e67edcde69ac17b2ebc8,116.078 -0xd4edcda3ae616207750ed4f23a07902d3c6064818f87ab28201f3f49174a5f30,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4a5b1ecb17b9ced712df12474c5588c8433ccb44,13272.416 -0xe97fd94e9f2732e6358ad82130cd869ae4f0e9593996c009e7d9bd2fa86f6247,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x383f42b5de515c564641f65f5da3bd8b4a35b4b4,15.828 -0x3b9ffb396ca2fd69cac40e080e7504ae0374e8894f9793f1589ab66d8e4f40d4,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x097b2eece415aa2a4a7b1e0c310c81ea3ee1e292,211.051 -0x365adc7dbca95025c984f562cda905d60ae92f89041648ad6641eba630ed11e5,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004840267ca0976045bee42e0b7dd7dfd3b827ce,9.919 -0xebd67aaf24d25bc62738ac1f60cab08543fb0d34f49fd02ba6a3ee3f8f1750d0,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002475878828a236151128f5af451fc3c1ad194c,11.953 -0x670164e9ad65beaebb71c5a799bfe38004ec2ce9a5a4c526994f9dd824aa09ff,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xee0a93db77fb6741be11c337e2edfe00233b0c19,52.762 -0xdd241513488a028ed03f6983291667f47bf4e19c51c07a22369c6678f85a5f81,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x75f095e103de3ac2cd8410ed059fdd5bd050d21d,40.925 -0x36080a74cd427437d8f1229bddf60f59d8196c3df74e3800b89914f690f0cb46,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7f88b00db27a500fbfa7ebc9c3caa2dea6f59d5b,10.605 -0x339ad088a68acfbb029245474a88880da323566882070bf6eb7c589d33903650,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbd6e08fb25db746221175b2d50e9fdf7b227643a,1576.558 -0xd1b5645a3ce4de9ee8e95b14eb40e6613506a2e29dcd778e5e7f1ea37e3caef6,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd182bfd28e1df3520bbae3602ca44f076a7b928b,3377.006 -0x9705c18ca8d2cb7975f81b3a4b734191838cdc367d481c96e26f033e474353fc,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a48d6223b001e03cce2b775a968e5199a626434,47.486 -0xd5733dd683f9003199709df235a5c08b820549f5f373f16faa8601883c0f5d87,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc9645cd9c965c5d1ba0d1519f8412c5fdd9283b4,52.395 -0x50657cde7f3b164a5f91e092bc4fc5f308320246d71f2cf264db3483fdb9fbc6,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7daee2fdc5f2aed7ccd792223a8945707469d1d4,2872.755 -0xadaac37f1d36d35c02454812f46852e286e6da914c6e066eb3c481637343a41b,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8e1a6e1d0d940de7accfddc03ae542af6d690c64,31.657 -0x263bbe849a27938e302b22aed689f82951cc3d8f5afb9195f82189277afe28b3,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8c4a8da8157683e753d28767849df4e6d216c079,52.762 -0x8b92e2d692c815b9093fd1d8d2695468a7339b5e1d61821af4d882e779118eb4,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0532ce0c1d948b2e8317af8279e07561ee3a3979,827.899 -0x22518d194733ec01971d233e705f9ec7c3f6ddabd5238adbb3d53024f6bc7f09,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002a9013053f71ba888e54a8f4896a5cea18f904,43.582 -0x362d4e4b2b04e912d9809b04b21534ecc98345391e5181098937a1510bc99960,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x56da5ac544ffd544d8c78afba72665b79dd1b87b,105.525 -0x746db3076d007c6710da2eb4495d9db0f19266eb6694cdaa45f41b0ebcf70e87,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3024413123731ac0ce07c13e9511c0bb76a228d9,211.051 -0xa9bb026e6ef8231a15109b9df19ea9f4bd64819e05bf850342a67da95a49040d,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x994625b177e36e65a06118684707c19a62194586,64.37 -0x853a2b670bca78d5a5959e2dad93b30daf911eabd8e356d968bf807c79fefa90,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a32ad2c6d4d5ce0b978e4e0e955e02abbb70ca,316.577 -0xcd337bb024a2c09be410309ac2cd388e45f03f7a4c7211e4592ba483469fe097,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa378bab57ff303be5842361b3c0b5ff44e222a76,3.67 -0xae07edcc2f4091ca5104273a733f876408fb16147b071fe15da20d26614730ea,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cc3fd9c77dfe29e8d63f42432d05e26cecd97d,105.525 -0x29e5116bc6a492049e89619a773ac990624f4dba1a3fd87adfa6e8a83d268504,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x56d8d3046128996b3356e248e2448c7de420d98b,73.868 -0x3836bbb19c12841867fa81ba866692d8472c7886540ed4b6a85bda46cfcacad2,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ba2b48d35573cd15a89057fc6aa79f58945c36,2163.282 -0x73cca701adc6e7113176012984ac5b4313df5366420b8d2b0c47e005cb46d698,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x29955c36088322a44d55f597eb63a7f60af639d3,21.105 -0x6811709a75507353e5555b8dda49a5ac91b38d5574c29186ad15098d2b5d08f9,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x34cc2861eeb213da8bf366becdfb319f16aff12c,168.841 -0xeb5c5cba551d1f1e1d09bf3616f8e356b698478d216791433fcabba348882947,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf65aba8ace3c2b4a36c14de6c24a05f664274791,15.828 -0x0fb9ebaf0530b76376bdb60bc252493d2efcd3cded7670c7c74d3d12bd9fef47,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeaa0987ad748c033d01d71ddd87e2d5e1fd80e52,105.525 -0xa69828f6fc7466276686c977f3a8ee043ffc4e24a5fbff8b8b03ffeae6887a44,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7525af9498280da3fc2f5498c495e89561b8ee79,52.762 -0xe11d6e3766e46637cc867271521ce697a054c8406350958d33171dcf6b8dd723,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x75993bdf8a6c4c657f007fe09ec4fb4fcdeb3ba7,110.802 -0xc42c433042f9c029eb6b8f05938017355a4b818e7d91d8378f3c756432cdec69,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4aa9324f187b1005e43892e3fe65bc9c78bb8d8a,45.88 -0x23f01691e1f21175ec45cc878a0c7d405e6c80ce3bc503ca221865f391774153,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008fd24707883affbd4c830eee85a8a4149306ce,5.826 -0xfb42acc27c894f124a16b94f3d5ccd5c99598d120482edd16645365a7225c30f,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7738dd4955693f16822925a3cc9fde3f94e13e32,648.204 -0x8fb3dab9fcb27a89095d54b13f28c42e433ebe4318b4bb36f63e521d367535c8,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3be58c29b09669c1b1edd3153b0872e3cbcd8492,52.762 -0xf429f1b14b2e91d2afbc6709ca21274911062ab179a46f90c529685ea0b591d7,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xafefeb0eb9875074ca2a2d508eab621fdec459e2,73.868 -0xfb68500952b2e6313c99f1db4fc017d4fca41e6e9a59d2c32529e718b5bf13e9,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe88b871f4d3c16b385ddff8370f6730b9b74c38b,39.044 -0xa43881fed11dbd76c27cce1ee8ef3c8ad05e9025c6eae0d5f4d81bdbf5085559,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x06eb856aeb8687f1803c095615b3e7143bf130c5,1055.259 -0xb5906a1e533ee51b0e402fb09ce108f287253cd8ad9e39fd9e2a7b4b7d825a32,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8e7bd3dc5a41971455a7e5af99c3ab77766b964e,5.276 -0x11aa7b109768b3de56fa3679fbcfa308aa485c8b4773b605490ea94c4bc922fa,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00799a6372295097cd51c0769caa6c8866bcf7bf,45.88 -0x02795ea7963191b8a452b151727a74445a0b163fbee159cc99cf61dd75a93c4c,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007ad88b72dc1cf54adf012caf81e3db579bf04e,27.528 -0x9f3f74576d4f4dc5e277305decbe6efd5940d09abc207d6c40728672734878dd,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x88884e35d7006ae84efef09ee6bc6a43dd8e2bb8,211.051 -0x254bd7bc5901f83167721072118f7db75f58454baf1c2442881ae0b803a198ac,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x02d0f868a0467b7eedf6b252c6a7e53ea90b13b6,52.762 -0x7290c185bd513291805613b765f33745988e62ca8cee87aaa31c1ae455b2ee5f,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0084125bebeaa11df85ac05d8da15c2ad150e814,9.176 -0x0866779fb22230395817d043020f880862b7f2785176c9b384fb8a6ef3ebb9db,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xccdecb6fb16e73a9311e57c75beef3487b3a0b08,18.442 -0x700c29c9df5ab46c77bc9422ae3b459d580abaa7c7487a4b4b332e88981ded4b,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f06b9faa0d5b71935682f53b6ec711158a8e9b,104.154 -0x3040933870639eb6818024a1f27dea80dc0a3dc7e600ab042128ac0b1c89064a,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x43c8ec1ace6c4b36e88ea5b6388c20ff3f13b19c,110.114 -0xb520fb3c0dc1e8f347dea5590fd4fbfc11db86a90d99355a3eedf3efef9b3486,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa7a2179c90de5faaa539ef2f2d8a1d0f2ea547db,31.657 -0xa656dad5d53d665a4cd9606f204fe2599438cc39528b94f4bee3809be6b6d1ea,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb7ef6733ceb972d95d74368fe24b511512ae857f,30.281 -0xf38fc12870c0ae21730a6caa25d9f31b20201d0092bc0d548e78b34eddacbbd6,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb71d05cf5cdf7a9b15b20b9aab5e91332c271c96,141.817 -0x8f4e75bfbd80a773cba34b49d0cab8a740f5f654535d87f7fd38f520feb06e30,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9782b9c2c85c2e9db211cb6200065e312853e68c,21.105 -0x6d9ed855ce6ae5d4d2781c26dbb834cb003f0cf126321af4f3ea7657f1c1824d,4451442,1509277220,10/29/2017 11:40:20 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf409aba35fd318d2f06b820f80cdda3819f7a545,49.597 -0x726529069747a6c859ccd6c29ea476829258f0d0b7b8ecf9335dcb09a82d3356,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x92ae1ce8d97e5b698808ce07cd822c6d5ea023b0,105.525 -0x60231c68899caae0f20eb076ad4f73990d2a6253718e9c4fbd76b229d3c2cd89,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x410a7076af80d5c66f3eb350f4d455c959e99968,9.176 -0x521fb79a246fa1b082511ec52dd68475f25c4fe38ce7b829b13780bd2d01220c,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d9f222b9f83e22e15702b798ff9b4d9d30b117,2110.519 -0x78e2caae6014fc1da57d815c47c35a11f172d2c0f543ef017e06b829cc3a2976,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x017a5d5fcc1bf0ff50080df6b62f484e96c5831d,42.21 -0x88d6c136eb519814eb538e9eada58bf145eab0066d8705920857a32877a40c5f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ad406dc68cfab9920f00f2c5dfff89650d05929,453.761 -0x5affc45605ad1014fc8364eeb7fa194e6a0e79c76a35e01d9d691620bd2f11d0,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe3bbc9586ef4c2baa9cc995fc50dfa7118d35dad,32.345 -0xf6d5f42ce81fc747ebc7d592c07366159ddfe7502d92682090279ea2ae5cfe6a,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8803cd717982cbf4036d0ecd1925f13c09a11a51,45.376 -0x4b8c34e08496af8bfdad11584973c806396d2c78c4781ea1bac39877bda51083,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8b8e5173aa4696b5ffb4fb411811d3198ce837b,24.64 -0xc29d2a2b0b9a68b8a4036883d608ce2380decfe59cd4b2728a0865ff5629efad,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eb0d1842deec54de9fee30c06369c21e33b99a,94.867 -0xdd4d75226276b87e14221bec15f70b5e29fdf1a3ce6a77e7fe40477c25545cb4,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x80c503db92ae417099a025c49103b80e370ddae1,31.657 -0x3405abce660c6dbb2349311b6b0fcf6a8e53ddd4f77d64d14319d521026413ac,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a45d72e4ba11ccc796d37b6b1d9518183fa451e,284.709 -0x8a3a98c76a187ad224a9db3fa48d053a66430bf4533863a3208503e1db92791d,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xac20c60ff77408b1fdf3ac6e2739a14742a2779a,105.525 -0xd271aded187122a2dbd1f4b1be750c9f6fdb43143206adec49d96f131fefd5f0,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5c94565b1d83230d62649ffe8fef08c755251853,10.552 -0xcbadc33fbc824f80cb616fe7dba711cfa4c566fe710b5ddc99f7522dd5d7e60a,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf29c684feb0dd39f45960bbc4becc9f776be4ef2,126.631 -0x49bc92804577adfff1f1073dd77639eaeb3c8cd2c4743e076abb9fadeca1135b,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x17d6baf59972f76f96eded80604af2a5820fcbc9,114.702 -0xf956d3f18cfeabd11d0e02e9044a912395a08c0fd51936d25e1cf5c8e41ed01f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd8a185b4c3f9684a0c7db5a9f49a54d9227ebe5e,9.513 -0x0776bc692afd32906d50cc59da577ed198b99e1b792274d66a9cae07f379dbc7,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1eb95275df958625d6ee8a7da99eea9fff12127f,1107.811 -0x6830435020d47c46f067b60d99fe20ee2360486a010269668c5c2cc5d1db014e,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1daedf70a4ec0745ec4968d3e29ccbb4d6001109,275.285 -0x47ea9d62184da8859dbd06c3f8d95ad94743c0deb0908bb2e99a7f72599cfebf,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x919633258963e54df2e985f3f42b3cbfe43f24ff,3887.026 -0x4ed407fb3166f99e79a7c407a4ef59348600ff7295bb8e9e972201081f1c9c8b,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d3396c5b7ada618bb851ef905bddd1bbbf4379,210.863 -0xd36cba9b3ff686e6eef65665e3f8159acc9f9aa3b840d7ce63a20b3862abeee9,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00099a01d4d41e7df0f2f08687d2edbf7884d99c,642.332 -0xa452c4fd1a6329fad57ac5cc4334facea03ed85d13be4c9369b2ffa0b3055499,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x44696286e8ba88c8c0f782b33fa7527cf3a66e39,77.561 -0x9ee619d50872124913a1ddd89d05dadf69b483a30654e8f95dd40a7106034bea,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x522325d3c47c84ff0a86fae37bd4f62a703d5b42,52.762 -0xa4cbb6aa277a21c3c054cbb64d7cda4eb27c6ff55a95ac457b9186bd9b01027f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd1200ce6d0ba222db35d6135e051267d901f44b1,105.525 -0x4a50ce4b020ebfd1e5d05733c05dcfd361675c6d3cc7514aefb1535721792e23,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc5a48a8500f9b4e22f0eb16c6f4649687674267d,36.934 -0xa4b212b72a733c77f442fda0ebbaec61d9da8ed82694dc43b2b9240cb4b4bd0f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd29fb1d3724764405fdea290aaba4637eb2a6d72,36.934 -0xeca77330a1eab5c8ff17e881d556652e84877a1162f79f3b56d40bb7980e1a35,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0424193a415ebc86ff650e3bda37c521c5f6d45a,147.736 -0x8b87f41f7961386000d92fa3281cf5b001c538c920ecc095bcc0e9c7aac4e156,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x800819914cb399e8eba6cc9f026066fae96e4ff1,52.815 -0x6d8fd86b69d7ff65f3fb9731baa3460f5106ecc7709dc37a863d689e9ccd1ac6,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x450f4b99969a564bfe2388b52aa949a1c109b588,0.052 -0xf2493e8af937f9627f16303f9274ba9d9c2e4671451afd65d061d71c7887bd1d,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x100dbb75eab5d98ad65ef16483aaa68e68aafbc5,51.753 -0x86375561d8c90ac71cfa2987d0d16b776dc5dcf53a1dbf2dc8bef67a677e5a77,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2107691d8a935f6f5ff47171ed954e332c4248aa,16.356 -0x8fe3ad204815a44f1d336e77d40dd6c779f54eb33c35efe2ac885a04d04bd5af,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaf770e8cbcce62a1a458739a4ae0811c72d33f55,2110.519 -0x53ff348719ba100d6dd090d11f35f344ca4fd23906b26308bd0d65e711e5c58b,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5fe82ccf847c7f2a0281fac8fd9bcfc7ef245f9a,211.051 -0x50420bc5d5610b7bc407c68dbc138179cf252392f6fe340a5441d9a47dccf533,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe95a0b7851db5423d0aadc91bf963eab02c6d440,242.709 -0x7d18b04a394f644a98781f2a90fbcb30392913e9d5d623ce5fdca608eff33fd5,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x99ce75400cd94e1277047d0913ba8e6921aa1637,211.051 -0x9f127e6bd79dd87e8acae1dba9db747525780179f8eead3df08ac01690e5a0cf,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc16e288726a587ef85a23c884cdb4232637ddf5e,186.643 -0xa4d2ba3c0d9969c91caee5a89bfba13143d2250eadbdfffa0c5316f7d9170230,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3fce4a3b54b4ae9acae0c1b7911d4511e01090b6,31.657 -0x8dc5faec90b0c0bfe2ddbd2d324a5f4b44fa9a515966e19407f2346b00c27906,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa10042730f48659fb0c3fd7f3cdeeaae03317f18,26.381 -0x250cf084c5a01b350ff07c7e233cc8131dfeb3545b1b263ddb87a64bc2d2759a,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x522aef9c286463840def1e9d7b43f15de76b1b4b,5276.299 -0xcf12c100356d5ce1b55c6ef29aab1d65ba4e790f30bb048aa6334209433ed83c,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xadffeef501353d90db6612ed584b1438daf02c4d,105.525 -0x5ee871c50cfe43a4a513b044928839a98e0f6efd14e189d76e46a64ef53c6f6b,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1f1dbf210d8bd9ba610071d284620c157cdfdf40,31.657 -0x8923c5e49cb7a1dbe155729cc396cbc89ce53febcff5cb81f8c087fe0a367bee,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bfe488a26ec2e61bfd6a2f59e445980752d634,26.381 -0xa34388ecc952310dc0a1b321c6ff0c14a8080c9a0d721320f92529e0a8aa5065,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x60256530d074465406df460b6f38424ab5df6bed,105.525 -0x102197b6e5fe0ffe0714966387f9fbd01e439f0aadd9001488e187e66fc66af3,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0273a1c21222e27a3d41dfb835e07af4b4494c08,5276.194 -0xdc5904279ce87ab489db0b7449407b5c283e65d2f5d4627e5646b038e80b809e,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x74b9ee01ea740c5d61e3868dbfd5abe504269ae6,209.216 -0x3ada0582b7abecba35611aa1aa32efccdf6bf3e8a6ff99d7d15f7aa3efb3cf6b,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd34e9fe863c26cfcecf82bf4cc18701b3ad4767f,153.012 -0xbe090f476bbde0565855c199fae725956773eb9588311437718a5fc76fedcd99,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x09790fda0cc6a748b715bb2ecd8fcc012d38811a,31.552 -0xfae5a8d11fff5d7cc433ef0884e27b4a218a835a712e0ec35b82524600cf74aa,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4755d3d389180081398ce855382d5f03e6547acc,642.332 -0x231d9a84b5ef305c3e1bbf12b2a50582369345e716557495ec17a71f39192316,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x17822cd9476fdebd92e640bdf9fd63169750f9a5,12.663 -0x5fc5b173cdb59254dc230dc1d399fc5d22b934ec355cffb2bd40a508db71ae10,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c72c867cc89ccb922cda5821ffe7f060d8603d,316.577 -0xa2f5c6e997f76dd9973d66291f429781ded33b4de1c99c36a27bb55ccf3bc35d,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x60f7905da2eef27ee2992082769b0c1c236c7395,21.105 -0x8f96c84f9684ad2e06f8074706b9777e8ba6a97dfbf81c4baa960ad8f3bfa675,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7732eeae979408d24c88500bb4e9166aa1616aff,10.658 -0xc32f577b8b4f4412feaf7cdf7e898875408b652c954c96d5c6937815e5b5b1e4,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe09656727d41176c0b8987f684450af02eda1466,685.918 -0x4e7335093681cb0abd9a0f421d28bc5e7de84e9c51d3c6fc38e3bad34a2bc814,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0e696320539189bf06f28dc0c7b7ece1880e14e4,73.92 -0x96b3951f40f625173fd9a6c1a27baf6eabf091db46ed98c7c779699b0243dbfe,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfa6dda94cd91f2160d9d7d091ef0c7230520810d,105.578 -0xaa70368c39093a95168cbb4b0ec22d59dd1b68cadc4d6af799c7deb1420ffff4,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaac3bccfaddf32b9066fed9a76f0694a471e8b71,1266.311 -0xf22ed7a5824d3d5da633fa3fee2d0d0b5dbd28c82793904ab1131a4d86a9227f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x945df54583eb102061f57d3b4f3e499d7acc49b7,21.105 -0x718f22829ad79ce1dac373e84bf0eb4047504edb136bdd5f751971312058a1c2,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xed8f71ffd7c2e8d8b37564a4e3b5d6fefa7f66c1,316.711 -0xbae003327452101c1ca8c19a266f3997e5699dc478f2f2134bd1548a144a1c63,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5d5d65287605d949dfc3ce2691b6774766a0d3c0,830.953 -0xa3ece988cd90fb6d92cbd92f2c49c9558029a8e9727083aa1e5359c70d25654c,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc81f502e87e7a0236ca1616016d216b81b91fc61,51.386 -0xd7575455eb474a07db3273512949ec50615e525b5417f05635c2a75c5da8c573,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb8f8068f55fb15342508809c3b2f6606aca7a650,91.761 -0xd57656d11d358369deddb87dea78e595f58f301c61086c94d92615116e33b3a9,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xec6ff8b811135779cab408d1449e9ee75703e8c7,92.862 -0x3b0d4fe4a6cd9722e7cc9a27cfd74556d43c3853ba18e7b9298a38f0d2a1aba2,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x255de88ca59b050e361ac05df197578bd70a732b,949.733 -0x2ab369b44a2218f7a8c3158db184a602f0dd0ce46412948e7287560f012b4548,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xafba1acc74aa89d638612e57aa4a9c60cae7c1c8,27.989 -0x7d4bcb770975bc77b8622ebc42f37abe1b18c8a0e1a2d0560ffa3b5c9f373604,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc17d9bb1ec5b9baa20b7d0b4d90aa5643ca1175c,365.858 -0xb96a613e549825a3e75fcece0dba6a556ad50996141f1e80ddf11e786965afd5,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f67a905cd6e24183abe1bd4718aaba22c520d02,10.552 -0x60a15eacf5a29562ff6a9501063fce5fa3519670e04253a0a8243fe3ac386d62,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a8043a578111b05d48162eab62fcdd9adce5185,275.285 -0x1de01387b91673801669218fcfc813fabfec4b1d046f81d2a44aa4b8749ac928,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4036ce05f4b3f7254541e9f50f56247cccafc14e,6078.064 -0x2673b3aa83c2300a116b8506d78cd4255f825aa2ca53b340864c2554dff2d13d,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7b0e85ebdb55e25262849ba46b0a3e31c928944d,28.739 -0xa5fa1097e8f32fcf6a1db310f3f229a49894a3269b1ed0e8ca389079846d287f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2576f5ef8309dbb23c39be29d62273b4c917d783,928.628 -0x463a6d5b2af3434c59666211d41e8443784952847994d416eb8a9e1eca495c90,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b7680dba45cb6fd6ae148cc8b30963667d386d,12.442 -0x6a95ba1d4e70ee4ddd6e87123a372864369f07c2555ae1ab6643eb6e12f6a733,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ec89b84200b69fa6bc48793405af37706e7cb3,42.104 -0x8bc05fb22f202495711c8ac03fcec389f11c233259bee33267f1594a5f0fb224,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf6cffc26fb979a2a3d44cb74b6295d31974e4ede,261.282 -0xdda260c11d907591b6a576993d60d924bd8545f40aad46b150bb66507b1cf840,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00538ad6845f3526e08a2d1bdda4ce56a6191ecf,142.46 -0x8a139ce7df3618d8abfea4a295687d325c21865877ffb42862a838419a465d8d,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbf382c70d3bfe51f50fbb462568ed1ceafe02999,52.762 -0x91a0c33f4c53181fb9272c8a04d9a33031d68f1be922475fbdd6ae13ab8773ba,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x47b340a7cd29bfa96a17c1685f61a67f0c7de422,52.762 -0x82772c8a2fe33c81144cbf4a92ffa0b42aeb9e894f12e5da5e4d77765cec3b93,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x77fa549b3eaa7e18718235b376be4eb130fa54ec,550.57 -0x93b888a7cec054167ffa989607257d36a9af9c06971ac118b044af9ee8dc4bbc,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf8536ca7a25cbf70df754fa310079ada4c6114c2,52.762 -0x14966f57500230e1fb182d18bfc30ca4829ca9d7c55dbfd83941bc2c8eb255d6,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087066f0dbebe06b184ad03aaac64f28b6299cc,4.454 -0xe74ee08ea13985d2a1908e9fe866c99828d727b6c63c3dd7a81ed373db593c31,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2c9fff9f2fd3bf895fdedae1c18c3951fa135331,35.218 -0x5585b3564a3ebf74cb2d0d12c80fb5b1069a32ac365b3ac7269face4d57ca986,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1a73e362728d8de8f7e7961a7a92486d9897c1c,520.747 -0x1b3715a0bf88e765b7f6f6b14b7b35387051e85be2c4ac214898085a68da188a,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00da54bae3fa6d6612987a7f29a32ef9999af062,4221.039 -0x3a042debc95f8d852b19fa391c0ef6096c134dea95beaad3978ef834d2307d76,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c2acbebe3deafc493391631727c11da323aaa8e,52.762 -0xc18e03edf82f37797131e4a6b80dd7ab9b8be8878b9aa0933ce2258826193cb6,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa1b28877a75798bed7c923d042a8bee3753aa796,14.773 -0x9e54ebfa9fb05e472c5bb28fa01017dafdd452ec2f738856b134a8e70958313f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0013742c72bc005ef342eb367374d089ac6dd481,3514.015 -0xe9246ef69ae114fdab8f4beb861a5b45ba6133144e3f19a4b923903bee8902a1,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4bd74d345c128f0a80bc711740d16cf3cce70de1,6041.133 -0x969c9f057550d2e186f7cfb896d86391f305a85e4c62af3336baea790273726a,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00353dc8b8425298b8b6bdf587c4f5631601715c,36.406 -0xe23be5e9d8b3df23d9c7474da596a34513362e934fccaffd8106b55cfaae0d34,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ab10a4c4d9b566830c833a90c865d859770016,158.288 -0xba3cf4c4a4f77b50d422d785bed2d52245a7f620f19fb31e2644755bf31de3c5,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f57f2f7af6b196ff8cda28f9ea27010464d009,39.563 -0xc5c49a3082e1a579a9b88012448da6a2d28c7d37489fc87bfa1ed2faf8507f4f,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005dd929c6d703a12daee88fc368b849b0505c27,5.276 -0x51ba77ffde3ebcb798cd202993f4757ea0a2aaf42c3d080544e747db44658e0a,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5baef8c667a773f2fce5568f70ea4b8cf94dde65,71.757 -0x19267ccdd2cf2c4c29a7d7a753eaf837f7e8e23a829d145bb5de415dacc5a195,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003040fdf21fcd3084fd4076962bc4c7e66395d9,34.07 -0x4b963e1c2c26b4c8072301408233ebba801d361d8d0838762913dcb1b979bb15,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7e103f3df1e411be2cb88bd11e9c2e15c4e69394,22.16 -0x703d74de6d7df9b98ae4c46f8c229ed82cc5dad01e469f6da08cf3fa191daa35,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x02783580dc6b94e83db00d2ed655a809966d66cb,10.552 -0x0b1622758f9fad85143060a15b63f1705d727dfbc82b492ba3c9c05e67facab5,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x32c6220c6116e3666c220ffbcddd2e7ae8d78c2d,6.437 -0x90cf5919cf6337ab7b649837f881305a13552c3bc17e50f1b41222caf96503e7,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5140e3aa403d274eaa6f6b4af30e2c050c1ec8d4,211.051 -0xcd6c0a49b0fe70650ff679616f3a7a24b72c47d8b5bb43820cabc0ffbc702a45,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8da0a15786008f543a760701e2021f992e1c1cc5,1688.415 -0x938d6048bc4339a633ef3fe6a0da63c55437ddad3e78cbaf566cbe1388816fda,4451443,1509277224,10/29/2017 11:40:24 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4b78bdc1a48d2186c3a5c3c8c0892ef47155f85d,52.762 -0x2084a8bdb28ff84eb286f3b8ae7dfa442d79be744489cf5299d45a4cfd9b9993,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1d65fe9687372da1184e62ab01638d3949124565,31.657 -0x6422ce89e26a1442dd6eadaf06ce6eaf2d98db3dbfd4d7b8aa2652d02760a29a,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf18fa0631873e56df496a05d96116fc39da12b0a,27.528 -0xd9a60699b75cb57c2e4208a4a020d6929f34d1b72be2a0a66234351259441797,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004af69a0c1ef595d06cdd6fa458165efeb0fa8c,8.35 -0xcc6e6e859981e9ac277c6ed95386219da61b49393035439bd91d5835cc559cc7,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa75b7cd418b3b3ee94b151aeab4947e7fc890fc5,83.248 -0x21f4d34ffa68ada2d3af1fdd34391ddcad5c4235ff43756f63f08a6123f9a26d,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002f331dd9949283c6f9f9b1833dfcdcba874740,105.525 -0x6fd2518ff828ce0e9243e3f242f6b0d0a8038895da87203d255dbf1cf90408bb,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6174a3a6ae9bafb6aea1b87fcdaba0bcbeda4ecf,21.105 -0x0f529070a32fc2265c07407299ecaca7b93ef5bb1d76c8c9634708e9533d2ba0,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22e90752520af777fbd85cfbdf28b94748e7b871,42.21 -0x4000f1141c46aaa8b647831fd3b30040953b39a7e728bd49486ad8b986e2555f,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa1cac24ee6eb326f1640c5c97b8a2e260b4452aa,51.18 -0x4ca43fff50d776daaa448e5ca4c8fca1eba09877b2ba4b3dfa0793d513206379,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x968e43f6be8d8ec1e8ef7c8d5c60f34eed8af3fa,344.014 -0x53d83de3bc6b89703e1e1d162f1480b54fb2a58fee83d54bee5b4da2791ce6fa,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00684c55baee983062a207cca3d8581c7a2c32ef,117.349 -0xdb187f2fd2aa68111a9780213a07070d073df45018fb1e053b401c4dd10292c8,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b94ac84a9f1d304a6aa6ee6dbcbfdb3ac81f82,302.813 -0xf00a5e4df05d9b0d14fa6c658efd8329a03d9b0e38a1e13e9d9a3e196c6d966e,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc8ff6762eda9af66117a353dbce0cf9098d8c1d9,21.21 -0x7d14b54b58640a9a3023b993f997c094d3a20af65c7afcc0e1ca2e1e8fde6fd7,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5dfa9a92eb14a3455b46eed5f6e17253f304abce,34.823 -0x734fc97a051c75504027e26441f880aa12766249843431a8e73bd3ba60dc9838,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x123843545fb525c8e134c9a5f15ada6865cc3848,1888.176 -0x2f8029885f42dd93ef4f021296a424cfe0ab22ee71e6dd82b451431bb9fdf0c5,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x30c083613ea607aa5c2d723ac9e2c6b0c032288f,9.176 -0x8d72d2d480cd83211fd1c52bbd31a44a459ecdef4911c6daf22d67f54197d29d,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x247927ac71bdd4d795b6478286a7800064dae9d5,52.762 -0x96a6b0f09d2679fcad711bf28c422a02c5b2bf3d8131e1c4be11c507d1e188b9,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb66e4cd327c761fcbcac782909bde1518bcf55cd,200.552 -0xab2619a8b0c90a11e6f8a317b4b44bd1986d8d9ed77c2bf7ff5e09dfcabbc8df,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e4cc4afb6dc15d5be10f9ff1cdb373e6cf1ee3,21.021 -0x0aabfa33c6eef10313289079fcabd76b930a48fcdce019188dbaa48c5a30f4ea,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0fef4d684a5035fc9cf363b08ba21baee6872269,21105.198 -0x63a2c145c3c2c75ccd008b24097972adcd39bc5d66584b20d0ff4ce8f5738cf9,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf6fe74155a9b6733a8ac7b3836e38927d7a761b0,11.02 -0x7d1eb00374640287c2d18439a6a6dfa92104807b9b2d1f8b65f5a080c409be41,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5246fd9b509ae75c0f4b2c176c3ee71de674f292,12.099 -0xfecad1e0d118a68b1b6a50cd7a25ddea17928ec39ff868501e29ff70f9341caf,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005b75905e8b686acbe0365d46ba0ac2a70b3160,2110.519 -0xfc35f70a06a86106b401ee663bed18f155d80ec7664ceab6cbecd71897d62fcd,4451448,1509277339,10/29/2017 11:42:19 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00692c9b1e40a8eb213880ac4908eb8cfaf1f598,45.88 -0x311430612bc087c7afb51b05a3801d17db24e390169fd3b4b91cd34d5f87720b,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2684445d42e93876de6d41ed685081b9ae9bdd31,265.723 -0x0a44972cdb0bbcda83bcd07980648d4706bb460a3ff59593b6f4ae5662ad35cc,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x026581d80b9cf65c119f32a750947c45cdbb0847,253.262 -0xbc9a3af8cae8a1d0a37b55367a36f9ac447fa0fc3dbb397a766a9e09171b1279,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x818c69a3f3bd436087ec101f0ff8aa2d3cd35e62,211.051 -0xc507513ac2fa76c57ff7904079666095ebff9cd555ebe12345e43b6d9e75079d,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00afef101ad493ac1da15395eeb0c84cb8a2a0cf,37.163 -0xb601ba954b827a041b97b02bc5c9e70d660eccfbfafd7ba5d90959af186e80ab,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c1c6383e5fdee5909518f8fb94e23d9757334e,82.126 -0x3b87fdd24b4fecac2cf8fb1dec09cf2f3b610d662ac0f4906d73729ef18f4fbd,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d5faa7afe93789d42c8193c01d67a25478d1f1,659.326 -0x058a9e994b7cf23f1598894e2618d365fca318da586b0781fa9f54593b20b4f6,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x75f555adde5385aa0b852e0c551f3aa47715f593,39.641 -0x5ca7b31b88c34e66e93456e77ed46a6f05ef8fb50d43966c9b5c754137754fda,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9b0d0571d39cf62dabc905c3892c32fa578defc2,69.647 -0x3752b5158753e8e4191331abd44bbe3d63c8b1c441662b3cc5f088d61a54385f,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x088cca87b0d829b35efeb6934ff807cd3befc48b,490.925 -0xd76a53669d9f893eeb3260d223ac9c2ffed631978da8f20864a321ce3bd5d84e,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008350bdba3dcc3c01474bde4a9a6bfc4144baa4,76.81 -0x6b674958da00530dc87f0f762e508872f5aa607acf814824a9876b143f65779b,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000ee102d3ca744851a94c25c3eea1cfea5bc5a8,717.576 -0x8a421788b917da3826b38c2c7212c99dba48b2a7397d85915a08c6cf3c358ac3,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5113c12e12427747e73b87b76bc524124acb69d2,527.629 -0x19d535906802a3172e26327e667ed947524f42f5a30221870d5a78a3e80dd747,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x99c72a739535fef15968b080611b4752a564a3f8,316.577 -0xabe99f85e327dad48eca40d9a04717e1f89777ae66f0993a3a9b52374a13a9c3,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6d3a3242c252d13a3a7bc14cc12f5baf1b276d29,9.545 -0xea6255d1043daf0eb0b3d93034c83bc379d786902b008fa603b5cb967f33681d,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002611243b23dc29e9ed64f28df2c344055cf3dd,187.836 -0xdcf1f8b9af7d6fbc6b1f6e2b41f575d9ed2ada11115ae171273fe0002113a4e1,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3ac7850fba178228acbd4c8b601bda2342392e21,16.884 -0x782b79d52534cbbb356d86c9db386b25e0948b7c0c7812112a2072e851a8689f,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x85f8d96b05b4b33b934f358bcffc916ea60ca1e7,20.999 -0x49d625362e4834d127668dcb60d675fc9713f2b52a5402e75d63fb034233634f,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4aa8f04de40456cfde9e606f9f066f399bfa4aa2,185.101 -0xac9b6707636ab172b5d53bb5c22aff9069ecbe50b6bd86a9d06aac038ab04355,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0029dc8d8ef8c287ad395732dbe5d5bf951da820,158.183 -0x6c02694ae9926b595d8b5cd1c640c8a62ba69a197ccc540570077ecae9aed6d7,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa1347203b8093b7ad0f21f821e7d53f841b25892,1229.377 -0x938d6f6c917940d1d3aaa87398d8a8d229e2c34c7f80c0d0515720f5e91e7fe3,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b5a5a1382d1d88caaec3262a614216da798e5f,9.85 -0x0a46eae58c50fd84303c5c6090e43cb487cb6d3ebaf0ca37abcfbe96294aa4ce,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0002945f1fc37863f255e0803b75ff1f5276e23a,4083.397 -0xc54d49256d4a078b2e7ca6b95e0d85435282922cc5e574ce9fb837cf66a028ce,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcbe4cd526f64beb3f283fe5afdce5192cdc261db,10.552 -0xc5a4d81faa58ddb59eb611e28964eaeadabeee7c6c99ae036154d93dc683c624,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa879bda95576cdcb96a64406d1366b48ef57e33,73.34 -0x21109827db462f4bf2cf666ec0550b5b4df89308d307b91b15e41d08c454cf85,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2702f707de88382ba6cf64a6341d089514341a5b,21.567 -0x34ef934c2cdd81783c93dfe2d5b530d6e901e6a66587f450b2597e9fda26602c,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0092aa89dc07f1080415ce14e85cb02d97937255,10552.599 -0xa5874ce0e4eadcd7eaa86e25bc6399a631044dbc4de282c3356c34fb255f383c,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd2137339627c6cb8de09eeceea4b8160c116a30f,211.051 -0x18d0aa329fe40366c3e1e773336d37284b37e665fb7fbd5f6ef99480d9945b02,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2ee824bf2fad9d0e360bdccd74c2b5d3f634b9c2,193.112 -0xc5027a2fa44592aed13a4f6eea77d235e3a3e446802595cd705e77f02b2e6abc,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0032b7a3470928f2e782c4e4c636bb007631234b,9.222 -0xed2b8e29491a9bcbaea02e1fce6f59854633fd2689df3a496f20522aa0b62caa,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x69a80ca39168c9bc6761b9a326c6f15735139e0b,64.233 -0x13c48e342d3ad73938b67a3fd528f467a44a6683873b231718b9c6d1a74ec475,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x453d0ee5abb40b1c632506cd5ac93ea8933cf33e,14.108 -0x89529258817560d3fd836353cce8db7255095309cc0e18f94d692c94bf54bdcc,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc19f28184295a37171703d21b242216a1b10ba3c,97.692 -0x8f4d6b5e4439150c9045374c23ffa908ce642e90375c48c4f60e02654cffa5b8,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0037428972d6c3f5f40200902235c03843a3ed94,211.051 -0x3ac1d9fca258c0470488151e41870528359efa3f19a963db471c504f52366746,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7a1206a0acb0a887986a5ec7c1899f96a68f6f18,42.21 -0x2862c24c784d89bd9b0a503633be3cec0559ef0b57f7412271368d8e6e4ca818,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2bba2ac16832d15f8f415f1cb351fe20977ca399,1055.259 -0x7c2d6f4694ef896d3b146c134e110abb29a1186e26797e482ab35dd198d847a1,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb0366a7cfbd3445a70db7fe5ae34885754fd468,16884.158 -0x21b0ea1e6a5b89763f271c2c0a716047289366b8a60d8775cc42e6ba243ffeda,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3e2021221b0bb5e2d1ceda9f024ed9804b055708,116.078 -0xc2d93ed1dacd6bccffc1d9bbb0b43970611f097cebe3f3d8ea2a10fde6b7ab33,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x351a7dffbe4b4eba06a0b583c970c4f83e89835c,39.457 -0x842f941f65ef59f531edbfe6d1c57b96bba5695bd16756bfa9c6c2368b71093c,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009b60368d141bc267a201d3024cd8c68c5968df,1741.178 -0x5530e076b54c01c415bf97c43a4de3f67e8c4979b35161e7711e47464cf5bcf5,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfc6e2bd34595f49ccd77ef257810d6aa9c4941f4,21.105 -0xf4de9f07a454c39c3b7d1e11b532ce31cbebd1bea36612d0ea7e4405f121ca1b,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x04226cfa81b91131b31a7eebca8ca2d9677bf0de,1793.941 -0x99af46f1f14640322c4d955ad9f089112daec87729ce1915201fcc8a82c6feab,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x202c3ba79b184884973405abf8b7d3d65cf73f3f,210.313 -0xc28400edb627f3224cd9746ac9c06a2ea573fab2a738c3dad37893aec28aa2d3,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c95d852b78d3be6f3df2c1448f023ff3ee4f51,10.416 -0xbe0eab9fd7276fceca7595c5651b36670ce213e50dc4968c4679b91323ec80d0,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x517d18c6a1f053420d79772cd05b676d3468d21e,211.104 -0x86aaa232c9e92aaf6d7cb637b125d6ce4bf5a823961cad3e2827048974fa48a5,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb0c6e7d0d2756e3c703cb749a78699880892744c,1055.259 -0x2852919607e872c3d326a7ad7ca0281997d7d5c2bbcf8bc9ab06bb7f8fcb5e94,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf0571e067930c59f974d3394987bf4392513748e,44.426 -0xbe6bb89ff315ed92309b597b29031846d444bb419a5e9353c25cf09f94f4661e,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d0efca5e73e90c7707931678dfaef38c068ac10,21105.198 -0xcacb7b72c2411293cf51d02004953d0a4fced48d23f617b9c2b29f897532dbfe,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x67db7a2aa35266295c4e478f2f6f1a1f6663e0c0,20.102 -0x8d6af6200dfbfc530963063f3e672e2cca12e48f8795bf1f841f8598c5f91967,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xef30979a1e72cc99c93805d076c1c44eb90ed895,321.748 -0x032045aa05b8c0b591aa15770cab668b1ff3b262eca665ce7a74008a20f2764f,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xea1a59c6785f5c391efee3656f5c7e84dd20e07b,2.11 -0x9326772364ee205e96ab95908da6b9d68f81a26effc02a0020c9f5ff2d5e2a60,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb6052a08ffad405ce2bffd714c580447afe20c80,9.176 -0xc04786b4169b21b95fa733531e54be14f6fe0996dc15a1ac614c920eab0890b8,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7e1a9cacf28b0e0fd619a5037c231047c3e5aedf,960.286 -0x818b18ee09ddf6a3400b7c2e64fc9e6ee71857c0b4552f56f9efce9efc18d247,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0013aa2fb5ec916660b38f1d53d4fc9bf8ef8a84,219.23 -0x34de13fc117bfaff06e991d78d03b23a6a1827290d22765a1817bb615c8d4427,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xab255abe36663fccdba892c4ca3bd160bf845f35,45.926 -0x07e12dbcd9b7ed9030d709b4175cb411203102bc889a82061b6b5dba2b826934,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002cbd649b7c80d1c0b018deeb64f6836e8552ac,8.025 -0x535f2bdc7626bc618b21e98f9ef9e11c3b1f10b72b9f5317221d1f20e1c76589,4451449,1509277352,10/29/2017 11:42:32 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0037b4f93292da122cee7227bbe94ebd9f2fe930,19.609 -0x08f873db52059beee643e05214e3ccf5749e6e2e4c0d854159823d8e8085456a,4451454,1509277425,10/29/2017 11:43:45 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfd5d715b04e11ef04b8a406c4faefff7eba3fe7f,21.105 -0x162ea793bb14c057fd534b4a2d8b6434d69dbd8188b069335f69b8a77b5cbcad,4451454,1509277425,10/29/2017 11:43:45 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd4ff781e1de100c601a55c007e2cd85581841dca,10.552 -0x788c9f2c64a8633be4269354aacbc4a89dc145dc553e101b7ffca853ed7e4dcb,4451454,1509277425,10/29/2017 11:43:45 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dc9c428b9828211415ee1e79fc3aabadc9db23,527.629 -0x536b2bf9e2366d72299323c9e5b069ffe3aeabbbd409bca8ffc607b64d08c1ae,4451454,1509277425,10/29/2017 11:43:45 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe4ba1c4ac566a049429432cc11f4724a4e394538,69.696 -0x61c9b076190ab797eaf5b36fbd93036167c638327c118a0daa2a5fba24222ce5,4451454,1509277425,10/29/2017 11:43:45 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004c19d0274828f463ee886328a9c797ea9185da,21.105 -0x18b968e2b467ccb76dc3504f3a4900bcd10d42620fc227899fa96486a0d34c2a,4451454,1509277425,10/29/2017 11:43:45 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd2a75f1ebb6ed6919277401a2e3fd6e3d828e086,46.431 -0xedf781b0c5b24f62a95eedcebdfcc0b0333b0ff3ae3474152894774baa72bb4b,4451457,1509277514,10/29/2017 11:45:14 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x18ec44fb47a4014261d7617347773bf27b8e2e8d,1229.377 -0x93cb7e5ccbd4a1fde3bac7e3dd338ba1b0315c947baa13b9b5f6f863e093256d,4451457,1509277514,10/29/2017 11:45:14 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4fe56ab3bae1b0a44433458333c4b05a248f8241,6014.981 -0x23343d2d39a886166c77f0889ed83b7b257455551f28e6e589761db08f955f03,4451457,1509277514,10/29/2017 11:45:14 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa19ba54235400e8ac4e77957eded1345dbb54277,52.762 -0x880acf169993560fed52f88fd696bf6475b49d67367d2c3087d603b753dabfbd,4451457,1509277514,10/29/2017 11:45:14 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009e98ad910f26769d6a0e2037aa4285820fc9b8,15.315 -0x328a8bb05d71fbbeab10d721cea2cf2c8591236d2e33404b64435d5773c38462,4451457,1509277514,10/29/2017 11:45:14 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fba333b57f360e4aacb9d0809928fe8077d19a,71.574 -0x264af85cf3be991f621c19c7af33023742e4190c948e0b4a7a863dee1f12dc32,4451457,1509277514,10/29/2017 11:45:14 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa97ce748186008e51831f6753e40e6ee9e34acf7,1572.337 -0x239a6c773132d1dfc1e929bf23eb4e766e23c10b75f6ec4e477dcd3bd44c51d3,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd47559701f69ecb16d40d5fdbdb5f604fdbb9d1c,91.761 -0x82683bb266f842f0e5c58f55465bb848f021294e4d5f5a2df022554876627f2d,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x562cf2b3763971e591c547a116f0d08035dc6155,1731.892 -0x63afc29e7b9a5c815c8832fd5fd341566cb1a8620b176ace681931a1c4c7243c,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x051ae28151a68cceea5e234694b82c913a802fb9,5.329 -0xb5ec798990c5c283888915ff9cc6b3c07dbb4c55edfc20b5c4f67f00a515a7cf,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3716046b0394219102f5c2cdfd234312c0cb59a2,1065.812 -0x8befb269b40466be802ea61bc0421d5687be8378510e113fc1c623fb817d36e4,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xccfe74df2e586d29d3fef37a234148f3a1b99262,135.807 -0xc05d32c83f8269d5b3f1044164f914b9f4075928d41235ae174b31ea3f3e3381,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1f928e604b981ca97463d9bbd06d84ebb5c87ef4,94973.392 -0x6eda2b6928cecf6540ea2a13df5cd731f24f7a5655863d6a53ae3ac0c5ea51b7,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd3077ba23533692a3434fa28f7cd678fc3f2783a,71.652 -0xb852c8cddf52c7862df66f8ba752fa09b14a78619970dcc5b058dc9af3821482,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bfe8f085ce6b73c1e59c3eae993e73125180ae,21.105 -0x02baf1b3bd6a6913b81b534f5ad8a2bdd3703e241767201419ed3cc762519f56,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c43bb13f32b49aa921797bd8a391866cfd3ac6d,1582.889 -0x6d717f72f4c58df936844a014b0687a43b01a611d045ca2ce00de7cc2d14bd6e,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0024f96565d874463a46684d2f276318793049e5,45.692 -0x12d7ed12cb8eef820f102cfc9d3f6365532aa8d2848c3a5123ccc68f2def78d1,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe925445ec68d6a9ce15567e1f769fd481ce9bae1,21.105 -0x82e9de745e64467db17cd27a7942e227993eaf77c517ecc0a7a8f835b96f2581,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x17ce04ca9524aad7df1a14d591576f0a7cfb8565,189.754 -0x25add28fa1dc1472855af5ace13bb5555a0c8fe6dc2affcb3e4f394bcf19b6c2,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b243dee66433ea21911a964a9fa3bc04e63f4a,105.525 -0x10b1328f1ca90a8c9cf16cd64bba935f2f712a5cea151ecfa2c1cc1a5ec0e805,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22a0105994c3f4ad8c3e78144e47a6eff9976377,55.057 -0xbc9e098809b1a8e3740ed57e9b843c6c8e9bf2008fc36b7ab63e06d8cac43693,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b4bfe7e67030cd1da33c01c06256038d4713a5,105.525 -0xc9e629821551bbe7a68e6a7d6256e7d36e21d484394db60825f9fb3e9e647a8a,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa6bfc7493f9fea17283d9060a6316b02c3e92bc1,263.814 -0x29c5c63a90f1343cf361408a34294075cfe64e2cb350bf10d1887fc54b00be03,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc610dd72844e40880581a02fa3d3d881744c37f1,9.708 -0xcfcac0c1186ce73d7cafe65e969d3296ada666542364aa9ec059f1b2d851d7e2,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x461df0f49a1b5b38318c1cd425840986e15176f2,21.105 -0xd3f1d36171c10a3de3c16d9c18a5651623bc4da105c544cafc7facf23d6b8972,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x177a47426d4c1a6a65276505167c36b663db2575,30.281 -0x56185011fd125312438145c3c2ec36edd7e9600d5095b9f23b684933c37a5853,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf39b53937f425d7e764d6b1902bd775ba3d514e1,532.906 -0xfece1a0d429bede9de35b1987b4faa5929e2fc6e7a6a896369c7b5cb69e5718b,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x19200c712302c7c8421ca893d95bd985c8586007,52.762 -0x1f9e32fe358a2539bf6cfb17231f61a06ad773a6a56b45c2052ae04857eccfec,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00718f7d6f56e3aef4ae4d4dca50bedaa4bc4f3a,1055.154 -0x7f5157d198517890ec4827f6a8f0ba47aefbf283f0ef98b05a4f5a2d4800355a,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e1ef7504fcd7d982885efd88d190d3179fcc3,34.806 -0x75468c0ca464d213d265ef36da5239395f92eb4dc65b0c75464e62fea853a42d,4451458,1509277541,10/29/2017 11:45:41 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x456ec4d3265a0e2c8566728f819737a8c4a9872e,42.21 -0x45cc6522f35a7626b16a00d709a7a9d87e0c75b655f475799dfa211a545756ef,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00928ab46f9251610992b3f5fd257cc031f354ba,734.093 -0x40da166571375c6c7cfaa72915891cdb68a735838be5ae6b63a9adb0e56a3998,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7851079f455f5dae12a4f668b983908dbf98e56e,10.447 -0x006f607f3779bf0ef9ed36e556b30fc967f2d3ea32fb64eb56c2d14f8f5233a5,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1dac430b96f24ff9f0e1cbdb725407372e09f09c,9.634 -0xb52460f0ff61bc1e914fda43666ebab9147de8a936afef8e0f3e9b72cdc7f68f,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdf81dc558baecf13373d4324fa3a8050cb7b63e7,3165.779 -0x30350ffbf8da2e9dcea965196a0ad702d56ffa9005c1230b3f0d6cf0ee56a289,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd0c352dbc3f03762421093ac7225224cca2f54f9,10.552 -0xcabb7e592a9e521331f907af313bf87703e7ddd4b180b023b087b7f6adde670e,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa71f095a32e886f926f17c350b1dba021d00d50b,10.763 -0x6d3453305de43e325386576f03879893d870da66e44495822193206fde39f558,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005c3e8ef86d7ec80976e586dc76f8267fc8368b,24.362 -0xa36177728accbaafc6a32d61b76f9300ea09822973911777cddf8976843714c3,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe087bc674e53b1b48ca0d8bd6691eaaea2ff78dc,651.095 -0x1714ff6fe7f28f9d643fb589754387985032a544c3cff14c1793746f85ede85c,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x257634912236e07f8bec7c6c015c88667d04b272,10.552 -0x65fb228243874dea39e5bffa32491ed572ec3db4fd724c9d42ee84b4f2e527fe,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xec27421edc22ae46c23ad1e8b34f8651b3d1d350,97.634 -0xedf8461fd38983311ba3dbcbf9eb6741ed26bc5177486be78c9af1dab905ab9e,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdcf5ac110bfb16933b6f50b5e5f8e38c98d39481,93.97 -0xcb85c82cc59a5c549975cc11539869fe6fceb4dfe5807295372c5fea71b25797,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbe1c575e4d30176199bad4b2fcf7217a6df20f16,105.525 -0x89d6dfa70b35e42373b01f47b5f0aa7a5bb51d71259d4075375f9aeca7f68807,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf7d61f6573db5f748e402dee14b0aa70a1a12288,590.945 -0xe2f97b8a339ed0f4c181c00039957de6f1ccf25b8d5655618dd17e6a87c32a7e,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6813622de314f3d0f3fa46717374e12a7bf6ffac,206.408 -0x69c5258a88238a6ed15dc58a590fe39cf15955472233b744ce24e14e55100acc,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc8a8d6adb510e76876d66dd0ce3abae5e37781ae,10.552 -0xcced8cfcec8a0e3e659cb8732c390e542407a974b0ac7c15831e95aa9d22f301,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf54663c66d90010e39c7c5f3124b2965e5f0d069,211.051 -0xeccf25a8d42886beb759e6e974b9f9b583ece15064b4d0fb6d3c26054854527a,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb73c916e56833aa4ef789ac94e78a0a5cae93c70,228.305 -0x9e178106d3d30e129fdb45fa7028d2964efc78a4cc9c45b3b7429be6acf6ff13,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xebe4fd701cce5d001c481f5662d1e941371c49f2,211.051 -0x78ed5484d4fffc7a19c60313d0eaf06e7db1e256947ef15743c8b3413303fd9d,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00116621921d8a7b01706539d19d65ec48dc7dcf,58.039 -0x964b90353bae8da0b5a6b6abc3eb68f88d84345510e5e1423c8c42db9dd768c5,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc62ad9fe1773e8163ddb765169ac188aea5b8403,3651.199 -0xbfea27893ae36b1076fb5b66bd19187f521bd0730cde5f7d1b25925a60ca7794,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0010cb37589862d13ee82641c31b3d3efe93e06e,10.116 -0xff4eb4e11b6eb56367ead341b8ad7dc61d0e97923a798f2fd6788a633721b9ec,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003e3ea8f5c20dfa974948da91960c0812c09ab9,91.761 -0x8aac656c06b1c91bb76e0228a19b8b7cfc07d13b72e0536eb020a9e89485dabd,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00af0c8544bbbe405642a32b0aa5758fe489e37b,10.447 -0xace36eaad9a01cc97d7e5282792c638dbf795f73c4421e692c72c60558b0a8d9,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x97883f6fb7483a6cb748a647f23b601fcd69b393,146.681 -0xd2305d443697a2104f94098b2d5b7c007a93cd5e12ed63f12dd35b8c3e19f90d,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0c3281efb7dcaa9970370a2a5d842c3616f815ca,27.528 -0x7b48f8cba46901c10accd8e84ffaebe977d9e100019e6c1aae612ea232125690,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf361416db134b72a3e84dece57cbe6179e40f283,84.42 -0xf6c59b3a5c237a17fbf39c9cbfaad04c1f07ff34e807bf09891d4a6b29dd222d,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8036c27fab2691804b28b9f47239e64c15e249bf,26.381 -0x809453183ca33ee654c7b7920e189920e3c148c3cc8a6e6c0af601f1870869a1,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9ab791e5fc047dbb25dac95d3a01f162738ffdd2,11.607 -0xc0f468d2316e7c4b74e76d2f880b6232e2b2f467e64574af683f15bab3dd2327,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4523dbf40b244fec4c04fb37682ba584aba0711f,91.761 -0xdbd16e37b2aece6ddf230841ad52d7132e87dd02fb9f10ca9120d31c6afa2e19,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002848284eb655a5a99250ffbb09605b8e624261,183.523 -0x3a95c3c0276f02535e0be47070d15d3c598d7a7d917f14346cb2468196d8ce6e,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb31458838ae39fb3d4e961d063fe89ff6f8d9f37,18.352 -0x535a2b4c462cad5120325e9aeac1b0071a93e4068d246ee4fe75ab3f0ac4e9c4,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x862453aa222291ad19396dc22a94d2688ffc08a3,474.866 -0x8801541828ed0af2d2eef502aedc0c357960bc88da28c53036d31438e6a3a532,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4a9924ef83a357ec4c978a66ddddfe9cd325b0bd,369.34 -0x917004dafeb1abc3ce1bffc1bccb54644ea6b732a67643a20ef50c69a280e353,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa09c71abc6ddcfeb38b68eef7d236d0f4b94c11d,527.629 -0xaa6c193b878e803706a02d4c7c93d512add9feed878318b6ba86e62bd589c2e9,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0093422567550d4787d6a5e41b20844d6e0cea87,52.762 -0x696aae6c53543708405658e0f1058eb8392e412a8cc711f6d67505fbede406eb,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb75e5a1bd0b8ee7ae4bbcf5551eec80ae52a4bd7,54.873 -0x0f132317d78e5723ea039d608f87150d9d3795ee2c405f9bd2c1a321a8ab9cf8,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7bc8bc547457f1a52e7547baeecfde77966657c0,41.292 -0x0dbb26963cd41d9de0ff02ece20c78eed3da270c5fb2cee7980a853a9996b281,4451459,1509277562,10/29/2017 11:46:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d5f69c67dae06ce606246a8bd88b552d1dde140,5.276 -0xd699e1ab0f367aa31b1a048de516e4e135ad63c76664413c3313cea1472932f4,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1fb5b702b7d3c5efb00630e8014e79bfbbf5ef81,10.024 -0xdcda9ede1271a5eadec3e303176fe52c74102b64712f8651f5e7831cd4b84df7,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0b7b02c9a7f9b6444ef6e54384a5b5feb6b36be5,46.798 -0xd4b635ff08ca52071fc3c785e77280a26c6cefa34c65a380e5019c91112f8031,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe4c28c57507b59cf24b2649003b9f8b9e7980ae5,121.143 -0x932e25826c0d679b8f66d0a390521d86756c3e3c3fee9bf9c606fdb302b3d41c,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001ead7676d5a7c09c64ebc80de0099cae972e45,26.381 -0x9bc7fdb0d7e51409faaca161fd2d18915a95c1b104d3d3282fe372fb23a31a35,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x24a7eaad0d7f13d1999206d8c22f926980a12ca6,147.736 -0xdcabe9a628be0845a1831b05a55a611089a942d24390ad8313b622a188127ae6,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x43eca45f63a712ae079385f35e1d0622a2c4132f,105.525 -0x1026113e4c660a319d285726e69ca4ce259a993d38ba44775520525411d5a682,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x198054b85123c69a58423e20437a9190b56ae823,63.315 -0x3de7f08ef8f3aad0d2694f5af4ad34d44ce7bafeac4317583855e2cea5b26559,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x52e55f169adf75007081d795987122cf82af8e2d,316.577 -0x2a21e2a23a22d581ec988e9f2d12a3951e91e2d575c37d9e2ec0bde5c34c1754,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1b778a8d83c0fac09f992fb701d1c085cc9c76d9,62.999 -0xe6c9dc3872e1566fe6f3e5954fa392d987dfaf0332472aad6a547ea20d3ae55d,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa4aba3bac858eb8a53f6a3e3dfbd0a73a699d225,91.596 -0xb643dbf2214a55558c3f01883a4c228546d34a747e7dcd4e6ebfa0d07a23e45c,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf360b24a530d29c96a26c2e34c0dabcab12639f4,21.105 -0x36ba6331a432832266d1338cba051a7d97dc6f58421c48423c6afac0f0c86e9a,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003b872492daab5764157df79e40d853ebbac4cd,2110.519 -0x0eb25cfffce4863ac9c3434c9a2c799673f00469c1cc785d04bfc962e9a7d319,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x228679ce88ce13bb8483bbefc4d107a1aed02d2b,633.155 -0xfde16d5cba3658a396e8943eee661be939f1fa81db9d8e84b79c82e738d6b0b4,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xba3fb82687f28ce414dcb4803d05eacacb697db4,23.796 -0xa25e93b5fbce47082988300631844a83e3cba1abd9f4e65859e769bd787756d4,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8fabd8cd6b1a1eb325d682e8532fa3c55ee40d8,52.762 -0xf48c9b95115720acd7a507f0e6b7f2cf28566ce8adb1186cd3d8239e5cf3b23f,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb2ad5daf9b7852104cadd134f786faa798f0387f,26.381 -0x23bb0d0cdfbc58c1515d669febaefe94ebb10b9058c5b75a710fcc47cbf3b5a1,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1e1d15e2d670c63b9846789c38c28eac68755177,45.376 -0xb756fba3dbbdfa7d435b7a8fba81531c0eea2a7e70f63fa02f21a0ac1afaa177,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfd4e15b4dd20136a9621576743893a17d4dfff2d,1276.864 -0xa0d6edced8f640d3ec582d7919060c19149da6736c130db3690d815916adfa45,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008fc7cbadffbd0d7fe44f8dfd60a79d721a1c9c,422.103 -0xd6792d38132addf9aa754ea63dd0cb03ad2e61e0cda2ba2916b29f2f5d2408f6,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3dd62544630d94aed21653ed9ec15810cc759a55,21.21 -0x9f79cca872fcc8aeb32539a3e66fa0e4cc215644ae1a9099366d04ea9a32d3f6,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x45008c79499a54004ebf93a3b1a902f009a6f41f,379.893 -0x9c26411fcf09b91c39727d77a4f008489b9611ac3667c68afa8509ffdfafbad0,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xea982050e0777f55c745aecaa048b8874ca2a81b,211.051 -0xc8a7702454675b476b03fdd5e34c2cb16939053e9158fc28a020c84260d05851,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf489b21d5a4c8283a1bd0d39e47b654ba2f65a62,26.381 -0x74e4bb001cba3963a3347e999f5b07eb8f567c6e1298e156f5003402d331bff9,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5eeb604e66c8afebce169152326276d345bc320e,211.051 -0x8cb4fe93edbe39cb9081b12740496259b1d99c4e066cdbeeff4f8cfc0900ee21,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x782dd81060bc85bddb0ce7b2a53eaddd9f1f6aa0,84.526 -0x3ed428883bec040660cb299cf897f1bb292a915200d685c9dccfb083b7eadcb2,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x164d92a6126ebf0f354fa098e173f1a50277fdd2,73.868 -0xe99eb099d49cac44f43214b4df3b97c7b1921438e772387a7cd19de9f68279c9,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0046a7c2d9d55fbfbd3bb829995aa25d4bf6e401,2110.519 -0x302ac7d31648c91c0384feee9ff08542e2e8a6626ae06a71f66feaefa9fe63df,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00477bcf4c48a8c4814ace55160c0ab89ddc9795,107.636 -0x161341da35677bb4975a834825d93bb73aa70f7d669f3dd98cdf7bebb7e25927,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6b12c9b8714c27aad069301ad0bc4c0cc416f1e7,21.105 -0xa5791e9fa7728cbd1ce65f7cda956fc210bc295e57a9e9191b702aaf224512f4,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0312116a083d27cfbaf9441b576f3ea63d968967,8.396 -0xe6fc3cb277dc9bded79303c3ca94c0cd1e186ce254f14e19bd59feec070c8045,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x48f5ae497b444b6acc53150116526f0b239d1170,2585.386 -0x9830a16cf5c10ee256915a13ddc55276758860a3f9582af3a473337053e61e2f,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x739066ed2d1718fd100cec4d9f347382ec6440dc,105.525 -0x1363de8b9e540cbeb733198b09ba845a725ef6f4cf64799402122f0afdd697d0,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6f843d23f9c75d5e2602c6de0574ad94e57e8132,2110.519 -0x7060328bcce55fc5067a165d036f7f15fb235e517b06b42bdb9423b7a088a41d,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0011e93c401330194e47c9ba85368c0205eee60c,64.233 -0xcdb579ba2fb120cf24811892b1855e802b278681b722343321e3b80b9d97b667,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d48af0a9782bce4b43ce6864a1c9e32e5f47c6c,114.472 -0xe791331323792d46e2d2c38e8756a32d70ecba486818306b7d21f777f2dfd379,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0055ddcd8b7423b0acec3d0de6c0666b06c14e7c,12663.118 -0xc48557258d1ee93c3473df61fabc63f6913e99e7ef8d624b3b8560ea61652c2c,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7f6013d2fd484b19077df506f97da590ee9ab6c3,34.774 -0xe09668616984ed1d707f017b1cf8967587471f82cebffcb3011002c77b8c6c72,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1fc8f49ee403b661f718e8b561813d055e7d8b76,100.249 -0x3475a4393b03e39184464bb39d6c3430517edabd54ad85e52522fdd889e95e36,4451460,1509277569,10/29/2017 11:46:09 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x09960be416c44f27b6eab88cfa5bca92634935d5,337.683 -0xcad6a7f84e000b0d6212f0f4d43474a8ab4b68fb1ead3672d164c7464b63c343,4451463,1509277634,10/29/2017 11:47:14 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe48fa43331d29570366a4244398aeb56756467cb,22.265 -0xf836e3e030f1790de8dd9aadacf2188282f0d20eb8d421069bf5c2e49355cf3e,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1ed9633f73160a3c6b6162c5c91ed95aefc29525,8.125 -0x893e9a1b3597c88ba19316f37882e93a68ed679b5e99b30d0ff466f0c3f1d2a9,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb248acf3f128a50f811761121ec10fc60c5bac44,136.128 -0xd9fa528580a5d2ccc6abd4df5bda60483bb45fed15b2aa8b7db3596ee27584c1,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe7573ef29328441aba06fcbecae95383cc85a5db,1.055 -0x8b844a3bf99a5ecf096139d5149f5b4825a97a98cc8c1eced20546b941cd3d0f,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e955f59b4abc283f9d5813aed5666666f7476f,14.773 -0xfcd6734bff2cfc80bc1e0f929af05ac91580065431ff2d0dceddbb0f63f4c9f9,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b0db810871a474bd38da3a58837e35b4df847f,27.528 -0xb32f7fbdb3faffcea33ef75057eeb16fc48e9e58144bbbb34e91064687adb6c7,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1b93424c6edd8536fa71891923de5766fda9a9a,263.814 -0x62766ac6806d11f22d8ccdffd907061e6ead8dcc84f1cd5d95378e690d700396,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcc3d336002054a3215fd3cd1f00f08bcc494fbcb,454.22 -0x50ecfe478734d69b86e4573a430acf38719a2b31356a942454199f46de0e7fc3,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5623284ba17d06a852e3c74b6b3ef1509a13b65d,126.631 -0xb1c9a77b51d04c466be0371e8a59a4e390eef225583a9c52ba7ec8c2dffe13ec,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7928c0238f5850957d9826f712b688d00041cdcb,17.939 -0x06aaf328d14fe3aecbf123e5ad5149be6454cada557e4c6f14c99addc541f861,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098b09e215f5ffe356a13c6e1fa420209efefb1,105.525 -0x9101103785d8a098ae0f5a76bf0d5196f3b6f706b39d649e30e2bcf2a8439edc,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cce96dfe085a2673456d6bfb80406b8b2a0483,4.588 -0x195616ae3af61ac3882887d40e9ea470956b9553842b2a721f824a5fe78b6796,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2ae125582205e28cc4786f5e729d9a09608d7b27,1013.049 -0x6599a9aa0f2fe9fb0a4413c91d3ef12ff693665ee025a77469f4ffa548deaf74,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001264aae739aad7299ae9e4154d598c0419f226,4221.039 -0xf3ed4db1226f4d800a3b0c74939162923f745db81729bcf2610372030ef86aad,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x151712ac05d7df898940e3be3ccabf6d77cd4150,4561.475 -0x4c49c1ef4f2e50082b10b7471e8100f2e29a72439f356b5aa8352a89f0b84e68,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x86e3d8f8c1252600304047adec71785c41671bc2,10.552 -0xe035132627fccbd817f179ab950bef0365065861b14df4a3733424ca48e9a3bd,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa0be7b175484ca4b6ed2490439ceaebd1c83c400,3.165 -0x8bea8e0dd89f98fb76300dc84406eb27c54fd49e120630df8ef4a77d83da52a3,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00acc0bd13770679812fae76ceaada758781a5ee,14722.247 -0xc68a320ab0aec0e33b77c02dc5c01e7e4d99461a0ee12ddbfca69ae48ff9000b,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x34e8812c8f789cb9dbd6993cecb92155a6af62ab,49.597 -0xafa45727518851634f3a192d656b360816658c00b2963948f191bda7136bbb91,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9505ea825ca9bc29d21446a6584c6771b21f193c,284.92 -0xdfc961a1e69d2678c897776d1181697bc80ad9ff813072bd95cf89f2dc4c056d,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb55a1713236871fff3c17bb02fe5f3eb6a7d25e3,21.105 -0xfe493222905cccbc8915a177d16660f9170b1e81ac8c5f1ef361bc23143f27c5,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008b0c207b6efeccb38af8b6849ffa6b9be0eb61,30.602 -0xced179df550e42f0b5ec4cffa3ef176bb6f902eb6f3c0be046def8ea76572a81,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x335c0552eb130f3dfbe6efcb4d2895aed1e9938b,337.683 -0x9accafa2655c35ca192db532c48c774656148fa574eceee1871d446da779a095,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc43afbf4fae6c9545c16a6de3c8abedc2c589271,10.552 -0x4064612af114b22f2cd31f9c823916b40e6c12e1646187705e9078e68fcf7c79,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009f9a431fe97b71e157c50043f770cd5db2558f,556.017 -0x3259abb510bd9be8bbcf606d6dcc7539d39c768d3e37d0390e182df8198ea1d4,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x48640126abdef6682ad0637024f814e3e40196b1,105.525 -0x9b22d39bc141b41713cddf596c449b790f82adc55bb7f29afbe2cc292792da97,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004c8ab207f6e5e33d260559aff9cff4d803f4da,2752.851 -0x09621fa979e0d1443374694eaaf3d59a0847d9627f8eee658aebca9bdac038b0,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x538d278e05a35c96bcdca1039e92c65b994256a0,158.288 -0xbade14117d9736e5ac893afee29828e616337a3f1027fcaad24c3db4bc3d4952,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb5a89555aceb6e7cd871907a573e3fa207323c61,2.752 -0xb12da896c63cc62be4a5eeba0bc5d297f3e40981be78237f3ec8565bfeac44c2,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x414c8f14496260104e238a324b6b02a7e8d2f4ef,40.099 -0xb5aa5cf6c78ca25b836912f6ecd337ad82e19cb10d7c88debde31dbd8a8fd80b,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa8bdc33dd6ee3520995675c15083ad8db68de8bc,35.878 -0x2933e7c16e94180cf2207f9321e8b466196ac53da6cfc217c6c8fb357aa79047,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d567082d66dc9c1cd236a3044a92c5b595fbeb6,18.352 -0x715f7e63a2a864ee05e32d2f397dffeb516f999c7c37f89ede6209576536ba19,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x669b996dfbf62da2ddf0c9ceeac503b920671639,10.552 -0x295f57dfe6f8388f949d711db6b740d986055dcc60ff86aec5c76ea841f44288,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb5bfd05d823b7c9f00a9d66319c889d50678f457,183.523 -0x450922e866aad55a64495884b35e6bfd7d0c6b203ab0a1e2d87d1a68e17e8b4b,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x14f7f1344ee6dfe20dd9d292c543e9e443babbec,2.638 -0xd31386194ddbd7d1ad904ea2436a6271191597415cfdd3fd69389b9e76f806eb,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2271afc06ff1ccad666da20d7e4c5817ce1af599,195.268 -0xe216d5d4279f6ea0f0bd6c9085dcc7fb7bc4269ce1a2e9d43b72b988f45dad4a,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x643ee88f0cc3872eb8d2092d43c3220e35427653,34.685 -0x01e087de8b2d558f5d0b13ec7402be7f3549efe6f4e84610c77039cdd5c835fd,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x77603bf4ae686fae678f2b2591a3487dc68599b5,105.428 -0x4ab409f6ace7629abc849bb3147ae665b30b82dae4d7a658fcdf3ad0cf451355,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x798036906b3adc3d933e8cf1a88bf25955b2ee06,38.998 -0x4f6bbc5c79cfe939013704ccbf007cba95ee086f0ff4771567613a6af90014eb,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x74f484196d48d68936c07bcc9509d3894fcf7eba,33.768 -0x7285e1dd1184c01c6087903e76410dbb150ab60d4fda41759f648450fd926293,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9346f8545c9f873b09d9265c2ba196b21fe3f838,10.552 -0x0819c6cf410f43fc42d3faa8487322980555863d4622deb163674da8281b378f,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcfcf3ff87b3c34cfe4285a85f2115f96cf0fe5c1,31.657 -0x2ea8fbb31ceaf4d7ff62080d20a7cb028b0e170a60f0197a9b5d60e33aad1a0c,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe8ff247832dc7f7d5163f2623869d3dd3c36b56b,432.656 -0x42ed92e4127ea4f1753e5d1721a43f48b6136777ef91809d70f55919178a2cfc,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8f00eb46d1af27a6022117722fb36628a4fd16cc,110.159 -0xfd2deb652e34932f8eff1265c4517b74622ad0194faaeed481607048d0395d84,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7a1e82a8554ccc29275f5cd010de3668578bbc9f,6.519 -0x10e71a842c6969ec273ee60b2afd3282712df41386b0ee3c528e15c886c9ef18,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d72da2f6141954e1c4253d814fac4e86a1660f,21105.198 -0x893376646bab26ea33565b0eb4eec3c971e4ef8e5ec5dd57d2e32d5569eea3b4,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x599266e9b5c0983b9f68f13f1834fdac9c2f0ff6,211.051 -0x4b8ec8b54ad7df9396eb15a499a0d3006206fdf44724afc6b4ee60ac28316e2d,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb8c167731c26d3dabde6783daee8735ba0408190,151.957 -0x34e02f0e2ee09188bf4c673cbc780e8f62b89bae6d76faab7c78459e03ee23f4,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0045ebe3bc90887088d9c91446a2973e79b0f78c,27.528 -0x98cff66dd30cc6350ebca28b87def148139221791c170b069ac6bed6465bc662,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0328d281d559d1e3aad4059a8d5a137e4dbc663b,81.677 -0xbc22058b89ed0880218c2fc6f13191142c4acc635e1d41039432741720de49a5,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x987901179f790fd04e956173d45fcac9aa74b66c,991.026 -0xcb0454022b95dd262c0859e6567367ca9b83da5b9def974d26aa58a8dffb0892,4451465,1509277662,10/29/2017 11:47:42 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a440bdbe81c1cb6e7ee0432788c3bbd5a769542,295.472 -0xdbc7d25d998bb1e21908de0dfbc21f05ff85b82c6d08d6d272771d36c822c129,4451467,1509277727,10/29/2017 11:48:47 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdd9364642d32a48eb2cb1b0b65d18656f4a66180,8717.364 -0x1810398f1137cb0f5dd9d57c3cd0873994d8cd3097e8d8449e7eabef0037994f,4451471,1509277789,10/29/2017 11:49:49 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xab3237736c07beddde7dfdc0f9357e00a9727646,633.155 -0x79d172a8f31b6f5f1c175d801a56cfff1a6b94b08c221ac46abba74847f7f681,4451471,1509277789,10/29/2017 11:49:49 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00abe816d32a0ff056a4a9cbf7c9eab2b550a2e4,158.394 -0x56bb533f677bb16988bd5b873a85c5c09866b1722b574dc92921f2f4f3806386,4451471,1509277789,10/29/2017 11:49:49 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x49a4754c8d01ba67609c0ebd6569e18679d43abc,52.762 -0x3c33c253d78660ec093e32b4c7793432c151d2d5957ce2e6dbe401a7f2d22f2a,4451471,1509277789,10/29/2017 11:49:49 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8a209cb38555635734249fe6868ad40b4af6ec88,3693.409 -0xcd8d037142769352ab91324f8945eee52bab5bda23612449abd5cf2c8a935c8c,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc330c1abd1fa488ffce0ddc6527afc4106f122bf,63.315 -0xebd46dce86a333f005f2584e666360ac438e91ddc230a334b6be4d2cf0b72dc2,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc35a8e70b0530d2bff51daedbcf752d8dafde91b,211.051 -0xcf72c092193c0ee5ed3433ad53741ed8f98af589d82bef85aa5c2a6e65130c13,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e1d33f9cddab664a732b7eebe2a80d04ae413,474.866 -0xe4484563f5a3ba423e0644886ac2c9741dd3f2a674063bf113b256d95ffb4328,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe59ec81fbd604f8de6eefc90cd6c155e0cc50e93,105.048 -0xbaa1f1f98d9d968358b1e9d5475d99a982d4eba5492ff83601049ccdbbfe85ef,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5dc41b5662cf58ebfe9cef62d58c2c11a9863428,58.039 -0xb4defb9ea5eeb9300f6b0843d1e66302090b61075e914b801a7149f036155196,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0085ebc8d2dda15b907c3b43e5f6cdb17849b98b,1582.889 -0x5e78ba75e13c90461a0526c5b196cf4d6e7a638b3c18bffdab378914ff871bcd,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb43d777a3640c4b0d674668f57ed75b7fc84ea82,31.552 -0x1862211eedaa292af3fd6bd12db172500effbecdd787d79bd20841ce577e1661,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x387902d21b6f76d28cac09065719c4f48f4cacdf,9.634 -0x90e5d96329581469074a74106814d9c424b8b72f6409b6f141c6a047df8848f1,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a2342e466f377fdf800a11c7affefc3e1b6e575,31.657 -0x903d57573137de837348a85da39e953bfb9e4fafd70e9fd71a31e6c6f74ed236,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eeb83600ff5dfb5936a0b8e7dfa7806da471d9,38.172 -0xb73b5fb1cb32c1b30d218228a0d0e6a3360baa7a78dd9cfce6e24a24a1a290c3,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa6a2b356718faf8cce70e78f06712f1ce5917d04,4.588 -0xf94da37408785f074770075faac5dcd244dceb7f14018d9257e3a19fe0aee6b8,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fff7e689a4ed9668c9207f55c8d68bab1cb507,211.051 -0x7fbc583c9c52a44a9c3a8258c7ddd0ed9ae6d604f497a229bb4bd6058f30df35,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0e3eec80e1f333baf219d42661731c044052704,92.872 -0x1869587cafa76fae44e9eb8e3ecc0524a481dfb6420afc47c2429427c0e2271f,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ec4e012df5a2a6ad90def9941c754c27d7eb0d,52.762 -0xf41cdab5a89580f42ec4e25e853dbf40eb42b4d64f3db368668107bd9f8ce3d5,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4b7530fd33209c28c18e254816adf0e2f065be7e,124.19 -0x9163619896aab701dd7d82a7d0b4c641cb121bcb41c1cbdcba4c7f517ac876d8,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb50e79852b9973d30f5b775509cd3d8dd8bd78ba,21155.85 -0xcda05b3adb366798e48bce59747d5ef38bd5abebd85a75623af904d72f2475b0,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b0a37554976f25303adf7a715fb050f7d1d73d,36.934 -0xcebeed866c562f7b9b46fd1f25880021934d97180fee512703ef08d23b3b4a75,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xda384f18b8a6e83d45afa4731424f1bd08317d10,369.34 -0x796f2229c17c57747099820d646ba986050d3d57e569ab969062a62501e2663f,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x44e45fb5b5bd8e1bf9d1310b761571e73fb02924,15.828 -0xa8535e82508a2d81f26850183e57e5bc8b58338ee5e722fde8294faddd5344ec,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0002ec0da4bfd7e9b5cfdcef93f8a02d4b271aba,348.235 -0x3aad70da2cb076861d4fcd7d6b760e7283dd24d6669b7772e5b3777dc3053be5,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfe41c316e87c3c4a6e85c965cd678de24e09bd44,46.959 -0xc284690ad738a2a96862090ff7c79018fc833ee8e28e2682049447add45f02d3,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x39db9ac590a3fc2ef947f0deb09b400f891769c3,31.657 -0xd3a75db649a5a62b166a4c85573cbef625cef40914b48dcf7b34c10a943dc08a,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002deff295e375a68734582a3ed0f7786b7e92af,158.288 -0xe0d24c11168b980cf48f788583be16cd91482d4ad2f0922323bddb89230d4d27,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x28cd36b7b86b3d6a8d53f0332fc3563489aee858,158.288 -0x73312a7e3c575d01507e4ee76ea6cc3d2d09b8fc4e2ab62fc6f6fc0ef93429b9,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7b40d5c17aab371a6ed5ac622ea232b590f2a31b,93.918 -0x2098c8e8dcd19cbce48303c5cd52d9749024e344764ff4364b335ef3e83c46c5,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0022bcca7fea62918f9412994bde69b9a396e446,42.21 -0x64ecfe948ad05f9abf606cbecf8dd50d1a63c7986c87dbeca91d926ababc7e0d,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbd9d6e7489a7b450937fa7ecbabd71be819bee3d,40.833 -0x66f1c77086b08e04a341cc642659a3ab0e8756084115878e4e7adb001dd2a5a6,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ed4ef795465ef79cd0fcba0f6ca3f35a1ac1816,54.873 -0xb2e09f9ff3a01acc47290ef6d80931decd423e7366fad355c81afa1d2dbda5a6,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe302eb54d1c41647ee0eecea4d5b7dd90dac8ddd,119.29 -0xe001164ba10759ee11f98898863562c5623079469fd8d9176f37b7b142471778,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007b2f1e74f2d7a146dc352b987b44bb49d0d6ab,1853.586 -0x9d61e886e17048c05a9be3db1a55f161dc54ebc1bf1a875ad70e34e9482555cd,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf4cb2595186d9876177cfd60bfddb0dbf4dc11bd,9.543 -0xae4fc2022a27cd3ce25ea8865d57aacd1b039c14b6fcdd2a63aa9a1f896f3d06,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00169602c4e4f14ba7adabe3c3829b6115e244e4,1.192 -0x01ac012b2bff6eeb22b28c9cc986ec561f68e9d9ae8f7646103c48ff662caa6b,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002c5f1d2459a12bd296be7ebc652e9c7d1bf2c0,1055.259 -0xe87423b6bd11a5c092fc234e20b7f6b3b41cbaa9293b6d0500ddbeaec749146c,4451473,1509277826,10/29/2017 11:50:26 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0037af14a08100231979898635d6fe870b1c846f,5413.483 -0x9ea8a598010fc8a905fdfa22be8905551a30e0d8044676a1e4f4c34307e569ac,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc9e65f133b90e4fcf565abb95408708f9845b90c,105.525 -0xa9b465d9a9efaaae0cd0227aae559e7f588dadc49bfae053797a9d97c218d035,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5fd474f8abdb347ec54b15cbca40b56dd2f2aefc,106.634 -0x946c3ccfe01cbc8032ad03686c22a88fdbedec13a2b80fd5ae45cdd6c4886713,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9887c59b42a14ad759d1abfdeb258dfd505a01db,263.814 -0xa8f8408be31911c4153bbc640d49a8de0feb56ed1cd8456c6f24bff69a15aee8,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7ba739859643cd795fdf204bdcc4236fa6ce04ee,21.105 -0x1cf002a72fd36ca549ae76593e13e26db49d959ea32eee02ec1b7ea13edd51c4,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x23fc17c723c870ec4bf48e71135a4446986b5d0d,29.625 -0xcf6fff19898df6199ffe460c65b004c5df4384da914e94d81d6e99c93e38c34e,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdbb8868fa368ec46f1961ddb5ad9f01cb770424b,316.577 -0x9ab548737ca9d32637e47001b609f6c75f15a8b59c70b0b545b0970bcef5676f,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x15245f6c73bdddef958c94650431c4c2330d4faa,73.868 -0xc89b81a7be9c19724046c2fa4fe7ad84d2198b7d360dcd9b7ca95592399f2a5e,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0b546f4ee227999882be22ac4425227c4a80c550,211.051 -0x49e4253b561b1b235779d4abb799813fb1ae5755126216d7ea236b0380e9a7b8,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x14edaa223bfef22b1af6f5500fe1766b15cca12c,42.875 -0x44011c4e5f0acd9679cd4623fa22dfb98e6bc16ed2d5d388390a8a08a49fd109,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdfc044a6c92db8aa2a0507a157039970a86c582a,63.315 -0x3bdb6d52e099df322a27f69e2949b1d8bb771596aa147c28a4149b2afa7955c5,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f9d96b3520fc91f21d75d65ed8531cfda0628a,9.818 -0x2093a41e1ee110cbd57b7a7a1cc63eec2b794a9b9b258c5c3f8d098e12fe6d27,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x18e653d8262814fb82b703cf058c97e7b2020c38,490.097 -0xd4b4891b90308d124cd5ba7259c73795dccccf5d865259dbe9ce2dadb7dec0db,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5c2ba9a003f6616bbb133e3dbbe827e5f5c45371,73.868 -0x4584fbb8c956e84387d94318b6c0ea3cd425ef536ba1e59ed66564a6a639f319,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x20c1bf2cb99a7026fea57c28dcc9e85c4ac89c94,52.762 -0xd2c522d65dfaa64f91121008e0b09acb2b1b4a81eebb4e17eb81de2af3817d68,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb13a2ca9b77ef417c02164de32e7a1b34e523d5a,110.802 -0xd65665151c0a49c03320a6f0e1fadafd4d21728aff53fd51e6fdd2c5ab0242c8,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x803abe2c97e98816ef63a7b039bb59aa8a380909,53.818 -0xb749bed32c84ef3c03caf430268f47b81bcdabaef16a1894dc9df6f6aca5d7e9,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x651547546b24fa036b9c1b1c2dc8b2ae9c07aed9,103.415 -0xf34d078d08cc3941f1b6af961fcb21a2f162879b2c7fe1615598b4645ad8343f,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4c376d7a071d508102173761ddf2b8c27f3cda11,211.051 -0x81d0515593bf684263b42b55ed47a4b77de7024f5b62461b30afe91deff686b0,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb3868d1aeb675f1fe97eae0da557f9fceff37afa,105.525 -0xcff5b4fa8a886af47b2d606ee619c43ac7f4e84aa8d8ca8bbe65f7588a599ec0,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003116c624463619d017b4919effc6deabaaf09a,142.23 -0x5577ab8f9a52866840954711a4371c98afc2a4e1ab4c12cf4b50e2848477f841,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x196fd44f1f3f36458e9c36324640a8e7ff5fabfe,1055.259 -0x8077e9ef64209ea62781505bc0f4c4f704566b4135fb3d0cd896da1e5668928f,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf6f372dfaecc1431186598c304e91b79ce115766,10.472 -0xa53d8544a79bf54d72f238930ebe9e13183d466666f4caf41f7cb9a88d786568,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x48d28e8123451e65d0b54aaccbf5f13fe4d3a162,105.525 -0x9fe117170217a2bb137cb5b8d13dc3dee80556ec1ebd46473b8a67a9e031f75d,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4709a3a7b4a0e646e9953459c66913322b8f4195,15.828 -0x338bfec55272a123f74ff3bc3ba1ac9ec694897117e0b21382e7a57fe8d20deb,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00684acee25e34f5ea3b944a58c5e23f922c14b0,419.645 -0xcca5d3d78213e7d3955973807178e5df94298380dd3bc1ea2020d2c40d9a8cd4,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000ce94f81d1f81401712a57f615bfd9b139a657,3165.779 -0x214b4dbc4b16e6f6125ec4daea581b3b95b5db2996e720c54fb6d5f6657cb623,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xee48f23c4b73cbfadebf37cbf7d73fc41469f79b,49.551 -0x783cbaa5500ff5179e07f57f79b02e171b7f5a8406c5f57eb4caa28fb4add6ce,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x04867292a47c5837759dfe13bc70bd30aa01050d,10.552 -0x668257c38d13e3ad02d63fe00ca01bf4eaea7679fae0bce732ddffddc9ed1ef6,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1677d96bb82668bb188ec71498db5c0c0c4830e,89.697 -0x6afbb8adf946904a044ce881b131e646a5675cf9a096bf4f6700c0db8e740057,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a41d48673da40f5343bc1e871eb360ad8b9bdff,1055.259 -0x55eb4bd6f63ce17b758e85d86cf3c3c9b9d2cae9a970d55caf6927aaebe3546a,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaeb9aaee118a585de364026e8b449f37ff9ffe54,79.144 -0x3b0261bf0fd11f6c0cd90b801dc8ef91b6c1828a48528e2bae29faaf25c6f746,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5ae7dfb217953af11182fb68fc210c9ad11adb39,221.604 -0xebb29af6e5b97b51ed5a9113750cbd3ce16ed3944be6f8f190ed4e9edfcf2b00,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x66b9dfaea3ddef53b98da82a224f70842c817703,7.914 -0x0b3071755dbb80dc5352dffdaa8fd5aaf20a503b5c35c150207987f7bd01063f,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfae39043b8698caa4f1417659b00737fa19b8ecc,147.377 -0xa4d7056336ff58e5e8cdabacfd8ba9f6535b3dcd70c07b93f5c48fca34cbb163,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f651fd29c612a4b39a1a19cc749fa099f82ec9,2648.672 -0x4f3d5fc57eb81ccec752fd854b4e7bc119a8423de057f4e744c34c71f2163a3c,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbe0c68748745eafc6cb8e7ffc3666f68115954dd,30.112 -0x2271586ec0b20a8a52c78784a63b1a43fceeab737e1cdc9c238c24f2ca61412f,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3de899827e1b9413d6889727a4662074ffab3a73,316.623 -0x049986b724c1570533cb32f5bdda4ba389bddb5ae857dba53c2f0d5fdd3d35b9,4451474,1509277834,10/29/2017 11:50:34 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe3597e85a29412f80e5597cacb09fc7aa4ea9d3a,64.233 -0xef3f9a066aa804bc650e8e9a59878fb32f3da65a548925c876910a0a702c803e,4451475,1509277863,10/29/2017 11:51:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x25dc5d102c1d282b89ee19709bab596db52e3d57,292.306 -0x292aef4a8148353b93716ee4a4ff185e7048868f6c63ee3902d77031839ccb21,4451475,1509277863,10/29/2017 11:51:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c154d6a5f53e66085ce1d7c26f23aeb6d6b18ac,2477.566 -0xfa23bcf5cf99fe6941cec81bc00daefae7d02652ef7e1da9ca8aa7fc5efe7986,4451475,1509277863,10/29/2017 11:51:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x20275e007f9678e47a9f3c52ea85d68c24217a65,211.051 -0x151af6a6c94003f4a2a051fdfdeaa40e7c376bbded92cda25c7537812709f2d0,4451475,1509277863,10/29/2017 11:51:03 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5d4502a61e5f5e02b811cae81ba9768c136fa101,5.276 -0xa1ee1be57eb04789bf176a50263b4ecd0237f5bc1e679c6e49a72d7191d3f262,4451479,1509277928,10/29/2017 11:52:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xef3190039aefa5914791dab9d5b4d019b0441e14,15.828 -0x6a3892721d5fc1c7d7a823c3a3ef68c34fe068d042e486ba62b5f6ac6849715f,4451479,1509277928,10/29/2017 11:52:08 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xca3dd8080c9f217c9a1e0820c39e31ade0dfc0b5,37.622 -0xb36eb5cbabd9ef7917d38299b7603d1d4b5b8c6a186dd4814a7fd8ba726c9df1,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xef9d64a965dbebd8671375325a0aad9358218934,74.694 -0x2c0a4fb3d01837e53ff9a1c7a68bae3b99b6e5da34539e734d428ae3f4374c45,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001597df1153c433614b9dcb4ef8f11b640e19b7,0.651 -0x20e2c75ba0ab9a1b1846be6bd32a9232e12f8aa0ab0249ad883990445f3a3609,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1b1a105919ffc05d685f342385d5aa4ff4260383,95.078 -0xff5d0de04396002e52bbb9524b9a4005c8756ed7f9b4f874ff604021f40e8f44,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a6ed25e84058c2810261558ebc593216aa8d1bd,73.409 -0x6e087e09a1c940ec70863468b708b117c5adab3d26d2f1dc7549efaf5c6e1ced,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaf9e08f3020e624c945cc446e8759602049cb176,97.423 -0x72c525c965a77d880a5c2ad40de15f7aff0a26ad8eab1cd932b51fa1965aa189,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006e1c09312f5397c46089a6f95fd0424523eab7,52.762 -0x7cd8151814bf6f2c8ad18a8f45996030c4485cf01336494a15cc95973f971252,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x05fc2dc53c14f07faa71da549035569e14c7c793,316.577 -0x9f4fbd3c89e086f87bbc35e2dabfb0812b65132e51efe4f59a995c0446492057,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c4cfb90d630bdaab104b05386b6f7aa3574263,10.341 -0x8d8e74987edd74af646b1d64758933781b19b8eec5947a482e184127057bffd2,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x185a7fc4ace368d233e620b2a45935661292bdf2,1804.494 -0x2168ad01e605c65abcaf606e88978512a59339eefb35c2a544d46a67fc84c148,4451480,1509277936,10/29/2017 11:52:16 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa7d341dec7a554c2f7117527a1514f34ead904b6,15.828 -0x7ea1d3ba0b81135b126f43884522b56be8c3327f57856f6725bfa3cd1b5e3565,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1c4ba011e13f2f735dee87c7801001ef5e7348d0,9.55 -0x93e725b9ed841223111f55296516b6eac5c9fce61007b4a955f685255829416a,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x28a6ba2203b78b7e0de3dfcaf687c400bdf1548d,211.051 -0x44d7d76260ef47ba9a6501af11ac5245546a0d0e17946254673f64217b7213c6,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0d2b35b43c6ecd57e7f154ef5d5dffd0c73f8d4c,3165.779 -0xe2c69305924ca303e3c419c30e615ca5be023a038a40e85717b5ce29f2333a96,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3a9b0cdab618a437cfbb3aff8fc8b22ea5188d70,31.657 -0x0a87a0ac07774c5e817965365287e8bec1f52d2fb7c526bf7d47e4d33cc326d3,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3f2986549e4a6d8486b64bee434a3978c3e5a1bc,1846.704 -0x2e96469b33dfc66cc1fea6e082bafa5c4571c6e45f28768fba60ab8c2380f233,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x26a21090f6187a35c5d0578c68e22c78e569b18f,52.762 -0x5a32f1fbe460ff16b61006e01fc8330f9baae749c6f4af6a16cc5e00aa9bb558,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x99d1efb41a2c5ce8d000599595f598e6ae9a8356,1640.24 -0x1ea75b2830beb140c2cfda523aaa5b0bd768b8ef23c2bf12eff238c9e163416d,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5e4d95432c7d44feb173a155f31a7c65a1f13668,105.525 -0xefe95806dc605560ecbdcb8bfe27bd0f7267eea52ee1cfb9c49175b0bef5dc11,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d01fe71aa1b2188725a4a1d197f8032c27f75f,116.078 -0xc388ca4424ed302a7c23e007d26a860005b13b74fcffa1c06cc8cf89cfc124aa,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8610e7e131ecc29b1edc1eef2f7fd6df2b6400f9,21.105 -0x6b9be8a64126c1e874230bf7b57041ee364252237495e48e43af9cc0cab04bfc,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe9bc7845bcdf580a95687ae90c37e0b7f995135f,59.643 -0x833c9b22d222441399d1fec2794f32a83b685732acc9d68abf413f6cacfbdc36,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4b8b042fbc1bee7f5b9bde50c0706ddf3422c890,59.492 -0xf0d1a550546d831a35a358f8056a18a6359deea8617610e5fbe99624c58071a9,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbe7d69b9aec64673f2ccdb97c24bdacafeaaf2a7,64.233 -0xbebb4d49357bd4e501acded803dd21480a8d24e8f24bd6047609dcdd21093153,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aba4b515e5c9b0e4dcdd8fdd9c870a3761d943,633.155 -0x36360bfbcaa60344df71b67c217f60c47457712f285a6257b1c8907d76ae8f1b,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x02351fba2d7d4e88f690bad6feb6f93d0dff6906,65.584 -0xff21f72f6b7c8c293ae1d6aa0edc1aaa73fb7f063f731785955a99fe44b0403c,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd1a80b1f8a44594e343b3d36806898616c3c123a,31.657 -0x410878ceb64dacbe9e6e8add212bd1c5cf5b9cb82135277f0ddb613283a448e3,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0352804a070c4d94d441ceb8490ec619899f9e4d,527.682 -0x9ca596bf753c0903dc7f58a62e525ca9627a3600d22e4586932ddc02e5ca0dd7,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe8209f6505dc718027be561be842318187216bc2,233.992 -0x790160db063d1814d865368a4003c89b4d38fae1979e9fa29c5e09d8f5d14940,4451482,1509277982,10/29/2017 11:53:02 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0cb193903063145dc5ec3acf56bbd5a784fe25d2,158.816 -0xe644ad29901848510e6cb7e088a378d4a8b98a0dbb8811fa01d9b2b47acbfed3,4451486,1509278071,10/29/2017 11:54:31 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00642d51e2ef92650e2c7308b4078864ab0d8603,26.254 -0xf20fb18c6ebedb8a15d556132a17309aa821bc32e19e6cd504fe0192ffeb1240,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8ce53c77f34472605558eff3805538aa77b08f10,170.952 -0x0dd15ea0de296450cd423849eb5941954e69d02cdb24d22a0e9a405537d8c47d,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0019bd61d8a9591e1922a11b46063a887cdd935c,1601.884 -0xf07a9b723ca4076f265c82b3b290bd0132e065c9fcff772c7363865184d68c22,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fa6ab66fa1e479c1873ce0c8ea5c1261d778e6,27.528 -0x7e992ee7a329ccd2b64dbf31f104188a650f830e3116cc60ba41e0d847f103ff,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00036d90bb4e462221fbe06403a023192c0e6c4f,300.01 -0x514b0c329b01a9f7308ffbc36f7942d4a9399685df411f151334f0feff126dc6,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cb55ab5cdb7797b8a44a76c4d923701985df4d,105.548 -0xc1710ae9c1215bc007c9a2b0ffb4f752f9753dae6ca961b8b8919ce6b6b13337,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xefcaae9ff64d2cd95b5249dcffe7faa0a0c0e44d,316.577 -0x0952b0383e53e2c55d3e88498dc28716d91606b9f921f932d02045a4d2ebfdb1,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xda25fceeab53dd6644261c4723907ee3bf1b8229,270.834 -0x30ee2229331e09a3387fcacc7695fd196d62185e1246ef54bb6531561f9b343a,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcdc5f944f190ab822712994782a65d7723582eff,12332.822 -0xfba83b929a8a474dbffc262b49d92a1a09a5bd711b71f22c9c5efc51707279f9,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0f3ca995aadd1438b56bd795335a723114ae98e,3030.284 -0x739b4ef280a9457c05f12d273e35f79ce807255bb7092f272d3bbf573e32b919,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002e54f5a746d8af042121ad2129c4240bf460a2,21.105 -0xeee31b23195263f67860b86652b0ef70c4b0cf590bad10e8606d0a164fee0e63,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1fba1a1a641591737a3ba3e7eb236d2cfafdeb69,945.329 -0x3d5d0e58694ea837c133f8399431e2ba714cceda09925d56b46b7c956e153cfe,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x13597c1e37b3dbfb347255a2939b6d58f557e1ca,105.525 -0xf4ffead810602c0b4b76f6cff03f35a75dfb97b83febf630fca5af52ca3f23ee,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xac8eecbef704590852f8e75d87ae2da59bc5fc61,158.341 -0xc18bcbb196aa8688cc6dde61468244b9fb8ae0ade69669b92a5191462d96513c,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eacd0f6481a7df06b3af2c13b2a185316803eb,322.117 -0x7cda2bd89721f40cb410cdac96cc5f56cd64897dcc8615e9ad9ec3d64f0cd95f,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0073ab4feb184e95b514c03103fa4d0409df140a,178.338 -0x176ca1808fe107c54c367505733208405d8ad1ed3831e47fa8ff4c0457550413,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x998c1f93bcdb6ff23c10d0dc924728b73be2ff9f,1055.259 -0x9a3abd7381700fe942aa99365dec5f16885151d22f6ed797554f3865ba6deed2,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xebb3b5365f80f437d4be00fffaedec844b24ce14,30.391 -0x1f66cc20269baaa01f162c7ef8f64c536e88fe53610c4fdf6df0a5795fc17425,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd3b33791c1ea8922dba88bd800b509e884c33bab,105.525 -0xec06e7c54fe2645f290866b43237598cffcb7c6a96fcdbb7c8a22473f0befa3f,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb14c0abd57488f6c66fa299c0b26cddc60da9367,10.552 -0xc88b5379f6b8247c7770716c8e57cba4dc7768ca79ba99447a854c24684b534e,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbe638e483b91290575009bb63815c3ffe36de43d,10.447 -0x803525842be71018d67e6acdfe047ee0229488c3ce6f8f17cb3a02c80c112d10,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003087fb385b37b81d76ace33b535fbe1568d19a,116.078 -0x07475eddd68264d002a74cd5e0efb0c6dfdfcbff1841bd659ca78ebe064d6d23,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b01dc922ee206c3906accf74e175a5fd38ef5c,1044.707 -0x6987f8e5c03dbed8f1c4ce76b0a17695d353f3c49d6ab3be9e6ca28cebe34a37,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x111c06a2f9ca5975c5c2803ce2ba4517e5361b56,137.642 -0x519005044a239b416de1040c47165671c1893008e7678345579d95e3281fc464,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00171d810de904efc8b649c8224652ef9b75e53c,18.747 -0xda4128766baebe75d776000444ba24e9f10bc15492163568ada2b8d57b3c99bc,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x62431669ffdeeafb1d3b071ceebe443011b8d6ab,514.306 -0xde5bbd0e704e16293b9228894f4aee5ac76a06c4d358275ad66f223d37bfe516,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x89c37fb9e6396ed6ef843c62fb32c43250e2f451,165.155 -0x603ccb36ee9f269d3888b1603cd1dcbfdf1330b94060269dc19da4e9324800fa,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8d470122b2f8c87b9303d36a4d1a0c089234fa31,10.277 -0xb8b62937c181d3dd3f16ad2dccda368d6f39bd5a2568b762502ec2d079ec3c9c,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7a2dce72ec5f24ed58baf131ea24762f3947ac46,201.132 -0x62aeec703da762d055df7361d8f17b91f6acfd83fd26ce6d61ab90132f053b43,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f05bdfd076980a8884e37d1cf90bda6801cba37,105.525 -0xfa851c548345771f831b7aa5fa3d1d9e19c80587bc7972073bc93b3f9468f07e,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x99cf1375f2c178bfc895cd207ebb142621e8b8ef,9.222 -0x94a7c60cca4c2b80b60fa8d1822402a6d848f288cce02369b67e2189d9d45296,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0f44232ef2cc7a637513c492322271498bd4b915,8.442 -0xe3544940bf1f80483f5ba0b510e6c6eb19a4271cb43e014b1b3301eec3b65af7,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf7a28702a142caee8178da955f3bf87fdf449bf2,73.409 -0x6e7adf0a6fd707526056bf237fc2ffe694c0f91c24d3892ff9768ab7d2726c45,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x586e945c70b8411172261d48c2d549e52aacf643,93.226 -0xeb17066fa637145a43bad5e8eae4195e0d119e80895a91a8f2a1052da3bd3e80,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb87d9edb23e88bc7c1e6f2cd3aa65fae6397670f,137.642 -0x024d2dfb9e34947dd37b5595c20e32cf7426d70cf4b00e1d1c238dbd2dcfc959,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x78524544864e0a83425ad4c8408f81dd55bf7ed5,9.176 -0x1230eb20433d211fe8013c24a748baf67b5ba129fb6f676881992421c0a58fba,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x71375e5bf468a9461b1b49e25dfc97440b0f277e,189.946 -0xebd63ebb62b25a523583558c6fa02e7204c93218b35a5b10ebe058f13dabb1ce,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf91769506a288aa7edf21f0100444eec2c6f1033,123.781 -0xf8e3a5a3da0d1dae9e29add3007b1886733ee1c75d2bfa307bd81787e3f20696,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fcbe7c027c8cc33f9ff58358629a833279c814,18.352 -0x1c7f68fe4f1f3101912766fdcef3a831d08f1a9c280053d53b0427928c352d31,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x81df87a117417b554a2ade4f7a425fcc4b2d919a,73.868 -0x351a323c24c3422aa9fcff8839a217113ef7b3a5e61fe124f67f6e66291c6661,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00939f839c289a1512d9859cfa8fb0ca0485a8ac,56.192 -0xa02ab1adadaaa8e2378c2eab0eb087a63570f1df089f9d3ee9d79f0a903210f1,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x86bc373e025f772a169e0c3a1f973f8725979169,21.105 -0xd6441fb08d8c132e9429728a641d49c1e06299b982459280ebece40e1d1f713c,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1cd62e399651ed8835de4be49eef4b5a3b190489,949.786 -0xd886a3a41a96a3320d5d6ef9d3bf61dbde0615fce0da4d6ebc0ded7f792d77fe,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe04fba4d693e414f7252ff3381616d711e13b992,147.736 -0xc0ab3499405640727c74fe2c6a67b610d3074d7715e2fded1ffaf36b5d235f1f,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbf36912f45c463b51d4b90aceea2727d18e0e2ed,158.288 -0x10507c266c694f1cdc1824dcbe229c131256e98b2f3065b9bba001f5640c500d,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x05b9879bc7d504d8c242283745eb9ab59fd0763e,307.52 -0xe1a3601eb6f5fe904e610d9c5628ffdc3a2ad709b7e0e8cde2e4022db78b1612,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e96cfaccbc1ed061cad3ed70efd8dd74316a9b,1266.311 -0x425f6589e82abdda79fca6696dcf3a2298834c8dcb034a3fca9bdbb3826d2c1a,4451488,1509278104,10/29/2017 11:55:04 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe5db04802c56a6de7532a9aac9cf39c7a3bc7b71,263.814 -0x46e9e74a484c21648a268681135ec15f8f10ee1efe165dd23a7255ad8bbac926,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc8ac080a57b99bdc0f1a66d24064113b8bc5f728,42.21 -0xbb03cecc397f33be76f2ab8aca215e0b3c8d25c5c7d8629ddbbe02cf71ea2dcc,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00042b93368df4bd63e3764f6508992829dfaf97,10.102 -0x3a066505291ea4603f96987dcc51eab1d717f1bd023218f709669ecfe63afba8,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc89ae2711b74097295c8e18d538e857d070a3cb0,19.82 -0x71e1f93d9832874ff1912420204197f390b16acd1c2bbf8983d9612154ff3a51,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x94c90e0a573db26467e0e812090a9220c20edcd3,302.813 -0x0319afa9aa2a992781d691fa5fbdcfaddc0f5ae502a3e4af7e55cc980300ef17,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x250498d076866e2178a28cf09444f2ab34d57aea,11.396 -0x0c6cd99c9dc3bfc3e112ad1ffe118fc16a055b16ff71bde7441c9b81ad75abf2,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcd24a754c817f83acfd14e75dc751f3fa9babf35,175.867 -0xf8520bfce0d3b522952447d02507d194e65e2ea6339bf64b8b300602cbee151e,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0a8beea0a04b6f97bb39cff19803de453ef4cc02,1192.443 -0x3d6123a2000cb395cb032fa8b93560cff306b256016019b6a9c4f07cb48a0ea8,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc84616c13fc8266181a4589ca35f2f2463b0e4b3,236.378 -0xbdeb01069d524ad207b13c621c47c1237e38da214a8a05b5b22aff30db543b8a,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb33841ab8e4fc931a294256066286270a77632cb,211.051 -0x7328c04019e980117fa4466f36d8daa90ce809aa9e3efcf2c84b5d2d17c57618,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3c76c643a4c56e4d7f45d3e8a9166340c5e787d3,73.409 -0xe68e20f687e564b9dbbf43cdc1e938369d4ca23fcd3f98a75db922a1943c1b43,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d95e4b573c9825824a9274497e5777bc500b68,63.21 -0xbd1aa77bffefe7e29030fc2242c3c5399b26bc4fc4124b933175cb9d40211fc3,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xed089a796d2a81919e46643e7c2351aead6f1437,5206.957 -0x622809a0fddedb8be02ebfd3ac69b647220d3e56373dd309e4ae514a837c8c6e,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9324439bdee04087564a0c4d01fd94fc5240f88f,55.057 -0x40ce51f8ec1439dd3d7f1652bff55bd0c3a1ac11d6042110fe97104f921a79ca,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb9f92d067202d78d58b86cdd2ff7efcddc4a4839,105.525 -0xfc736ca5005224a90c5e652d459dcc68df3f7f1c68fd136b8aa3540243f27155,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6115c56329f345ba42307b2769817361a92029a2,10.514 -0x70bcb91aeccf941715d031ea311fa0c63c137bff98c84bfe7212d4fbda1d19b6,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001720fe2bf6df9dab32f313343766cd4a0ac2e6,102.576 -0x981d67c055e6230cbaa902de196ac6bf6a36ccf25d40654fa1724d45186e58bd,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd315959e879d36d314c19ccf6654dce6b7255fb4,50.652 -0xacbb81129e208f2ab612d9bd91c81a04a0b9f3d2b4412ba17b7788c20789a66a,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x32f8dd495c7da7c59780a4fc381e45b90a2f891a,111.169 -0x7714560d9353c97d2069213b5c58ffee3b6cfed62b12e0bfac9b15252b3b8252,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2186264cf67b36c8e63ca37098645e77c331d769,45.88 -0x248b2260e18886aa6ff6044f6257613ad599d5ecac09001342d0fc107ba8627f,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5ae16f3f5c84047aa300e066774a1c3001b50c35,31.657 -0xeef63f47559cc74fd7a5f071c108fddadb1208aec24dcdca28deff4cdbec1cc4,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dc7dcc21d1c488fcf7775d7b081a882502ef47,440.834 -0x67e3ffa64229f87e163c9ff284be0422fa1ebd17601b53a1b51d5146ffc9b38e,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7009eb50d01c3aa66f09ed1b9d675c6edbe392b8,94.973 -0x66f6590b96ba3dec00eaace50244af0be6c214a35c6375fad312517b1190ac5d,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6b84b4c46babd3748c1c73bc408f6999238d00a1,8.442 -0x896bbafea0cf4170596a9290b3e7f174bdde15bc99515fb8cc78f01c97c5396d,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc7e8ac122deb2f7dac7456f73cb4aadd9d479862,21.105 -0xff59638b8faa6c87550bf9f24cc26def8df84e4bc6d9f759aecb4accd0c199f6,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8d6fbc613b4bedf87e57a6134fb72508099bc089,53.818 -0xe34284eb520d9392ea026749f6def8ba2c93367bf2fadb351dc668f65e597682,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1241b9a94b7cbd63c50a9fa35b1e370fc583cb00,642.561 -0x09a359977112dc90cb7383867dbd152dd67050b237ad679667eec70958f6cccd,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7a377641a0f741ba35458b3fb478f0a6d013dbea,105.525 -0x7ef256e8841e7b1883c18652160abd947830dcfc9b6b6ba10137e17ba0c29a75,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc5438aa39d5800ee70449975bb26d31c60792dc9,26.17 -0x5686f85782dd3fb6396429a49d53736086e182554f6225e2558de1d3a2c45b1c,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00fc9f2eeac9e40c581c898481ba696b0e6300bd,105.525 -0x0627825c933726aa515f66b99a358053d0fb682b7369b305ba806f49a0dd0268,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x57d6f80480c6c1c0c7269c7b5ff282d0e37154b2,45.88 -0xfdcf77ae7c4d1cca95a140f003f04935866d928755efa105017e475e8595c0d5,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x15b8f1a95061a20392e601bb5bb008415ba20ca6,257.627 -0x0ea5d049509254ccd404dfb6adb454f9c01873bcd14c29876b10c6959bcc899f,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007ca5c1afdce9618c0bb7d86c2e1699fe935581,211.051 -0x7a9c8aee09bcf3cdf4c33e8eb323b538714d9c625a9d17fdf544b84eee7d8279,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4f26a98109d0e971370b72be7857f44a822a4651,36.406 -0x45bb403eb25eda729f5bc1cfe8dc423403549fbe1860592d61743dd376bff63d,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa0d9967935116cdbc4ca46dc114bd175c7eaefb8,393.015 -0x074d97148fad06dd134f0b1bc6a270af1cff039d1d176a870e1eeb1239c64115,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbe7f0d32ca1cfa5d95b4c10c960a088f2080a508,175.081 -0x3f64a64f7c9a665f8042bd09125def15d0ee6ff8ef4f79cae5824c5ca35155d9,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00388e518f2aac5b12485f3e2dafa9aa8262945e,67.536 -0xc75bb82f52aaa1809dd0b31e2b559bc766b1b66989a253ec278deb3357daf821,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005cb064be2ae806ff8a6eeba102978d6b32d625,67.536 -0xc94b83c878111a77f19e1ebfdc550bee5279c07a013434ea5445240eae32d457,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2b91c155fd65aa757542460218f00df1e9a1d822,15.828 -0x5eab873a2debde4f90ac3911eb5d33a5755ea9750b389dd5a530f656f3f3b14b,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2d409b74db75be650cc36e53192fdf7aaec35002,21.105 -0x19c9fbd83938d1718b638764ef344ff3fc18a3738cb6a752f4a5af3f6afa3171,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3e08fc7cb11366c6e0091fb0fd64e0e5f8190bca,527.629 -0xeb07cd13e1c8fcf3e0ea5ab59924f87834927c13e2f4f39fb433492cf1bda7ac,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x152c7b351851c158305f51bcba4cc9570259cd6b,527.629 -0x7f98602373d7ea7784cd047a69d005c22bbdd71e8c79afcc6282a9b37afd27e7,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x65d6275a941e393d588ed1b1d0adc94285e00757,1055.259 -0xe229e112591781ebef72d8021de674acb60dc5878340e0d17107fe196c19e95b,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x61fe11633c0fd8d3c9392b777c0996254e5368cd,10.447 -0x6280e1da4e533af02f18adc0f20ddb9d2a4e4e46ac1c7ac55d13dccd40f11044,4451489,1509278113,10/29/2017 11:55:13 AM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b06eb11eaa3455375b66c1c72c109a134580f7,180.449 -0xccf447eda3f951c0810e9e9d2b313fe26562b101d503edd54c8432859760f79f,4451597,1509279673,10/29/2017 12:21:13 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f8a55193512202fe419de12ff41207968ffdce,45.88 -0x8e148c477ca49419efb7f8d2141d781a6babe6c4fac957dfb36d759f836b2eef,4451598,1509279678,10/29/2017 12:21:18 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3d5b125732ab8687d607772cae3a63dc5784ce87,118.693 -0xa10b6573c8512e8a621528917215aa09936c1106f11a00019cb7b67eef11fb66,4451598,1509279678,10/29/2017 12:21:18 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00659ec26a98fab3ed365db68d56a31d005cad3f,367.655 -0x99872005b10155ba1fd2d7779ba66eb4021c9a03065b533e16f2f7c5ae54d784,4451598,1509279678,10/29/2017 12:21:18 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdc9de83f11941407e4c81debc7a2023a27e118bc,25.149 -0x5c1a7d18acd7a65da81236a465aea7034381968bfa5b6d8ade9dca9aae443732,4451598,1509279678,10/29/2017 12:21:18 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x286409bf413131c1bdb5c2ff95c5f8d7379c5162,18.352 -0x5edea3e9a5314a5ac299069eece34919ca80e32e82f351e999645134d910b987,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dc120c0536de04a202721962e9be40432ba642,91.394 -0xc8f46b17a185f489f6ddfa6657b03f50784db1857fd68c59b6dc7a6bd150b8de,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0387fcdba9b695926f21ae1b0701fadc85b28744,55.057 -0xbcb2dd32e0a05b34dff9f74c85f5fd46498b9864fc5cf1d87c3430690c30df2d,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a96e78d4900cb5f8c412c1437b15aaf81f6733,68.821 -0x6eddbbb196f545e26c40d4d430a8156821e8f2eda597328c956af0f314e86ebe,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cb2f6197ace28dcb66d7c726caecb534a79925,3.689 -0xb737c1e2a1f76dce2fbd5434f70f52cd831aa21c71201112110fd22f58c27066,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003850a6770db5d0bde4dcf7985838a12a1f4045,22.94 -0x73ebf91e18232525d2d6d8f50cf5052bd7029e950e50acfc5637ef3f9d127411,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002afcb6eb1d06a5f5f26360f72d777b2942c4f2,100.937 -0x3c4bc48690d29e8ee7d27e0b32e9f3497cc856fcc37f70d2813e910f8828c272,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0077d40b5898cf2fead807b1589e90142b99a3a4,48.083 -0xa8ba6bb4e64efbcf78799c58019d259aad6283e599eb7f55af2bf1c07f34c038,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ece6fd032e4d674561246baffa8f92728955b6,28.961 -0x975ca1c9c56a94e2c74d37230c8303ce84af3c5bc12c2a2579011e5dfb55583c,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000e0eff1c1ea2d6c76862b36009e1e1017acb88,4.588 -0x888530687215d042550db8d7a097f9daabc442a46ffb9138ec6c8e6a16f0f5df,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6cf10be9868455941c4cc1f1d29b741ae0629cae,9.176 -0x8f5d98600ecb7dc0f9b275d0803c1e3a272608bf86075333c2c09ab346320193,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b8d82c1ee5bdc3505523ca8d1e0e8e7df6b10b,55.882 -0xacc24579f2446cc6a4f6ddd478c209fcc0d0fe152224d6673f1105715a36c157,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3680537578bd5308cf4c5d98d235c7882800142b,100.983 -0x3a10f13cab3291637217329d548ff917adb7c31067c9919bfee1107185be907a,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1dc59612f191c66e69dc23f3ab00b945593836e9,458.808 -0xacf34816a09e4566564f4167393254e9500d0df7094ae5f3c224205043d87595,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ea9d00813f1ba972a361ff2d3761d2a396fb2c,91.761 -0x79edbc2b194ec0156d3072dc153d08709b990bd8202d7750a37637c2612c6793,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7194210fbd35b97b861afb593c7832c201e1d149,27.528 -0x2fe40ebe2d723d1bd3b4317c56f96e638fed02ee51aaa7e806fcacb217cd885d,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2ef38ee9ba641cba4c3b92a1c594dd6e6708cd3e,9.176 -0x192cd85818e43904e5307d13617af82f36492339b9ff6c284c7bf301bc683cec,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b3b6d0e8643d53b6b22807385fa63146058f56,7.34 -0x2ac6d5c7e6f54dc010a8fb561767be90e82757e74666d18f7e858cd6338c8fea,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00976b44190fbe9870317db584086f6f9d84d610,9.176 -0x13d6991dc39e5a410fa9dfa4dee1ac1c0939b04bf8ca7581554e7acd854a28c4,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1c5d2111b3445cbf18bfa5709ddca8d4757c8155,23.445 -0x392cc6c48feefd91fd2219ba362cf49da0c89171f429b5743b82083204d017e0,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf82fb4366eb81322a5e8ba8b6281d04c32b3d631,266.109 -0x7364225a343cb73f71edf5791746d7d583df087d1a5d62c996b0f665081182b6,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfb82d696619496ad28d708285770225159e2236f,2.569 -0x3d1b8f19d51a4fbd259b112060938708467dcc67eeb46864da07e8b094b2400c,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0037b4388420542e29d72d06ccbe5cc751e17867,71.115 -0xde3c3b9bf2c29976b339d58bcad79eb3c8be6aa12a9791fa48b2d83bb635bb9a,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x87b72db3c9257c0647034b53686116d2ffa0f384,45.88 -0x21c5f482e6260e5b04d4d9275e1f42f7cdbb6f05f0ef05cbf1d77d89347d5f95,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf129a8a4ef740ad545508a30068725c058375c4a,13.764 -0xfb9cf1bb727c3253ce24b0c3f2f1b21d239348bd69839ccea91a7d038035585c,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc9094f605ab3790ed1bcae8111c987c786dd294a,27.528 -0x6238a6268a901836e22851b0dc17466f77e34f0dd0cc40e7df4df873a1a41621,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b2bedc981445a47fd58cb9814b8c11699093df,27.436 -0x5036b85ea9082f392c8960e30ebcc1c459ef43f761060fb05501e86ffbfe43a8,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001a3929769b8f2f809aad807767b5e2c0a9e27e,91.761 -0x65291e6315490500661e7952ecd2d801bd60c1c8b27b043a833ba58fe58201d2,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc231dc7e55ec4b6e33ea3ea6d77d88917d879781,18.352 -0xad48470b9c270c37b79513f18e9b187fa8470a66d3fe2fece8cbf9a5eabf5c14,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5c498cfbae903fcd46bc6eddba138f78b96b7200,1838.905 -0x06ce934a3816b3a8c8259bd64206e05144a1a3177b508252c598826e6db313cb,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009151601c379b0c211e12bb1342e183857126af,9.099 -0x7fc882c8bb0d2cf75d5d19cac7c2de4f1ca6ded83bf662162071f62ad04bca5c,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x36518f6425b4e3d1045cac34d91cacdb49bbb9ad,32.116 -0x20bde12437d4b3d50338aa4796961d5d0818f7833a776878aa7347aae1182549,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x98c97b38d63ba67d0770cdcf8115a5c8a470e937,4.588 -0x4599cdac1b6495cdfb5edb9038dc18b4b7324231511155149bb80b62133a2e5b,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00638fb5bd1fa89cd2c29c98e6196620d749810c,9.176 -0x9cd55ecc46434532e0475d5e8ff094d909bedb2034f043804a1d3b83f0c8296e,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb8577dadcf48e02e17c649edf5185844dd2df05c,908.441 -0xa2d91ebb654ac90fc0ca99c25cc0f91b874fb7372ca3e752cadf12c1820d8e0a,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00908f63171b29bd00a69a2c0864318843bf169d,326.212 -0x2bd397ff37a398683d0859437d7e54eec8400158f0c2896ee83a0c0e1d97a0c7,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x47e90830e0665a6935ef79a72a27db6c23e00228,1.651 -0xd2a6b8253dfbeef79a083e5c4c1944b51224f27c518e5a1e5e40c295259bd97a,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ed2d6c16707836c6609b53b802692fe176db28,838.748 -0x32f666fc271abe5ace93da22b1384cd8be2fb6ca074fc91919f30bbda80e27d1,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfcae7970392f510a985a7eaccd3820b7759d65d9,0.825 -0xd8c2acb103c60615433dc79be64744ddaa3bbf4509aa5aaaf8dbe872977ddabf,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x76436bdf4f3b3b9abfa08f825d2db471a4e33507,100.02 -0x7c06178dc617bfea93a655eabe73805b5abd03ed714d11a7969ef6ee811157f5,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2489c8d02c79287a37e21809eb3f5eb4cd25d347,9.176 -0x8ff503bceda8924245490ad00a23a77c1aad9ede3d49ff516afb85d5e1fa18ad,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb943e534ccb68a976bfa9007ad6705c76da81ec6,91.761 -0xa51a52713270a60c3d83b5f66b03a3bfa9dda438c39c0ea7005fe983f66ef8ad,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe1cab702cdcb0a445bc6b19ced6efe6d911adfac,9.267 -0xc8801bacfa8939c0fa9fe1a873bc48cdff1dd5bbe916a84f898742e838defbb9,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4e3d9fe074569618c2b58486d13f2af969516dc0,1835.326 -0xa11b1041389a205243fd6d3e46cbe200ef6b9231e7573777112965895f172b3d,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5b3513da99c0572a510334c4256b99ac3a8eb72e,9.176 -0x7f934b8d5a1f87b62528ecdbaf32cfd392408352eaeafa01a826d5cf56c1474e,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe9ffec62661647c99718d1e2783261291a545747,7.449 -0xbe56c548657f583121bc9c5e263e016fa47f3549a6c30b249ba5b811130ccdd1,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5feac080c5d43df16479488252694eff5bcf7a2c,27.528 -0xabdc26d8dc7d39eb94506d6913e457a16b5027556e1afb9ea21c50a8f1f60991,4451599,1509279691,10/29/2017 12:21:31 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb42b3d9cbbc9daac90d469cb60ab5bf116bd9adc,9.176 -0x4950328d215ea0c759df6bc6ccfef871836f55b55f0f8753806cfef8ea6ad0f9,4451601,1509279696,10/29/2017 12:21:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00518bc639b1ace490d22790ae1ac8dc933160fb,32.116 -0xccdef594484eab7b34c5818e78f6e5872e9fb411a2c025791edbc44f67665450,4451601,1509279696,10/29/2017 12:21:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0059314f3708129bba2e5370209f0e54da9bd354,917.617 -0xbce9e7011d5ae26d11182f0788069919471eccbe07e7c23047035c7d2085c126,4451601,1509279696,10/29/2017 12:21:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005ecb236707b6e0e75bbe9fb034528668ad21a3,13.764 -0x448d99a1802f2b24cf2cc73495f20cfcded1580bbd2c0519f9dbaa92354dbb35,4451602,1509279705,10/29/2017 12:21:45 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a39f0f9664328bc6dd494d323810c93a19f20a,21.105 -0x9efee7d74cf44f2456c7952afb6567f9463b3845f107989acc4ff6a6fa46ab92,4451602,1509279705,10/29/2017 12:21:45 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x67e3653e795000b68a3b2f763f628483e21c96bd,18.444 -0x8eeb6965dd6c8762c1afecf89777a06082f09f72eff68aec45bff3f4c251be59,4451602,1509279705,10/29/2017 12:21:45 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bbb1ea6d7b0b887163d6e32cbdf53e87187cb3,45.88 -0x0746d143a30f8609a8d06a9cffc01c638517b1b1667f93f6ee2b7dbbd361b177,4451602,1509279705,10/29/2017 12:21:45 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003278cdde8afa055f7a54a0e928965df0d681a2,45.88 -0xe60d1931e9efbc57cdb19dd7bb9e25f610d432faea9f0b49d35dce76ab8bb383,4451602,1509279705,10/29/2017 12:21:45 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe4c51165f7f13ce32256492d88388901cf7e615f,18.242 -0x69103e66bad70f126a6a73199976ad8c82323ee8663a06a101b216d1f41bcef2,4451602,1509279705,10/29/2017 12:21:45 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4ff86d93a528d81402eb6b76cd270be3ec36c25a,18.352 -0xe86f0b7758748686a266a18ff63da3fe370d64a72705b13884d5a2215ba32c62,4451602,1509279705,10/29/2017 12:21:45 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0dd9b78c6d063cfed41ee21c7fab626f86b64de5,45.009 -0x2f2eb91a2f3f9122d5e85bb118abb5c91c33935775601bdd0001df54577e70eb,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007a74c0c90eb301c7355654b4c91fbcf267a1c6,283.36 -0x28d0d46eaa7bc78ab0dd0fae11f1e4a31c3e86a628d34a1805b9dfc74d72aab2,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e9b7c3ff2bcf46973579131465d2bb4dc46871,92.679 -0xe79c0116e149434962251f4a69c65b871b62d58083d8b0db5e67addad44acc2e,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009957a264dfab5c3c7c572c1a4ceb8d1e1ad779,917.617 -0x53690fe6c89100db88ac132ca8c2cd043185c8dfff9afb6eddf02a78ca2bc04e,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf3b8cbbeeaf1eacd6fac6d3bc0450b3736482f14,45.926 -0xe2c863f3a7427a9714886ed129b6d3afe1bc454c35ffacc1a26035f259121bbd,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00da40c72ba0f9b64145964396c15ccc71cf7766,91.761 -0xc66fbc31b3efc2a5830b44119b4ed8f314f9d4e6b956674aac6ebad874565740,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe8628d1190bcede69725c4e920d9ce42c23ee29e,51.386 -0x023fab7dee693e31994ea3f70f779568b31b8eb50db3a44224b0e960a19a73ac,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x07940d682e51fe3f01b2236d18aae7fae021a7e1,18.352 -0x0ecfd5c8d3cf7e13002bbf8365f643252da147be6df1908c66e7af3e94c384a1,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x209e077793d4f2390c410705351407ddd7a31d99,79.19 -0x27a26ea96f0f276f85a65f8b8b166c196241a2c65c782471993f535343f2561e,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c83c9437f59ab9d5c0f5e16a12bdb905158912,9.176 -0xb201be9f8b26fa43ed3f7154abd1c0180f9d3231ce652e91935c57e2ccdfacf2,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e187973a417e345f5c4f5dfb690b3d01001e43,109.196 -0xfd2e38205065aa0862c7f6a9994bbce87e0e32c03f2b2cf23cabf6e9f4a2a8b6,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc43ec0fb4c71b599ab3b5e9e6fbd89553eb615d2,504.689 -0x0499c16e1ee33f72e8e304c92f3285f0374b143a5ac06a450a18b35459730983,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaf1ad6a98e5f53c3bb27509177ac3564b55703ff,79.282 -0x3672cd54d0c22883b36e790b516899e7448e2da7ffea5049566484906c918082,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dc0fbb0d3eb93773ccc744fe13c0beb2820a9e,91.761 -0x2f407d71f5b988871d0db9b831f7e352dd2f6c80266205efc8688e7059114d5b,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x86a62b26065489467abafd4e02c86fa4ba37e8fd,18.398 -0x3191ff9afc6f614eb87167661bb8e91c0d046729dbcf46fe803b13a58ff0a446,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000f6cdbe9dfc875008e23822266cef6ff78124d,18.352 -0x3496236a90d8eed63006c17e9106602cb62c3f2cfc3169d955d059741fc2f57c,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x31d6b3576ab86a04f10bf8e000161a3defb38ab8,22.177 -0x23269a2e64105ff4e418399d5a9be2d3037f66e122c0c671b80fa20b5eb91f61,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0088a951e10d2f4a7e9cb3a2fefb563fac33eb0e,187.652 -0x4f602a7f03fc1e7604cd68851f69e662ff71bb47296a1aa88ab60edc60bc0c24,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5d0eb611e8056e7061e0acdbc497eca0db4292af,9.176 -0xe5eec11e80bfe5a4a339990163b78c1ef41ea3629bdb7f6de15442ad0fec3fb9,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00294eb6c545e738597385f7cc36298ba90db70b,2.294 -0xaf51d682f7f1a6bed5882b0ce0df4d9e656671cabb73fdea82c7339c7aff1349,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e3ea41cc49b5791b4410ecc3d2dc4a303e09f4,45.88 -0xffad91503839099f40407884e03e3ddfe98334a02b994a284fbd696e7792460a,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00964d7fd8a498f37164ba1c1b5dbb99a3c90125,412.927 -0x5735ad672067c0db400274f91b179a000cdd2c9f562a89542984ab747e03e35c,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe277e496431750ba944779d1dfc2b2487d6926f1,229.404 -0xa05238ca31dc36b10e194f7ddf19c2c7ea4569449f91068692ba4d557c21b13b,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8b584cf38bfe7d50809bbc2a622c7bd118a82577,29.583 -0xc147f6a8691ff04988051236261c4aa29b2b65cc404e931e0f69dfc0e4d718d8,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002cc28b6e9a1c0757029c8e42378e7ce97021e8,110.114 -0x15cbff0f138e004fcf4ca49fc66d70c69c556298dd59e8cf4dbf654582f265ad,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8d4c9ffc5680b9492c9fe7201b972190cd51c0d3,0.917 -0xb20b89dc6388334497f149a14aad4bf76114312715a7b5f586c14afbbc46b0cd,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe4add2e79c9cb1b479a22a663f7f25e53f63ee7d,0.229 -0x4cd8dd3865897bb0ddd572f7164f8cede7a891525b07fea48fc28a602f72bc56,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x67494fb2a324220f917b9f9d6f6cfe72093d4cae,45.88 -0xa52e404f621c1d98fefd5fb7ff82e2ca6e2beff31c06498211ce9632858543cb,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x85591bfabb18be044fa98d72f7093469c588483c,183.523 -0xfbf12ab9883631d6177436f90d5bf9533d1b97ac7d809b439c3ff0bdb1a1b65e,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x22e00a49eb33d077e389a17928e7f7bbed4fb938,251.427 -0x21b579d3275a2618c7db0a95c7fb7c155a9edc6c6afae156455c9c96644126d7,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x57981d9691cc20a7ce7c628f6d7b1ab82fac8607,146.818 -0x8ec6d3a1acdb688bb6236d1ae3efba92025698a1194bf467900870badea220c8,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd647cdeac80acda72c27a54c2aaf6e125cba3eee,9.176 -0xa7aab38d378883be871a30128b94f6cc49980e77b410dad5c9bc0cfd87030fb0,4451605,1509279743,10/29/2017 12:22:23 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4d6352629387b12b8c5a32871336775d10b105b3,100.977 -0x92c2f0c0cae3f171882454255d93a692560addacdaa4c78ed15d153e7707cd04,4451608,1509279836,10/29/2017 12:23:56 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf581c3646c7eba0b95e6ad486ee48c2be833b660,265.191 -0x1da132be45470899f9acdd36bbe526704c96ba61cfbc07e3aaf1d4567495d636,4451609,1509279839,10/29/2017 12:23:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1615d921575a6948c48758e6ab9c560f1e862328,18.352 -0xa0ea1e0f863b00abb1a9b31da49787ec4854b19c2ac49d56fbf0bacb57acca2a,4451609,1509279839,10/29/2017 12:23:59 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x69c575e3d825fed93c07195a802b6f77de4f5226,8.717 -0x7df3782457a795eefcf951f212cd45a7994b4ea3079bb6cfda9046b08ba8ae8b,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0084e0ea2823277102b3701b0b29d974c29e5e3f,917.617 -0x801a5b3f7b3671cdf6ea2cbfb407c36f7679336f7dd313b5f7d7364fe18f9dcc,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x81ed4c64b1809a7e859cc746ba10f8e777358941,4.588 -0x108af9c85da14a858ce8f84ca843e17482b4a03d0c4e7ed31c599e7e047e8a39,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3bca1e6cc37f9b72191cd98b6fbdce4e092f0d3d,9.176 -0xa64e5d79b920d87a38f355dee99afe8836719bcdab57974d86e76e3fd2997067,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd2989b71404e366138b454d9e27295671f96ebd3,27.635 -0x3cec0a4d0547a2a0c389c0e6c9ce57f85b6c57e15b0f44b682f563727cc1f906,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ad9acdc0fd7c7e32f899379a3c56ca18a50c41,73.409 -0x9553c1470185be85ba7036355699b42a0b9b92b19bfb8b862c313251d2316dcf,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00539df92b2c2e52a873c02479906672608fe563,9.176 -0x09c65dc2cfd1095b396eab7e4412b2e83f8738c3ca7d9620041b8ac0065441e4,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002bbfd34859c09b36b907c0bf0f3bd0046709c1,413.053 -0x481699231cb4f20f064f3ea8c24d7d1ed4020bb025d0694cf529554cebcbc1bd,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003df8ef68083daaaae470187267dd53bcdb133a,4.79 -0xe9d7ce87faad1c0dab3f86e8abd3a7deea473ab0c86773c7c8a29075f8a289b0,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x459e0021404e96b2cccf7ad0611c5ae87449704c,18.352 -0x164f355c989c33a6e2cba7ad26645e2cc31266781e32b8aecb3717498958d840,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001e0d294383d5b4136476648acc8d04a6461ae3,34.41 -0xe668ec2b9a68bf7ede735317b3bc965e05c8faf31cbc6ed71742bf9d19de870a,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008ad6dca0f98838668c5a336ebc4f72e2872e30,91.991 -0x9b21154b4d6692b8f08bd396a632d57c60d864a4784e43645f92778026c639a9,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x853fa0c1b613b0756d7798756eb87de67a6787a8,55.974 -0x4564b163ce09064a322b14b6e9086ed501daa7214ec2480bf5d504e451c745d2,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0024d44f11a321a70888283808c81c454b156546,449.632 -0xf70c1339116183af1eb8c65625f13506e702f8f14f208612ec24c998ccd706bc,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8c723d6c9f5710dd0cc7219a4658f09c3f5d9928,9.176 -0xc9d4203e56bec756b893863d3e6878df8a13f8264bca7dd58b3a3decb63318fb,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x64606650c04bde33fab32ad33833dde37b47360b,9.176 -0x54e140c1c41a931eb0a916837b982b471e95583c0b9e574fe67c78d9db26ea3e,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0db4dc6e5a9039b2b8fca026963655b04596e903,27.987 -0xf9cf388b380cbdc7d9233ac7048ef1c1871ec001653f6e0928923229e647916c,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xada9f2058fada409eab656d7d017f54086499bba,38.539 -0x037f79aa957ef666cec924624161053b3984f373e9ad518a804b311b095bc341,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005848ab7e3f13a54848c46469327bf62fe0e5a3,183.569 -0x6a5a5cdbf728a8be9591b64646bf4a84dd207617bc7fe8e20dde5db668058b56,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ccacd4afcf104e4ad26bf9f8878f09ff96050a,9.176 -0x768814ef2112dd7a7a5f1d9bf157a90ee2f058f466fe1c581e77bc99c44735f4,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c62019e4aab737f1f9cdcdc73c3c55b2a303d5,91.761 -0x0bdb6c33069f3c2015575aa28b21ca32afed706a3ec152465e019fa1b0ed6011,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf431cd35684e41f2f37677f28b4a760d8fb364b9,339.564 -0x8a6d7ce520b12478cd092b3021a6b1480818c35011be3178fcf649a252e58ff2,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc78724c7d87165b1e7ddece03dcc717b9557c1ff,321.166 -0xdb44081757e3689bfc207e048e2dec0024d4697931f662d16bb6edc6a8ada601,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0aa3a0ddc82af4c06c0bc4c8acc6a9a9a6280672,7.019 -0x03448d2d6041ca0e2c355113e6e9e0c2684bd9838c44b6fd7791ad96afd7f91f,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8f2d2b848ede60d9480631fe6a365cbc8e304c14,1835.326 -0xf384ceed101a65737153d80a352dc860ee745b9574e10cbd2cffa375c6ae8a88,4451612,1509279882,10/29/2017 12:24:42 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5937c41f80fc6111e6703873f89270c60fe559a0,27.528 -0x472c81b5e972a7c963de242d90deeb99e56789278448491157c5c1bd3291de7d,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x02e3d57578cc2ee4dcd3bfc43bbf0d550accf6dd,9.176 -0xd2490f13100e05230cdcc47825d353c767c57afc49546f609d0ff12dee843507,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e4992bb3d86f6734af7fd1528a658f8484936b,1376.471 -0xce5b34577b4b145049c88a148032976d5ce5481c48dd3e068dfb4c6851445b0e,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbc12728eae828a7eb29d712c04ae95e3dfeaf32e,14.293 -0x3ca33729794ebc011ab6e7affb380e4dd965890e7f6719ea5d6eb5f87a5c52ec,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00598748134c87ab7e0e4de09dcb4c060fd73591,18.857 -0xedcd1041f2afccb6b777acd5836e3e86b94f84819ccdf6b0a6da67da062a9bde,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xecfb901249099cf545de2da3c3ff6e320fc11765,119.29 -0x198074aa3f4ed73985897c50d437f7fc44fec0d0044dc688aa187ddeaf647877,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2a016496ded64b9724a571f0703892fcd5a0ad47,13.764 -0x52167094f4cce13b683154c9a7a1735e9bf004d97350a8775e60fdd9a7ebbfd6,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098491a72d51c3e29f41eae6ef5042b4cbc6c9f,275.285 -0xaa849b61d499fafd2dcb812bb01189f8719e70c3f3d18a2fc116ab31c0cc3249,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0001376e9c388b5995e3a115f7d2813dacd35078,73.409 -0x471f73b7ae8bf95db3926ee330a47435ceaf7ae493942711548405706fe01f06,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf61e40add6b7b887ffe8792aadcb6433d5209a4e,27.528 -0x4b57b71ca80f0d6125efd47b46779df7c9e413f6548a2370c000c771201dd5a5,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001c693771e3caa38974d719d5ba8b65654e916c,183.982 -0xa72f2f92406e01b412c408c93cd98f8fb3d52b426a10acc33df52519004028d3,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ac0ef3f6d0ad997a16438cf7cc685c2aaf032f,183.523 -0x527bcf3d6edbded12eede777d5f88fca17b5590275790244a459f2801c9bd07c,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e0fc93058997aaba684c4b3e9b5549a736fcb,91.761 -0x91c45b1cdfbacb2d98103b82aef1aa60ab3dada699a2a4d1b73f4a0f252b53f8,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004935e21786073fabd32f21b6492ad354ad871e,9.176 -0x52a2641379ed1896c56e2e1d5ae6aeea807e729a4b8307a2c80ec2d38e91c743,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b2921eadb2ce19c3aa97d1563333060bfc472a,3.441 -0xa71503b331cffd2381b56acaeff1a64f0f75516354c9047c0b26b3a2914e0375,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe531bbb0dc3abe3d335edbcf5f479b84c2839c8a,44.963 -0x73919b890c8a65253d01ac6ec36f8ae81f1cccf8b87801077342c0ee2e288099,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8f3841e5e0672e7bcd9a2a3a25e24ea7eb0d6c74,9.176 -0x18e8fd17c5938b17a2476dd5f3abb7a9fe0739923cc1d10f0ce51fefbd19ddbe,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8300b3ecdbea1e3dd2d028f566ecd7d04627a3ee,45.88 -0x3c53a428e5af48b36a0c9fd6ce8ec3cb5da6257de792f1246e935be9fc3ae60a,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa9b5d50da09d57e940215c15f075139f7788cd38,19.269 -0xbec6f4e5100d51c6bb16fca4d06d474e23ed85ec279ff84fcb0660183370d8d4,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00844b1cb340393be1e3cf1c0a9157c57dfeeb2e,458.808 -0xca209c95c25381b837824e2011189f73a352f20680cb6615e3e274e52e6e635b,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00320c624958997f6d8ec1d130a436e87a1f0b0e,27.161 -0x5bff8809de9818f9fb74f358b829b5876dc6f933b7b5459333f1bdc8210ba075,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0078c6117d6a926565915465f81e685c29e31f5f,9.176 -0x47452106a44e125a06a1d91a75e6237ef4f41bc50940155076330c7fe621791f,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc0a78ca841d922a4254e8957d62198a4425ef314,917.457 -0x084c74ef1266450f3ade61ab2f61fb096e3fcbc475d83b401d2496bd81cb53ea,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf9f169d904363571adbf247965ae962e69cadc7e,9.431 -0x949c107e935fadf7242c905c728700006b8c82c5ffc3d6cc7e43ff150225aa06,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005417c5ae560be9c83ad34e3f1cfbfde481ba61,91.761 -0xf6a42c96b14231164601fcb00e75a43ac3d18ed4edf1cca448eb48a0ab1faca3,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a6629c7691f18cc987a61b0774a524287b5d0c,155.994 -0xbc9ed1734fed84f0397938b159e6c30c0e83122a791edb5da5b74c985d1383a6,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x65e7c827ef5af55a5080f2589dbbd334e06dae9a,8.258 -0xe03c8798375c5251db71d5d187604d0f18a97ba1444b96c2f72d28c922bbe9ea,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eee540f78117a6ee55e4dfbf89ed4d1153e644,183.523 -0x41554e8c786a7a2a0b7d1fe1f38a530593cf29ac8f2ecff9b621d39c6306c72e,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb44c291ee2df2fe32fe4cdca5937e9c8cb4d5f3d,160.628 -0x3f25d2a01940833d46545fa929d0239ee3452cf15df5168af434f934926df9d5,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6c9f5c47814f33659ef2d1996a0961e80b8597bf,458.808 -0xbbe75be1a84fe7944933f8bbf4dd2c8127eadb006dd78819336f29f56f81fcc2,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5a01e248364beedae2dc37ddce5f45dc5b7011c6,825.855 -0x0d9e19b3ef4ef9c67f61683e3aeebb1fff7926fe09e879d3c7e098c45a44fe9e,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003d1907558997ed87601acc550e672ac01fd7aa,458.808 -0xb05c87b223941de6c8ebf5713d6e85392e28b0363b1417c026b0d17e5b2a893b,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xded0fefac80ac08719087232565beddf95620d75,91.853 -0x0c1f1834e8499f751d81ec927cc2ea656f85a8fb7473d9a1b32c09fcae139ede,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00648e430be595e8293d447699e00f383da18abe,9.176 -0x2e57ea7cc08352a2f3fce5befd42e620198e8c538a0cc97cf28e4dcdd5e0888f,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x46e4cf75e7a515935482c3f1b557efe92893d483,183.523 -0x59f59b152de059f524bc0c6024946e7f875ac47da5becf258787cc9898e40ea9,4451613,1509279903,10/29/2017 12:25:03 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0025c20580d7ce0b8996c9bc91f5935dc031f3ad,4.588 -0xdf6a368dc4b829dfed5ceb2ae6c83d63d61526e87b3584fe70ff88310122530e,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x28bf51f47e903925c00a03264c7e7a0576785600,27.528 -0x381c4283b47d61b7f8d7fbb91d1f786f40de9bf8217af5ffe7867e3a1aefbd5c,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x80872129a96f429312a717e2fab264562b1254d4,22.022 -0x678e552b548e1226a196d78fda3e01b9174997e18753279bf09cbde3b158460f,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe570c0980bce80fe9be2a231dade76b1276301e4,73.409 -0xedc63a07a87bb68015fe4146f81f3f85a8b37508851573f2b4fd7efaa56b9f52,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdf586c86efdcf8add8219c7c987a16d25e39b6ec,5.505 -0x84bc62465abd9b5f908f156e3713289fbe6972e876d3369ed7b6f21baffeca27,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6e8b688cb562a028e5d9cb55ac1ee43c22c96995,917.617 -0xdebfa3dc012d8e031d9ff4f34cc30baeaeff39d228c3332ce7b0f011e6c57498,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004ad027efd31c17dc857f5e3bcddc672da6bd7c,36.154 -0xd960daca54e201efd3a32b3997e63982895108a01c8a4417d3ee1ecc911664c9,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ac8938e1faed5af69a6516f48b450c82dafa61,86.583 -0x9051b1d0c01d7ef1a1989f2cb1006265a8a40771a10408ed74f12e912f9b3979,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00197a17c8ec9e02c852be37c127dcc004ea4eca,128.466 -0x12d7228f0c81a0891b3c3ecf293046ff66268f49d68d106fcc0ae27f3d60bc74,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00dd82457a6fb1ea688d0fa4a2a2151368619403,73.409 -0x761247343a7c596de6dc222fafccda0459a0149543ee1d5edef21a5b10f9d310,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002176cb83b3b5670fd6231bd92169346fd49227,9.176 -0xa0daf559390f611231516372d52afea1065a08fe84f553d946da57ecb65e20c5,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005ff1551da72279435c79cb877af44a76a7d552,91.761 -0x59c8d8bc554aca166044005ef4dd1d231d9cfb65251fe9d81d1b53ebe3d490ef,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d3fdace77e1ceca5128ff2f9269bb27afe9dbe,211.051 -0xf3c7bbcfa750dc3fcaf33d33859e4ca98fb880e7e18c86995938d997f002b42c,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00bc2c9667bbaa1b51c94f8a6d157a099abbddda,191.598 -0x0c56861b76e5a67286b21d54016a36da2f8316f035f756cd479f45ddea7125f0,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f9e3e6c76760ce49fbd87e857fc18ebb7527584,50.468 -0x0dce3059e3a07ae780c891f69b24f44fbbadf315e8374a711d86f581cc699b8e,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006bcfd60159e0019278ce871a0a34bf54d9c585,266.109 -0xdbec07732fa669ae192c4ed355c1986cca01f3190d8200c9b457ca2cbb15bf59,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8acb047dc00c1633e89130375c964ba9b1e203b8,1.835 -0x8c0b003de5a8c7d73d8ec2a84e46162a72f7dd0704ad1d100090f2c91c9c3274,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc34cd6c012ec6faa1cb8f6659a4e07b7f0834f87,9.176 -0xd0f8f3f0281222d1253172d96132f66fbeab00115de69b4eabaed52fb0f85c91,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005734cba73fa9aa8aae2e4a11c1ddd631f3d064,9.176 -0xc0c2fdc19380e0e56086aeb3d29786c6a445f80d3093e87a72cf50d9c3822f61,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e585af0cb7cfcfe9314679e120318a5daa8644,26.656 -0xcc56353cf8646686f90622e10a8ca2c3b8cda8ca8ceacb1bfd197e77a3690314,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc71916faeb4697a163328b984e41cc4035440ee0,45.88 -0x87eda98947c1f6ff87a962b32e1e0e51f26a6f33d7afa9ac1c5de961a09230e5,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c90480cd768c13eb1be84bbc0414883bcbac27,2.77 -0x6df81d97715f413d33cc68848ffcb9ff7b81e95f09ddd966978bb06e5229c638,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbd22ff2d97e949911807c2f142d609ae40522cea,39.457 -0x2400af3a72e4aad81e8221fe00c7be9da2cf568d3adaaf7bbbb5f78b585b4421,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x4214a1879b2678aa9ca0abcdc8effd02e40f4419,30.74 -0x3ca7dbf58309a0549bdca4e02854e3f16e17263b36f7c8e30d339133540f591d,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0044f4a7d8f9da9528d852b1d02ed6e867d32215,110.114 -0x91a6e7f321aae07c0c5d844ed7e0588781f315c664d04075ca84281aa7b92add,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2fa4c6f0e3652cf77c03002677a72a46205e8f07,2.11 -0x9e53d64ff99917db696f9259bdd6745374460dee651c901219756df4c9680184,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaf804c858e8bca9e04340cc5c9984f5f2acfb409,22.986 -0xee8a833576c55ca418ad3083249ced7fc8405ff1da284027d1eeb70e8cc06fd8,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00eb3893593421571007c99eecf18314b37d2319,286.204 -0xab4f048d1dd7cc739baaa3723f1a511a673c3392a6fe7ce5344aeddce20f261d,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x16eb8921f75fd6761fe5cc90674bd9c69d05d1ea,27.574 -0x41677c491b9502672b1e7cd21cd06517073f27618450fe7940ca50e959181212,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5ff44d535cee05fc476c35232eeecbdd5d5ec9b9,185.331 -0x993156a8ec9eaa033002e18db1397529fe64ba8742891e8a48ad1ce88ba0fca1,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdf1e9b2eae31aafa11fcc281d6d0efb49c7e12b2,1373.673 -0x3236f00f1d9a8a3c84e6d2d61bc9cc610f699fd8c413fe7d83590ec4a34ea9ee,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0540049071c933a260a422784626b2b894823952,33.034 -0x9fa227d72bbc6bd37226ebbb8151caefcec3ef4bb4a65a72c06c87c5fd26a05c,4451615,1509279947,10/29/2017 12:25:47 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0087df4a94ed0637178dff912b20e01ace2dc9d3,27.574 -0x143d72c7fc2345e06f7b73285b7161f0a4dc49e43ddbc82a48b74a5fa1ddfeef,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x72705657a219aaa87e5b7223cc79cd15e33e18af,7.34 -0x9aad1dfbfbc812033a10546f015d611b139349f028f6fb9e678a8a108e22a026,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x18be7c263f1de5d3c4e78105638ccc5cef8e7c9d,18.352 -0x912e6b51f6e93ca39f22f0237e8d79b002f52f9490cd22395d06bd8bab7a51b1,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x001bfdf3604e075218ba10e202d13bcde0382ead,0.917 -0xd16e46e0e5063cc074a7a8c9e9a7bdf29911b60488d3fcbbe624046d89e3328a,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00385543ba35bb319a9067f9c03b1a8cf917a6dd,91.761 -0xda1beb9cdbcb701d960c74319838e71c397c9c949d8fbf991fa71739cf29a1d3,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007afbd65d5b7651dc8540420ba3ef42ebf62c5d,36.704 -0xf275fdf824f59f27df113569f9280cddccc6914aa151839dc7aa6a5eaec98c0e,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00973738d8b9ff38e9af49f5c7b511f41199c106,5.092 -0x74190e894dbe8d76efefaf7a413077945a418b94ca07e16d2ee993766a00d581,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0047753c8946ba8f3ba101ba2afa2832c4a5b6fd,27.528 -0x67c00a36a1ca14829f440b7567dae90b12b53ff7b383a8b286b8d69792e339ec,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00472a26baddb79f1149a9589a132e5e0f762253,32.116 -0x7e48733ed514bdc1234fb667ba1fd9905c23709c5823797d9db4d6266b1b597a,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00845040dab8b551a3b246664a6f9d2c2431c0f2,36.704 -0xa6555e2a58bf81a7aee64272665cb168ff25e765652857cb90152fe971151119,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x697eeab43d4558bd0d82e805d319d59578fd12ef,9.267 -0xdbf81caf0c79c6161d36a003bebafd82f56535fae3090a84bf2a0536e7296c9d,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0026db7abf8a3fe7b3543a035d11e22b90615ee5,27.528 -0x843325d8f0d9a0f48a67f36c8abf94b5a790b2f18c73ba3a1659e398e6cb5eea,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e594def1a782c9f0bd4f6e5ad16cee01e380f3,13.672 -0x54740e5ade507605bff253d2a064f739b917ed1b09e798e6efa3a2d2d2b66bd6,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7ec93f2b709623605acf6120849e088dbe0fc37a,2.899 -0x1fbf44079aef080ac95c9dee737175b66fb21c19b3f656b243490128e5f7804c,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0446eed77a750a57751b3b1f294ed9a72945cd25,15.27 -0xc0be429ce523cfe791c091b67af8f4fa1d3e02c72b43c67302246dc7695ccc3e,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ab9b7cd7311c80902b85d9536531efacf92085,58.938 -0x86f9db611a4877a2fc33180540834fac3513a1c5b05c254e8f3daccb554d4eaa,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaa0fd755c0d0528c9b7633462a4570b75bcabdb9,1.055 -0xbb3702cc4523eebab56bc7803b9b29a95cc7f36bb413857b32d943f8948e0a70,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf882d59de84b2bbe5a37dea30d6156abc2624301,36.796 -0x0763b287805101302a42bf36d10f1a2416a03caf500fdf653f7e58817f95f0cc,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x150afa640c00b0f2b7add198bb670ddeacd2ba1f,18.352 -0xa56ed32dea8e2674e574ac61bfb01c63043ebea817276e459f02fcc7991b1250,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007d79331ea38e90d35ce0540f37067f2662585c,45.88 -0x00e30f0c748c4f78f65b4cfcab924e0cc716caa00db9d3dbd48cb8231eea063c,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00368e2ec353e7dc90153075954cd3dca551f35f,27.574 -0x9ed9e61516d8b10ded45b4f084f14b752093a2825dc078150c8fa1ca12c57ada,4451616,1509279953,10/29/2017 12:25:53 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdd3bd59974417b224b5951648e5209ddadc42381,183.523 -0x788e955045447cb922e366818c3e59112e663c49f97eb4948470f22b294861ce,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x35f7b776fee00f961f7cd1168d48e9be61cc17ca,18.352 -0x98d9922749f952b27e43ab9e9c275354071e7efcf2c0c766d27f09491d2591be,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d60babb8bab89537c2b2c8d0dfce9ecf940e40,18.352 -0xcd8eb08000b83a89fcb51b0cc4d6bd3b68410e3cbb47fffbc71c545d642471cb,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2ba8649eceb83037c22cf1727ff5d47b9f666a5b,13.397 -0xc5e8e75add5c827c04865010b19a3d4499237b1c2fcce47f54c63ffae1ac918f,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdd9c3c2f403af26731d5349f2e8824f85cba0086,27.436 -0x352b71e2247bb851887ada00b804c6639aeb9e74e8a2fba1e1be72eb0b8f8a64,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008240239c06fca835d97696c23a9cb68ff4d5e1,6.037 -0x60e2ff464300e24e704694b557ae5ab8f50035f8311479600fb2b6e408b3bfcb,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00345e8d6c2fbe70fe65954937ef335cfc092cb1,9.222 -0x0d7f7244318ee97d2596e7764fca7f923f2810dc26e29c4d55067876b8b4b9a1,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006e514cf3312db766b10f6ddc624518b8e02618,3211.66 -0xbdf242c7a6571926bfa5e92b6ed980687e85ec8db96377fe5f05c9eda80aab78,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x05217a5ea7391027b88f54b550bca825d6108af7,56.761 -0xaf1dc4f57bf77f07a90c006fa481b87ad1b19816e3516050021eb95b9e19b3d4,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x002a7fd49620dac7ed03ba8cdd224ec2ddd16a1c,136.908 -0x4040d755f450b15190520bacbaa85874b86ad3a671fbeb16c6490c6c9018757f,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x003cefd9d6241b8d10bd2e4d9047f6174a4ddca6,2.752 -0x52ac4f176089acf366b6b2b17257abeb88b6535436c52ef18ac80aaabb704c85,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0a9c3868f96e8a3e5386470d78f78046e09cf77a,5505.703 -0xf3aa15ed8af5de09e51d61ce5a9f5b55269ec6bd6e103ee4cc595cf72f388b9d,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd95d6253809ef7c7649c839667cc1996e24d8f36,9.618 -0x1b92757c53bf7cb297302e4391ee5c93970e6e8bd07903b8e3b8831248c39280,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e2d9f005a1d631591c5ba047232a6516890a9d,183.523 -0xce92f1015f274d78edb78342c22591bc59fc6a779960729c66520cb9b18aec0d,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0042f115150fc2eb576fc9a626075ce1c785adaa,27.528 -0x12f6dfe51d4e8f154a8b4f1686702a5fb6baaf26e0278a4c19ba1ba6b4fa2a73,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc0f428bff6a974aefaafb3d14930fe63699a4bb0,18.352 -0x4fe415080e6f74ba9504d892e1964bdb2901d4f257e990cd141ed547a2662900,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa70be61eaf9073505bae64126b3048b3046edabc,9.267 -0xf8bbee320133488d48b534ffa2fc5cb55e24c07bca927b1a2eac43fffa353738,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006c8616a98ff7b6fd6302ffe44a18348df5b3fc,13.81 -0x90ec8cd98589ee3f475cc11c1c4b72f138443a1f4c0233aa73302d975365721d,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0033d8e0c69970ce4aa5402658135a4977e0948e,53.12 -0x448e4106f89ed754e8b1d42c17e03b4917b2b19dea45c7d9c7bc962ae95adf1e,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000abf987d6d132cd1477b2c9f1fca2ffc0a4375,45.88 -0x72ab7ea7ec2be10a35b7100cb17c01273a982908f6680c086475ce71f30ffc78,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009bd3c56ae851e91ac23e8a736a7698de525f1d,35.129 -0x115fd84b49cbbad78ec5cfc221ab8befbe2d27c455ac14e0aae1484732285232,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8ddac589d703e854e22f71b8f2fb6efce134e5c0,96.188 -0x317097d975ea133bc093a89c5805ce32e086dba656f81433e33173cbe0151dd5,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00813451b4ee8df7c523fb49b9f817963d0c355b,18.324 -0x7e14ce5a3ac84f0b74ce9b83648837f0a39b61ff923da40dd608ea7abd74ac48,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x27f3ee1c40ec45fda74a1f7c1bf36a66864a2376,18.352 -0xced1a9a0d6d59bb93b3629c6b7cb6ec7ae676af4fabe8b899830fa4cb7f1b886,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00aaf196cedfe640591c2d0eb4b06cc2c746697f,2.569 -0x274b476beef7e08ad30f362e1d383c9f8c9328ebe8b8ba30dcf7ea4aa2d8982e,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ba381e968d5a797f0d93e5f3705bc2a98d8734,45.88 -0x0387ff727db9ff0345d95a2c3927c286e539787981da6671b065b18dbd418c1c,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x925807e0ad65347794cffac5a8622d573c3cd80a,45.513 -0xaa19160ce6e4602c3116bc4f2dfa54e0c511612bf9505be5f1a2cf832591d353,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2de237a350c65bf399bf853a3cc6bffd23b21917,188.157 -0x8494922be407fd33f3aa8776f16ac295bb64953a4cc0aeb97604ab02ac4af05b,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc6e1586b3fb4ce04143f3b84729234ab9c1e28eb,284.461 -0x8f5e0f427d101cd64e6d0e6751204e805779d14f04633372a4fb9ba7cda44932,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf3826a238beb074eae1d6c2a42cd3c63e2fc9147,9.176 -0xfd9f48da2a64cae0cadd3df2a170f1dff025f06fc8c1ac59e8a5ab7fedf4676e,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0000a940f973ccf435ae9c040c253e1c043c5fb2,27.528 -0x8f35d5d1fc0892a93b3b06ffa7fd02c13a6162b25bebf8f1f9846b4220a7b9db,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x008af2eb1b57b4a591e08cd0dcb93b0b0978053f,255.097 -0x428cc8792e89b7c1b50210a7842226d9ad05b3acfe2e8698052f32f1834c3ec5,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009d470cc85e114eb2b35c64b39f8a0e3dfd6759,275.285 -0xe6fe823a6779eaba5c88f684652c049216b2ace5c2bc6c9f5447eed4292b0bb8,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1ee21068ba0c94e7833940cc4c8058e2dd41096e,45.88 -0xa599a0f2285c028b4608c944f1b3fa53c3614b4a92684fc597e7855a85be3db7,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x8c01e3c81c99db5918e079c5198282c29b773020,64.233 -0xec67e6f01faea1e991b7ef8c0b2e7ccd84e711317de628d261dde5b9e93c7da1,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe0dc528b979898218393f18a4568c69476640918,285.929 -0x6e879281e4d16bedaa55c2fafc22f7927c4ab161a27268eea1cffe599bcc585b,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xac47d44618795ab6924305321ad07000cf52b350,2.294 -0xc4f030b9d9deddbebdb0820874a2bf440e7f36187974c0a7fc71baba36787e6c,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x69b8875ca9c33f7293ad4aec9a36577c257041bb,233.992 -0xa41f4d2d94fac04f841fea253b29bf8b344780704c072f493594e41c0c829352,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb0c94ae3d19f2c585b920842211d2d8430da691f,46.018 -0xb862590b814c54a07ae554c91bf5c2cbcefc63760ebc3420fc51e972fa6eadbf,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe7f5b9a284b1008acec688a28fd7b7080202359c,27.528 -0xcc875865fade4848b9a7d9c41c3fc943add4da3e1d84dbff4a9cf335ea3e2514,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd023bd0c9a21b2c69bff060f85fdee8b2a2e2908,4.404 -0xb8da5d5c8b4463f53f23c5e397b23319d6c34b5ab1aebcfea7c23836b2ab469f,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb2cd0402bc1c5e2d064c78538df5837b93d7cc99,18.406 -0x49d4d149ee5fb1cbb8933ca187ce3fff2aa784d182884d7f47cd230895e24ddf,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf3ca35e377d360676537c40eb6d60f5b5b2de856,63.315 -0x003115eacf64a9948cd4c122f0578f45df3f16c34fb606630fe648324a63b323,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcc0a73abf38de6f332b9dca8778add43e53bf4ad,13.993 -0x07bd58a9fa1a3a10338d10bf50d7d7ff1d4bf1c81d5bc3e1ec64f94c76332eda,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x73648bc5effaacbb36d73486e7a3cf424fe0d928,1424.516 -0xcde041dd79e82e065749b774096fd2f0e68d9e9b6788cdc8700742868b3fd318,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfef3b3dead1a6926d49aa32b12c22af54d9ff985,458.808 -0xc49f479ed10b03baa207693694624d43791be9aa76c54b55a92a077bdab4ce62,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x756034a116ad26a3a26d264e1cf490a12231b1f0,45.88 -0x240dadef0e6d2a7be81f82a7c5e6855093e48eb346d94d786d56edf820fa6023,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcaff66193c177e60ef230f8c45a5867ca46f578d,275.285 -0x2a3bedac9ca911302e610b9d9e1f9fe26514be2ddab02ce92ed7f9cb0e785085,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000d9e4a0c84a34414c20b308ade8f9c048218ce,8.487 -0x810667257bfda326ada4e39039c707b740b24d87f9003a5e72900d625d463c0d,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00df109c62f7e61eb2531f8751a9202beb4f5436,275.331 -0xd5eb64e5103b969a8652ae2e99ac155f55c88a20794082606ad3b37583db422f,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf65fe2f2d8215e4dfdaf150b031259ece9998f8a,22.94 -0xd57b38e0b896797f4a57e6fcbe6a5e3190adb98989ce21ec60313031a1272b92,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f85c6f6c7e5d78513fd9317d90409f71a58099,1835.234 -0xe099704060cb721627cc24b8bafcbf719141472394ff7d0f7d2c6de68713120c,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0042fc4e1015fd757f149ca0ad34f44c33b51893,18.352 -0xa06df20e45a04db8b191f5f3edbd3b2d1368be32fa3e41e2919f49cf5dde5009,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9f6bee6899ccd70cf776107ca787cd88dcca0b37,91.761 -0x32d1c200a3e4cccccbe576695dbe8eee1faf3ae193f672004d37a6169347a7a1,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xdeb44b42a9d5c331e0e03d3fbe9c7a9496872d05,36.842 -0xad05403219e14c797cd79e2abc696e821d5608955ef61c4b7bfaf2609790bf14,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2165753514a94b7777f495bf2634a0baba07534f,183.523 -0x42c2fe0ab2652d5429d7673f163d19afd2a9406dfff0b0b3a6ef74709bafd48e,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x283adfa795ede051c814731721c14b6c1dc3e2cf,9.176 -0x4cdf378f65a0c6a9c77ab1ea790011502c226dcf9d7d426353b13bc8ee2b62ed,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd36c27983d26ff572358bdfd21942a2b4cbb3391,116.358 -0x0a2bc85aca99de3a5ad15be8e13166dc40ddd9e4ef476bd79ef54092741c8c31,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c5d33619ffdf46315cd16bd053a03d2873bc37,22.022 -0x3f224ec3b7025bbc817fe72d770e7091d74d2f21b5e73e874ae4edf3a28fb9c3,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00336f4647818e2acaf710ad55c714dfffaf1ecb,1344.19 -0x2f060e27ecbca444287bcb9aa1743ded72bd45764cba1c3afe171bf6800b5b48,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb69412672ab0f9a1e43b9d57f996f7231320e2cb,137.642 -0x7b1c9d3b1fc162600fa55c86205cc69575d07251f754a9c3a378379249b68438,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x03b98c95a07743243350cc5eee4ee030e8e09d06,45.88 -0xe11a852563c917be9b52ece793533a2677ef6fc4c19cda0d43ca6ec96df1ea1a,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006d9acfd7f6917019a8e1f1f25cb8f48faf17f8,229.404 -0xb2a09e87cd744fd75a6365b40f6b2e75888f0934ee2858fa7a0cbd9db830ff8e,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x775d8bb769448c20a545c582088db5bff3751e84,18.352 -0x1b70a2efede0200b8c71a4017c62b2402c9934fedc3ea08e59ff2c5e0fc3b9b9,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xa930215be931d1729ed9b5b3919097182b6923ff,5.505 -0x03da29b9e7062ca66d72ba23ce6c8fb75ce0c4db43af37374cedc8ad266091c4,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x589c431cb0e9255b1fe912079034ca6711c76eec,65.15 -0x2bc31abafc8489b7139ae39b619ed2fea163aa88caefbe1983591a4fd5ea4b8b,4451617,1509279955,10/29/2017 12:25:55 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb74a9972cc5dbed5eb8714672680d8a1bdecbc3d,18.352 -0xc3b993715f3bc38ab13735762edef9a2d7a33ea65175ffb8ab5cea20f1e47800,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x266215c7cafe4d42985587d614ecc2a94075cce5,0.045 -0x57effd5429c9708972200c977914a43bef565939632141f71c077fe2927409bc,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b7d3dfb87fc35055dcb7d292d3bdc430496380,45.88 -0xac1718d9625fc489d5d62d5971ae3d475d8f953e880b200df002c6a20873f244,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x239133b0a6973e8b1c2b7657dfe9abf78501a894,166.501 -0x3427533b5be0682d256821aa987f69ac23a7c49dcf37267f5ebc47f4e9b633ee,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d5ce12a848bb0d982d8a07ae5c462f5e9a7199,458.808 -0x990d58da5d1778e590c6d945e3ee021b0e7ac64e71fc3aa70072379f17910a59,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00cfc49da98153ce90639fa4e327f1516f98cc6e,249.867 -0xb4b8938230c522ac877c6083174745b77a6c238d7c530750d6ab90e88c9fd458,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2f60e0b4d918fa51fe99ec04b7b0f952fcbb7950,15.737 -0x7e7ec2deb19211e18e24b284cb3c88e4fdb40cf1b35f3e5228887d7fee78b4b3,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5705d16cc35d891bf6951c24c374afec5f7e38dc,45.88 -0xbd4226deca31ba9d5a723eee51b02bbb16820eebd7cf4f3947e9a7708c6474a8,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xfa42d5acb3d55990ce403d714e77cc15320796c9,193.488 -0x4925d33fda2d8c2ffb2de446ce0b6cb6df5505a0e99962c5f53f5820be4f48a0,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f9a76fbba12dc70d5c4b71c9638f1c1f0b4c280,46.064 -0xd4e55eb98a4991da77fa5c44fc39e6e2cd0b6c14de2cd9dfb6326832e9ed8669,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00f0650200d57ff9098164898d2231b2de220c99,9.634 -0xb8eecc17dcd87d7d66f3569be95930d405cd7a7db3ea09f566d72e0ae5502c31,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd6f5646d9e7fbee7cc907eb8e12dafa5378431e6,5.964 -0xe3a081e50006d77a9bf14141d7ed65f61a65ce9bc807772191d0a7311c35deaf,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00063eccd46e37c80e52b55e9ff2912afd8d99bb,27.528 -0xd7fdd8f1f439745faa19817b55f211df654c8c603285a9b8185a3e82c6c17fb4,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00732c6677028393e3bd88433aa4c221e1d4bda2,21.472 -0x3e02ba8dbad90deac0c10554b671fe2cd89d3d53fecb114be9d29e6331bb825e,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x23b7bf89200663f958f11c7d495f9dfa793b8ef2,27.528 -0xd60a0570fe18d32cbaa7024c46600c54f22a68505dee5f898be4b2a0c7bc25db,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x42d0a88bd5baa87a3cf4b6e32c7b6cb3850a3aac,91.761 -0x6f80bcd732aefa2fdd6781e237765f1a8619e0d9f3a60c4c0541540b092ea6a1,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2e40fb968520f859414e62bdb05e5b1f2f6201fb,45.88 -0xa6f6e80d8c4f27a0f1fcb8be31c19d77df0d42e77398f583ba098378a76467d2,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x75203bc03125befff8aed3b9fd687d8818a8b2e1,50.468 -0xaa57e8298d420c5177cd27ac031c1a61917e4a42a05bb983628547e9e15d12ca,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000f7b173834095ef9a8050828649ac394046818,10.598 -0x7e8cec8e83919adce63430b854d5d19e6dca5881d129be18c044e109c8d0e340,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9661231272cfd204a6bc7aca349e597d0c034701,27.62 -0x601d247cd8792dc41d92572fc1d9893fc1a36abf87e99e53a4bca74932fc871d,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5f0549f359ac15f6afa11cf6b0d78c22242802a2,36.888 -0xf4b2a223396d710866e9b8e81bc5e87a02df00843053c2fcace5f8951ab19572,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1933a3602d1ad20840dc198946803e0ab2b49d06,91.761 -0xddb603d1ecb05e45827d09442232ce8dc987348f725f4ed1cb8d902005b2f8b1,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x029ecc9d77295d1126c333cb1e1bdf3ceea8d515,45.88 -0xb6e8a0e13be775b9c411b4fd4992cbb52b1626c0374dd3a85c7062f56e7422f5,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7098da7dde0b85baa6517d732d16fb06d8bbe022,965.883 -0x76c1f2b1ad4c7483270b6361e116b9eb911af0d45fc74a2606a3c5cdd67c8b75,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xcb4e4ab1d79759d29b58116ef6c0158298a0d12d,6.423 -0xcadf3115ae6b837c890cfce34ebc2f895a3a8ec94a82a0018cb4546fb29f2a6f,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x55ed1eae79078844675b794dee5902ab7304db79,54.139 -0xe6760c9728f9fe3739da55f319f1747bd0dfede34b476d21e4c5041c090cf560,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x006307f7e5034af0a325f5eb706ec2a8dda67c09,642.332 -0xbd4fb97bf53231edd06dd9e1a81694bdc6e46901ca68b7a2301d2bf880834866,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00e82b6cab96e3a03c7f974089a585b10893a5a9,9.176 -0x55ae551cfe99e7bf381cb0ea41bfcb191861f2341d152f57608b1ea451492fd9,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xbb5d0f2f6b345f9c6afc5bcb3dab5ac11385e512,27.528 -0xa7579bb62d17a97e8cd4a9fa29bf6f427f2b5fb0e010f3b584a74884a7a596ee,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x5e9ceb0d90f70a8911ee0c3b11f80a500767f21e,36.842 -0x40247aede625212d1ff40bfb4a0df7f758921c6d8a27af589e1a9c1fb2c7cbb4,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x30aeeadd2dad9c66d74ca5c6b52d9d8d3d1b8ed3,114.702 -0x973452770ddbde93c9dc605fefe387b0a14fa36c2a099f27e2d9f80676b058aa,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000fb1553ecce5ad47b7a31dacde54f02d10896a,2294.043 -0xfd927f4f659d5f3a4fc63903a0a4aafafa5b4be8545b626af9ccc29c9a7f4438,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x99947c78186a7ebe1e620924ef0bc50721da4e28,91.761 -0xeb0f6b0c71bdc15f1d09582b034ba9ad61ef24488a014ab88b95cadaf8935b4c,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x7e3c5b62a7faf6f5c4fe49eed72acca25edcf2e4,275.285 -0x878cd6ccc06bb04517fbe5a1a95528ed606b0d253eaf8f42afc70aa92740efe7,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x35895e864b6a7b88db055924e01de9e030c42020,7.707 -0x8e7fd36768af57bcc56d9e7475ca81e6c4f7b91fefd438c8ddc52b3963c3424b,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xe908988fa7712617b50643886e51ed6ff5333d6a,11.733 -0x303b78a8a9ef254d6782c054aab913ff5e085a47f2f4d3f7feb389f62733c989,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xce8a0915d27d4d3295e8b67c593d3423f371ce7d,9121.116 -0xa50191bd7a29859bac328f85f9559927a96ff6bc37946fba2dde08ef363cbcb2,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0098a926dfd4c742a18bb91e0dd1196cab95f4b6,321.759 -0x40a6b8bb48731d74dc4ccfd9b76e09114a68667b004b52a053f5c31fc5799570,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00a777a85e56f533ee46eb6de0825678efcec56f,13.764 -0x1be4cd28f768ae7db447efb014b2e38d2988585b6612aecebb9e60b219394f24,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6df24f6685a62f791ba337bf3ff67e91f3d4bc3a,917.617 -0x6c18f55326a7da4a4434a7935a54ded8e08c564ab83d009920f0ccc88323b2a2,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1808a1c1c2d6fbc1752b8a3bfcae4b1ccc033202,13.764 -0xd9cfbe56c24241d486b16c49663db7cdebee732fb1cc488cfbfbe311d21af886,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x188d44d65f4198e7f2714df73b099330a4bebd49,9.176 -0x8be8f5103e079230ac645c5a6c8616cbaf5614118da5a0a149baf67d8ec4c7e2,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd5fa99dbaae82b30e809eeccbfe8bcbe0e83f241,36.704 -0x907e5865a132eb3e8b7824fabab0c31c0c3841ad47ff86bcb3f1cbb4a29d1cff,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x005a1f98863767d7a9cb58dd848119874ebf099f,44.963 -0xf829f83dcfc20a33a7c0b9597ca5175eb4f7f55f88ad87505c4090f163b1960e,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00000a9c44f24e314127af63ae55b864a28d7aee,45.88 -0x79bc5221e590d4bfcd05cb039c1d6787ced6a039f641c5d0092c561a784fe7d8,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0062633756e91d8fca9dde56511e65f7a1d73298,9.176 -0x91a50fd80caad6fad5b017cca594b64aeea0a0a14a287218567d519fa8c0e764,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009907458a775081e900351ba720465e4f64f812,46.798 -0xa5e5305145ac451ba62b308b9cf5c5596a7532ef46225b148d9fe560fbba213d,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x554c9622a293ea2f075f259f06d9f19b9154c253,577.089 -0xcb524b1e2aca91cb7eaa64b109ba4a862fef30abaaad839b2ead6fb1e02fee52,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0068c220ede25b44a185ba20fa5f540928adf5e4,91.761 -0xc8fbd1937c6e5ccac4860e7b89ade5fda441a7501c1274143445a4f214961572,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00adedcb13c0420643327f35b6ad5da4a0d8c259,36.704 -0x14bdecc368e3ff8845ce344bead1a189c3f12aa87486ccad332fc0b432b3f289,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c063dddb0309717f742363085e29ca9b097db6,73.409 -0x0c5d5e6b7278dca221639e597b4d2f63a2bf12d3a2d938bc8c525d13961ae1b1,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3e33c5c1f3a42e74eb61862584b27454a9a44a06,9.176 -0x28f228bd2dd5cd5833511fe45114bdfacc6cdf9c54f0d46682f89d263fd3f21a,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xca1c423a0a9af92343998ac10b6668ecff9e09b6,0.045 -0x12e5d9f0754cb2d0ec5536a89f227192cc6393920e3a12e1b38dc38356c3c95d,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xeddd2fca63445c9c60a720cb40ea47d0218b828a,27.528 -0xeabf07b6020b2c83487b2b87e76a2768179759df373baee2e8c7573672edfff9,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c20dd03a784a16714c24794834e04903f9395a,105.069 -0x433ddf5437bde52ef96ea94e03db5ea111c05f74b6a77938d1d96919bd7e9a5d,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x9cac5a27e397ca42444c2d39af23bff9eb681125,97.267 -0xec5720a86ca1104865fcfe7f02612fb0730059017704a213f425a214efe74a7d,4451621,1509280014,10/29/2017 12:26:54 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x004e1ce5cbd307c6242a9d224693a4dde031d519,27.528 -0xa2aaa7006f6063c90cf6199e4828d545e512f70f8e9b0e5967d8bd83867ddd2c,4451622,1509280016,10/29/2017 12:26:56 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xff45a27708c55e909009e59f1d53aad9b940e273,9.176 -0xdd01dd04e8498bbb78803268d3cd0bea192ddab43e2dbecb8bf2194e578c9b0f,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x1a1f84545ff677fdb54d955f707055dc70f05452,18.352 -0x6acf4b8f6ffbb8c56d6b8da6bab37e7389c2d859c699c11d4ef96df90a90fb4d,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2a8dc8b6ce13666fe5c2c56d23f9831a7b61a13a,1538.431 -0x6c73d43602ef2485f606c66ea7e4e45b8bd344f890fe7e0c37f63c2b2c12cd09,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007598555819639ca06fb8b20e3ecffe1159cb99,2294.043 -0xfe1e52d4946938da1fd1bcb39fe15889f294206bd36d7f0759e5618a45f92468,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x05c312d2134e5c632296c124a975e7cb9f79f519,36.888 -0x58cb16be8032da530eaf27320f1a109e2d45282bb8da7ae9c9c595649e570c9d,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000160df2f8fffb230d8cb9f67cea2461d38ebc6,2752.851 -0x0563577ef2697455d632ef6ea6a842540eb5354aae70686ebc34d9691d48a280,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00c95904990fa58ba027b185d876d88d4a079950,18.352 -0x9af97fcafada4ed370d549379f2738972e7fa8c7a49a2861a95cd60af4673a19,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00864b879b69a70b8798a0f61de21ee5b5bab3f4,183.523 -0x94d67c32eff6d0ae7add65f6c1b247a4924d2a786c722a56aa60f9deed5eae06,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00da3fb304e2f3598a15b96abce88a619669935b,376.039 -0x63efae4218f3982db41cd04254a1d9cf3de275464aa95eda76e9bd4a5bd529d1,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6ea6d745b4dad0ef65899ca31e2989b3dc49124f,18.352 -0x283d6229cbf6bbcc919511633850ce943f7f1137472044fadc8f95891d225496,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x72d6b2f916ffed3858da78c4b91c40954bea13fc,90.752 -0x50fb59adc0bad986ac8172b97ab34ef68eba54f183d82fbf4277b8a83eaab693,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x401a887450b7096d8ec6651e15909d0a34e1898e,9.176 -0x4e47bed09ef70be8ba99cc0af3f4f004557d1341689c1f4e9228d3d8762333f4,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x000bc706ebecb19e4c334a8e8e9becef6e58a2f0,16.241 -0x0cf7dc014cc4101cb88c93bb6c86adbde27c4ab157a2ac18b3d858300911e046,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x009525c96a2340c3cd1e0d4d11199f781fee5e10,32.044 -0x993386fb1f6f13fd66aa28b99eaa50904965575cfe5499e5ac63fa998239a64d,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xb2f4451bf599ec52cece0a8cf96d61f350d4ab20,25.399 -0x436d77969121ee520e27c2698a67e07987f923d723ea961bf8f4f1f65135f9be,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xafd4d2d92a53cd312df6856ea9faf6b8d9f8c3c5,10.093 -0xe07598faebcec91b04fa39a3c0e910bcfab1d86838c1f8c3b5659ecad22575c4,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d4e4a2ac2754434e6b32d114c03b18f3c30c0f,87.173 -0xa74f1e622580cb0b5adc12d4c41f0ba81340f4ed23c7be8afb674bfa8b61d2d1,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd6c4d3830cec539bb01d5209b79ae4fcc5053bc2,275.285 -0x4cc452628859bd3ce9f4496622b9d45a8ac68409e3191bcbf08af1630b319b36,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x2a7cb534202768d7daa624051d64ed942ed546bf,18.352 -0xb37d0b1465455e35783b47b9e25efca227a93beb363bb42717f71637c671ca40,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x0225bf3928801e04bffc49fa57329c999a3bbc41,91.761 -0x998dcb085807b8f4f3ee5ed7a85da0c29e36e303f7497f0514cd1f940f269e44,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x007050147f1b0875723fcb4ffce39451ed3fbb4d,2805.156 -0xd7c0e779c5d113cdab7babc8966c9f10cfdf806711033a9acc32e22d83663cd6,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00ac9e50fa5a78b072c26e33e6ac2c8e00fb2a22,11.057 -0xb49b25cb7f2063087e9ff7ad39d5c49a1a918a68897641fb178a059cff7ca4d5,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x69b293a17ac91de3552bd7381f8753f385f1cfda,137.642 -0x559d963de83119515e6ddfdb9b5e62581565927dc2627d25b83dea88ab63b225,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3b7a90105bf9acbcdc3b5219c1b55bc38397cec5,27.528 -0x29c0b8e1fc166f08774006d977e58b86bd4ed388aad5dbf6bc1b383b8ee3a645,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x78d4635ec2588de43585ca514e0ea0201c52f689,9.176 -0xe35936f562d366d38721ca5a8b19846a1a59d1e9bd547b41c8c04ec474c97ff8,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xc016f534d20ebfbe4acdec6977762f79317e137e,27.528 -0xe1924f8661aed8eb194805ce9736d4be812a79499d6b206a7cd00e06b4ad61d7,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x900a94e7b5ef122f71d1cede47deb4cf429cd10a,96.716 -0x61798037735d85cb47d7a9e70f19f9ee3063e9acbdad00c167e0b296f0ac2f89,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xf4791e01db745246a89a9eb394227cabf8ab4e1c,4.588 -0x40d3302318b64ae8e64de9b7c73cc3584d4d83ef07a368225af11610c12bef5a,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00169f2979d901be42b7ae68ee6f25bb38ad1d10,30.281 -0xb5c12a7b42da2224e2dc5776f29ba9f85076b96cff8eea55b4ab3e529121efee,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xd95df826fc3ea014f404a1368a254e23d29d99c8,84.42 -0x2b8a148b57e40278e2fa44bf611f525c1fac49c42a5b1a231fab8b0b690d0bf3,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00d4c5ecefdd2a070bd0caffceda6b50ca10d7fd,27.528 -0xe4550a202486901d047610223e1e501ec8a194661b23c348cb29a1d446672d62,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x6d82fda6e5d6dedf42042f3ddfa2b78b152b6402,734.093 -0x559b8bedc170f3d468a710ef95a6fe1835cf22203d72c778855e2b992b16b0be,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x00b0198e1f457b40b590e532237ed88e5ee52dc8,183.523 -0xbeecdb74e3a9ec88db836dcb23b82b1e780dcff400bfae1bad3166752e835784,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0x3ea43ab661f2d2583d0f3234f74dfb7770d51e00,16.241 -0xe1cd41d92266f7aca93d07eb7762102d5405c6fa4063ae243013b807ce3ab157,4451630,1509280116,10/29/2017 12:28:36 PM,0x54a2d42a40f51259dedd1978f6c118a0f0eff078,0xaf50942a6552333a69f736a00aaf7d5f57e764e1,111.031 diff --git a/cli/src/genesis_config/res/mainnet_genesis_node.csv b/cli/src/genesis_config/res/mainnet_genesis_node.csv deleted file mode 100644 index 432d3f5719f3d..0000000000000 --- a/cli/src/genesis_config/res/mainnet_genesis_node.csv +++ /dev/null @@ -1,30 +0,0 @@ -account_id,session_key,endowed,name,url,about,hot_entity,cold_entity -5cc67b8a790f517a0fd02683be59e8e461cc6e72749d26f46a65fce24d18e1a4,fd66ca95b50e83f0f6c3dfa29a6b0a7ee28b58d6bd8a58aa3f9be7b9ecd98629,0,HashQuark,www.hashquark.io,"HashQuark致力于创建一个安全、高效、稳定、便捷的区块链矿池。",02df92e88c4380778c9c48268460a124a8f4e7da883f80477deaa644ced486efc6,0386b58f51da9b37e59c40262153173bdb59d7e4e45b73994b99eec4d964ee7e88 -043d2a66efc5646eaea2e3b0235b8d577538aa001148b16988997fe02916f06a,45efa365e6b13e5affd3eb29bb66dcaa2623ede92b7b4fa2e7611030572412c0,0,buildlinks,www.buildlinks.org,"buildlinks, builds On-chain Governance.",0244d81efeb4171b1a8a433b87dd202117f94e44c909c49e42e77b69b5a6ce7d0d,02e4631e46255571122d6e11cda75d5d601d5eb2585e65e4e87fe9f68c7838a278 -fa6efb5db13089b4712305e39d0a16867c6822e3b1f4c4619937ae8a21961030,b5847da91002582d0ef899169aecb3f2df26c853f4ee7bfd6da60a372bad0332,10,Laocius,polkadot.network,,03a36339f413da869df12b1ab0def91749413a0dee87f0bfa85ba7196e6cdad102,0263d46c760d3e04883d4b433c9ce2bc32130acd9faad0192a2b375dbba9f865c3 -1510c354c1a6c425556074dd6f2e459ded16aa5403117537aaef26ad38c83545,a188627f198ae02ba9db8a958a8be3d33c2a941a4db1ae3310c85c2ebae07b05,10,Mencius,polkadot.network,,, -359c304831dea9b076dd2aa5390bd42f464e3cea3de06e3f5a3bb70fe697f8d7,81624d6dcfb5f611e35e05b4877765c30f2c5970de84cf6214ef2740d8ea6238,10,Confucius,polkadot.network,,, -43d8e6858e7504d21db55bd4986df85b3951a367f580abe4776ef073780a9e5d,5922e4086859e05032b83d8196a0af5c1ef3c4dece3b265f9791a42f613b8b35,10,Mocius,polkadot.network,,, -04d39ffbc61f5bbc97072a9a7b2ae6cc7c520aedd47512af704cb6d6e29c62d1,0159e45dccd969378fde5237f11f12f213f7e2324c8b422ced99231fb4ed7f65,0,StakingLabs,www.stakinglabs.io,"Staking Labs-是你不二之選",, -b1695b946241c43876d07d2a50dc7bd501ca5d7de52f44d1487c95fe8991880f,2dddecda028cd58534c2b5e96c0fb1287d0fe258a16776d75684ac59cc48f24d,0,XML,github.com/zjb0807,"Polkadot Chainx 生态参与者",, -662e9c1111b5e9d49580dc918d661221eabd262be03cf1dc8b0892c464685307,995dcebe5e8b33ad8e635771d58bd3a830d534ccf6ea9bedbc2cd58f4781c6a7,0,marco,marcolin.com,"Marco is bingo.",, -7eb5b62f8a1e980014507db0d6c71c51a4d182bab996c7240e0b969caf589de3,9980ee00a30b34bee49efe69dc62855835539dddb7630040e64cbb05fd7f00c3,0,STW,http://stw.shop,"lady STW",, -702854a06fe3a5799749e23298f17a2059491f39633e76101014817e0becc2d3,bf1b198616b90bd733afb5c53e84199bc801567621916a6017bc912f262253c5,0,NodeSoleil,http://stake.future,"staking is the future",, -6c4df82c3251584832fc6caec8fcb116455d6ed1318404404e0376e401aae3bf,0771e775169b58be37cb0da5ed271963fa424208e54515e092a0bdb75603309a,0,BitPortal,https://www.bitportal.io/,"BitPortal 是一款多币种区块链钱包。",, -e9a46e884246d95ef233197af64b9fb159fb53c790a5991f0b7a9710c7313d47,9135468e025128e758058c83753b355e11ebd9128ed4cb1063f68be9d4b951b5,0,WTZ_Node,www.wtz123.com,"专注于PoS 共识币种的 STAKING 服务!",, -3431d1ef4f8b1b75136ce26ea9e6e0379c68d77abfa37cc5303bcb0d5ffe0c64,e7133cb9d6cffaffd2403669fc24e46bc763fbcba94240e1f5df6155ea710b0b,0,Wetez,www.wetez.io,"Wetez是POS领域最专业的团队,为POS带来的权益做更多赋能。",, -c1dbc157526183cd13dc1f93078831911ccdcc0bd43c174849f577a67580dc78,87fac5f6d370b1e29d9902199d71ad21b1376aa6a33ec42fd927912f5eb257a7,0,feilun,http://t.cn/E9C429S,"作为polkadot的粉丝及参与者,见证了chainx社区的发展,希望可以让更多人接触并加入chainx生态中。",, -50d0a2e7794fa0f53a05de78a3658eb064938eec1f5876aa32d8e61c50e77648,0ff96f5399d0c0a4b2b868096d54daa9a14720f0b6d4c6ee1d6793d537c539fb,0,HLT,http://www.miublock.com,"Hash Lead Treasure,专业的区块链节点品牌,服务于iost,cmt等多条公链。",, -dfb056b12296aec83470643cd2cb6bf63413363615bea12350e542ba433c6b37,daea2066e7b15cc5174fcfb864618230497deef2ec47ca3dd1ab5bc1122e324a,0,Nodeasy.com,https://www.nodeasy.com,"Nodeasy.com,助你进入Staking Economy时代!",, -80269f1c8712f25eb590fc849b89c79cc9b2309b2b2696e96d5610a08581b8aa,8e8d9d40d5fffbf2b6b02b567a655b6e3e1c9851f8093f64f43ceb032c7f9ef9,0,MathWallet,https://mathwallet.org,"Math Wallet is a universal crypto wallet supports 18 blockchain ecosystems, cross-chain exchange and a multi-chain DApp store.",, -7bd8cb87835e8989db83063a265379e4e2f9eeab7f2e6cb3fa1dc890da29c4af,e634281199a7c01faff36e8cabb4bceef5ec1020e886c1bbd5009ea28c187384,0,BitCat,www.bitcat365.com,"Bit Cat提供基于PoS共识币种的STAKING服务,专注于社区和节点相关的生态建设。",, -6d5bb93d29c723b09706821e61cfd91f21d712863af5ac64030726a36d5a5579,88d28128ed95c2cb691d3065779ada6935f76100beaf5c231a802896e5192a41,0,SNZHolding,https://snzholding.com,"SNZ Holding is a professional institution dedicated to providing high-standard POS validation services. ",, -e437941143fa83cc3d7709b1b3bd8726e09753242f56ccb973fabdcd42255c04,479f05865ed45491eb9dcf0b5a6c40b0d5e99241306a55c4a7f32a6134e9c0a9,0,hbresearch,reresearch.huobi.cn,"火币区块链应用研究院",, -8a5271efc3b3f56f1d093e496da4f84c947e9905bf67677f5823af50fa761861,8924902d6cc53558cd4d135b3b1b3a8ec4866506b188405026de232e83a2f473,0,feibear,www.fs1024.com,"feibear认同chainx发展理念,为社区发展做贡献",, -3a7e98a1b8c1ac950f52db310573c3689627b75f311c7195c79882bd6bd2c9f3,6568722439ed99e595a64b0c549a7c147c56becd934c20fe01a0c7e0ca276427,0,Putin,https://hub.hashkey.com/,"一站式数字资产存储和管理平台",, -66d8dab240b5250253d9d12cba101b8f9b44a184411afbab1ea4d9bfa9222cd2,8901e532fe92333aa4eac8e11d011ecc617e551fa6ba956761819d19e2e12f5a,0,DappPub,https://dapp.pub,"DappPub, Unleashing the Power of DApps.",, -f27f00cdfefa8c98d0f3fbf8835fbf7f269a74963d87a56942323537f533715e,b12ce6ff9060ce298b8eb922a03672126fd8a7239d63e321e362a05c3da349d1,0,GfNetwork,https://gf.network/,"gf.network 构筑区块链全产业生态圈,分享合作,协同共赢",, -56ddb5aab914c0552fa23fc5ec015c47cfb6ee379a346e8beb42b06c238d2d73,ac8a912ca4887dcd9c32923dc501efb7cff89153771c19e283da0d1f4cf508d5,0,KeepNode,www.keepnode.xyz,"KeepNode由区块链技术爱好者创建",, -355cc1aa0d8e5fdb2e3a749a206ae52ad2133199fe5a41464e6a4c142d1a4f9f,c99ba3478a95d8bccb3bc5933757e020216bd3829c3643bb95574ee2c7348bc1,0,Vanguard,cryptosafeguard.org,"",, -f778a69d4166401048acb0f7b2625e9680609f8859c78e3d28e2549f84f0269a,5a6a8402096593ea4b50dab63551597046f49820447097c9a19b320890a596a7,0,bemular,http://www.bemular.net,"拥抱区块链.",, -1dc2a0be7f483619c2808f8e02e862c822569f4115d2c306a3b5ee7363bf6245,7ddd26a10177f07f0ca27d7b342ae3c57a9907fe2753fe7a31221dd274ebac65,0,ParityFans,www.parity.io,"The foundation for blockchain innovators.",, \ No newline at end of file diff --git a/cli/src/genesis_config/res/mainnet_team_council.csv b/cli/src/genesis_config/res/mainnet_team_council.csv deleted file mode 100644 index f1192bd3633b8..0000000000000 --- a/cli/src/genesis_config/res/mainnet_team_council.csv +++ /dev/null @@ -1,9 +0,0 @@ -account_id -a5b74e024ed2823e5dc4d4e77313c0601393f107c7fa62b9e8ca54930b12d545 -bf40736f7157faf64411ef36de9b6dae8133be3edf460a50d9e84cc05829dc21 -120bdbc81e1172e17becc965a51dc1bf3e782162eadee54b5d94fec8a0288c83 -1595e186c3a915cfbd4f601b23a88bbaab873bfefbb09d231483e424633093e7 -a4e99224b97dee6798f3fb90b835d63e3f4059f334f09a44e23420ca993e45f0 -7ad04497564c5da319794aa8c99375d61878f471124dbc83dcc5a3cd6418af11 -b16a5254fff78ab974abd25c64430ae5944e201916d003807226b6e2a0fcd1f1 -041b0452b3defb8bdcaab8f4786fa634ae6f841cbe1ee9e1959bd94eaa021f7f diff --git a/cli/src/genesis_config/res/testnet_genesis_node.csv b/cli/src/genesis_config/res/testnet_genesis_node.csv deleted file mode 100644 index 2a9e046a1e7a4..0000000000000 --- a/cli/src/genesis_config/res/testnet_genesis_node.csv +++ /dev/null @@ -1,5 +0,0 @@ -account_id,session_key,endowed,name,url,about,hot_entity,cold_entity -9b26794331dcf1c41aa29fd482b2e3bd786e190475d9c2119479fb4c9bec239c,5917d1850e940bcd23254c73dcb936b730dd950ee6b750af02cc8caaedcd83ba,10,Laocius,polkadot.network,,037bcacb8f770632b43d52bbf52c14c94f766c59b6b2853678f3bfd8c2bbf73119,0315565ca86c26a01eb9f561b27c4202a80d760e049621600b46e21d2614943249 -faedbba3c52607b2d96cd069148b28a6e7233d2fa9b5643e8fe7604689f75ae3,ada1cb1b5d3f0a09e37a2c510295e27f70f1db630b56ebccf2417e0dc401398b,10,Mencius,polkadot.network,,0292fc46364843cc9909ba6b33cbdf28e2a36d431b20ea47a188a3913e4aed6181,02d2e2729a2f0110b5705b9bc4aad5f54f7b4e80f495e45e465e140c28d0bc5106 -a0e430eae4f131ef808a981e61dbe6bcc12264d4f103524d395a5ac6c966f059,720aaf07da947bdf7ac25f73cc70207b1e691f2794ee2044fdd0442bda78ed31,10,Confucius,polkadot.network,,0202df69fc8cf55ebe4c56487cdcb0066eae346fda47a3212a16bd37e91efc41b6,033a8e0a477752755fb3809858d230e8efb0383fd2c36442d3c62830b05b7950c6 -e8e4ea2e27dac9c85b138554f323c19e82d3b77ab59ad1bd944c138c31e32588,dc6731942968ba7a321b22f688fbb94449975b5b078f2a495610df52c0fa2fbf,10,Mocius,polkadot.network,,, diff --git a/cli/src/genesis_config/res/testnet_team_council.csv b/cli/src/genesis_config/res/testnet_team_council.csv deleted file mode 100644 index 308d3de305e7f..0000000000000 --- a/cli/src/genesis_config/res/testnet_team_council.csv +++ /dev/null @@ -1,9 +0,0 @@ -account_id -fd85de2de6b1960a92c3f0b98cfa860854a115d403e44972ed850c060b047808 -b6739a4d744634236d4cc4ca63957888ed4d5a533c5076c00145d71fb176974a -bfb9cc192b716d6d0b182bda1acfd15b5576912cc4f57803f2e085cc396b5d54 -4cd81e09cf44ef219dd3e05b471aa228bf3b89083ac678d7c81e360714dd83a8 -7731388aa206e6827ac8bc954b6418e80cd562f7d1443e0d699fe8d0d1fa45c7 -cf7911dc36437d4927fde6d952d2ba187ca95704f710efb497b03fc8b357d77e -277303befbb7f60ae6369a03ae77d7d7d5f141f034c4db888eb1d9206a94a24b -4e83e706243bc749a80bb0784e7350c2d0f512b0d48816d4e270fa8aaab464bc diff --git a/cli/src/genesis_config/res/wasm/chainx_runtime.compact.wasm b/cli/src/genesis_config/res/wasm/chainx_runtime.compact.wasm deleted file mode 100644 index 84e576da88882..0000000000000 Binary files a/cli/src/genesis_config/res/wasm/chainx_runtime.compact.wasm and /dev/null differ diff --git a/cli/src/genesis_config/res/wasm/mainnet_chainx_runtime.compact.wasm b/cli/src/genesis_config/res/wasm/mainnet_chainx_runtime.compact.wasm deleted file mode 100644 index c23f28757d7dd..0000000000000 Binary files a/cli/src/genesis_config/res/wasm/mainnet_chainx_runtime.compact.wasm and /dev/null differ diff --git a/cli/src/genesis_config/res/wasm/testnet_confucianism_chainx_runtime.compact.wasm b/cli/src/genesis_config/res/wasm/testnet_confucianism_chainx_runtime.compact.wasm deleted file mode 100644 index 4fe5ba71ac9ea..0000000000000 Binary files a/cli/src/genesis_config/res/wasm/testnet_confucianism_chainx_runtime.compact.wasm and /dev/null differ diff --git a/cli/src/genesis_config/res/wasm/testnet_mohism_chainx_runtime.compact.wasm b/cli/src/genesis_config/res/wasm/testnet_mohism_chainx_runtime.compact.wasm deleted file mode 100644 index 70db1b621ee33..0000000000000 Binary files a/cli/src/genesis_config/res/wasm/testnet_mohism_chainx_runtime.compact.wasm and /dev/null differ diff --git a/cli/src/genesis_config/sdot.rs b/cli/src/genesis_config/sdot.rs deleted file mode 100644 index 7689bd7cc13bd..0000000000000 --- a/cli/src/genesis_config/sdot.rs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2018-2020 Chainpool. - -use super::*; -use hex::FromHex; - -#[derive(Debug, Deserialize)] -pub struct RecordOfSDOT { - tx_hash: String, - block_number: u64, - unix_timestamp: u64, - date_time: String, - from: String, - to: String, - quantity: f64, -} - -#[allow(clippy::type_complexity)] -pub fn load_genesis() -> Result, Box> { - let mut reader = csv::Reader::from_reader(&include_bytes!("res/dot_tx.csv")[..]); - let mut res = Vec::with_capacity(3052); - for result in reader.deserialize() { - let record: RecordOfSDOT = result?; - let sdot_addr = <[u8; 20] as FromHex>::from_hex(&record.to[2..])?; - res.push((sdot_addr, (record.quantity * 1000.0).round() as u64)); - } - Ok(res) -} - -pub fn create_asset() -> Asset { - Asset::new( - b"SDOT".to_vec(), // token - b"Shadow DOT".to_vec(), - Chain::Ethereum, - 3, // precision - b"ChainX's Shadow Polkadot from Ethereum".to_vec(), - ) - .unwrap() -} - -#[test] -fn test_quantity_sum() { - let res = load_genesis().unwrap(); - let sum: u64 = res.iter().map(|(_, quantity)| *quantity).sum(); - assert_eq!(sum, 4999466375u64); -} diff --git a/cli/src/lib.rs b/cli/src/lib.rs deleted file mode 100644 index 7046c6d27685b..0000000000000 --- a/cli/src/lib.rs +++ /dev/null @@ -1,276 +0,0 @@ -// Copyright 2018 Parity Technologies (UK) Ltd. -// Copyright 2018-2019 Chainpool. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate CLI library. - -#![allow(clippy::unreadable_literal)] -//#![feature(custom_attribute)] - -mod chain_spec; -mod genesis_config; -mod logger; -mod native_rpc; -mod params; -mod service; - -use std::ops::Deref; -use std::str::FromStr; - -use log::LevelFilter; -use log::{info, warn}; - -use tokio::prelude::Future; -use tokio::runtime::{Builder as RuntimeBuilder, Runtime}; - -pub use cli::{error, IntoExit, NoCustom, VersionInfo}; -use substrate_service::{Roles as ServiceRoles, ServiceFactory}; - -use self::params::ChainXParams; -use self::service::set_validator_name; - -/// The chain specification option. -#[derive(Clone, Debug)] -pub enum ChainSpec { - Development, - Testnet, - TestnetMohism, - TestnetConfucianism, - Mainnet, -} - -/// Get a chain config from a spec setting. -impl ChainSpec { - pub(crate) fn load(self) -> Result { - Ok(match self { - ChainSpec::Development => chain_spec::development_config(), - ChainSpec::Testnet => chain_spec::testnet_config(), - ChainSpec::TestnetMohism => chain_spec::testnet_mohism_config(), - ChainSpec::TestnetConfucianism => chain_spec::testnet_confucianism_config(), - ChainSpec::Mainnet => chain_spec::mainnet_config(), - }) - } - - pub(crate) fn from(s: &str) -> Option { - match s { - "mainnet" | "" => Some(ChainSpec::Mainnet), - // "testnet-mohism" => Some(ChainSpec::TestnetMohism), - "testnet-confucianism" => Some(ChainSpec::TestnetConfucianism), - "dev" => Some(ChainSpec::Development), - _ => None, - } - } -} - -fn load_spec(id: &str) -> Result, String> { - match ChainSpec::from(id) { - Some(spec) => Ok(Some(spec.load()?)), - None => Err(format!( - "we just allow:{:?}", - vec!["mainnet", "testnet-confucianism", "dev"] - )), - } -} - -#[derive(Debug)] -struct Directive { - name: Option, - level: LevelFilter, -} - -/// Parse a logging specification string (e.g: "crate1,crate2::mod3,crate3::x=error/foo") or (e.g: "info,target1=info,target2=debug") -/// and return a vector with log directives. -fn parse_spec(spec: &str) -> (Vec, Option) { - let mut dirs = Vec::new(); - - let mut parts = spec.split('/'); - let mods = parts.next(); - let filter = parts.next().and_then(|s| FromStr::from_str(s).ok()); - if parts.next().is_some() { - eprintln!( - "warning: invalid logging spec '{}', ignoring it (too many '/'s)", - spec - ); - return (dirs, None); - } - - if let Some(m) = mods { - for s in m.split(',') { - if s.is_empty() { - continue; - } - let mut parts = s.split('='); - let (log_level, name) = - match (parts.next(), parts.next().map(|s| s.trim()), parts.next()) { - (Some(part0), None, None) => { - // if the single argument is a log-level string or number, - // treat that as a global fallback - match part0.parse() { - Ok(num) => (num, None), - Err(_) => (LevelFilter::max(), Some(part0)), - } - } - (Some(part0), Some(""), None) => (LevelFilter::max(), Some(part0)), - (Some(part0), Some(part1), None) => match part1.parse() { - Ok(num) => (num, Some(part0)), - _ => { - eprintln!( - "warning: invalid logging spec '{}', \ - ignoring it", - part1 - ); - continue; - } - }, - _ => { - eprintln!( - "warning: invalid logging spec '{}', \ - ignoring it", - s - ); - continue; - } - }; - dirs.push(Directive { - name: name.map(|s| s.to_string()), - level: log_level, - }); - } - } - - let mut tmp_filter = LevelFilter::Off; - for d in dirs.iter() { - if d.name == None && d.level > tmp_filter { - tmp_filter = d.level; - } - } - - let filter = if let Some(f) = filter { - if f > tmp_filter { - Some(f) - } else { - Some(tmp_filter) - } - } else if tmp_filter == LevelFilter::Off { - None - } else { - Some(tmp_filter) - }; - - (dirs, filter) -} - -pub fn run(args: I, exit: E, version: cli::VersionInfo) -> error::Result<()> -where - I: IntoIterator, - T: Into + Clone, - E: IntoExit, -{ - cli::parse_and_execute::( - load_spec, - &version, - "ChainX", - args, - exit, - |s, cli| { - if cli.right.default_log { - cli::init_logger(s); - Ok(()) - } else { - logger::init(s, cli.right) - } - }, - |exit, cli_args, custom_args, config| { - info!("{}", version.name); - info!(" version {}", config.full_version()); - info!(" by ChainX, 2018-2019"); - info!("Chain specification: {}", config.chain_spec.name()); - if let Some(id) = config.chain_spec.protocol_id() { - info!("Chain protocol_id: {:}", id); - } else { - warn!("Not set protocol_id! may receive other blockchain network msg"); - } - info!("Chain properties: {:?}", config.chain_spec.properties()); - info!("Node name: {}", config.name); - info!("Roles: {:?}", config.roles); - let runtime = RuntimeBuilder::new() - .name_prefix("main-tokio-") - .build() - .map_err(|e| format!("{:?}", e))?; - let executor = runtime.executor(); - - substrate_rpc::set_cache_flag(custom_args.rpc_cache); - - if config.roles == ServiceRoles::AUTHORITY { - let option_name = custom_args.validator_name; - let name = if cli_args.shared_params.dev { - option_name.unwrap_or_else(|| "Alice".to_string()) - } else { - option_name.ok_or("if in AUTHORITY mode, must point the validator name!")? - }; - info!("Validator name: {:}", name); - set_validator_name(name); - } - - match config.roles { - ServiceRoles::LIGHT => run_until_exit( - runtime, - service::Factory::new_light(config, executor) - .map_err(|e| format!("{:?}", e))?, - exit, - ), - _ => run_until_exit( - runtime, - service::Factory::new_full(config, executor).map_err(|e| format!("{:?}", e))?, - exit, - ), - } - .map_err(|e| format!("{:?}", e)) - }, - ) - .map_err(Into::into) - .map(|_| ()) -} - -fn run_until_exit(mut runtime: Runtime, service: T, e: E) -> error::Result<()> -where - T: Deref> + native_rpc::Rpc, - C: substrate_service::Components, - E: IntoExit, -{ - let (exit_send, exit) = exit_future::signal(); - - let informant = cli::informant::build(&service); - runtime.executor().spawn(exit.until(informant).map(|_| ())); - - let executor = runtime.executor(); - let (_http, _ws) = service.start_rpc(executor.clone()); - - let _ = runtime.block_on(e.into_exit()); - exit_send.fire(); - - // we eagerly drop the service so that the internal exit future is fired, - // but we need to keep holding a reference to the global telemetry guard - let _telemetry = service.telemetry(); - drop(service); - // rpc and ws must be dropped near `drop(service)`, thus the network and task_executor would be dropped as well - drop((_http, _ws)); - - // TODO [andre]: timeout this future #1318 - let _ = runtime.shutdown_on_idle().wait(); - - Ok(()) -} diff --git a/cli/src/logger.rs b/cli/src/logger.rs deleted file mode 100644 index 5791cbb4c9a45..0000000000000 --- a/cli/src/logger.rs +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2018-2020 Chainpool. - -use super::*; -use log4rs::{ - append::{ - console::ConsoleAppender, - rolling_file::{ - policy::{ - self, - compound::{roll, trigger}, - }, - RollingFileAppender, - }, - }, - config, - encode::pattern::PatternEncoder, -}; - -pub fn init(spec: &str, params: ChainXParams) -> Result<(), String> { - let (directives, filter) = parse_spec(spec); - let filter = filter.unwrap_or(LevelFilter::Info); - - let (pattern1, pattern2) = if filter > LevelFilter::Info { - ( - "{d(%Y-%m-%d %H:%M:%S:%3f)} {T} {h({l})} {t} {m}\n", - "{d(%Y-%m-%d %H:%M:%S:%3f)} {T} {l} {t} {m}\n", // remove color - ) - } else { - ( - "{d(%Y-%m-%d %H:%M:%S:%3f)} {h({l})} {m}\n", - "{d(%Y-%m-%d %H:%M:%S:%3f)} {l} {m}\n", // remove color - ) - }; - - let console = ConsoleAppender::builder() - .encoder(Box::new(PatternEncoder::new(pattern1))) - .build(); - - let log = params.log_dir.clone() + "/" + ¶ms.log_name; - let log_file = if params.log_compression { - log.clone() + ".gz" - } else { - log.clone() - }; - - if params.log_size == 0 { - return Err("the `--log-size` can't be 0".to_string()); - } - - let trigger = trigger::size::SizeTrigger::new(1024 * 1024 * params.log_size); - let roll_pattern = format!("{}.{{}}", log_file); - let roll = roll::fixed_window::FixedWindowRoller::builder() - .build(roll_pattern.as_str(), params.log_roll_count) - .map_err(|e| format!("log rotate file:{:?}", e))?; - - let policy = policy::compound::CompoundPolicy::new(Box::new(trigger), Box::new(roll)); - let roll_file = RollingFileAppender::builder() - .encoder(Box::new(PatternEncoder::new(pattern2))) - .build(log, Box::new(policy)) - .map_err(|e| format!("{}", e))?; - - let mut tmp_builder = if params.log_console { - config::Config::builder() - .appender(config::Appender::builder().build("console", Box::new(console))) - .appender(config::Appender::builder().build("roll", Box::new(roll_file))) - } else { - config::Config::builder() - .appender(config::Appender::builder().build("roll", Box::new(roll_file))) - }; - - for d in directives { - if let Some(name) = d.name { - tmp_builder = tmp_builder.logger(config::Logger::builder().build(name, d.level)); - } - } - - let root = if params.log_console { - config::Root::builder() - .appender("roll") - .appender("console") - .build(filter) - } else { - config::Root::builder().appender("roll").build(filter) - }; - - let log_config = tmp_builder - .build(root) - .expect("Construct log config failure"); - - log4rs::init_config(log_config).expect("Initializing log config shouldn't be fail"); - - Ok(()) -} diff --git a/cli/src/native_rpc.rs b/cli/src/native_rpc.rs deleted file mode 100644 index dc57c223be9a4..0000000000000 --- a/cli/src/native_rpc.rs +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2018 Chainpool -use crate::service; -use log::warn; -use rpc; -use std::io; -use std::net::SocketAddr; -use substrate_service::{ComponentBlock, ComponentExHash, TaskExecutor}; - -fn maybe_start_server(address: Option, start: F) -> Result, io::Error> -where - F: Fn(&SocketAddr) -> Result, -{ - Ok(match address { - Some(mut address) => Some(start(&address).or_else(|e| match e.kind() { - io::ErrorKind::AddrInUse | io::ErrorKind::PermissionDenied => { - warn!("Unable to bind server to {}. Trying random port.", address); - address.set_port(0); - start(&address) - } - _ => Err(e), - })?), - None => None, - }) -} - -pub trait Rpc { - fn start_rpc( - &self, - task_executor: TaskExecutor, - ) -> ( - Result, io::Error>, - Result, io::Error>, - ); -} - -impl Rpc for substrate_service::LightComponents { - fn start_rpc( - &self, - task_executor: TaskExecutor, - ) -> ( - Result, io::Error>, - Result, io::Error>, - ) { - let config = &self.config; - let system_info = rpc::apis::system::SystemInfo { - chain_name: config.chain_spec.name().into(), - impl_name: config.impl_name.into(), - impl_version: config.impl_version.into(), - properties: config.chain_spec.properties(), - }; - - let handler = || { - let client = self.client.clone(); - let subscriptions = rpc::apis::Subscriptions::new(task_executor.clone()); - let state = rpc::apis::state::State::new(client.clone(), subscriptions.clone()); - let chain = rpc::apis::chain::Chain::new(client.clone(), subscriptions.clone()); - let author = rpc::apis::author::Author::new( - client.clone(), - self.transaction_pool.clone(), - subscriptions, - ); - let system = rpc::apis::system::System::new( - system_info.clone(), - self.network.clone().unwrap(), - //should_have_peers, - false, - ); - - let chainx = rpc::apis::chainx::ChainX::new(client.clone()); - rpc::rpc_handler::, ComponentExHash, _, _, _, _, _>( - state, chain, author, system, chainx, - ) - }; - let rpc_http: Result, io::Error> = - maybe_start_server(config.rpc_http, |address| { - rpc::start_http(address, config.rpc_cors.as_ref(), handler()) - }); - - let rpc_ws: Result, io::Error> = - maybe_start_server(config.rpc_ws, |address| { - rpc::start_ws( - address, - config.rpc_ws_max_connections, - config.rpc_cors.as_ref(), - handler(), - ) - }); - (rpc_http, rpc_ws) - } -} - -impl Rpc for substrate_service::FullComponents { - fn start_rpc( - &self, - task_executor: TaskExecutor, - ) -> ( - Result, io::Error>, - Result, io::Error>, - ) { - let config = &self.config; - let system_info = rpc::apis::system::SystemInfo { - chain_name: config.chain_spec.name().into(), - impl_name: config.impl_name.into(), - impl_version: config.impl_version.into(), - properties: config.chain_spec.properties(), - }; - - let handler = || { - let client = self.client.clone(); - let subscriptions = rpc::apis::Subscriptions::new(task_executor.clone()); - let state = rpc::apis::state::State::new(client.clone(), subscriptions.clone()); - let chain = rpc::apis::chain::Chain::new(client.clone(), subscriptions.clone()); - let author = rpc::apis::author::Author::new( - client.clone(), - self.transaction_pool.clone(), - subscriptions, - ); - let system = rpc::apis::system::System::new( - system_info.clone(), - self.network.clone().unwrap(), - //should_have_peers, - false, - ); - - let chainx = rpc::apis::chainx::ChainX::new(client.clone()); - rpc::rpc_handler::, ComponentExHash, _, _, _, _, _>( - state, chain, author, system, chainx, - ) - }; - let rpc_http: Result, io::Error> = - maybe_start_server(config.rpc_http, |address| { - rpc::start_http(address, config.rpc_cors.as_ref(), handler()) - }); - - let rpc_ws: Result, io::Error> = - maybe_start_server(config.rpc_ws, |address| { - rpc::start_ws( - address, - config.rpc_ws_max_connections, - config.rpc_cors.as_ref(), - handler(), - ) - }); - (rpc_http, rpc_ws) - } -} diff --git a/cli/src/params.rs b/cli/src/params.rs deleted file mode 100644 index 468bb0c6c2375..0000000000000 --- a/cli/src/params.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::path::PathBuf; -use structopt::{clap::App, StructOpt}; - -#[derive(Clone, StructOpt, Debug)] -pub struct ChainXParams { - #[structopt(long = "validator-name", value_name = "NAME")] - /// Registered validator name, when set `--validator` or `"validator": true`, must provide matching validator's unique name - pub validator_name: Option, - - // This option is actually unused and only for the auto generated help, which could be refined later. - #[structopt(long = "config", value_name = "CONFIG_JSON_PATH", parse(from_os_str))] - /// Pass [FLAGS] or [OPTIONS] via a JSON file, you can override them from the command line. - pub config: Option, - - #[structopt(long = "default-log")] - /// Use `env_logger`, not `log4rs`. notice `env_logger` can't print into file directly - pub default_log: bool, - - #[structopt(long = "log-dir", default_value = "./log")] - /// When use `log4rs`, assign the path of log dir, notice this would create the dir directly. Default dir is `./log` - pub log_dir: String, - #[structopt(long = "log-name", default_value = "chainx.log")] - /// When use `log4rs`, assign the log file name. Default dir is `chainx.log`, thus when use default config, the log would create in ./log/chainx.log - pub log_name: String, - #[structopt(long = "log-size", default_value = "300")] - /// When use `log4rs`, the default log size in log rotation. The unit is MB, default is 300 MB - pub log_size: u64, - #[structopt(long = "log-roll-count", default_value = "10")] - /// When use `log4rs`, the max log rotation. Default is 10. If the log is more then the number, would delete old file. - /// The log would like `chainx.log.0`, `chainx.log.1` ... `chainx.log.10` - pub log_roll_count: u32, - #[structopt(long = "log-console")] - /// When use `log4rs`, print log into console. Default is false - pub log_console: bool, - #[structopt(long = "log-compression")] - /// When use `log4rs`, compress the old log to save space. the log would like `chainx.log.gz.0` - pub log_compression: bool, - #[structopt(long = "rpc-cache")] - /// Open LRU Cache for some rpc - pub rpc_cache: bool, -} - -impl cli::AugmentClap for ChainXParams { - fn augment_clap<'a, 'b>(app: App<'a, 'b>) -> App<'a, 'b> { - ChainXParams::augment_clap(app) - } -} diff --git a/cli/src/service.rs b/cli/src/service.rs deleted file mode 100644 index 13085419f296a..0000000000000 --- a/cli/src/service.rs +++ /dev/null @@ -1,344 +0,0 @@ -// Copyright 2018 Parity Technologies (UK) Ltd. -// Copyright 2018-2019 Chainpool. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -#![warn(unused_extern_crates)] - -//! Service and ServiceFactory implementation. Specialized wrapper over substrate service. - -use futures::prelude::*; -use std::sync::Arc; - -use log::{info, warn}; - -use client::LongestChain; -use consensus::{import_queue, start_aura, AuraImportQueue, SlotDuration}; -use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider}; -use inherents::InherentDataProviders; -use network::construct_simple_protocol; -use sr_primitives::generic::BlockId; -use sr_primitives::traits::ProvideRuntimeApi; -use substrate_primitives::{ed25519, Pair as PairT}; -use substrate_service::{ - construct_service_factory, error::Error as ServiceError, FactoryFullConfiguration, FullBackend, - FullClient, FullComponents, FullExecutor, LightBackend, LightClient, LightComponents, - LightExecutor, TaskExecutor, -}; -use transaction_pool::txpool::Pool as TransactionPool; - -use chainx_primitives::{AccountId, Block}; -use chainx_runtime::{GenesisConfig, RuntimeApi}; -use runtime_api::xsession_api::XSessionApi; - -type XSystemInherentDataProvider = xsystem::InherentDataProvider; - -static mut VALIDATOR_NAME: Option = None; - -pub fn set_validator_name(name: String) { - unsafe { - VALIDATOR_NAME = Some(name); - } -} - -fn get_validator_name() -> Option { - unsafe { VALIDATOR_NAME.clone() } -} - -construct_simple_protocol! { - /// Demo protocol attachment for substrate. - pub struct ChainXProtocol where Block = Block { } -} - -/// Node specific configuration -pub struct NodeConfig { - /// grandpa connection to import block - // FIXME #1134 rather than putting this on the config, let's have an actual intermediate setup state - pub grandpa_import_setup: Option<( - Arc>, - grandpa::LinkHalfForService, - )>, - inherent_data_providers: InherentDataProviders, -} - -impl Default for NodeConfig -where - F: substrate_service::ServiceFactory, -{ - fn default() -> NodeConfig { - NodeConfig { - grandpa_import_setup: None, - inherent_data_providers: InherentDataProviders::new(), - } - } -} - -construct_service_factory! { - struct Factory { - Block = Block, - RuntimeApi = RuntimeApi, - NetworkProtocol = ChainXProtocol { |config| Ok(ChainXProtocol::new()) }, - RuntimeDispatch = chainx_executor::Executor, - FullTransactionPoolApi = transaction_pool::ChainApi, FullExecutor, Block, RuntimeApi>, Block> - { |config, client| Ok(TransactionPool::new(config, transaction_pool::ChainApi::new(client))) }, - LightTransactionPoolApi = transaction_pool::ChainApi, LightExecutor, Block, RuntimeApi>, Block> - { |config, client| Ok(TransactionPool::new(config, transaction_pool::ChainApi::new(client))) }, - Genesis = GenesisConfig, - Configuration = NodeConfig, - FullService = FullComponents - { |config: FactoryFullConfiguration, executor: TaskExecutor| - FullComponents::::new(config, executor) }, - AuthoritySetup = { - |mut service: Self::FullService, executor: TaskExecutor, local_key: Option>| { - let (block_import, link_half) = service.config.custom.grandpa_import_setup.take() - .expect("Link Half and Block Import are present for Full Services or setup failed before. qed"); - - if let Some(ref key) = local_key { //--key - info!("Using authority key {:?}", key.public()); - let proposer = Arc::new(substrate_basic_authorship::ProposerFactory { - client: service.client(), - transaction_pool: service.transaction_pool(), - }); - - let client = service.client(); - let accountid_from_localkey: AccountId = key.public(); - // use validator name to get accountid and sessionkey from runtime storage - let name = get_validator_name().expect("must get validator name is AUTHORITY mode"); - let best_hash = client.info().chain.best_hash; - let ret = client - .runtime_api() - .pubkeys_for_validator_name(&BlockId::Hash(best_hash), name.as_bytes().to_vec()) - .expect("access runtime data error"); - - let producer = if let Some((accountid, sessionkey_option)) = ret { - // check, only print warning log - if accountid != accountid_from_localkey { - if let Some(sessionkey) = sessionkey_option { - let sessionkey: AccountId = sessionkey; - if sessionkey != accountid_from_localkey { - warn!("the sessionkey is not equal to local_key, sessionkey:[{:?}], local_key:[{:?}]", sessionkey, accountid_from_localkey); - } - } else { - warn!("the accountid is not equal to local_key, accountid:[{:?}], local_key:[{:?}]", accountid, accountid_from_localkey); - } - } - // anyway, return accountid as producer - accountid - } else { - // do not get accountid from local state database, use localkey as producer - warn!("validator name[{:}] is not in current state, use --key|keystore's pri to pub as producer", name); - accountid_from_localkey - }; - - // set blockproducer for accountid - service.config.custom.inherent_data_providers - .register_provider(XSystemInherentDataProvider::new(name.as_bytes().to_vec())).expect("blockproducer set err; qed"); - - let client = service.client(); - let select_chain = service.select_chain() - .ok_or(ServiceError::SelectChainRequired)?; - - let aura = start_aura( - SlotDuration::get_or_compute(&*client)?, - key.clone(), - client, - select_chain, - block_import.clone(), - proposer, - service.network(), - service.config.custom.inherent_data_providers.clone(), - service.config.force_authoring, - )?; - executor.spawn(aura.select(service.on_exit()).then(|_| Ok(()))); - - info!("Running Grandpa session as Authority {:?}", key.public()); - } - - let local_key = if service.config.disable_grandpa { - None - } else { - local_key - }; -/* - let config = grandpa::Config { - local_key, - // FIXME #1578 make this available through chainspec - gossip_duration: Duration::from_millis(3333), - justification_period: 4096, - name: Some(service.config.name.clone()) - }; - - executor.spawn(grandpa::run_grandpa_observer( - config, - link_half, - service.network(), - service.on_exit(), - )?); - - match config.local_key { - None => { - executor.spawn(grandpa::run_grandpa_observer( - config, - link_half, - service.network(), - service.on_exit(), - )?); - }, - Some(_) => { - let telemetry_on_connect = TelemetryOnConnect { - on_exit: Box::new(service.on_exit()), - telemetry_connection_sinks: service.telemetry_on_connect_stream(), - executor: &executor, - }; - let grandpa_config = grandpa::GrandpaParams { - config: config, - link: link_half, - network: service.network(), - inherent_data_providers: service.config.custom.inherent_data_providers.clone(), - on_exit: service.on_exit(), - telemetry_on_connect: Some(telemetry_on_connect), - }; - executor.spawn(grandpa::run_grandpa_voter(grandpa_config)?); - }, - } -*/ - - Ok(service) - } - }, - LightService = LightComponents - { |config, executor| >::new(config, executor) }, - FullImportQueue = AuraImportQueue - { |config: &mut FactoryFullConfiguration , client: Arc>, select_chain: Self::SelectChain| { - let slot_duration = SlotDuration::get_or_compute(&*client)?; - let (block_import, link_half) = - grandpa::block_import::<_, _, _, RuntimeApi, FullClient, _>( - client.clone(), client.clone(), select_chain - )?; - let block_import = Arc::new(block_import); - let justification_import = block_import.clone(); - - config.custom.grandpa_import_setup = Some((block_import.clone(), link_half)); - - import_queue::<_, _, ed25519::Pair>( - slot_duration, - block_import, - Some(justification_import), - None, - None, - client, - config.custom.inherent_data_providers.clone(), - ).map_err(Into::into) - }}, - LightImportQueue = AuraImportQueue - { |config: &FactoryFullConfiguration, client: Arc>| { - #[allow(deprecated)] - let fetch_checker = client.backend().blockchain().fetcher() - .upgrade() - .map(|fetcher| fetcher.checker().clone()) - .ok_or_else(|| "Trying to start light import queue without active fetch checker")?; - let block_import = grandpa::light_block_import::<_, _, _, RuntimeApi, LightClient>( - client.clone(), Arc::new(fetch_checker), client.clone() - )?; - let block_import = Arc::new(block_import); - let finality_proof_import = block_import.clone(); - let finality_proof_request_builder = finality_proof_import.create_finality_proof_request_builder(); - - import_queue::<_, _, ed25519::Pair>( - SlotDuration::get_or_compute(&*client)?, - block_import, - None, - Some(finality_proof_import), - Some(finality_proof_request_builder), - client, - config.custom.inherent_data_providers.clone(), - ).map_err(Into::into) - }}, - SelectChain = LongestChain, Self::Block> - { |config: &FactoryFullConfiguration, client: Arc>| { - #[allow(deprecated)] - Ok(LongestChain::new(client.backend().clone())) - } - }, - FinalityProofProvider = { |client: Arc>| { - Ok(Some(Arc::new(GrandpaFinalityProofProvider::new(client.clone(), client)) as _)) - }}, - } -} - -#[cfg(test)] -mod tests { - #[cfg(feature = "rhd")] - fn test_sync() { - use client::{BlockOrigin, ImportBlock}; - use {service_test, Factory}; - - let alice: Arc = Arc::new(Keyring::Alice.into()); - let bob: Arc = Arc::new(Keyring::Bob.into()); - let validators = vec![alice.public().0.into(), bob.public().0.into()]; - let keys: Vec<&ed25519::Pair> = vec![&*alice, &*bob]; - let dummy_runtime = ::tokio::runtime::Runtime::new().unwrap(); - let block_factory = |service: &::FullService| { - let block_id = BlockId::number(service.client().info().unwrap().chain.best_number); - let parent_header = service.client().header(&block_id).unwrap().unwrap(); - let consensus_net = ConsensusNetwork::new(service.network(), service.client().clone()); - let proposer_factory = consensus::ProposerFactory { - client: service.client().clone(), - transaction_pool: service.transaction_pool().clone(), - network: consensus_net, - force_delay: 0, - handle: dummy_runtime.executor(), - }; - let (proposer, _, _) = proposer_factory - .init(&parent_header, &validators, alice.clone()) - .unwrap(); - let block = proposer.propose().expect("Error making test block"); - ImportBlock { - origin: BlockOrigin::File, - justification: Vec::new(), - internal_justification: Vec::new(), - finalized: true, - body: Some(block.extrinsics), - header: block.header, - auxiliary: Vec::new(), - } - }; - let extrinsic_factory = |service: &::FullService| { - let payload = ( - 0, - Call::Balances(BalancesCall::transfer( - RawAddress::Id(bob.public().0.into()), - 69.into(), - )), - Era::immortal(), - service.client().genesis_hash(), - ); - let signature = alice.sign(&payload.encode()).into(); - let id = alice.public().0.into(); - let xt = UncheckedExtrinsic { - signature: Some((RawAddress::Id(id), signature, payload.0, Era::immortal())), - function: payload.1, - } - .encode(); - let v: Vec = Decode::decode(&mut xt.as_slice()).unwrap(); - OpaqueExtrinsic(v) - }; - service_test::sync::( - chain_spec::integration_test_config(), - block_factory, - extrinsic_factory, - ); - } -} diff --git a/executor/Cargo.toml b/executor/Cargo.toml deleted file mode 100644 index d79b9f708cf1e..0000000000000 --- a/executor/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "chainx-executor" -version = "1.0.0" -authors = ["Chainpool "] -edition = "2018" - -[dependencies] -substrate-executor = { git = "https://github.com/chainpool/substrate", branch="chainx-master" } -chainx-runtime = { path = "../runtime" } diff --git a/executor/src/lib.rs b/executor/src/lib.rs deleted file mode 100644 index 1389112ca76a9..0000000000000 --- a/executor/src/lib.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -//! A `CodeExecutor` specialisation which uses natively compiled runtime when the wasm to be -//! executed is equivalent to the natively compiled code. - -pub use substrate_executor::NativeExecutor; - -use substrate_executor::native_executor_instance; - -native_executor_instance!(pub Executor, chainx_runtime::api::dispatch, chainx_runtime::native_version, - include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm")); diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index a1e165167471c..cfe18e195f5b3 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,24 +1,14 @@ [package] name = "chainx-primitives" -version = "1.0.0" -authors = ["Chainpool "] +version = "2.0.0" +authors = ["ChainX community "] edition = "2018" [dependencies] -serde = { version = "1.0", default-features = false } -serde_derive = { version = "1.0", optional = true } -primitives = { package = "substrate-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -rstd = { package = "sr-std", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -parity-codec = { version = "3.3", default-features = false } -runtime-primitives = { package = "sr-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } +sp-std = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } [features] default = ["std"] std = [ - "serde/std", - "serde_derive", - "primitives/std", - "rstd/std", - "parity-codec/std", - "runtime-primitives/std", -] + "sp-std/std", +] \ No newline at end of file diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index f455102389e55..2a7d3634fa370 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -1,73 +1,5 @@ -// Copyright 2018-2019 Chainpool. - -//! Shareable ChainX types. #![cfg_attr(not(feature = "std"), no_std)] -use runtime_primitives::{ - generic, - traits::{BlakeTwo256, Verify}, - OpaqueExtrinsic, -}; - -/// Alias to 512-bit hash when used in the context of a session signature on the chain. -pub type AuthoritySignature = primitives::ed25519::Signature; -/// The Ed25519 pub key of an session that belongs to an authority of the chain. This is -/// exactly equivalent to what the substrate calls an "authority". -pub type AuthorityId = ::Signer; - -pub type Signature = primitives::ed25519::Signature; -/// Alias to Ed25519 pub key that identifies an account on the relay chain. -pub type AccountId = ::Signer; - -/// The account id impl for runtime api, is same as AccountId. -pub type AccountIdForApi = primitives::ed25519::Public; -/// The account id impl for rpc. -pub type AccountIdForRpc = primitives::H256; - -/// A hash of some data used by the relay chain. -pub type Hash = primitives::H256; - -/// Header type. -pub type Header = generic::Header< - BlockNumber, - BlakeTwo256, - generic::DigestItem, ->; - -/// A "future-proof" block type for Polkadot. This will be resilient to upgrades in transaction -/// format, because it doesn't attempt to decode extrinsics. -/// -/// Specialized code needs to link to (at least one version of) the runtime directly -/// in order to handle the extrinsics within. -pub type Block = generic::Block; - -/// An index to a block. -/// 32-bits will allow for 136 years of blocks assuming 1 block per second. -/// TODO: switch to u32 -pub type BlockNumber = u64; - -/// The type for looking up accounts. We don't expect more than 4 billion of them, but you -/// never know... -pub type AccountIndex = u32; - -/// Indentifier for a chain. 32-bit should be plenty. -pub type ChainId = u32; - -/// Index of a transaction in the relay chain. 32-bit should be plenty. -pub type Index = u64; - -/// Bigger Acceleration means more chances be to included in a block for a transaction. -pub type Acceleration = u32; - -/// A timestamp: seconds since the unix epoch. -pub type Timestamp = u64; - -/// The balance of an account. -/// u64 for chainx token and all assets type, if the asset is not suit for u64, choose a suitable precision -pub type Balance = u64; - -/// "generic" block ID for the future-proof block type. -pub type BlockId = generic::BlockId; +use sp_std::prelude::Vec; -/// Opaque, encoded, unchecked extrinsic. -pub type UncheckedExtrinsic = OpaqueExtrinsic; +pub type Text = Vec; diff --git a/rpc-servers/Cargo.toml b/rpc-servers/Cargo.toml deleted file mode 100644 index e691f2883e072..0000000000000 --- a/rpc-servers/Cargo.toml +++ /dev/null @@ -1,15 +0,0 @@ -[package] -name = "substrate-rpc-servers" -version = "1.0.0" -authors = ["Parity Technologies "] -edition = "2018" - -[dependencies] -http = { package = "jsonrpc-http-server", version = "12.0.0" } -pubsub = { package = "jsonrpc-pubsub", version = "12.0.0" } -ws = { package = "jsonrpc-ws-server", version = "12.0.0" } -log = "0.4" -serde = "1.0" -substrate-rpc = { path = "../rpc" } -sr-primitives = { git = "https://github.com/chainpool/substrate", branch="chainx-master" } -chainx-primitives = { path = "../primitives" } diff --git a/rpc-servers/src/lib.rs b/rpc-servers/src/lib.rs deleted file mode 100644 index 3bd534675888e..0000000000000 --- a/rpc-servers/src/lib.rs +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// Copyright 2018-2019 Chainpool. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate RPC servers. - -pub use substrate_rpc as apis; - -use log::error; -use sr_primitives::{ - generic::SignedBlock, - traits::{Block as BlockT, NumberFor}, -}; -use std::io; - -use chainx_primitives::{AccountIdForRpc, Balance, BlockNumber}; - -/// Maximal payload accepted by RPC servers. -const MAX_PAYLOAD: usize = 15 * 1024 * 1024; - -/// Default maximum number of connections for WS RPC servers. -const WS_MAX_CONNECTIONS: usize = 100; - -type Metadata = apis::metadata::Metadata; -type RpcHandler = pubsub::PubSubHandler; -pub type HttpServer = http::Server; -pub type WsServer = ws::Server; - -/// Construct rpc `IoHandler` -pub fn rpc_handler( - state: S, - chain: C, - author: A, - system: Y, - chainx: X, -) -> RpcHandler -where - Block: BlockT + 'static, - ExHash: Send + Sync + 'static + sr_primitives::Serialize + sr_primitives::DeserializeOwned, - S: apis::state::StateApi, - C: apis::chain::ChainApi< - NumberFor, - Block::Hash, - Block::Header, - SignedBlock, - Metadata = Metadata, - >, - A: apis::author::AuthorApi, - Y: apis::system::SystemApi>, - X: apis::chainx::ChainXApi< - NumberFor, - ::Hash, - AccountIdForRpc, - Balance, - BlockNumber, - SignedBlock, - >, -{ - let mut io = pubsub::PubSubHandler::default(); - io.extend_with(state.to_delegate()); - io.extend_with(chain.to_delegate()); - io.extend_with(author.to_delegate()); - io.extend_with(system.to_delegate()); - io.extend_with(chainx.to_delegate()); - io -} - -/// Start HTTP server listening on given address. -pub fn start_http( - addr: &std::net::SocketAddr, - cors: Option<&Vec>, - io: RpcHandler, -) -> io::Result { - http::ServerBuilder::new(io) - .threads(4) - .health_api(("/health", "system_health")) - .rest_api(if cors.is_some() { - http::RestApi::Secure - } else { - http::RestApi::Unsecure - }) - .cors(map_cors::(cors)) - .max_request_body_size(MAX_PAYLOAD) - .start_http(addr) -} - -/// Start WS server listening on given address. -pub fn start_ws( - addr: &std::net::SocketAddr, - max_connections: Option, - cors: Option<&Vec>, - io: RpcHandler, -) -> io::Result { - ws::ServerBuilder::with_meta_extractor(io, |context: &ws::RequestContext| { - Metadata::new(context.sender()) - }) - .max_payload(MAX_PAYLOAD) - .max_connections(max_connections.unwrap_or(WS_MAX_CONNECTIONS)) - .allowed_origins(map_cors(cors)) - .start(addr) - .map_err(|err| match err { - ws::Error::Io(io) => io, - ws::Error::ConnectionClosed => io::ErrorKind::BrokenPipe.into(), - e => { - error!("{}", e); - io::ErrorKind::Other.into() - } - }) -} - -fn map_cors From<&'a str>>(cors: Option<&Vec>) -> http::DomainsValidation { - cors.map(|x| { - x.iter() - .map(AsRef::as_ref) - .map(Into::into) - .collect::>() - }) - .into() -} diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 890bd4e839265..e0706772f0acf 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -1,70 +1,30 @@ [package] -name = "substrate-rpc" -version = "1.0.0" -authors = ["Parity Technologies "] +name = "chainx-rpc" +version = "2.0.0" +authors = ["ChainX community "] edition = "2018" [dependencies] -derive_more = "0.14.0" -jsonrpc-core = "12.0.0" -jsonrpc-core-client = "12.0.0" -jsonrpc-pubsub = "12.0.0" -jsonrpc-derive = "12.0.0" -log = "0.4" -parking_lot = "0.8.0" -parity-codec = "3.3" -serde = { version = "1.0", features = ["derive"] } +codec = { package = "parity-scale-codec", version = "1.3.0", features = ["derive"] } +jsonrpc-core = "14.0.3" +jsonrpc-core-client = "14.0.5" +jsonrpc-derive = "14.0.3" serde_json = "1.0" -tokio = "0.1.7" -rustc-hex = "2.0" +hex = "0.4" -lru = "0.1.16" -lazy_static = "1.3.0" +sc-service = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", features = ["test-helpers"] } +sc-client-api = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-runtime = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-api = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-blockchain = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +sp-state-machine = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +frame-support = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } -# substrate -client = { package = "substrate-client", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -substrate-executor = { git = "https://github.com/chainpool/substrate", branch="chainx-master" } -network = { package = "substrate-network", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -primitives = { package = "substrate-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -state_machine = { package = "substrate-state-machine", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -transaction_pool = { package = "substrate-transaction-pool", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -runtime_primitives = { package = "sr-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -runtime_version = { package = "sr-version", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -# substrate runtime module -support = { package = "srml-support", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -system = { package = "srml-system", git = "https://github.com/chainpool/substrate", branch="chainx-master" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3" } -# chainx chainx-primitives = { path = "../primitives" } -chainx-runtime = {path = "../runtime"} -# chainx runtime api -runtime-api = {path = "../runtime-api"} -# chainx runtime -xr-primitives = { path = "../xr-primitives" } -# chainx runtime module -xassets = { package = "xrml-xassets-assets", path = "../xrml/xassets/assets" } -xrecords = { package = "xrml-xassets-records", path = "../xrml/xassets/records" } -xprocess = { package = "xrml-xassets-process", path = "../xrml/xassets/process" } -xaccounts = { package = "xrml-xaccounts", path = "../xrml/xaccounts" } -xsession = { package = "xrml-xsession", path = "../xrml/xsession" } -xstaking = { package ="xrml-xmining-staking", path = "../xrml/xmining/staking" } -xtokens = { package = "xrml-xmining-tokens", path = "../xrml/xmining/tokens" } -xsupport = { package = "xrml-xsupport", path = "../xrml/xsupport" } -xbridge-common = { package = "xrml-xbridge-common", path = "../xrml/xbridge/common" } -xbitcoin = { package = "xrml-xbridge-bitcoin", path = "../xrml/xbridge/bitcoin" } -xspot = { package = "xrml-xdex-spot", path = "../xrml/xdex/spot" } -xbridge-features = { package = "xrml-xbridge-features", path = "../xrml/xbridge/features" } -xmultisig = { package = "xrml-xmultisig", path = "../xrml/xmultisig" } -xfee_manager = { package = "xrml-xfee-manager", path = "../xrml/xfee/manager" } -xcontracts = { package = "xrml-xcontracts", path = "../xrml/xcontracts" } +chainx-runtime = { path = "../runtime" } -# bitcoin -btc-keys = { package = "keys", git = "https://github.com/chainx-org/light-bitcoin" } -btc-ser = { package = "serialization", git = "https://github.com/chainx-org/light-bitcoin" } -[dev-dependencies] -assert_matches = "1.1" -futures = "0.1.17" -sr-io = { git = "https://github.com/chainpool/substrate", branch="chainx-master" } -test_client = { package = "substrate-test-client", git = "https://github.com/chainpool/substrate", branch="chainx-master" } -consensus = { package = "substrate-consensus-common", git = "https://github.com/chainpool/substrate", branch="chainx-master" } diff --git a/rpc/src/apis.rs b/rpc/src/apis.rs new file mode 100644 index 0000000000000..ddccb15852a2c --- /dev/null +++ b/rpc/src/apis.rs @@ -0,0 +1,10 @@ +use serde_json::Value; + +use jsonrpc_core::Result; +use jsonrpc_derive::rpc; + +use chainx_runtime as runtime; +use runtime::AccountId; + +#[rpc] +pub trait ChainXApi {} diff --git a/rpc/src/author/error.rs b/rpc/src/author/error.rs deleted file mode 100644 index c95531e74f0eb..0000000000000 --- a/rpc/src/author/error.rs +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Authoring RPC module errors. - -use crate::rpc; -use client; -use transaction_pool::txpool; - -use crate::errors; - -/// Author RPC Result type. -pub type Result = std::result::Result; - -/// Author RPC errors. -#[derive(Debug, derive_more::Display, derive_more::From)] -pub enum Error { - /// Client error. - Client(client::error::Error), - /// Transaction pool error, - Pool(txpool::error::Error), - /// Verification error - #[display(fmt = "Extrinsic verification error: {}", "_0.to_string()")] - Verification(Box), - /// Incorrect extrinsic format. - #[display(fmt = "Invalid extrinsic format")] - BadFormat, -} - -impl std::error::Error for Error { - fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - match self { - Error::Client(ref err) => Some(err), - Error::Pool(ref err) => Some(err), - Error::Verification(ref err) => Some(&**err), - _ => None, - } - } -} - -/// Base code for all authorship errors. -const BASE_ERROR: i64 = 1000; -/// Extrinsic has an invalid format. -const BAD_FORMAT: i64 = BASE_ERROR + 1; -/// Error during transaction verification in runtime. -const VERIFICATION_ERROR: i64 = BASE_ERROR + 2; - -/// Pool rejected the transaction as invalid -const POOL_INVALID_TX: i64 = BASE_ERROR + 10; -/// Cannot determine transaction validity. -const POOL_UNKNOWN_VALIDITY: i64 = POOL_INVALID_TX + 1; -/// The transaction is temporarily banned. -const POOL_TEMPORARILY_BANNED: i64 = POOL_INVALID_TX + 2; -/// The transaction is already in the pool -const POOL_ALREADY_IMPORTED: i64 = POOL_INVALID_TX + 3; -/// Transaction has too low priority to replace existing one in the pool. -const POOL_TOO_LOW_PRIORITY: i64 = POOL_INVALID_TX + 4; -/// Including this transaction would cause a dependency cycle. -const POOL_CYCLE_DETECTED: i64 = POOL_INVALID_TX + 5; -/// The transaction was not included to the pool because of the limits. -const POOL_IMMEDIATELY_DROPPED: i64 = POOL_INVALID_TX + 6; - -impl From for rpc::Error { - fn from(e: Error) -> Self { - use txpool::error::Error as PoolError; - - match e { - Error::BadFormat => rpc::Error { - code: rpc::ErrorCode::ServerError(BAD_FORMAT), - message: "Extrinsic has invalid format.".into(), - data: None, - }, - Error::Verification(e) => rpc::Error { - code: rpc::ErrorCode::ServerError(VERIFICATION_ERROR), - message: e.to_string(), - data: Some(format!("{:?}", e).into()), - }, - Error::Pool(PoolError::InvalidTransaction(code)) => rpc::Error { - code: rpc::ErrorCode::ServerError(POOL_INVALID_TX), - message: "Invalid Transaction".into(), - data: Some(code.into()), - }, - Error::Pool(PoolError::UnknownTransactionValidity(code)) => rpc::Error { - code: rpc::ErrorCode::ServerError(POOL_UNKNOWN_VALIDITY), - message: "Unknown Transaction Validity".into(), - data: Some(code.into()), - }, - Error::Pool(PoolError::TemporarilyBanned) => rpc::Error { - code: rpc::ErrorCode::ServerError(POOL_TEMPORARILY_BANNED), - message: "Transaction is temporarily banned".into(), - data: None, - }, - Error::Pool(PoolError::AlreadyImported(hash)) => rpc::Error { - code: rpc::ErrorCode::ServerError(POOL_ALREADY_IMPORTED), - message: "Transaction Already Imported".into(), - data: Some(format!("{:?}", hash).into()), - }, - Error::Pool(PoolError::TooLowPriority { old, new }) => rpc::Error { - code: rpc::ErrorCode::ServerError(POOL_TOO_LOW_PRIORITY), - message: format!("Priority is too low: ({} vs {})", old, new), - data: Some("The transaction has too low priority to replace another transaction already in the pool.".into()), - }, - Error::Pool(PoolError::CycleDetected) => rpc::Error { - code: rpc::ErrorCode::ServerError(POOL_CYCLE_DETECTED), - message: "Cycle Detected".into(), - data: None, - }, - Error::Pool(PoolError::ImmediatelyDropped) => rpc::Error { - code: rpc::ErrorCode::ServerError(POOL_IMMEDIATELY_DROPPED), - message: "Immediately Dropped" .into(), - data: Some("The transaction couldn't enter the pool because of the limit".into()), - }, - e => errors::internal(e), - } - } -} diff --git a/rpc/src/author/hash.rs b/rpc/src/author/hash.rs deleted file mode 100644 index dda0446e8d764..0000000000000 --- a/rpc/src/author/hash.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Extrinsic helpers for author RPC module. - -use primitives::Bytes; -use serde::{Deserialize, Serialize}; - -/// RPC Extrinsic or hash -/// -/// Allows to refer to extrinsic either by its raw representation or its hash. -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub enum ExtrinsicOrHash { - /// The hash of the extrinsic. - Hash(Hash), - /// Raw extrinsic bytes. - Extrinsic(Bytes), -} diff --git a/rpc/src/author/mod.rs b/rpc/src/author/mod.rs deleted file mode 100644 index a70bd371dc3b7..0000000000000 --- a/rpc/src/author/mod.rs +++ /dev/null @@ -1,218 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate block-author/full-node API. - -pub mod error; -pub mod hash; - -#[cfg(test)] -mod tests; - -use std::sync::Arc; - -use self::error::Result; -use crate::rpc::futures::{Future, Sink, Stream}; -use crate::subscriptions::Subscriptions; -use client::{self, Client}; -use jsonrpc_derive::rpc; -use jsonrpc_pubsub::{typed::Subscriber, SubscriptionId}; -use log::warn; -use parity_codec::{Decode, Encode}; -use primitives::{Blake2Hasher, Bytes, H256}; -use runtime_primitives::{generic, traits}; -use transaction_pool::txpool::{ - watcher::Status, BlockHash, ChainApi as PoolChainApi, ExHash, IntoPoolError, Pool, -}; - -pub use self::gen_client::Client as AuthorClient; - -/// Substrate authoring RPC API -#[rpc] -pub trait AuthorApi { - /// RPC metadata - type Metadata; - - /// Submit hex-encoded extrinsic for inclusion in block. - #[rpc(name = "author_submitExtrinsic")] - fn submit_extrinsic(&self, extrinsic: Bytes) -> Result; - - /// Returns all pending extrinsics, potentially grouped by sender. - #[rpc(name = "author_pendingExtrinsics")] - fn pending_extrinsics(&self) -> Result>; - - /// Remove given extrinsic from the pool and temporarily ban it to prevent reimporting. - #[rpc(name = "author_removeExtrinsic")] - fn remove_extrinsic( - &self, - bytes_or_hash: Vec>, - ) -> Result>; - - /// Submit an extrinsic to watch. - #[pubsub( - subscription = "author_extrinsicUpdate", - subscribe, - name = "author_submitAndWatchExtrinsic" - )] - fn watch_extrinsic( - &self, - metadata: Self::Metadata, - subscriber: Subscriber>, - bytes: Bytes, - ); - - /// Unsubscribe from extrinsic watching. - #[pubsub( - subscription = "author_extrinsicUpdate", - unsubscribe, - name = "author_unwatchExtrinsic" - )] - fn unwatch_extrinsic( - &self, - metadata: Option, - id: SubscriptionId, - ) -> Result; -} - -/// Authoring API -pub struct Author -where - P: PoolChainApi + Sync + Send + 'static, -{ - /// Substrate client - client: Arc::Block, RA>>, - /// Transactions pool - pool: Arc>, - /// Subscriptions manager - subscriptions: Subscriptions, -} - -impl Author -where - P: PoolChainApi + Sync + Send + 'static, -{ - /// Create new instance of Authoring API. - pub fn new( - client: Arc::Block, RA>>, - pool: Arc>, - subscriptions: Subscriptions, - ) -> Self { - Author { - client, - pool, - subscriptions, - } - } -} - -impl AuthorApi, BlockHash

> for Author -where - B: client::backend::Backend<

::Block, Blake2Hasher> + Send + Sync + 'static, - E: client::CallExecutor<

::Block, Blake2Hasher> + Send + Sync + 'static, - P: PoolChainApi + Sync + Send + 'static, - P::Block: traits::Block, - P::Error: 'static, - RA: Send + Sync + 'static, -{ - type Metadata = crate::metadata::Metadata; - - fn submit_extrinsic(&self, ext: Bytes) -> Result> { - let xt = Decode::decode(&mut &ext[..]).ok_or(error::Error::BadFormat)?; - let best_block_hash = self.client.info().chain.best_hash; - self.pool - .submit_one(&generic::BlockId::hash(best_block_hash), xt) - .map_err(|e| { - e.into_pool_error() - .map(Into::into) - .unwrap_or_else(|e| error::Error::Verification(Box::new(e)).into()) - }) - } - - fn pending_extrinsics(&self) -> Result> { - Ok(self - .pool - .ready() - .map(|tx| tx.data.encode().into()) - .collect()) - } - - fn remove_extrinsic( - &self, - bytes_or_hash: Vec>>, - ) -> Result>> { - let hashes = bytes_or_hash - .into_iter() - .map(|x| match x { - hash::ExtrinsicOrHash::Hash(h) => Ok(h), - hash::ExtrinsicOrHash::Extrinsic(bytes) => { - let xt = Decode::decode(&mut &bytes[..]).ok_or(error::Error::BadFormat)?; - Ok(self.pool.hash_of(&xt)) - } - }) - .collect::>>()?; - - Ok(self - .pool - .remove_invalid(&hashes) - .into_iter() - .map(|tx| tx.hash.clone()) - .collect()) - } - - fn watch_extrinsic( - &self, - _metadata: Self::Metadata, - subscriber: Subscriber, BlockHash

>>, - xt: Bytes, - ) { - let submit = || -> Result<_> { - let best_block_hash = self.client.info().chain.best_hash; - let dxt = - <

::Block as traits::Block>::Extrinsic::decode(&mut &xt[..]) - .ok_or(error::Error::BadFormat)?; - self.pool - .submit_and_watch(&generic::BlockId::hash(best_block_hash), dxt) - .map_err(|e| { - e.into_pool_error() - .map(Into::into) - .unwrap_or_else(|e| error::Error::Verification(Box::new(e)).into()) - }) - }; - - let watcher = match submit() { - Ok(watcher) => watcher, - Err(err) => { - // reject the subscriber (ignore errors - we don't care if subscriber is no longer there). - let _ = subscriber.reject(err.into()); - return; - } - }; - - self.subscriptions.add(subscriber, move |sink| { - sink.sink_map_err(|e| warn!("Error sending notifications: {:?}", e)) - .send_all(watcher.into_stream().map(Ok)) - .map(|_| ()) - }) - } - - fn unwatch_extrinsic( - &self, - _metadata: Option, - id: SubscriptionId, - ) -> Result { - Ok(self.subscriptions.cancel(id)) - } -} diff --git a/rpc/src/author/tests.rs b/rpc/src/author/tests.rs deleted file mode 100644 index 35bfa0998d3a3..0000000000000 --- a/rpc/src/author/tests.rs +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -use super::*; - -use assert_matches::assert_matches; -use parity_codec::Encode; -use primitives::{blake2_256, hexdisplay::HexDisplay, H256}; -use std::sync::Arc; -use test_client::{ - self, - runtime::{Extrinsic, Transfer}, - AccountKeyring, -}; -use tokio::runtime; -use transaction_pool::{txpool::Pool, ChainApi}; - -fn uxt(sender: AccountKeyring, nonce: u64) -> Extrinsic { - let tx = Transfer { - amount: Default::default(), - nonce, - from: sender.into(), - to: Default::default(), - }; - tx.into_signed_tx() -} - -#[test] -fn submit_transaction_should_not_cause_error() { - let runtime = runtime::Runtime::new().unwrap(); - let client = Arc::new(test_client::new()); - let p = Author { - client: client.clone(), - pool: Arc::new(Pool::new(Default::default(), ChainApi::new(client))), - subscriptions: Subscriptions::new(runtime.executor()), - }; - let xt = uxt(AccountKeyring::Alice, 1).encode(); - let h: H256 = blake2_256(&xt).into(); - - assert_matches!( - AuthorApi::submit_extrinsic(&p, xt.clone().into()), - Ok(h2) if h == h2 - ); - assert!(AuthorApi::submit_extrinsic(&p, xt.into()).is_err()); -} - -#[test] -fn submit_rich_transaction_should_not_cause_error() { - let runtime = runtime::Runtime::new().unwrap(); - let client = Arc::new(test_client::new()); - let p = Author { - client: client.clone(), - pool: Arc::new(Pool::new(Default::default(), ChainApi::new(client.clone()))), - subscriptions: Subscriptions::new(runtime.executor()), - }; - let xt = uxt(AccountKeyring::Alice, 0).encode(); - let h: H256 = blake2_256(&xt).into(); - - assert_matches!( - AuthorApi::submit_extrinsic(&p, xt.clone().into()), - Ok(h2) if h == h2 - ); - assert!(AuthorApi::submit_extrinsic(&p, xt.into()).is_err()); -} - -#[test] -fn should_watch_extrinsic() { - //given - let mut runtime = runtime::Runtime::new().unwrap(); - let client = Arc::new(test_client::new()); - let pool = Arc::new(Pool::new(Default::default(), ChainApi::new(client.clone()))); - let p = Author { - client, - pool: pool.clone(), - subscriptions: Subscriptions::new(runtime.executor()), - }; - let (subscriber, id_rx, data) = ::jsonrpc_pubsub::typed::Subscriber::new_test("test"); - - // when - p.watch_extrinsic( - Default::default(), - subscriber, - uxt(AccountKeyring::Alice, 0).encode().into(), - ); - - // then - assert_eq!(runtime.block_on(id_rx), Ok(Ok(1.into()))); - // check notifications - let replacement = { - let tx = Transfer { - amount: 5, - nonce: 0, - from: AccountKeyring::Alice.into(), - to: Default::default(), - }; - tx.into_signed_tx() - }; - AuthorApi::submit_extrinsic(&p, replacement.encode().into()).unwrap(); - let (res, data) = runtime.block_on(data.into_future()).unwrap(); - assert_eq!( - res, - Some( - r#"{"jsonrpc":"2.0","method":"test","params":{"result":"ready","subscription":1}}"# - .into() - ) - ); - let h = blake2_256(&replacement.encode()); - assert_eq!( - runtime.block_on(data.into_future()).unwrap().0, - Some(format!( - r#"{{"jsonrpc":"2.0","method":"test","params":{{"result":{{"usurped":"0x{}"}},"subscription":1}}}}"#, - HexDisplay::from(&h) - )) - ); -} - -#[test] -fn should_return_pending_extrinsics() { - let runtime = runtime::Runtime::new().unwrap(); - let client = Arc::new(test_client::new()); - let pool = Arc::new(Pool::new(Default::default(), ChainApi::new(client.clone()))); - let p = Author { - client, - pool: pool.clone(), - subscriptions: Subscriptions::new(runtime.executor()), - }; - let ex = uxt(AccountKeyring::Alice, 0); - AuthorApi::submit_extrinsic(&p, ex.encode().into()).unwrap(); - assert_matches!( - p.pending_extrinsics(), - Ok(ref expected) if *expected == vec![Bytes(ex.encode())] - ); -} - -#[test] -fn should_remove_extrinsics() { - let runtime = runtime::Runtime::new().unwrap(); - let client = Arc::new(test_client::new()); - let pool = Arc::new(Pool::new(Default::default(), ChainApi::new(client.clone()))); - let p = Author { - client, - pool: pool.clone(), - subscriptions: Subscriptions::new(runtime.executor()), - }; - let ex1 = uxt(AccountKeyring::Alice, 0); - p.submit_extrinsic(ex1.encode().into()).unwrap(); - let ex2 = uxt(AccountKeyring::Alice, 1); - p.submit_extrinsic(ex2.encode().into()).unwrap(); - let ex3 = uxt(AccountKeyring::Bob, 0); - let hash3 = p.submit_extrinsic(ex3.encode().into()).unwrap(); - assert_eq!(pool.status().ready, 3); - - // now remove all 3 - let removed = p - .remove_extrinsic(vec![ - hash::ExtrinsicOrHash::Hash(hash3), - // Removing this one will also remove ex2 - hash::ExtrinsicOrHash::Extrinsic(ex1.encode().into()), - ]) - .unwrap(); - - assert_eq!(removed.len(), 3); -} diff --git a/rpc/src/chain/error.rs b/rpc/src/chain/error.rs deleted file mode 100644 index 7fc95179ce78a..0000000000000 --- a/rpc/src/chain/error.rs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Error helpers for Chain RPC module. - -use crate::errors; -use crate::rpc; -use client; - -/// Chain RPC Result type. -pub type Result = std::result::Result; - -/// Chain RPC errors. -#[derive(Debug, derive_more::Display, derive_more::From)] -pub enum Error { - /// Client error. - Client(client::error::Error), - /// Other error type. - Other(String), -} - -impl std::error::Error for Error { - fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - match self { - Error::Client(ref err) => Some(err), - _ => None, - } - } -} - -/// Base error code for all chain errors. -const BASE_ERROR: i64 = 3000; - -impl From for rpc::Error { - fn from(e: Error) -> Self { - match e { - Error::Other(message) => rpc::Error { - code: rpc::ErrorCode::ServerError(BASE_ERROR + 1), - message, - data: None, - }, - e => errors::internal(e), - } - } -} diff --git a/rpc/src/chain/mod.rs b/rpc/src/chain/mod.rs deleted file mode 100644 index eee04f2e6b1d3..0000000000000 --- a/rpc/src/chain/mod.rs +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate blockchain API. - -pub mod error; -pub mod number; - -#[cfg(test)] -mod tests; - -use std::sync::Arc; - -use self::error::Result; -use crate::rpc::futures::{stream, Future, Sink, Stream}; -use crate::rpc::Result as RpcResult; -use crate::subscriptions::Subscriptions; -use client::{self, BlockchainEvents, Client}; -use jsonrpc_derive::rpc; -use jsonrpc_pubsub::{typed::Subscriber, SubscriptionId}; -use log::warn; -use primitives::{Blake2Hasher, H256}; -use runtime_primitives::generic::{BlockId, SignedBlock}; -use runtime_primitives::traits::{Block as BlockT, Header, NumberFor}; - -pub use self::gen_client::Client as ChainClient; - -/// Substrate blockchain API -#[rpc] -pub trait ChainApi { - /// RPC metadata - type Metadata; - - /// Get header of a relay chain block. - #[rpc(name = "chain_getHeader")] - fn header(&self, hash: Option) -> Result>; - - /// Get header and body of a relay chain block. - #[rpc(name = "chain_getBlock")] - fn block(&self, hash: Option) -> Result>; - - /// Get hash of the n-th block in the canon chain. - /// - /// By default returns latest block hash. - #[rpc(name = "chain_getBlockHash", alias("chain_getHead"))] - fn block_hash(&self, hash: Option>) -> Result>; - - /// Get hash of the last finalized block in the canon chain. - #[rpc(name = "chain_getFinalizedHead", alias("chain_getFinalisedHead"))] - fn finalized_head(&self) -> Result; - - /// New head subscription - #[pubsub( - subscription = "chain_newHead", - subscribe, - name = "chain_subscribeNewHead", - alias("subscribe_newHead") - )] - fn subscribe_new_head(&self, metadata: Self::Metadata, subscriber: Subscriber

); - - /// Unsubscribe from new head subscription. - #[pubsub( - subscription = "chain_newHead", - unsubscribe, - name = "chain_unsubscribeNewHead", - alias("unsubscribe_newHead") - )] - fn unsubscribe_new_head( - &self, - metadata: Option, - id: SubscriptionId, - ) -> RpcResult; - - /// New head subscription - #[pubsub( - subscription = "chain_finalizedHead", - subscribe, - name = "chain_subscribeFinalizedHeads", - alias("chain_subscribeFinalisedHeads") - )] - fn subscribe_finalized_heads(&self, metadata: Self::Metadata, subscriber: Subscriber
); - - /// Unsubscribe from new head subscription. - #[pubsub( - subscription = "chain_finalizedHead", - unsubscribe, - name = "chain_unsubscribeFinalizedHeads", - alias("chain_unsubscribeFinalisedHeads") - )] - fn unsubscribe_finalized_heads( - &self, - metadata: Option, - id: SubscriptionId, - ) -> RpcResult; -} - -/// Chain API with subscriptions support. -pub struct Chain { - /// Substrate client. - client: Arc>, - /// Current subscriptions. - subscriptions: Subscriptions, -} - -impl Chain { - /// Create new Chain API RPC handler. - pub fn new(client: Arc>, subscriptions: Subscriptions) -> Self { - Self { - client, - subscriptions, - } - } -} - -impl Chain -where - Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Send + Sync + 'static, - RA: Send + Sync + 'static, -{ - fn unwrap_or_best(&self, hash: Option) -> Result { - Ok(match hash { - None => self.client.info().chain.best_hash, - Some(hash) => hash, - }) - } - - fn subscribe_headers( - &self, - subscriber: Subscriber, - best_block_hash: G, - stream: F, - ) where - F: FnOnce() -> S, - G: FnOnce() -> Result>, - ERR: ::std::fmt::Debug, - S: Stream + Send + 'static, - { - self.subscriptions.add(subscriber, |sink| { - // send current head right at the start. - let header = best_block_hash() - .and_then(|hash| self.header(hash.into())) - .and_then(|header| header.ok_or_else(|| "Best header missing.".to_owned().into())) - .map_err(Into::into); - - // send further subscriptions - let stream = stream() - .map(|res| Ok(res)) - .map_err(|e| warn!("Block notification stream error: {:?}", e)); - - sink - .sink_map_err(|e| warn!("Error sending notifications: {:?}", e)) - .send_all( - stream::iter_result(vec![Ok(header)]) - .chain(stream) - ) - // we ignore the resulting Stream (if the first stream is over we are unsubscribed) - .map(|_| ()) - }); - } -} - -impl ChainApi, Block::Hash, Block::Header, SignedBlock> - for Chain -where - Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Send + Sync + 'static, - RA: Send + Sync + 'static, -{ - type Metadata = crate::metadata::Metadata; - - fn header(&self, hash: Option) -> Result> { - let hash = self.unwrap_or_best(hash)?; - Ok(self.client.header(&BlockId::Hash(hash))?) - } - - fn block(&self, hash: Option) -> Result>> { - let hash = self.unwrap_or_best(hash)?; - Ok(self.client.block(&BlockId::Hash(hash))?) - } - - fn block_hash( - &self, - number: Option>>, - ) -> Result> { - Ok(match number { - None => Some(self.client.info().chain.best_hash), - Some(num_or_hex) => self - .client - .header(&BlockId::number(num_or_hex.to_number()?))? - .map(|h| h.hash()), - }) - } - - fn finalized_head(&self) -> Result { - // Ok(self.client.info().chain.finalized_hash) - let (_, finalized_hash) = self - .client - .get_finalized_info(self.client.info().chain.best_hash); - Ok(finalized_hash.unwrap_or(self.client.info().chain.genesis_hash)) - } - - fn subscribe_new_head(&self, _metadata: Self::Metadata, subscriber: Subscriber) { - self.subscribe_headers( - subscriber, - || self.block_hash(None.into()), - || { - self.client - .import_notification_stream() - .filter(|notification| notification.is_new_best) - .map(|notification| notification.header) - }, - ) - } - - fn unsubscribe_new_head( - &self, - _metadata: Option, - id: SubscriptionId, - ) -> RpcResult { - Ok(self.subscriptions.cancel(id)) - } - - fn subscribe_finalized_heads( - &self, - _meta: Self::Metadata, - subscriber: Subscriber, - ) { - self.subscribe_headers( - subscriber, - || self.finalized_head().map(Some), - || { - self.client - .finality_notification_stream() - .map(|notification| notification.header) - }, - ) - } - - fn unsubscribe_finalized_heads( - &self, - _metadata: Option, - id: SubscriptionId, - ) -> RpcResult { - Ok(self.subscriptions.cancel(id)) - } -} diff --git a/rpc/src/chain/number.rs b/rpc/src/chain/number.rs deleted file mode 100644 index b6058bdf1dc60..0000000000000 --- a/rpc/src/chain/number.rs +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Chain RPC Block number type. - -use primitives::U256; -use serde::{Deserialize, Serialize}; -use std::{convert::TryFrom, fmt::Debug}; - -/// RPC Block number type -/// -/// We allow two representations of the block number as input. -/// Either we deserialize to the type that is specified in the block type -/// or we attempt to parse given hex value. -/// We do that for consistency with the returned type, default generic header -/// serializes block number as hex to avoid overflows in JavaScript. -#[derive(Serialize, Deserialize)] -#[serde(untagged)] -pub enum NumberOrHex { - /// The original header number type of block. - Number(Number), - /// Hex representation of the block number. - Hex(U256), -} - -impl + From + Debug + PartialOrd> NumberOrHex { - /// Attempts to convert into concrete block number. - /// - /// Fails in case hex number is too big. - pub fn to_number(self) -> Result { - let num = match self { - NumberOrHex::Number(n) => n, - NumberOrHex::Hex(h) => { - let l = h.low_u64(); - if U256::from(l) != h { - return Err(format!( - "`{}` does not fit into u64 type; unsupported for now.", - h - )); - } else { - Number::try_from(l) - .map_err(|_| format!("`{}` does not fit into block number type.", h))? - } - } - }; - // FIXME <2329>: Database seems to limit the block number to u32 for no reason - if num > Number::from(u32::max_value()) { - return Err(format!( - "`{:?}` > u32::max_value(), the max block number is u32.", - num - )); - } - Ok(num) - } -} - -#[cfg(test)] -impl From for NumberOrHex { - fn from(n: u64) -> Self { - NumberOrHex::Number(n) - } -} - -#[cfg(test)] -impl From for NumberOrHex { - fn from(n: U256) -> Self { - NumberOrHex::Hex(n) - } -} diff --git a/rpc/src/chain/tests.rs b/rpc/src/chain/tests.rs deleted file mode 100644 index 151893364fee1..0000000000000 --- a/rpc/src/chain/tests.rs +++ /dev/null @@ -1,264 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -use super::*; -use assert_matches::assert_matches; -use test_client::{ - consensus::BlockOrigin, - prelude::*, - runtime::{Block, Header, H256}, -}; - -#[test] -fn should_return_header() { - let core = ::tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - - let client = Chain { - client: Arc::new(test_client::new()), - subscriptions: Subscriptions::new(remote), - }; - - assert_matches!( - client.header(Some(client.client.genesis_hash()).into()), - Ok(Some(ref x)) if x == &Header { - parent_hash: H256::from_low_u64_be(0), - number: 0, - state_root: x.state_root.clone(), - extrinsics_root: "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314".parse().unwrap(), - digest: Default::default(), - } - ); - - assert_matches!( - client.header(None.into()), - Ok(Some(ref x)) if x == &Header { - parent_hash: H256::from_low_u64_be(0), - number: 0, - state_root: x.state_root.clone(), - extrinsics_root: "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314".parse().unwrap(), - digest: Default::default(), - } - ); - - assert_matches!( - client.header(Some(H256::from_low_u64_be(5)).into()), - Ok(None) - ); -} - -#[test] -fn should_return_a_block() { - let core = ::tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - - let api = Chain { - client: Arc::new(test_client::new()), - subscriptions: Subscriptions::new(remote), - }; - - let block = api.client.new_block().unwrap().bake().unwrap(); - let block_hash = block.hash(); - api.client.import(BlockOrigin::Own, block).unwrap(); - - // Genesis block is not justified - assert_matches!( - api.block(Some(api.client.genesis_hash()).into()), - Ok(Some(SignedBlock { - justification: None, - .. - })) - ); - - assert_matches!( - api.block(Some(block_hash).into()), - Ok(Some(ref x)) if x.block == Block { - header: Header { - parent_hash: api.client.genesis_hash(), - number: 1, - state_root: x.block.header.state_root.clone(), - extrinsics_root: "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314".parse().unwrap(), - digest: Default::default(), - }, - extrinsics: vec![], - } - ); - - assert_matches!( - api.block(None.into()), - Ok(Some(ref x)) if x.block == Block { - header: Header { - parent_hash: api.client.genesis_hash(), - number: 1, - state_root: x.block.header.state_root.clone(), - extrinsics_root: "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314".parse().unwrap(), - digest: Default::default(), - }, - extrinsics: vec![], - } - ); - - assert_matches!(api.block(Some(H256::from_low_u64_be(5)).into()), Ok(None)); -} - -#[test] -fn should_return_block_hash() { - let core = ::tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - - let client = Chain { - client: Arc::new(test_client::new()), - subscriptions: Subscriptions::new(remote), - }; - - assert_matches!( - client.block_hash(None.into()), - Ok(Some(ref x)) if x == &client.client.genesis_hash() - ); - - assert_matches!( - client.block_hash(Some(0u64.into()).into()), - Ok(Some(ref x)) if x == &client.client.genesis_hash() - ); - - assert_matches!(client.block_hash(Some(1u64.into()).into()), Ok(None)); - - let block = client.client.new_block().unwrap().bake().unwrap(); - client - .client - .import(BlockOrigin::Own, block.clone()) - .unwrap(); - - assert_matches!( - client.block_hash(Some(0u64.into()).into()), - Ok(Some(ref x)) if x == &client.client.genesis_hash() - ); - assert_matches!( - client.block_hash(Some(1u64.into()).into()), - Ok(Some(ref x)) if x == &block.hash() - ); - assert_matches!( - client.block_hash(Some(::primitives::U256::from(1u64).into()).into()), - Ok(Some(ref x)) if x == &block.hash() - ); -} - -#[test] -fn should_return_finalized_hash() { - let core = ::tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - - let client = Chain { - client: Arc::new(test_client::new()), - subscriptions: Subscriptions::new(remote), - }; - - assert_matches!( - client.finalized_head(), - Ok(ref x) if x == &client.client.genesis_hash() - ); - - // import new block - let builder = client.client.new_block().unwrap(); - client - .client - .import(BlockOrigin::Own, builder.bake().unwrap()) - .unwrap(); - // no finalization yet - assert_matches!( - client.finalized_head(), - Ok(ref x) if x == &client.client.genesis_hash() - ); - - // finalize - client - .client - .finalize_block(BlockId::number(1), None, true) - .unwrap(); - assert_matches!( - client.finalized_head(), - Ok(ref x) if x == &client.client.block_hash(1).unwrap().unwrap() - ); -} - -#[test] -fn should_notify_about_latest_block() { - let mut core = ::tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - let (subscriber, id, transport) = Subscriber::new_test("test"); - - { - let api = Chain { - client: Arc::new(test_client::new()), - subscriptions: Subscriptions::new(remote), - }; - - api.subscribe_new_head(Default::default(), subscriber); - - // assert id assigned - assert_eq!(core.block_on(id), Ok(Ok(SubscriptionId::Number(1)))); - - let builder = api.client.new_block().unwrap(); - api.client - .import(BlockOrigin::Own, builder.bake().unwrap()) - .unwrap(); - } - - // assert initial head sent. - let (notification, next) = core.block_on(transport.into_future()).unwrap(); - assert!(notification.is_some()); - // assert notification sent to transport - let (notification, next) = core.block_on(next.into_future()).unwrap(); - assert!(notification.is_some()); - // no more notifications on this channel - assert_eq!(core.block_on(next.into_future()).unwrap().0, None); -} - -#[test] -fn should_notify_about_finalized_block() { - let mut core = ::tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - let (subscriber, id, transport) = Subscriber::new_test("test"); - - { - let api = Chain { - client: Arc::new(test_client::new()), - subscriptions: Subscriptions::new(remote), - }; - - api.subscribe_finalized_heads(Default::default(), subscriber); - - // assert id assigned - assert_eq!(core.block_on(id), Ok(Ok(SubscriptionId::Number(1)))); - - let builder = api.client.new_block().unwrap(); - api.client - .import(BlockOrigin::Own, builder.bake().unwrap()) - .unwrap(); - api.client - .finalize_block(BlockId::number(1), None, true) - .unwrap(); - } - - // assert initial head sent. - let (notification, next) = core.block_on(transport.into_future()).unwrap(); - assert!(notification.is_some()); - // assert notification sent to transport - let (notification, next) = core.block_on(next.into_future()).unwrap(); - assert!(notification.is_some()); - // no more notifications on this channel - assert_eq!(core.block_on(next.into_future()).unwrap().0, None); -} diff --git a/rpc/src/chainx/cache.rs b/rpc/src/chainx/cache.rs deleted file mode 100644 index 74d7f25c80d59..0000000000000 --- a/rpc/src/chainx/cache.rs +++ /dev/null @@ -1,76 +0,0 @@ -use chainx_primitives::Hash; - -pub(crate) struct Cache { - pub hash: Hash, - pub data: T, -} - -static mut OPEN_CACHE: bool = true; - -pub fn set_cache_flag(open: bool) { - unsafe { - OPEN_CACHE = open; - } -} - -#[inline] -pub(crate) fn get_cache_flag() -> bool { - unsafe { OPEN_CACHE } -} - -macro_rules! lru_cache { - ($VT: ty; $hash:ident; $sel:ident $code_block:block) => { - { - let lru_cache_u32_key = 0u32; - lru_cache!(u32, $VT, size=1; key=lru_cache_u32_key; $hash; $sel $code_block) - } - }; - - ($KT:ty, $VT: ty, size=$size:expr; key=$key:ident; $hash:ident; $sel:ident $code_block:block) => { - { - let not_use_cache = $hash.is_some() || !$crate::chainx::cache::get_cache_flag(); - let data = if !not_use_cache { - lazy_static::lazy_static! { - static ref CACHE: std::sync::Mutex>> = std::sync::Mutex::new(lru::LruCache::new($size)); - } - let mut cache = match CACHE.lock() { - Ok(i) => i, - Err(_) => return Err(Error::CacheErr.into()), - }; - // do cache - let best_hash = $sel.client.info().chain.best_hash; - if let Some(item) = cache.get(&$key) { - if item.hash == best_hash { - // hit cache - Ok(item.data.clone()) - } else { - Err(Some((cache, best_hash))) - } - } else { - Err(Some((cache, best_hash))) - } - } else { - Err(None) - }; - match data { - Ok(result) => result, - Err(op) => { - let code_result = $code_block; - match op { - Some((mut c, best_hash)) => { - c.put( - $key.clone(), - $crate::chainx::cache::Cache { - hash: best_hash, - data: code_result.clone(), - }, - ); - }, - None => {} - } - code_result - } - } - } - }; -} diff --git a/rpc/src/chainx/chainx_impl.rs b/rpc/src/chainx/chainx_impl.rs deleted file mode 100644 index 4c39866203688..0000000000000 --- a/rpc/src/chainx/chainx_impl.rs +++ /dev/null @@ -1,1154 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -use super::*; - -use serde_json::{json, Value}; - -use std::iter::FromIterator; - -use parity_codec::{Decode, Encode}; -use rustc_hex::FromHex; -// substrate -use primitives::{Blake2Hasher, H160, H256}; -use runtime_primitives::generic::SignedBlock; -use runtime_primitives::traits::{ - Block as BlockT, NumberFor, ProvideRuntimeApi, SaturatedConversion, -}; - -// chainx -use chainx_runtime::Call; -use xr_primitives::AddrStr; - -use xassets::{AssetLimit, AssetType, Chain, ChainT}; -use xbridge_common::types::GenericAllSessionInfo; -use xbridge_features::{ - self, - crosschain_binding::{BitcoinAddress, EthereumAddress}, -}; -use xspot::{HandicapInfo, OrderIndex, OrderInfo, TradingPair, TradingPairIndex}; - -use crate::chainx::chainx_trait::ChainXApi; -use crate::chainx::utils::*; - -impl - ChainXApi< - NumberFor, - ::Hash, - AccountIdForRpc, - Balance, - BlockNumber, - SignedBlock, - > for ChainX -where - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Clone + Send + Sync + 'static, - Block: BlockT + 'static, - RA: Send + Sync + 'static, - client::Client: ProvideRuntimeApi, - as ProvideRuntimeApi>::Api: Metadata - + XAssetsApi - + XMiningApi - + XSpotApi - + XFeeApi - + XStakingApi - + XBridgeApi - + XContractsApi, -{ - fn block_info(&self, number: Option>) -> Result>> { - Ok(self.client.block(&self.block_id_by_number(number)?)?) - } - - fn extrinsics_events(&self, hash: Option<::Hash>) -> Result { - let hash = hash.unwrap_or(self.client.info().chain.best_hash); - let number = self.block_number_by_hash(hash)?; - - let state = self.state_at(Some(hash))?; - let events = self.get_events(&state)?; - let mut result = BTreeMap::>::new(); - for event_record in events { - match event_record.phase { - system::Phase::ApplyExtrinsic(index) => { - let event = format!("{:?}", event_record.event); - match result.get_mut(&index) { - Some(v) => v.push(event), - None => { - result.insert(index, vec![event]); - } - } - } - system::Phase::Finalization => { - // do nothing - } - } - } - Ok(json!({ - "events": result, - "blockHash": hash, - "number": number, - })) - } - - fn events(&self, hash: Option<::Hash>) -> Result { - let hash = hash.unwrap_or(self.client.info().chain.best_hash); - let number = self.block_number_by_hash(hash)?; - - let state = self.state_at(Some(hash))?; - let events = BTreeMap::::from_iter( - self.get_events(&state)? - .iter() - .enumerate() - .map(|(index, event_record)| (index, format!("{:?}", event_record.event))), - ); - - Ok(json!({ - "events": events, - "blockHash": hash, - "number": number, - })) - } - - fn next_renominate( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result> { - let state = self.state_at(hash)?; - let who: AccountId = who.unchecked_into(); - let key = >::key_for(&who); - if let Some(last_renomination) = - Self::pickout::(&state, &key, Hasher::BLAKE2256)? - { - let key = >::key(); - if let Some(bonding_duration) = - Self::pickout::(&state, &key, Hasher::TWOX128)? - { - return Ok(Some(last_renomination + bonding_duration)); - } - } - Ok(None) - } - - fn staking_dividend( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result> { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - - let block_number = - (*self.client.header(&block_id)?.unwrap().number()).saturated_into::(); - - let mut dividends = Vec::new(); - - for (intention, record_wrapper) in self.get_nomination_records_wrapper(who, hash)? { - let record_v1 = record_wrapper.into(); - let intention_profs_v1 = self.into_or_get_intention_profs_v1(&state, &intention)?; - - let jackpot_balance = - self.get_intention_jackpot_balance(&state, block_id, intention.clone())?; - - let dividend = calculate_staking_dividend( - &record_v1, - &intention_profs_v1, - jackpot_balance, - block_number, - ); - - dividends.push((intention.into(), dividend as u64)); - } - - Ok(BTreeMap::from_iter(dividends.into_iter())) - } - - fn cross_mining_dividend( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result> { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - let who: AccountId = who.unchecked_into(); - - let block_number = - (*self.client.header(&block_id)?.unwrap().number()).saturated_into::(); - - let mut dividends = Vec::new(); - - for record_wrapper in self.get_psedu_nomination_records_wrapper(&state, who.clone())? { - let token = record_wrapper.common.id.clone().into_bytes(); - let p1 = self.into_or_get_psedu_intention_profs_v1(&state, &token)?; - let d1 = record_wrapper.into(); - - let jackpot_balance = - self.get_psedu_intention_jackpot_balance(&state, block_id, token.clone())?; - let miner_balance = self.get_token_free_balance(&state, who.clone(), token.clone())?; - let total_token_balance = self.get_token_total_asset_balance(&state, &token)?; - - let (referral, unclaimed) = calculate_cross_mining_dividend( - d1, - p1, - jackpot_balance, - block_number, - total_token_balance, - miner_balance, - ); - - dividends.push(( - to_string!(&token), - json!({ - "referral": referral, - "unclaimed": unclaimed - }), - )); - } - - Ok(BTreeMap::from_iter(dividends.into_iter())) - } - - fn assets_of( - &self, - who: AccountIdForRpc, - page_index: u32, - page_size: u32, - hash: Option<::Hash>, - ) -> Result>> { - let assets = self.valid_assets_of(self.block_id_by_hash(hash)?, who.unchecked_into())?; - let final_result = assets - .into_iter() - .map(|(token, map)| { - let mut bmap = BTreeMap::::from_iter( - xassets::AssetType::iterator().map(|t| (*t, Zero::zero())), - ); - bmap.extend(map.iter()); - AssetInfo { - name: to_string!(&token), - details: bmap, - } - }) - .collect(); - into_pagedata(final_result, page_index, page_size) - } - - fn assets( - &self, - page_index: u32, - page_size: u32, - hash: Option<::Hash>, - ) -> Result>> { - let assets = self.all_assets(self.block_id_by_hash(hash)?)?; - - let state = self.state_at(hash)?; - - let mut all_assets = Vec::new(); - - for (asset, valid) in assets.into_iter() { - let mut bmap = BTreeMap::::from_iter( - xassets::AssetType::iterator().map(|t| (*t, Zero::zero())), - ); - - let key = >::key_for(asset.token().as_ref()); - if let Some(info) = - Self::pickout::>(&state, &key, Hasher::BLAKE2256)? - { - bmap.extend(info.iter()); - } - - let mut lmap = BTreeMap::::from_iter( - xassets::AssetLimit::iterator().map(|t| (*t, true)), - ); - let key = >::key_for(asset.token().as_ref()); - if let Some(limit) = - Self::pickout::>(&state, &key, Hasher::BLAKE2256)? - { - lmap.extend(limit.iter()); - } - - all_assets.push(TotalAssetInfo::new(asset, valid, bmap, lmap)); - } - - into_pagedata(all_assets, page_index, page_size) - } - - fn verify_addr( - &self, - token: String, - addr: String, - memo: String, - hash: Option<::Hash>, - ) -> Result> { - let token: xassets::Token = token.as_bytes().to_vec(); - let addr: AddrStr = addr.as_bytes().to_vec(); - let memo: xassets::Memo = memo.as_bytes().to_vec(); - - if let Err(_e) = xassets::is_valid_token(&token) { - return Ok(Some(false)); - } - - if addr.len() > 256 || memo.len() > 256 { - return Ok(Some(false)); - } - - let ret = self - .client - .runtime_api() - .verify_address(&self.block_id_by_hash(hash)?, token, addr, memo) - .and_then(|r| match r { - Ok(()) => Ok(None), - Err(s) => Ok(Some(to_string!(s.as_ref()))), - }); - let is_valid = match ret { - Err(_) | Ok(Some(_)) => false, - Ok(None) => true, - }; - Ok(Some(is_valid)) - } - - fn withdrawal_limit( - &self, - token: String, - hash: Option<::Hash>, - ) -> Result>> { - let token: xassets::Token = token.as_bytes().to_vec(); - - if xassets::is_valid_token(&token).is_err() { - return Ok(None); - } - self.withdrawal_limit(self.block_id_by_hash(hash)?, token) - } - - fn deposit_limit( - &self, - token: String, - hash: Option<::Hash>, - ) -> Result> { - let token: xassets::Token = token.as_bytes().to_vec(); - - if xassets::is_valid_token(&token).is_err() { - return Ok(None); - } - let state = self.state_at(hash)?; - // todo use `cando` to refactor if - if token.as_slice() == xbitcoin::Module::::TOKEN { - let key = >::key(); - Self::pickout::(&state, &key, Hasher::TWOX128).map(|value| { - Some(DepositLimit { - minimal_deposit: value.unwrap_or(100_000), - }) - }) - } else { - Ok(None) - } - } - - fn deposit_list( - &self, - chain: Chain, - page_index: u32, - page_size: u32, - hash: Option<::Hash>, - ) -> Result>> { - let list = self - .deposit_list_of(self.block_id_by_hash(hash)?, chain) - .unwrap_or_default(); - - // convert recordinfo to deposit - let records: Vec = list.into_iter().map(Into::into).collect(); - into_pagedata(records, page_index, page_size) - } - - fn withdrawal_list( - &self, - chain: Chain, - page_index: u32, - page_size: u32, - hash: Option<::Hash>, - ) -> Result>> { - let list = self - .withdrawal_list_of(self.block_id_by_hash(hash)?, chain) - .unwrap_or_default(); - let records: Vec = list.into_iter().map(Into::into).collect(); - into_pagedata(records, page_index, page_size) - } - - fn nomination_records( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result>> { - let mut records = Vec::new(); - for (nominee, record_wrapper) in self.get_nomination_records_wrapper(who, hash)? { - if record_wrapper.0.is_err() { - return Err(Error::DeprecatedV0Err("chainx_getNominationRecords".into())); - } - records.push((nominee.into(), record_wrapper.into())); - } - - Ok(Some(records)) - } - - fn nomination_records_v1( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result>> { - Ok(Some( - self.get_nomination_records_wrapper(who, hash)? - .into_iter() - .map(|(a, b)| (a.into(), b.into())) - .collect(), - )) - } - - fn intentions( - &self, - hash: Option<::Hash>, - ) -> Result>> { - let r = lru_cache!(Option>; hash; self { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - - let mut intentions_info = Vec::new(); - for info_wrapper in self.get_intentions_info_wrapper(&state, (block_id, hash))? { - if info_wrapper.intention_profs_wrapper.is_err() { - return Err(Error::DeprecatedV0Err("chainx_getIntentions".into())); - } - intentions_info.push(info_wrapper.into()); - } - - Some(intentions_info) - }); - Ok(r) - } - - fn intentions_v1( - &self, - hash: Option<::Hash>, - ) -> Result>> { - let r = lru_cache!(Option>; hash; self { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - - Some( - self.get_intentions_info_wrapper(&state, (block_id, hash))? - .into_iter() - .map(Into::into) - .collect(), - ) - }); - Ok(r) - } - - fn intention( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result> { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - let who: AccountId = who.unchecked_into(); - - let info_wrapper = self.get_intention_info_wrapper(&state, (block_id, hash), who)?; - if let Some(ref info) = info_wrapper { - if info.intention_profs_wrapper.is_err() { - return Err(Error::DeprecatedV0Err( - "chainx_getIntentionByAccount".into(), - )); - } - } - Ok(info_wrapper.map(Into::into)) - } - - fn intention_v1( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result> { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - let who: AccountId = who.unchecked_into(); - - Ok(self - .get_intention_info_wrapper(&state, (block_id, hash), who)? - .map(Into::into)) - } - - fn psedu_intentions( - &self, - hash: Option<::Hash>, - ) -> Result>> { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - - let mut psedu_intentions_info = Vec::new(); - for info_wrapper in self.get_psedu_intentions_info_wrapper(&state, block_id)? { - if info_wrapper.psedu_intention_profs_wrapper.is_err() { - return Err(Error::DeprecatedV0Err("chainx_getPseduIntentions".into())); - } - psedu_intentions_info.push(info_wrapper.into()); - } - - Ok(Some(psedu_intentions_info)) - } - - fn psedu_intentions_v1( - &self, - hash: Option<::Hash>, - ) -> Result>> { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - - Ok(Some( - self.get_psedu_intentions_info_wrapper(&state, block_id)? - .into_iter() - .map(Into::into) - .collect(), - )) - } - - fn psedu_nomination_records( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result>> { - let state = self.state_at(hash)?; - let who: AccountId = who.unchecked_into(); - - let mut psedu_records = Vec::new(); - for record_wrapper in self.get_psedu_nomination_records_wrapper(&state, who)? { - if record_wrapper.deposit_vote_weight_wrapper.is_err() { - return Err(Error::DeprecatedV0Err( - "chainx_getPseduNominationRecords".into(), - )); - } - psedu_records.push(record_wrapper.into()); - } - - Ok(Some(psedu_records)) - } - - fn psedu_nomination_records_v1( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result>> { - let state = self.state_at(hash)?; - let who: AccountId = who.unchecked_into(); - - Ok(Some( - self.get_psedu_nomination_records_wrapper(&state, who)? - .into_iter() - .map(Into::into) - .collect(), - )) - } - - fn trading_pairs( - &self, - hash: Option<::Hash>, - ) -> Result>> { - let mut pairs = Vec::new(); - let state = self.state_at(hash)?; - - let len_key = >::key(); - if let Some(len) = Self::pickout::(&state, &len_key, Hasher::TWOX128)? { - for i in 0..len { - let key = >::key_for(&i); - if let Some(pair) = Self::pickout::(&state, &key, Hasher::BLAKE2256)? { - let mut info = PairInfo::default(); - info.id = pair.index; - info.assets = to_string!(pair.base_as_ref()); - info.currency = to_string!(pair.quote_as_ref()); - info.precision = pair.pip_precision; - info.online = pair.online; - info.unit_precision = pair.tick_precision; - - let price_key = >::key_for(&i); - if let Some((last_price, aver_price, update_height)) = - Self::pickout::<(Balance, Balance, BlockNumber)>( - &state, - &price_key, - Hasher::BLAKE2256, - )? - { - info.last_price = last_price; - info.aver_price = aver_price; - info.update_height = update_height; - } - - let handicap_key = >::key_for(&i); - if let Some(handicap) = Self::pickout::>( - &state, - &handicap_key, - Hasher::BLAKE2256, - )? { - info.buy_one = handicap.highest_bid; - info.sell_one = handicap.lowest_offer; - - if !handicap.lowest_offer.is_zero() { - info.maximum_bid = handicap.lowest_offer + pair.fluctuation(); - } - info.minimum_offer = if handicap.highest_bid > pair.fluctuation() { - handicap.highest_bid - pair.fluctuation() - } else { - pair.tick() - } - } - - pairs.push(info); - } - } - } - - Ok(Some(pairs)) - } - - fn quotations( - &self, - pair_index: TradingPairIndex, - piece: u32, - hash: Option<::Hash>, - ) -> Result> { - if piece < 1 || piece > 10 { - return Err(Error::QuotationsPieceErr(pair_index)); - } - - let mut quotationslist = QuotationsList::default(); - quotationslist.id = pair_index; - quotationslist.piece = piece; - - let state = self.state_at(hash)?; - - let sum_of_quotations = |orders: Vec<(AccountId, OrderIndex)>| { - orders - .iter() - .map(|q| { - let order_key = >::key_for(q); - Self::pickout::>(&state, &order_key, Hasher::BLAKE2256) - .unwrap() - }) - .map(|order| { - let order = order.unwrap(); - order - .amount() - .checked_sub(order.already_filled) - .unwrap_or_default() - }) - .sum::() - }; - - let push_sum_quotations_at = - |price: Balance, quotations_info: &mut Vec<(Balance, Balance)>| -> Result<()> { - let quotations_key = >::key_for(&(pair_index, price)); - - if let Some(orders) = Self::pickout::>( - &state, - "ations_key, - Hasher::BLAKE2256, - )? { - if !orders.is_empty() { - quotations_info.push((price, sum_of_quotations(orders))); - } - }; - - Ok(()) - }; - - quotationslist.sell = Vec::new(); - quotationslist.buy = Vec::new(); - - let pair_key = >::key_for(&pair_index); - if let Some(pair) = Self::pickout::(&state, &pair_key, Hasher::BLAKE2256)? { - let tick = pair.tick(); - - let handicap_key = >::key_for(&pair_index); - if let Some(handicap) = - Self::pickout::>(&state, &handicap_key, Hasher::BLAKE2256)? - { - let (lowest_offer, highest_bid) = (handicap.lowest_offer, handicap.highest_bid); - - let maximum_bid = if lowest_offer.is_zero() { - 0 - } else { - lowest_offer + pair.fluctuation() - }; - - let minimum_offer = if highest_bid > pair.fluctuation() { - highest_bid - pair.fluctuation() - } else { - 10_u64.pow(pair.tick_precision) - }; - - for price in (lowest_offer..=maximum_bid).step_by(tick as usize) { - push_sum_quotations_at(price, &mut quotationslist.sell)?; - if quotationslist.buy.len() == piece as usize { - break; - } - } - - for price in (minimum_offer..=highest_bid).step_by(tick as usize) { - push_sum_quotations_at(price, &mut quotationslist.buy)?; - if quotationslist.sell.len() == piece as usize { - break; - } - } - }; - } else { - return Err(Error::TradingPairIndexErr(pair_index)); - } - - Ok(Some(quotationslist)) - } - - fn orders( - &self, - who: AccountIdForRpc, - page_index: u32, - page_size: u32, - hash: Option<::Hash>, - ) -> Result>> { - if page_size > MAX_PAGE_SIZE || page_size < 1 { - return Err(Error::PageSizeErr(page_size)); - } - - let mut orders = Vec::new(); - let mut page_total = 0; - - let state = self.state_at(hash)?; - - let who: AccountId = who.unchecked_into(); - - let order_len_key = >::key_for(&who); - if let Some(len) = Self::pickout::(&state, &order_len_key, Hasher::BLAKE2256)? { - let mut total: u32 = 0; - for i in (0..len).rev() { - let order_key = >::key_for(&(who.clone(), i)); - if let Some(order) = - Self::pickout::>(&state, &order_key, Hasher::BLAKE2256)? - { - if total >= page_index * page_size && total < ((page_index + 1) * page_size) { - orders.push(order.into()); - } - total += 1; - } - } - - let total_page: u32 = (total + (page_size - 1)) / page_size; - - page_total = total_page; - - if page_index >= total_page && total_page > 0 { - return Err(Error::PageIndexErr(page_index)); - } - } - - Ok(Some(PageData { - page_total, - page_index, - page_size, - data: orders, - })) - } - - fn address( - &self, - who: AccountIdForRpc, - chain: Chain, - hash: Option<::Hash>, - ) -> Result>> { - let state = self.state_at(hash)?; - - let who: AccountId = who.unchecked_into(); - match chain { - Chain::Bitcoin => { - let key = >::key_for(&who); - match Self::pickout::>(&state, &key, Hasher::BLAKE2256)? { - Some(addrs) => { - let v = addrs - .into_iter() - .map(|addr| addr.to_string()) - .collect::>(); - Ok(Some(v)) - } - None => Ok(Some(vec![])), - } - } - Chain::Ethereum => { - let key = >::key_for(&who); - match Self::pickout::>(&state, &key, Hasher::BLAKE2256)? { - Some(addrs) => { - let v = addrs - .into_iter() - .map(|addr| { - let addr: H160 = addr.into(); - format!("{:?}", addr) - }) - .collect::>(); - Ok(Some(v)) - } - None => Ok(Some(vec![])), - } - } - _ => Err(Error::RuntimeErr( - b"not support for this chain".to_vec(), - None, - )), - } - } - - fn trustee_session_info_for( - &self, - chain: Chain, - number: Option, - hash: Option<::Hash>, - ) -> Result> { - if let Some((number, info)) = - self.trustee_session_info_for(self.block_id_by_hash(hash)?, chain, number)? - { - Ok(parse_trustee_session_info(chain, number, info)) - } else { - Ok(None) - } - } - - fn trustee_info_for_accountid( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> Result> { - let who: AccountId = who.unchecked_into(); - let props_info = self.trustee_props_for(self.block_id_by_hash(hash)?, who)?; - Ok(parse_trustee_props(props_info)) - } - - fn fee( - &self, - call_params: String, - tx_length: u64, - hash: Option<::Hash>, - ) -> Result> { - if !call_params.starts_with("0x") { - return Err(Error::BinaryStartErr); - } - let call_params: Vec = if let Ok(hex_call) = call_params[2..].from_hex() { - hex_call - } else { - return Err(Error::HexDecodeErr); - }; - let call: Call = if let Some(call) = Decode::decode(&mut call_params.as_slice()) { - call - } else { - return Err(Error::DecodeErr); - }; - - let transaction_fee = - self.transaction_fee(self.block_id_by_hash(hash)?, call.encode(), tx_length)?; - - Ok(transaction_fee) - } - - fn fee_weight_map(&self, hash: Option<::Hash>) -> Result { - let fee_weight: Result> = self - .client - .runtime_api() - .fee_weight_map(&self.block_id_by_hash(hash)?) - .map(|m| m.into_iter().map(|(k, v)| (to_string!(&k), v)).collect()) - .map_err(Into::into); - let fee_weight = fee_weight?; - let state = self.state_at(hash)?; - let key = >::key(); - let transaction_base_fee = - Self::pickout::(&state, &key, Hasher::TWOX128)?.unwrap_or(10000); - let key = >::key(); - let transaction_byte_fee = - Self::pickout::(&state, &key, Hasher::TWOX128)?.unwrap_or(100); - Ok(json!( - { - "transactionBaseFee": transaction_base_fee, - "transactionByteFee": transaction_byte_fee, - "feeWeight": fee_weight, - } - )) - } - - fn withdraw_tx( - &self, - chain: Chain, - hash: Option<::Hash>, - ) -> Result> { - let state = self.state_at(hash)?; - match chain { - Chain::Bitcoin => { - let key = >::key(); - Self::pickout::>( - &state, - &key, - Hasher::TWOX128, - ) - .map(|option_data| option_data.map(WithdrawTxInfo::from_bitcoin_proposal)) - } - _ => Ok(None), - } - } - - fn mock_bitcoin_new_trustees( - &self, - candidates: Vec, - hash: Option<::Hash>, - ) -> Result> { - let candidates: Vec = candidates - .into_iter() - .map(|a| a.unchecked_into()) - .collect::>(); - - let runtime_result: result::Result, Vec> = self - .client - .runtime_api() - .mock_new_trustees(&self.block_id_by_hash(hash)?, Chain::Bitcoin, candidates)?; - - runtime_result - .map(|all_session_info| parse_trustee_session_info(Chain::Bitcoin, 0, all_session_info)) - .map_err(|e| Error::RuntimeErr(e, None)) - } - - fn particular_accounts(&self, hash: Option<::Hash>) -> Result> { - let state = self.state_at(hash)?; - - // team addr - let key = xaccounts::TeamAccount::::key(); - let team_account = Self::pickout::(&state, &key, Hasher::TWOX128)?; - - let key = xaccounts::CouncilAccount::::key(); - let council_account = Self::pickout::(&state, &key, Hasher::TWOX128)?; - - let mut map = BTreeMap::new(); - for chain in Chain::iterator() { - let key = xbridge_features::TrusteeMultiSigAddr::::key_for(chain); - let addr = Self::pickout::(&state, &key, Hasher::BLAKE2256)?; - if let Some(a) = addr { - map.insert(chain, a); - } - } - - Ok(Some(json!( - { - "teamAccount": team_account, - "councilAccount": council_account, - "trusteesAccount": map - } - ))) - } - - fn contract_call( - &self, - call_request: CallRequest, - issue_gas: Option, - at: Option<::Hash>, - ) -> Result { - /// A rough estimate of how much gas a decent hardware consumes per second, - /// using native execution. - /// This value is used to set the upper bound for maximal contract calls to - /// prevent blocking the RPC for too long. - /// - /// Based on W3F research spreadsheet: - /// https://docs.google.com/spreadsheets/d/1h0RqncdqiWI4KgxO0z9JIpZEJESXjX_ZCK6LFX6veDo/view - const GAS_PER_SECOND: u64 = 1_000_000_000; - - let api = self.client.runtime_api(); - let at = BlockId::hash(at.unwrap_or_else(|| - // If the block hash is not supplied assume the best block. - self.client.info().chain.best_hash)); - - let issue_gas = issue_gas.unwrap_or(true); - - let CallRequest { - origin, - dest, - gas_limit, - input_data, - } = call_request; - let max_gas_limit = 5 * GAS_PER_SECOND; - if gas_limit > max_gas_limit { - return Err(Error::InvalidParams(format!( - "Requested gas limit is greater than maximum allowed: {} > {}", - gas_limit, max_gas_limit - ))); - } - - let (exec_result, free) = api - .call( - &at, - origin, - dest, - Zero::zero(), - gas_limit, - issue_gas, - input_data.to_vec(), - ) - .map_err(|e| { - Error::RuntimeErr( - b"Runtime trapped while executing a contract.".to_vec(), - Some(format!("{:?}", e)), - ) - })?; - - match exec_result { - ContractExecResult::Success { status, data } => Ok(json!({ - "status": status, - "data": Bytes(data), - "free": if issue_gas { 0 } else { free }, - })), - ContractExecResult::Error(e) => Err(Error::RuntimeErr(e, None)), - } - } - - fn contract_get_storage( - &self, - address: AccountIdForRpc, - key: H256, - at: Option<::Hash>, - ) -> Result> { - let api = self.client.runtime_api(); - let at = BlockId::hash(at.unwrap_or_else(|| - // If the block hash is not supplied assume the best block. - self.client.info().chain.best_hash)); - let address: AccountId = address.unchecked_into(); - - let get_storage_result = api - .get_storage(&at, address, key.into()) - .map_err(|e| - // Handle general API calling errors. - Error::RuntimeErr( - b"Runtime trapped while querying storage.".to_vec(), - Some(format!("{:?}", e)), - ))? - .map_err(Error::ContractGetStorageError)? - .map(Bytes); - - Ok(get_storage_result) - } - - fn contract_xrc20_call( - &self, - call_request: XRC20CallRequest, - at: Option<::Hash>, - ) -> Result { - let api = self.client.runtime_api(); - let at = BlockId::hash(at.unwrap_or_else(|| - // If the block hash is not supplied assume the best block. - self.client.info().chain.best_hash)); - let token = call_request.token.as_bytes().to_vec(); - xassets::is_valid_token(&token).map_err(|e| { - Error::RuntimeErr( - e.as_bytes().to_vec(), - Some("not allow this token for this rpc call".to_string()), - ) - })?; - let exec_result = api - .xrc20_call( - &at, - token, - call_request.selector, - call_request.input_data.to_vec(), - ) - .map_err(|e| { - Error::RuntimeErr( - b"Runtime trapped while executing a contract.".to_vec(), - Some(format!("{:?}", e)), - ) - })?; - - match exec_result { - ContractExecResult::Success { status, data } => { - let result = match call_request.selector { - XRC20Selector::BalanceOf | XRC20Selector::TotalSupply => { - let v: u64 = - Decode::decode(&mut data.as_slice()).ok_or(Error::DecodeErr)?; - json!({ - "status": status, - "data": v, - }) - } - XRC20Selector::Name | XRC20Selector::Symbol => { - let v: Vec = - Decode::decode(&mut data.as_slice()).ok_or(Error::DecodeErr)?; - json!({ - "status": status, - "data": to_string!(&v), - }) - } - XRC20Selector::Decimals => { - let v: u16 = - Decode::decode(&mut data.as_slice()).ok_or(Error::DecodeErr)?; - json!({ - "status": status, - "data": v, - }) - } - _ => json!({ - "status": status, - "data": Bytes(data), - }), - }; - - Ok(result) - } - ContractExecResult::Error(e) => Err(Error::RuntimeErr(e, None)), - } - } - - fn contract_xrc_token_info( - &self, - hash: Option<::Hash>, - ) -> Result> { - let state = self.state_at(hash)?; - - let assets = self.all_assets(self.block_id_by_hash(hash)?)?; - - let mut b = BTreeMap::new(); - - for (asset, _valid) in assets.into_iter() { - let token = asset.token(); - let key = >::key_for(token.as_ref()); - if let Some(info) = Self::pickout::<( - AccountId, - BTreeMap, - )>(&state, &key, Hasher::BLAKE2256)? - { - b.insert(to_string!(&token), json!({ - "XRC20": json!({ - "address": info.0, - "selectors": info.1.into_iter().map(|(k, v)| (k, Bytes(v.to_vec()))).collect::>(), - }) - })); - } - } - Ok(b) - } -} - -fn into_pagedata(src: Vec, page_index: u32, page_size: u32) -> Result>> { - if page_size == 0 { - return Err(Error::PageSizeErr(page_size)); - } - - let page_total = (src.len() as u32 + (page_size - 1)) / page_size; - if page_index >= page_total && page_total > 0 { - return Err(Error::PageIndexErr(page_index)); - } - - let mut list = vec![]; - for (index, item) in src.into_iter().enumerate() { - let index = index as u32; - if index >= page_index * page_size && index < ((page_index + 1) * page_size) { - list.push(item); - } - } - - Ok(Some(PageData { - page_total, - page_index, - page_size, - data: list, - })) -} diff --git a/rpc/src/chainx/chainx_trait.rs b/rpc/src/chainx/chainx_trait.rs deleted file mode 100644 index efa83233d1ee1..0000000000000 --- a/rpc/src/chainx/chainx_trait.rs +++ /dev/null @@ -1,220 +0,0 @@ -use super::*; - -/// ChainX API -#[rpc] -pub trait ChainXApi { - /// Returns the block of a storage entry at a block's Number. - #[rpc(name = "chainx_getBlockByNumber")] - fn block_info(&self, number: Option) -> Result>; - - #[rpc(name = "chainx_getExtrinsicsEventsByBlockHash")] - fn extrinsics_events(&self, hash: Option) -> Result; - - #[rpc(name = "chainx_getEventsByBlockHash")] - fn events(&self, hash: Option) -> Result; - - #[rpc(name = "chainx_getNextRenominateByAccount")] - fn next_renominate(&self, who: AccountId, hash: Option) -> Result>; - - #[rpc(name = "chainx_getStakingDividendByAccount")] - fn staking_dividend( - &self, - who: AccountId, - hash: Option, - ) -> Result>; - - #[rpc(name = "chainx_getCrossMiningDividendByAccount")] - fn cross_mining_dividend( - &self, - who: AccountId, - hash: Option, - ) -> Result>; - - #[rpc(name = "chainx_getAssetsByAccount")] - fn assets_of( - &self, - who: AccountId, - page_index: u32, - page_size: u32, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getAssets")] - fn assets( - &self, - page_index: u32, - page_size: u32, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_verifyAddressValidity")] - fn verify_addr( - &self, - token: String, - addr: String, - memo: String, - hash: Option, - ) -> Result>; - - #[rpc(name = "chainx_getWithdrawalLimitByToken")] - fn withdrawal_limit( - &self, - token: String, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getDepositLimitByToken")] - fn deposit_limit(&self, token: String, hash: Option) -> Result>; - - #[rpc(name = "chainx_getDepositList")] - fn deposit_list( - &self, - chain: Chain, - page_index: u32, - page_size: u32, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getWithdrawalList")] - fn withdrawal_list( - &self, - chain: Chain, - page_index: u32, - page_size: u32, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getNominationRecords")] - fn nomination_records( - &self, - who: AccountId, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getNominationRecordsV1")] - fn nomination_records_v1( - &self, - who: AccountId, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getIntentions")] - fn intentions(&self, hash: Option) -> Result>>; - - #[rpc(name = "chainx_getIntentionsV1")] - fn intentions_v1(&self, hash: Option) -> Result>>; - - #[rpc(name = "chainx_getIntentionByAccount")] - fn intention(&self, who: AccountId, hash: Option) -> Result>; - - #[rpc(name = "chainx_getIntentionByAccountV1")] - fn intention_v1(&self, who: AccountId, hash: Option) -> Result>; - - #[rpc(name = "chainx_getPseduIntentions")] - fn psedu_intentions(&self, hash: Option) -> Result>>; - - #[rpc(name = "chainx_getPseduIntentionsV1")] - fn psedu_intentions_v1(&self, hash: Option) -> Result>>; - - #[rpc(name = "chainx_getPseduNominationRecords")] - fn psedu_nomination_records( - &self, - who: AccountId, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getPseduNominationRecordsV1")] - fn psedu_nomination_records_v1( - &self, - who: AccountId, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getTradingPairs")] - fn trading_pairs(&self, hash: Option) -> Result>>; - - #[rpc(name = "chainx_getQuotations")] - fn quotations( - &self, - id: TradingPairIndex, - piece: u32, - hash: Option, - ) -> Result>; - - #[rpc(name = "chainx_getOrders")] - fn orders( - &self, - who: AccountId, - page_index: u32, - page_size: u32, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getAddressByAccount")] - fn address( - &self, - who: AccountId, - chain: Chain, - hash: Option, - ) -> Result>>; - - #[rpc(name = "chainx_getTrusteeSessionInfo")] - fn trustee_session_info_for( - &self, - chain: Chain, - number: Option, - hash: Option, - ) -> Result>; - - #[rpc(name = "chainx_getTrusteeInfoByAccount")] - fn trustee_info_for_accountid( - &self, - who: AccountId, - hash: Option, - ) -> Result>; - - #[rpc(name = "chainx_getFeeByCallAndLength")] - fn fee(&self, call_params: String, tx_length: u64, hash: Option) -> Result>; - - #[rpc(name = "chainx_getFeeWeightMap")] - fn fee_weight_map(&self, hash: Option) -> Result; - - #[rpc(name = "chainx_getWithdrawTx")] - fn withdraw_tx(&self, chain: Chain, hash: Option) -> Result>; - - #[rpc(name = "chainx_getMockBitcoinNewTrustees")] - fn mock_bitcoin_new_trustees( - &self, - candidates: Vec, - hash: Option, - ) -> Result>; - - #[rpc(name = "chainx_particularAccounts")] - fn particular_accounts(&self, hash: Option) -> Result>; - - #[rpc(name = "chainx_contractCall")] - fn contract_call( - &self, - call_request: CallRequest, - issue_gas: Option, - at: Option, - ) -> Result; - - #[rpc(name = "chainx_contractGetStorage")] - fn contract_get_storage( - &self, - address: AccountId, - key: H256, - at: Option, - ) -> Result>; - - #[rpc(name = "chainx_contractXRC20Call")] - fn contract_xrc20_call( - &self, - call_request: XRC20CallRequest, - at: Option, - ) -> Result; - - #[rpc(name = "chainx_contractXRCTokenInfo")] - fn contract_xrc_token_info(&self, at: Option) -> Result>; -} diff --git a/rpc/src/chainx/error.rs b/rpc/src/chainx/error.rs deleted file mode 100644 index 5ca4cf738b60a..0000000000000 --- a/rpc/src/chainx/error.rs +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -//! Error helpers for ChainX RPC module. - -use std::str; - -use crate::errors; -use crate::rpc; - -pub type Result = std::result::Result; - -#[derive(Debug, derive_more::Display, derive_more::From)] -pub enum Error { - /// Client error. - Client(client::error::Error), - - #[display(fmt = "Method not yet implemented")] - Unimplemented, - - #[display(fmt = "Quotations Piece Err: piece:{}", _0)] - QuotationsPieceErr(u32), - - #[display(fmt = "TradingPair Index error or not exist: pair index:{}", _0)] - TradingPairIndexErr(u32), - - #[display(fmt = "Page Size Must Between 0~100, size:{}", _0)] - PageSizeErr(u32), - - #[display(fmt = "Page Index Error, index:{}", _0)] - PageIndexErr(u32), - - #[display(fmt = "Decode Data Error")] - DecodeErr, - - #[display(fmt = "Start With 0x")] - BinaryStartErr, - - #[display(fmt = "Decode Hex Err")] - HexDecodeErr, - - #[display( - fmt = "Runtime error, reason: {{{:}}}", - "str::from_utf8(&_0).unwrap_or_default()" - )] - RuntimeErr(Vec, Option), - - #[display(fmt = "{:} is Deprecated, Please Use {:}V1 Instead", _0, _0)] - DeprecatedV0Err(String), - - #[display(fmt = "Cache fetch lock error")] - CacheErr, - - #[display(fmt = "Storage record does not exist or not in archive")] - StorageNotExistErr, - - #[display(fmt = "BlockNumber not exist for this hash")] - BlockNumberErr, - - #[display(fmt = "InvalidParams")] - InvalidParams(String), - - ContractGetStorageError(xr_primitives::GetStorageError), -} - -const ERROR: i64 = 1600; - -impl From for rpc::Error { - fn from(e: Error) -> Self { - match e { - Error::Unimplemented => rpc::Error { - code: rpc::ErrorCode::ServerError(1), - message: format!("{:}", e), - data: None, - }, - Error::QuotationsPieceErr(_) => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 5), - message: format!("{:}", e), - data: None, - }, - Error::TradingPairIndexErr(_) => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 6), - message: format!("{:}", e), - data: None, - }, - Error::PageSizeErr(_) => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 7), - message: format!("{:}", e), - data: None, - }, - Error::PageIndexErr(_) => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 8), - message: format!("{:}", e), - data: None, - }, - Error::DecodeErr => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 9), - message: format!("{:}", e), - data: None, - }, - Error::BinaryStartErr => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 10), - message: format!("{:}", e), - data: None, - }, - Error::HexDecodeErr => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 11), - message: format!("{:}", e), - data: None, - }, - Error::RuntimeErr(e, msg) => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 13), - message: format!( - "Runtime error, reason: {{{:}}}", - str::from_utf8(&e).unwrap_or_default() - ), - data: msg.map(Into::into), - }, - Error::DeprecatedV0Err(_) => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 14), - message: format!("{:}", e), - data: None, - }, - Error::StorageNotExistErr => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 15), - message: format!("{:}", e), - data: None, - }, - Error::BlockNumberErr => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 16), - message: format!("{:}", e), - data: None, - }, - Error::InvalidParams(ref s) => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 17), - message: format!("{:}|reason:{}", &e, s), - data: None, - }, - Error::ContractGetStorageError(e) => { - use xr_primitives::GetStorageError::*; - match e { - ContractDoesntExist => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 100), - message: "The specified contract doesn't exist.".into(), - data: None, - }, - IsTombstone => rpc::Error { - code: rpc::ErrorCode::ServerError(ERROR + 101), - message: "The contract is a tombstone and doesn't have any storage.".into(), - data: None, - }, - } - } - e => errors::internal(e), - } - } -} diff --git a/rpc/src/chainx/mod.rs b/rpc/src/chainx/mod.rs deleted file mode 100644 index abd7fa28149ae..0000000000000 --- a/rpc/src/chainx/mod.rs +++ /dev/null @@ -1,662 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -#[macro_use] -mod cache; -#[macro_use] -mod utils; -mod chainx_impl; -mod chainx_trait; -mod error; -mod types; - -use std::collections::btree_map::BTreeMap; -use std::result; -use std::sync::Arc; - -use jsonrpc_derive::rpc; -use parity_codec::Decode; -use serde_json::Value; - -use client::runtime_api::Metadata; -use primitives::crypto::UncheckedInto; -use primitives::storage::{StorageData, StorageKey}; -use primitives::{Blake2Hasher, Bytes, H256}; -use runtime_primitives::generic::BlockId; -use runtime_primitives::traits::Block as BlockT; -use runtime_primitives::traits::{Header as HeaderT, NumberFor, ProvideRuntimeApi, Zero}; -use state_machine::Backend; - -use support::storage::{StorageMap, StorageValue}; - -use chainx_primitives::{AccountId, AccountIdForRpc, AuthorityId, Balance, BlockNumber, Timestamp}; -use chainx_runtime::Runtime; -use xr_primitives::{ContractExecResult, XRC20Selector}; - -use runtime_api::{ - xassets_api::XAssetsApi, xbridge_api::XBridgeApi, xcontracts_api::XContractsApi, - xfee_api::XFeeApi, xmining_api::XMiningApi, xspot_api::XSpotApi, xstaking_api::XStakingApi, -}; - -use xassets::{Asset, AssetType, Chain, ChainT, Token}; -use xbridge_common::types::{GenericAllSessionInfo, GenericTrusteeIntentionProps}; -use xprocess::WithdrawalLimit; -use xspot::TradingPairIndex; -use xtokens::*; - -pub use self::cache::set_cache_flag; -pub use self::chainx_trait::ChainXApi; -use self::error::{Error, Result}; -pub use self::types::*; - -/// Wrap runtime apis in ChainX API. -macro_rules! wrap_runtime_apis { - ( - $( - fn $fn_name:ident( $($arg:ident : $arg_ty:ty),* ) -> $ret:ty; - )+ - ) => { - $( - #[allow(dead_code)] - fn $fn_name(&self, number: BlockId, $($arg: $arg_ty),* ) -> result::Result<$ret, error::Error> { - self.client.runtime_api().$fn_name( &number, $($arg),* ).map_err(Into::into) - } - )+ - }; -} - -/// ChainX API -pub struct ChainX -where - B: client::backend::Backend, - E: client::CallExecutor + Clone + Send + Sync, - Block: BlockT, -{ - client: Arc>, -} - -impl ChainX -where - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Clone + Send + Sync, - Block: BlockT + 'static, - RA: Send + Sync + 'static, - client::Client: ProvideRuntimeApi, - as ProvideRuntimeApi>::Api: Metadata - + XAssetsApi - + XMiningApi - + XSpotApi - + XFeeApi - + XStakingApi - + XBridgeApi - + XContractsApi, -{ - /// Create new ChainX API RPC handler. - pub fn new(client: Arc>) -> Self { - Self { client } - } - - /// Generate storage key. - fn storage_key(key: &[u8], hasher: Hasher) -> StorageKey { - let hashed = match hasher { - Hasher::TWOX128 => primitives::twox_128(key).to_vec(), - Hasher::BLAKE2256 => primitives::blake2_256(key).to_vec(), - }; - - StorageKey(hashed) - } - - fn block_id_by_hash( - &self, - hash: Option<::Hash>, - ) -> result::Result, client::error::Error> { - Ok(BlockId::Hash( - hash.unwrap_or(self.client.info().chain.best_hash), - )) - } - - /// Get BlockId given the number, return the best BlockId if number is none. - fn block_id_by_number( - &self, - number: Option>, - ) -> result::Result, client::error::Error> { - let hash = match number { - None => self.client.info().chain.best_hash, - Some(number) => self - .client - .header(&BlockId::number(number))? - .map(|h| h.hash()) - .unwrap_or(self.client.info().chain.best_hash), - }; - Ok(BlockId::hash(hash)) - } - - fn block_number_by_hash( - &self, - hash: ::Hash, - ) -> result::Result<<::Header as HeaderT>::Number, error::Error> { - if let Some(header) = self.client.header(&BlockId::Hash(hash))? { - Ok(*header.number()) - } else { - Err(error::Error::BlockNumberErr) - } - } - - /// Get chain state from client given the block hash. - fn state_at( - &self, - hash: Option<::Hash>, - ) -> result::Result< - >::State, - client::error::Error, - > { - let state = self.client.state_at(&self.block_id_by_hash(hash)?)?; - Ok(state) - } - - /// Pick out specified data from storage given the state and key. - fn pickout( - state: &>::State, - key: &[u8], - hasher: Hasher, - ) -> result::Result, error::Error> { - Ok(state - .storage(&Self::storage_key(key, hasher).0) - .map_err(|e| client::error::Error::from_state(Box::new(e)))? - .map(StorageData) - .map(|s| Decode::decode(&mut s.0.as_slice())) - .unwrap_or(None)) - } - - fn try_get_v0_then_v1( - &self, - state: &>::State, - key: &[u8], - key_v1: &[u8], - hasher: Hasher, - ) -> result::Result, error::Error> { - if let Some(v) = Self::pickout::(state, key, hasher)? { - Ok(Ok(v)) - } else if let Some(v1) = Self::pickout::(state, key_v1, hasher)? { - Ok(Err(v1)) - } else { - Err(error::Error::StorageNotExistErr) - } - } - - wrap_runtime_apis! { - // XAssetsApi - fn all_assets() -> Vec<(Asset, bool)>; - fn valid_assets_of(who: AccountId) -> Vec<(Token, BTreeMap)>; - fn withdrawal_list_of(chain: Chain) -> Vec>; - fn deposit_list_of(chain: Chain) -> Vec>; - fn withdrawal_limit(token: Token) -> Option>; - - // XMiningApi - fn asset_power(token: Token) -> Option; - fn jackpot_accountid_for_unsafe(who: AccountId) -> AccountId; - fn multi_jackpot_accountid_for_unsafe(intentions: Vec) -> Vec; - fn multi_token_jackpot_accountid_for_unsafe(tokens: Vec) -> Vec; - - // XSpotApi - fn aver_asset_price(token: Token) -> Option; - - // XFeeApi - fn transaction_fee(power: Vec, encoded_len: u64) -> Option; - - // XStakingApi - fn intention_set() -> Vec; - fn intentions_info_common() -> Vec>; - fn intention_info_common_of(who: &AccountId) -> Option>; - - // XBridgeApi - fn trustee_props_for(who: AccountId) -> BTreeMap; - fn trustee_session_info_for(chain: Chain, number: Option) -> Option<(u32, GenericAllSessionInfo)>; - fn trustee_session_info() -> BTreeMap>; - } - - ///////////////////////////////////////////////////////////////////////// - // Utilities for getting storage items via runtime api and some state. - ///////////////////////////////////////////////////////////////////////// - - fn get_tokens_with_jackpot_account( - &self, - state: &>::State, - block_id: BlockId, - ) -> result::Result, error::Error> { - let tokens = self.get_psedu_intentions(state)?; - let jackpot_account_list = - self.multi_token_jackpot_accountid_for_unsafe(block_id, tokens.clone())?; - Ok(tokens - .into_iter() - .zip(jackpot_account_list) - .collect::>()) - } - - fn get_psedu_intention_common( - &self, - state: &>::State, - block_id: BlockId, - token: &Token, - jackpot_account: AccountId, - ) -> result::Result { - let mut common = PseduIntentionInfoCommon::default(); - common.jackpot = self.get_pcx_free_balance(state, jackpot_account.clone())?; - common.discount = self.get_token_discount(state, token)?; - common.circulation = self.get_token_total_asset_balance(state, token)?; - - //注意 - //这里返回的是以PCX计价的"单位"token的价格,已含pcx精度 - //譬如1BTC=10000PCX,则返回的是10000*(10.pow(pcx精度)) - //因此,如果前端要换算折合投票数的时候 - //应该=(资产数量[含精度的数字]*price)/(10^资产精度)=PCX[含PCX精度] - if let Ok(Some(price)) = self.aver_asset_price(block_id, token.clone()) { - common.price = price; - }; - - if let Ok(Some(power)) = self.asset_power(block_id, token.clone()) { - common.power = power; - }; - - common.id = to_string!(token); - common.jackpot_account = jackpot_account.into(); - Ok(common) - } - - ///////////////////////////////////////////////////////////////////////// - // Utilities for getting storage items via runtime api. - ///////////////////////////////////////////////////////////////////////// - - fn get_trustee_info_of( - &self, - block_id: BlockId, - intention: &AccountId, - ) -> result::Result, error::Error> { - let all_session_info = self.trustee_session_info(block_id)?; - let all_trustees = all_session_info - .into_iter() - .map(|(chain, info)| { - ( - chain, - info.trustees_info - .into_iter() - .map(|(accountid, _)| accountid) - .collect::>(), - ) - }) - .collect::>(); - - let mut ret = vec![]; - for (chain, trustees) in all_trustees.iter() { - if trustees.contains(intention) { - ret.push(*chain); - } - } - - Ok(ret) - } - - ///////////////////////////////////////////////////////////////////////// - // Utilities for getting storage items from a certain state. - ///////////////////////////////////////////////////////////////////////// - - /// Get all tokens, i.e., psedu intntions. - fn get_psedu_intentions( - &self, - state: &>::State, - ) -> result::Result, error::Error> { - let key = >::key(); - Ok(Self::pickout::>(state, &key, Hasher::TWOX128)?.unwrap_or_default()) - } - - fn get_token_free_balance( - &self, - state: &>::State, - who: AccountId, - token: Token, - ) -> result::Result { - let key = (who, token); - let balances_key = >::key_for(&key); - let map = - Self::pickout::>(state, &balances_key, Hasher::BLAKE2256)? - .unwrap_or_default(); - Ok(map.get(&AssetType::Free).copied().unwrap_or_default()) - } - - /// Get free balance of PCX given an account. - fn get_pcx_free_balance( - &self, - state: &>::State, - who: AccountId, - ) -> result::Result { - self.get_token_free_balance(state, who, xassets::Module::::TOKEN.to_vec()) - } - - fn get_intention_jackpot_balance( - &self, - state: &>::State, - block_id: BlockId, - intention: AccountId, - ) -> result::Result { - let jackpot_account = self.jackpot_accountid_for_unsafe(block_id, intention)?; - self.get_pcx_free_balance(state, jackpot_account) - } - - fn get_psedu_intention_jackpot_balance( - &self, - state: &>::State, - block_id: BlockId, - token: Token, - ) -> result::Result { - let jackpot_accounts = - self.multi_token_jackpot_accountid_for_unsafe(block_id, vec![token])?; - self.get_pcx_free_balance(state, jackpot_accounts[0].clone()) - } - - fn sum_of_all_kinds_of_balance(balances: BTreeMap) -> Balance { - balances.iter().fold(Zero::zero(), |acc, (_, v)| acc + *v) - } - - /// Get total balance of all kinds of some token. - fn get_token_total_asset_balance( - &self, - state: &>::State, - token: &Token, - ) -> result::Result { - let key = >::key_for(token); - Ok( - Self::pickout::>(state, &key, Hasher::BLAKE2256)? - .map(Self::sum_of_all_kinds_of_balance) - .unwrap_or_default(), - ) - } - - /// Get total balance of account given the token type. - fn get_total_asset_balance_of( - &self, - state: &>::State, - wt_key: &(AccountId, Token), - ) -> result::Result { - let key = >::key_for(wt_key); - Ok( - Self::pickout::>(state, &key, Hasher::BLAKE2256)? - .map(Self::sum_of_all_kinds_of_balance) - .unwrap_or_default(), - ) - } - - fn get_events( - &self, - state: &>::State, - ) -> result::Result< - Vec< - system::EventRecord< - ::Event, - ::Hash, - >, - >, - error::Error, - > { - let key = b"System Events"; - Ok(Self::pickout(state, &key[..], Hasher::TWOX128)?.unwrap_or_default()) - } - - fn get_token_discount( - &self, - state: &>::State, - token: &Token, - ) -> result::Result { - let key = >::key_for(token); - Ok(Self::pickout::(state, &key, Hasher::BLAKE2256)?.unwrap_or_default()) - } - - fn get_next_claim( - &self, - state: &>::State, - who: AccountId, - token: &Token, - ) -> result::Result { - let key = >::key_for(token); - let (_, interval) = Self::pickout::<(u32, BlockNumber)>(state, &key, Hasher::BLAKE2256)? - .unwrap_or((10u32, xtokens::BLOCKS_PER_WEEK)); - - let key = >::key_for(&(who, token.clone())); - - Ok( - Self::pickout::(state, &key, Hasher::BLAKE2256)? - .map(|last_claim| last_claim + interval) - .unwrap_or_default(), - ) - } - - fn try_get_nomination_record( - &self, - state: &>::State, - nr_key: &(AccountId, AccountId), - ) -> result::Result< - std::result::Result< - xstaking::NominationRecord, - xstaking::NominationRecordV1, - >, - error::Error, - > { - let key = >::key_for(nr_key); - let key_v1 = >::key_for(nr_key); - self.try_get_v0_then_v1::< - xstaking::NominationRecord, - xstaking::NominationRecordV1 - >(state, &key, &key_v1, Hasher::BLAKE2256) - } - - fn get_nomination_records_wrapper( - &self, - who: AccountIdForRpc, - hash: Option<::Hash>, - ) -> result::Result, error::Error> { - let state = self.state_at(hash)?; - let block_id = self.block_id_by_hash(hash)?; - let who: AccountId = who.unchecked_into(); - - let records = lru_cache!(AccountId, Vec<(AccountId, NominationRecordWrapper)>, size=512; key=who; hash; self { - let mut records = Vec::new(); - for intention in self.intention_set(block_id)? { - let nr_key = (who.clone(), intention.clone()); - if let Ok(record) = self.try_get_nomination_record(&state, &nr_key) { - records.push((intention, NominationRecordWrapper(record))); - } - } - records - }); - Ok(records) - } - - fn get_psedu_nomination_record_common( - &self, - state: &>::State, - who: &AccountId, - token: &Token, - ) -> result::Result { - let mut common = PseduNominationRecordCommon::default(); - common.id = to_string!(token); - common.balance = self.get_total_asset_balance_of(state, &(who.clone(), token.clone()))?; - common.next_claim = self.get_next_claim(state, who.clone(), token)?; - Ok(common) - } - - fn try_get_intention_profs( - &self, - state: &>::State, - intention: &AccountId, - ) -> result::Result< - std::result::Result< - xstaking::IntentionProfs, - xstaking::IntentionProfsV1, - >, - error::Error, - > { - let key = >::key_for(intention); - let key_v1 = >::key_for(intention); - self.try_get_v0_then_v1::< - xstaking::IntentionProfs, - xstaking::IntentionProfsV1 - >(state, &key, &key_v1, Hasher::BLAKE2256) - } - - fn into_or_get_intention_profs_v1( - &self, - state: &>::State, - intention: &AccountId, - ) -> result::Result, error::Error> { - match self.try_get_intention_profs(state, intention)? { - Ok(x) => Ok(x.into()), - Err(x) => Ok(x), - } - } - - fn into_intention_info_wrapper( - &self, - state: &>::State, - block_id: (BlockId, Option<::Hash>), - common_info: xstaking::IntentionInfoCommon, - ) -> result::Result { - let who = common_info.account.clone(); - let hash = block_id.1; - let info = lru_cache!(AccountId, IntentionInfoWrapper, size=512; key=who; hash; self { - let is_trustee = self.get_trustee_info_of(block_id.0, &who)?; - let intention_profs_wrapper = self.try_get_intention_profs(state, &who)?; - - let intention_props = - IntentionPropsForRpc::new(common_info.intention_props.clone(), who.clone()); - - IntentionInfoWrapper { - intention_common: IntentionInfoCommon { - common: common_info.into(), - is_trustee, - intention_props, - }, - intention_profs_wrapper, - } - }); - Ok(info) - } - - fn get_intention_info_wrapper( - &self, - state: &>::State, - block_id: (BlockId, Option<::Hash>), - who: AccountId, - ) -> result::Result, error::Error> { - let result = if let Some(common_info) = self.intention_info_common_of(block_id.0, &who)? { - Some(self.into_intention_info_wrapper(state, block_id, common_info)?) - } else { - None - }; - Ok(result) - } - - fn get_intentions_info_wrapper( - &self, - state: &>::State, - block_id: (BlockId, Option<::Hash>), - ) -> result::Result, error::Error> { - let mut intentions_info = Vec::new(); - for common_info in self.intentions_info_common(block_id.0)? { - intentions_info.push(self.into_intention_info_wrapper(state, block_id, common_info)?); - } - Ok(intentions_info) - } - - fn try_get_psedu_intention_profs( - &self, - state: &>::State, - token: &Token, - ) -> result::Result< - std::result::Result< - xtokens::PseduIntentionVoteWeight, - xtokens::PseduIntentionVoteWeightV1, - >, - error::Error, - > { - let key = >::key_for(token); - let key_v1 = >::key_for(token); - self.try_get_v0_then_v1::< - PseduIntentionVoteWeight, - PseduIntentionVoteWeightV1 - >(state, &key, &key_v1, Hasher::BLAKE2256) - } - - fn into_or_get_psedu_intention_profs_v1( - &self, - state: &>::State, - token: &Token, - ) -> result::Result, error::Error> { - match self.try_get_psedu_intention_profs(state, token)? { - Ok(x) => Ok(x.into()), - Err(x) => Ok(x), - } - } - - fn get_psedu_intentions_info_wrapper( - &self, - state: &>::State, - block_id: BlockId, - ) -> result::Result, error::Error> { - let mut psedu_intentions_info = Vec::new(); - - for (token, jackpot_account) in self.get_tokens_with_jackpot_account(state, block_id)? { - if let Ok(psedu_intention_profs_wrapper) = - self.try_get_psedu_intention_profs(state, &token) - { - psedu_intentions_info.push(PseduIntentionInfoWrapper { - psedu_intention_common: self.get_psedu_intention_common( - state, - block_id, - &token, - jackpot_account, - )?, - psedu_intention_profs_wrapper, - }); - } - } - Ok(psedu_intentions_info) - } - - fn try_get_deposit_vote_weight( - &self, - state: &>::State, - wt_key: &(AccountId, Token), - ) -> result::Result< - std::result::Result< - xtokens::DepositVoteWeight, - xtokens::DepositVoteWeightV1, - >, - error::Error, - > { - let key = >::key_for(wt_key); - let key_v1 = >::key_for(wt_key); - self.try_get_v0_then_v1::, DepositVoteWeightV1>( - state, - &key, - &key_v1, - Hasher::BLAKE2256, - ) - } - - fn get_psedu_nomination_records_wrapper( - &self, - state: &>::State, - who: AccountId, - ) -> result::Result, error::Error> { - let mut psedu_records = Vec::new(); - for token in self.get_psedu_intentions(&state)? { - if let Ok(deposit_vote_weight_wrapper) = - self.try_get_deposit_vote_weight(&state, &(who.clone(), token.clone())) - { - psedu_records.push(PseduNominationRecordWrapper { - common: self.get_psedu_nomination_record_common(&state, &who, &token)?, - deposit_vote_weight_wrapper, - }); - } - } - Ok(psedu_records) - } -} diff --git a/rpc/src/chainx/types/mod.rs b/rpc/src/chainx/types/mod.rs deleted file mode 100644 index 35f9a5602cf5c..0000000000000 --- a/rpc/src/chainx/types/mod.rs +++ /dev/null @@ -1,342 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -use super::*; - -mod xstaking_types; -mod xtokens_types; - -pub use xstaking_types::*; -pub use xtokens_types::*; - -use std::convert::From; - -use rustc_hex::ToHex; -use serde::{Deserialize, Serialize}; -use serde_json::json; - -use btc_ser::serialize as btc_serialize; - -// chainx -use chainx_primitives::AccountIdForRpc; - -use xassets::AssetLimit; -use xbitcoin::VoteResult; -use xrecords::{HeightOrTime, RecordInfo, TxState}; -use xspot::{ - OrderIndex, OrderInfo, OrderStatus, OrderType, Side, TradeHistoryIndex, TradingPairIndex, -}; - -pub const MAX_PAGE_SIZE: u32 = 100; - -#[derive(PartialEq, Eq, Clone, Copy)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -pub enum Hasher { - TWOX128, - BLAKE2256, -} -impl Default for Hasher { - fn default() -> Self { - Hasher::TWOX128 - } -} - -// utils -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PageData { - pub page_total: u32, - pub page_index: u32, - pub page_size: u32, - pub data: Vec, -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct AssetInfo { - pub name: String, - pub details: BTreeMap, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct TotalAssetInfo { - pub name: String, - pub token_name: String, - pub chain: Chain, - pub precision: u16, - pub desc: String, - pub online: bool, - pub details: BTreeMap, - pub limit_props: BTreeMap, -} - -impl TotalAssetInfo { - pub fn new( - asset: Asset, - online: bool, - details: BTreeMap, - limit_props: BTreeMap, - ) -> TotalAssetInfo { - TotalAssetInfo { - name: to_string!(&asset.token()), - token_name: to_string!(&asset.token_name()), - chain: asset.chain(), - precision: asset.precision(), - desc: to_string!(&asset.desc()), - online, - details, - limit_props, - } - } -} -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub enum WithdrawStatus { - Applying, - Signing, - Broadcasting, - Processing, -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct DepositInfo { - pub time: Timestamp, - /// txid - pub txid: String, - /// deposit-balance - pub balance: Balance, - /// token id - pub token: String, - /// accountid - pub accountid: Option, - /// btc-address - pub address: String, - /// OP_RETURN - pub memo: String, - /// Confirmed height - pub confirm: u32, - /// Total confirmation height - pub total_confirm: u32, -} - -impl From> for DepositInfo { - fn from(record: RecordInfo) -> Self { - let (confirm, total_confirm) = - if let TxState::Confirming(confirm, total_confirm) = record.state { - (confirm, total_confirm) - } else { - panic!("deposit record only has comfirm state"); - }; - - let time = if let HeightOrTime::::Timestamp(time) = - record.height_or_time - { - time - } else { - panic!("deposit record should be timestamp, not height"); - }; - - DepositInfo { - time, - txid: format!("0x{:}", record.txid.to_hex::()), - balance: record.balance, - token: to_string!(&record.token), - accountid: if record.who == Default::default() { - None - } else { - Some(record.who.into()) - }, - address: to_string!(&record.addr), - memo: if record.ext.len() > 2 && to_string!(&record.token) == "BTC" { - to_string!(&record.ext[2..]) - } else { - to_string!(&record.ext) - }, - confirm, - total_confirm, - } - } -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct DepositLimit { - pub minimal_deposit: Balance, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct WithdrawInfo { - pub height: BlockNumber, - ///id - pub id: u32, - /// txid - pub txid: String, - /// withdraw-balance - pub balance: Balance, - /// token id - pub token: String, - /// accountid - pub accountid: AccountIdForRpc, - /// btc-address - pub address: String, - /// withdraw tx status - pub status: Value, - /// application status - pub application_status: String, - /// OP_RETURN - pub memo: String, -} - -impl From> for WithdrawInfo { - fn from(record: RecordInfo) -> Self { - let height = - if let HeightOrTime::::Height(height) = record.height_or_time { - height - } else { - panic!("deposit record should be timestamp, not height"); - }; - - let status = match record.state { - TxState::Confirming(a, b) => json!({ - "value": "Confirming", - "confirm": a, - "totalConfirm": b, - }), - _ => json!({ - "value": record.state - }), - }; - - WithdrawInfo { - height, - id: record.withdrawal_id, - txid: if !record.txid.is_empty() { - format!("0x{:}", record.txid.to_hex::()) - } else { - "".to_string() - }, - balance: record.balance, - token: to_string!(&record.token), - accountid: record.who.into(), - address: to_string!(&record.addr), - status, - application_status: format!( - "{:?}", - record - .application_state - .expect("application state must exist for withdrawal records, not None; qed") - ), - memo: to_string!(&record.ext), - } - } -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct WithdrawTxInfo { - /// tx - pub tx: String, - /// sign_status - pub sign_status: bool, - pub withdrawal_id_list: Vec, - pub trustee_list: Vec<(AccountId, bool)>, -} -impl WithdrawTxInfo { - pub fn from_bitcoin_proposal(proposal: xbitcoin::WithdrawalProposal) -> Self { - let bytes = btc_serialize(&proposal.tx); - let tx: String = bytes.to_hex(); - WithdrawTxInfo { - tx: "0x".to_string() + &tx, - sign_status: proposal.sig_state == VoteResult::Finish, - withdrawal_id_list: proposal.withdrawal_id_list, - trustee_list: proposal.trustee_list, - } - } -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct OrderDetails { - pub submitter: AccountIdForRpc, - pub pair_index: TradingPairIndex, - pub side: Side, - pub amount: Balance, - pub price: Balance, - pub index: OrderIndex, - pub order_type: OrderType, - pub created_at: BlockNumber, - pub status: OrderStatus, - pub remaining: Balance, - pub executed_indices: Vec, - pub already_filled: Balance, - pub last_update_at: BlockNumber, -} - -impl From> for OrderDetails { - fn from(order: OrderInfo) -> Self { - OrderDetails { - submitter: order.submitter().into(), - pair_index: order.pair_index(), - side: order.side(), - amount: order.amount(), - price: order.price(), - index: order.index(), - order_type: order.order_type(), - created_at: order.created_at(), - status: order.status, - remaining: order.remaining, - executed_indices: order.executed_indices, - already_filled: order.already_filled, - last_update_at: order.last_update_at, - } - } -} - -/// OrderPair info -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PairInfo { - pub id: TradingPairIndex, - pub assets: String, - pub currency: String, - pub precision: u32, //价格精度 - pub unit_precision: u32, //最小单位精度 - pub online: bool, - pub last_price: Balance, - pub aver_price: Balance, - pub update_height: BlockNumber, - pub buy_one: Balance, - pub maximum_bid: Balance, - pub sell_one: Balance, - pub minimum_offer: Balance, -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct QuotationsList { - pub id: TradingPairIndex, - pub piece: u32, - pub sell: Vec<(Balance, Balance)>, - pub buy: Vec<(Balance, Balance)>, -} - -#[derive(Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -#[serde(deny_unknown_fields)] -pub struct CallRequest { - pub origin: AccountId, - pub dest: AccountId, - pub gas_limit: u64, - pub input_data: Bytes, -} - -#[derive(Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -#[serde(deny_unknown_fields)] -pub struct XRC20CallRequest { - pub token: String, - pub selector: XRC20Selector, - pub input_data: Bytes, -} diff --git a/rpc/src/chainx/types/xstaking_types.rs b/rpc/src/chainx/types/xstaking_types.rs deleted file mode 100644 index f0087597f9c54..0000000000000 --- a/rpc/src/chainx/types/xstaking_types.rs +++ /dev/null @@ -1,253 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -use super::*; - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Revocation { - pub block_number: BlockNumber, - pub value: Balance, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct NominationRecordForRpc { - pub nomination: Balance, - pub last_vote_weight: u64, - pub last_vote_weight_update: BlockNumber, - pub revocations: Vec, -} - -impl From for NominationRecordForRpc { - fn from(w: NominationRecordWrapper) -> Self { - let record: xstaking::NominationRecord = - w.0.map(Into::into).expect("Ensured it's Ok"); - record.into() - } -} - -#[inline] -fn to_revocation_struct(revocations: Vec<(BlockNumber, Balance)>) -> Vec { - revocations - .iter() - .map(|x| Revocation { - block_number: x.0, - value: x.1, - }) - .collect::>() -} - -impl From> for NominationRecordForRpc { - fn from(record: xstaking::NominationRecord) -> Self { - Self { - nomination: record.nomination, - last_vote_weight: record.last_vote_weight, - last_vote_weight_update: record.last_vote_weight_update, - revocations: to_revocation_struct(record.revocations), - } - } -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct NominationRecordV1ForRpc { - pub nomination: Balance, - pub last_vote_weight: String, - pub last_vote_weight_update: BlockNumber, - pub revocations: Vec, -} - -impl From> for NominationRecordV1ForRpc { - fn from(record: xstaking::NominationRecordV1) -> Self { - Self { - nomination: record.nomination, - last_vote_weight: format!("{}", record.last_vote_weight), - last_vote_weight_update: record.last_vote_weight_update, - revocations: to_revocation_struct(record.revocations), - } - } -} - -impl From for NominationRecordV1ForRpc { - fn from(w: NominationRecordWrapper) -> Self { - let record_v1: xstaking::NominationRecordV1 = w.into(); - record_v1.into() - } -} - -impl From for xstaking::NominationRecordV1 { - fn from(w: NominationRecordWrapper) -> Self { - match w.0 { - Ok(r) => r.into(), - Err(r1) => r1, - } - } -} - -#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -pub struct NominationRecordWrapper( - pub result::Result< - xstaking::NominationRecord, - xstaking::NominationRecordV1, - >, -); - -/// Intention properties -#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct IntentionPropsForRpc { - /// url - pub url: String, - /// is running for the validators - pub is_active: bool, - /// about - pub about: String, - /// session key for block authoring - pub session_key: AccountIdForRpc, -} - -impl IntentionPropsForRpc { - pub fn new( - props: xaccounts::IntentionProps, - intention: AccountId, - ) -> Self { - Self { - url: to_string!(&props.url), - is_active: props.is_active, - about: to_string!(&props.about), - session_key: props.session_key.unwrap_or(intention).into(), - } - } -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct IntentionInfoCommon { - #[serde(flatten)] - pub common: IntentionInfoCommonForRpc, - #[serde(flatten)] - pub intention_props: IntentionPropsForRpc, - /// is trustee - pub is_trustee: Vec, -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct IntentionInfoCommonForRpc { - /// account id of intention - pub account: AccountIdForRpc, - /// name of intention - pub name: String, - /// is validator - pub is_validator: bool, - /// how much has intention voted for itself - pub self_vote: Balance, - /// jackpot - pub jackpot: Balance, - /// jackpot account - pub jackpot_account: AccountIdForRpc, -} - -impl From> - for IntentionInfoCommonForRpc -{ - fn from( - common: xstaking::IntentionInfoCommon, - ) -> Self { - Self { - account: common.account.clone().into(), - name: to_string!(&common.name.unwrap_or_default()), - is_validator: common.is_validator, - self_vote: common.self_bonded, - jackpot: common.jackpot_balance, - jackpot_account: common.jackpot_account.into(), - } - } -} - -/// Due to the serde inability about u128, we use String instead of u128 here. -#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct IntentionProfsV1ForRpc { - /// total nomination from all nominators - pub total_nomination: Balance, - /// vote weight at last update - pub last_total_vote_weight: String, - /// last update time of vote weight - pub last_total_vote_weight_update: BlockNumber, -} - -impl From> for IntentionProfsV1ForRpc { - fn from(iprof_v1: xstaking::IntentionProfsV1) -> Self { - Self { - total_nomination: iprof_v1.total_nomination, - last_total_vote_weight: format!("{}", iprof_v1.last_total_vote_weight), - last_total_vote_weight_update: iprof_v1.last_total_vote_weight_update, - } - } -} - -/// Intention info -#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct IntentionInfo { - #[serde(flatten)] - pub intention_common: IntentionInfoCommon, - #[serde(flatten)] - pub intention_profs: xstaking::IntentionProfs, -} - -/// Intention info -#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct IntentionInfoV1 { - #[serde(flatten)] - pub intention_common: IntentionInfoCommon, - #[serde(flatten)] - pub intention_profs: IntentionProfsV1ForRpc, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct IntentionInfoWrapper { - pub intention_common: IntentionInfoCommon, - pub intention_profs_wrapper: result::Result< - xstaking::IntentionProfs, - xstaking::IntentionProfsV1, - >, -} - -impl From for IntentionInfo { - fn from(info_wrapper: IntentionInfoWrapper) -> Self { - Self { - intention_common: info_wrapper.intention_common, - intention_profs: info_wrapper - .intention_profs_wrapper - .expect("Ensured it's Ok"), - } - } -} - -impl From for IntentionInfoV1 { - fn from(info_wrapper: IntentionInfoWrapper) -> Self { - Self { - intention_common: info_wrapper.intention_common, - intention_profs: match info_wrapper.intention_profs_wrapper { - Ok(x) => { - let x: xstaking::IntentionProfsV1 = x.into(); - x.into() - } - Err(x) => x.into(), - }, - } - } -} - -impl From for xstaking::IntentionProfsV1 { - fn from(info_wrapper: IntentionInfoWrapper) -> Self { - match info_wrapper.intention_profs_wrapper { - Ok(x) => x.into(), - Err(x) => x, - } - } -} diff --git a/rpc/src/chainx/types/xtokens_types.rs b/rpc/src/chainx/types/xtokens_types.rs deleted file mode 100644 index b59fe6cfc4d6a..0000000000000 --- a/rpc/src/chainx/types/xtokens_types.rs +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -use super::*; - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduIntentionInfo { - #[serde(flatten)] - pub psedu_intention_common: PseduIntentionInfoCommon, - #[serde(flatten)] - pub psedu_intention_profs: xtokens::PseduIntentionVoteWeight, -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduIntentionInfoV1 { - #[serde(flatten)] - pub psedu_intention_common: PseduIntentionInfoCommon, - #[serde(flatten)] - pub psedu_intention_profs: PseduIntentionVoteWeightV1ForRpc, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduIntentionInfoWrapper { - pub psedu_intention_common: PseduIntentionInfoCommon, - pub psedu_intention_profs_wrapper: result::Result< - xtokens::PseduIntentionVoteWeight, - xtokens::PseduIntentionVoteWeightV1, - >, -} - -impl From for PseduIntentionInfo { - fn from(info_wrapper: PseduIntentionInfoWrapper) -> Self { - Self { - psedu_intention_common: info_wrapper.psedu_intention_common, - psedu_intention_profs: info_wrapper - .psedu_intention_profs_wrapper - .expect("Ensured it's Ok"), - } - } -} - -impl From for PseduIntentionInfoV1 { - fn from(info_wrapper: PseduIntentionInfoWrapper) -> Self { - Self { - psedu_intention_common: info_wrapper.psedu_intention_common, - psedu_intention_profs: match info_wrapper.psedu_intention_profs_wrapper { - Ok(x) => { - let x: xtokens::PseduIntentionVoteWeightV1 = x.into(); - x.into() - } - Err(x) => x.into(), - }, - } - } -} - -impl From for xtokens::PseduIntentionVoteWeightV1 { - fn from(info_wrapper: PseduIntentionInfoWrapper) -> Self { - match info_wrapper.psedu_intention_profs_wrapper { - Ok(x) => x.into(), - Err(x) => x, - } - } -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduIntentionVoteWeightV1ForRpc { - /// vote weight at last update - pub last_total_deposit_weight: String, - /// last update time of vote weight - pub last_total_deposit_weight_update: BlockNumber, -} - -impl From> for PseduIntentionVoteWeightV1ForRpc { - fn from(d1: PseduIntentionVoteWeightV1) -> Self { - Self { - last_total_deposit_weight: format!("{}", d1.last_total_deposit_weight), - last_total_deposit_weight_update: d1.last_total_deposit_weight_update, - } - } -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduNominationRecordCommon { - /// name of intention - pub id: String, - /// total deposit - pub balance: Balance, - pub next_claim: BlockNumber, -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduNominationRecord { - #[serde(flatten)] - pub common: PseduNominationRecordCommon, - /// vote weight at last update - pub last_total_deposit_weight: u64, - /// last update time of vote weight - pub last_total_deposit_weight_update: BlockNumber, -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduNominationRecordV1 { - #[serde(flatten)] - pub common: PseduNominationRecordCommon, - /// vote weight at last update - pub last_total_deposit_weight: String, - /// last update time of vote weight - pub last_total_deposit_weight_update: BlockNumber, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -pub struct PseduNominationRecordWrapper { - pub common: PseduNominationRecordCommon, - pub deposit_vote_weight_wrapper: result::Result< - xtokens::DepositVoteWeight, - xtokens::DepositVoteWeightV1, - >, -} - -impl From for PseduNominationRecord { - fn from(record_wrapper: PseduNominationRecordWrapper) -> Self { - let record: xtokens::DepositVoteWeight = record_wrapper - .deposit_vote_weight_wrapper - .expect("Ensured it's Ok"); - Self { - common: record_wrapper.common, - last_total_deposit_weight: record.last_deposit_weight, - last_total_deposit_weight_update: record.last_deposit_weight_update, - } - } -} - -impl From for PseduNominationRecordV1 { - fn from(record_wrapper: PseduNominationRecordWrapper) -> Self { - let record_v1: xtokens::DepositVoteWeightV1 = - match record_wrapper.deposit_vote_weight_wrapper { - Ok(r) => r.into(), - Err(r1) => r1, - }; - Self { - common: record_wrapper.common, - last_total_deposit_weight: format!("{}", record_v1.last_deposit_weight), - last_total_deposit_weight_update: record_v1.last_deposit_weight_update, - } - } -} - -impl From for xtokens::DepositVoteWeightV1 { - fn from(record_wrapper: PseduNominationRecordWrapper) -> Self { - match record_wrapper.deposit_vote_weight_wrapper { - Ok(r) => r.into(), - Err(r1) => r1, - } - } -} - -#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PseduIntentionInfoCommon { - /// name of intention - pub id: String, - /// circulation of id - pub circulation: Balance, - pub price: Balance, - pub discount: u32, - pub power: Balance, - /// jackpot - pub jackpot: Balance, - /// jackpot account - pub jackpot_account: AccountIdForRpc, -} diff --git a/rpc/src/chainx/utils.rs b/rpc/src/chainx/utils.rs deleted file mode 100644 index a5f2c55288c4a..0000000000000 --- a/rpc/src/chainx/utils.rs +++ /dev/null @@ -1,192 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -use super::*; - -use std::iter::FromIterator; - -use log::error; -use rustc_hex::ToHex; - -use serde_json::{json, Map, Value}; - -use btc_keys::DisplayLayout; - -// chainx -use chainx_primitives::AccountIdForRpc; -use xr_primitives::generic::b58; - -use xbridge_common::{ - traits::IntoVecu8, - types::{GenericAllSessionInfo, GenericTrusteeIntentionProps}, -}; -use xbridge_features::trustees::{BitcoinPublic, BitcoinTrusteeAddrInfo}; - -/// Convert &[u8] to String -macro_rules! to_string { - ($str:expr) => { - String::from_utf8_lossy($str).into_owned() - }; -} - -pub fn try_hex_or_str(src: &[u8]) -> String { - let check_is_str = |src: &[u8]| -> bool { - for c in src { - if 0x21 <= *c && *c <= 0x7E { - continue; - } else { - return false; - } - } - true - }; - if check_is_str(src) { - to_string!(src) - } else { - format!("0x{:}", src.to_hex::()) - } -} - -fn parse_generic_trustee_props( - chain: Chain, - props: &GenericTrusteeIntentionProps, -) -> Option { - let result = match chain { - Chain::Bitcoin => { - let hot_public = BitcoinPublic::from_vecu8(props.0.hot_entity.as_slice()); - let cold_public = BitcoinPublic::from_vecu8(props.0.cold_entity.as_slice()); - if hot_public.is_none() || cold_public.is_none() { - error!( - "parse_generic_trustee_props for bitcoin error|hot_entity:{:}|cold_entity:{:}", - try_hex_or_str(&props.0.hot_entity), - try_hex_or_str(&props.0.cold_entity) - ); - return None; - } else { - let format_public = |public: &BitcoinPublic| -> Option { - match public { - BitcoinPublic::Normal(_) => { - error!("bitcoin TrusteeIntentionProps entity should be `Compressed`, not `Normal`, something wrong in chain!|public:{:?}", public); - None - } - BitcoinPublic::Compressed(ref hash) => Some(format!("{:?}", hash)), - } - }; - json!({ - "about": to_string!(&props.0.about), - "hotEntity": format_public(&hot_public.unwrap()), - "coldEntity": format_public(&cold_public.unwrap()), - }) - } - } - // TODO when add other trustee, must add related parse here - _ => unimplemented!("not support for other chain"), - }; - Some(result) -} - -pub fn parse_trustee_props(map: BTreeMap) -> Option { - let map = Map::from_iter(map.into_iter().map(|(chain, generic_props)| { - ( - format!("{:?}", chain), - parse_generic_trustee_props(chain, &generic_props).unwrap_or(Value::Null), - ) - })); - Some(Value::Object(map)) -} - -pub fn parse_trustee_session_addr(chain: Chain, addr: &[u8]) -> Option { - let result = match chain { - Chain::Bitcoin => { - let trustee_addr_info = BitcoinTrusteeAddrInfo::from_vecu8(addr); - let trustee_addr_info = if trustee_addr_info.is_none() { - return None; - } else { - trustee_addr_info.unwrap() - }; - - let address = to_string!(&b58::to_base58(trustee_addr_info.addr.layout().to_vec())); - json!({ - "addr": address, - "redeemScript": try_hex_or_str(&trustee_addr_info.redeem_script) - }) - } - // TODO when add other trustee, must add related parse here - _ => unimplemented!("not support for other chain"), - }; - Some(result) -} - -pub fn parse_trustee_session_info( - chain: Chain, - number: u32, - info: GenericAllSessionInfo, -) -> Option { - let hot = parse_trustee_session_addr(chain, &info.hot_entity); - let cold = parse_trustee_session_addr(chain, &info.cold_entity); - Some(json!({ - "sessionNumber": number, - "hotEntity": hot, - "coldEntity": cold, - "counts": info.counts, - "trusteeList": info.trustees_info.into_iter().map(|(accountid, generic_props)| { - let accountid :AccountIdForRpc= accountid.into(); - json!({ - "accountId": accountid, - "props": parse_generic_trustee_props(chain, &generic_props), - }) - }).collect::>() - })) -} - -pub fn calculate_staking_dividend( - record_v1: &xstaking::NominationRecordV1, - intention_profs_v1: &xstaking::IntentionProfsV1, - jackpot_balance: Balance, - current_block: BlockNumber, -) -> Balance { - let target_latest_vote_weight = - intention_profs_v1.settle_latest_vote_weight_safe(current_block); - - if target_latest_vote_weight == 0 { - return 0; - } - - let source_latest_vote_weight = record_v1.settle_latest_vote_weight_safe(current_block); - - let dividend = - source_latest_vote_weight * u128::from(jackpot_balance) / target_latest_vote_weight; - - dividend as u64 -} - -pub fn calculate_cross_mining_dividend( - d1: xtokens::DepositVoteWeightV1, - p1: xtokens::PseduIntentionVoteWeightV1, - jackpot_balance: Balance, - current_block: BlockNumber, - total_token_balance: Balance, - miner_balance: Balance, -) -> (Balance, Balance) { - if current_block < p1.last_total_deposit_weight_update { - return (0, 0); - } - - let duration = current_block - p1.last_total_deposit_weight_update; - let target_latest_vote_weight = - u128::from(total_token_balance) * u128::from(duration) + p1.last_total_deposit_weight; - - if target_latest_vote_weight == 0 || current_block < d1.last_deposit_weight_update { - return (0, 0); - } - - let duration = current_block - d1.last_deposit_weight_update; - let source_latest_vote_weight = - u128::from(miner_balance) * u128::from(duration) + d1.last_deposit_weight; - - let dividend = (source_latest_vote_weight * u128::from(jackpot_balance) - / target_latest_vote_weight) as u64; - - let for_referral = dividend / 10; - - (for_referral, dividend - for_referral) -} diff --git a/rpc/src/errors.rs b/rpc/src/errors.rs index 76a7be9bc38cf..6a4bcbe578b68 100644 --- a/rpc/src/errors.rs +++ b/rpc/src/errors.rs @@ -1,27 +1,12 @@ -// Copyright 2018-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. +use jsonrpc_core::{Error, ErrorCode}; -// Substrate 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. +pub enum ChainXRpcErr {} -// Substrate 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. +const BASE_ERROR: i64 = 5000; -// You should have received a copy of the GNU General Public License -// along with Substrate. If not, see . - -use crate::rpc; -use log::warn; - -pub fn internal(e: E) -> rpc::Error { - warn!("Unknown error: {:?}", e); - rpc::Error { - code: rpc::ErrorCode::InternalError, - message: "Unknown error occured".into(), - data: Some(format!("{:?}", e).into()), - } -} +// impl From for Error { +// fn from(e: ChainXRpcErr) -> Self { +// match e { +// } +// } +// } diff --git a/rpc/src/helpers.rs b/rpc/src/helpers.rs deleted file mode 100644 index 7690d84bb2f36..0000000000000 --- a/rpc/src/helpers.rs +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2018-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -/// Unwraps the trailing parameter or falls back with the closure result. -pub fn unwrap_or_else(or_else: F, optional: Option) -> Result -where - F: FnOnce() -> Result, -{ - match optional.into() { - None => or_else(), - Some(x) => Ok(x), - } -} diff --git a/rpc/src/impls.rs b/rpc/src/impls.rs new file mode 100644 index 0000000000000..e31ff884e4405 --- /dev/null +++ b/rpc/src/impls.rs @@ -0,0 +1,93 @@ +use std::convert::TryInto; +use std::sync::Arc; + +use codec::Decode; +use jsonrpc_core::{Error, ErrorCode, Result}; +use serde_json::{json, Value}; + +use sc_client_api::{backend::Backend, CallExecutor, StorageProvider}; +use sc_service::client::Client; +use sp_api::{BlockT, ProvideRuntimeApi}; +use sp_blockchain::HeaderBackend; +use sp_runtime::generic::BlockId; +use sp_state_machine::Backend as Backend2; + +use frame_support::StorageMap; + +use chainx_runtime::{opaque::Block, AccountId, Runtime}; + +use crate::apis::ChainXApi; +use crate::errors::ChainXRpcErr; + +pub struct ChainXRpc { + client: Arc>, +} + +impl ChainXRpc +where + BE: Backend, + BE::State: sp_state_machine::backend::Backend, + E: CallExecutor + Clone + Send + Sync, + RA: Send + Sync + 'static, + Client: Send + + Sync + + 'static + + ProvideRuntimeApi + + HeaderBackend + + StorageProvider, +{ + /// Create new `ChainXRpc` with the given reference to the client. + pub fn new(client: Arc>) -> Self { + ChainXRpc { client } + } + /// Returns given block hash or best block hash if None is passed. + fn block_or_best(&self, hash: Option<::Hash>) -> ::Hash { + hash.unwrap_or_else(|| self.client.info().best_hash) + } + + fn state(&self, hash: Option<::Hash>) -> Result { + let b = BlockId::Hash(self.block_or_best(hash)); + self.client.state_at(&b).map_err(|e| Error { + code: ErrorCode::InternalError, + message: format!("get state for block:{:?} error:{:?}", b, e), + data: None, + }) + } + + fn pickout(state: &BE::State, key: &[u8]) -> Result> { + let d = state.storage(&key).map_err(|e| Error { + code: ErrorCode::InternalError, + message: format!("get storage for key:0x{:} error:{:?}", hex::encode(key), e), + data: None, + })?; + match d { + None => Ok(None), + Some(value) => Decode::decode(&mut value.as_slice()) + .map(Some) + .map_err(|e| Error { + code: ErrorCode::InternalError, + message: format!( + "decode storage value:0x{:?} error:{:?}", + value.as_slice(), + e + ), + data: None, + }), + } + } +} + +impl ChainXApi<::Hash> for ChainXRpc +where + BE: Backend, + BE::State: sp_state_machine::backend::Backend, + E: CallExecutor + Clone + Send + Sync, + RA: Send + Sync + 'static, + Client: Send + + Sync + + 'static + + ProvideRuntimeApi + + HeaderBackend + + StorageProvider, +{ +} diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index 70a775959ac6b..f7f3ef019c4bf 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -1,44 +1,113 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate RPC interfaces. - -#![allow(clippy::needless_return)] -#![allow(clippy::type_complexity)] -#![allow(clippy::ptr_arg)] -#![allow(clippy::single_match)] -#![allow(clippy::wrong_self_convention)] -#![allow(clippy::large_enum_variant)] -#![allow(clippy::identity_conversion)] -#![allow(clippy::redundant_closure)] -//#![warn(missing_docs)] +#![allow(unused)] +#[macro_use] +mod utils; + +mod apis; mod errors; -mod helpers; -mod subscriptions; +mod impls; +mod types; + +use std::fmt; +use std::sync::Arc; + +use sc_client_api::{backend::Backend, CallExecutor, StorageProvider}; +use sc_service::client::Client; +use sp_api::ProvideRuntimeApi; +use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; +use sp_transaction_pool::TransactionPool; + +use chainx_runtime::{ + opaque::Block, AccountId, ArtvenusId, Balance, BlockNumber, Index, UncheckedExtrinsic, +}; + +use apis::ChainXApi; +use impls::ChainXRpc; + +/// Light client extra dependencies. +pub struct LightDeps { + /// The client instance to use. + pub client: Arc, + /// Transaction pool instance. + pub pool: Arc

, + /// Remote access to the blockchain (async). + pub remote_blockchain: Arc>, + /// Fetcher instance. + pub fetcher: Arc, +} + +/// Full client dependencies. +pub struct FullDeps { + /// The client instance to use. + pub client: Arc>, + /// Transaction pool instance. + pub pool: Arc

, +} + +/// Instantiate all Full RPC extensions. +pub fn create_full(deps: FullDeps) -> jsonrpc_core::IoHandler +where + BE: Backend + 'static, + BE::State: sp_state_machine::backend::Backend, + E: CallExecutor + Clone + Send + Sync, + RA: Send + Sync + 'static, + // B: BlockT + 'static, + Client: ProvideRuntimeApi, + Client: HeaderBackend + + HeaderMetadata + + StorageProvider + + 'static, + Client: Send + Sync + 'static, + as ProvideRuntimeApi>::Api: + substrate_frame_rpc_system::AccountNonceApi, + as ProvideRuntimeApi>::Api: + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi< + Block, + Balance, + UncheckedExtrinsic, + >, + < as ProvideRuntimeApi>::Api as sp_api::ApiErrorExt>::Error: + fmt::Debug, + P: TransactionPool + 'static, + M: jsonrpc_core::Metadata + Default, +{ + use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; + use substrate_frame_rpc_system::{FullSystem, SystemApi}; + + let mut io = jsonrpc_core::IoHandler::default(); + let FullDeps { client, pool } = deps; -pub use subscriptions::Subscriptions; + io.extend_with(SystemApi::to_delegate(FullSystem::new( + client.clone(), + pool, + ))); + io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new( + client.clone(), + ))); + io +} -pub mod author; -pub mod chain; -pub mod chainx; -pub mod metadata; -pub mod state; -pub mod system; +/// Instantiate all Light RPC extensions. +pub fn create_light(deps: LightDeps) -> jsonrpc_core::IoHandler +where + C: sc_client_api::blockchain::HeaderBackend, + C: Send + Sync + 'static, + F: sc_client_api::light::Fetcher + 'static, + P: TransactionPool + 'static, + M: jsonrpc_core::Metadata + Default, +{ + use substrate_frame_rpc_system::{LightSystem, SystemApi}; -use jsonrpc_core as rpc; + let LightDeps { + client, + pool, + remote_blockchain, + fetcher, + } = deps; + let mut io = jsonrpc_core::IoHandler::default(); + io.extend_with(SystemApi::::to_delegate( + LightSystem::new(client, remote_blockchain, fetcher, pool), + )); -pub use chainx::set_cache_flag; + io +} diff --git a/rpc/src/metadata.rs b/rpc/src/metadata.rs deleted file mode 100644 index 54af8c73ae6ce..0000000000000 --- a/rpc/src/metadata.rs +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! RPC Metadata -use std::sync::Arc; - -use crate::rpc::futures::sync::mpsc; -use jsonrpc_pubsub::{PubSubMetadata, Session}; - -/// RPC Metadata. -/// -/// Manages persistent session for transports that support it -/// and may contain some additional info extracted from specific transports -/// (like remote client IP address, request headers, etc) -#[derive(Default, Clone)] -pub struct Metadata { - session: Option>, -} - -impl crate::rpc::Metadata for Metadata {} -impl PubSubMetadata for Metadata { - fn session(&self) -> Option> { - self.session.clone() - } -} - -impl Metadata { - /// Create new `Metadata` with session (Pub/Sub) support. - pub fn new(transport: mpsc::Sender) -> Self { - Metadata { - session: Some(Arc::new(Session::new(transport))), - } - } - - /// Create new `Metadata` for tests. - #[cfg(test)] - pub fn new_test() -> (mpsc::Receiver, Self) { - let (tx, rx) = mpsc::channel(1); - (rx, Self::new(tx)) - } -} diff --git a/rpc/src/state/error.rs b/rpc/src/state/error.rs deleted file mode 100644 index 7b5b49f9b0dbc..0000000000000 --- a/rpc/src/state/error.rs +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! State RPC errors. - -use crate::errors; -use crate::rpc; -use client; - -/// State RPC Result type. -pub type Result = std::result::Result; - -/// State RPC errors. -#[derive(Debug, derive_more::Display, derive_more::From)] -pub enum Error { - /// Client error. - Client(client::error::Error), - /// Provided block range couldn't be resolved to a list of blocks. - #[display( - fmt = "Cannot resolve a block range ['{:?}' ... '{:?}]. {}", - from, - to, - details - )] - InvalidBlockRange { - /// Beginning of the block range. - from: String, - /// End of the block range. - to: String, - /// Details of the error message. - details: String, - }, -} - -impl std::error::Error for Error { - fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - match self { - Error::Client(ref err) => Some(err), - _ => None, - } - } -} - -/// Base code for all state errors. -const BASE_ERROR: i64 = 4000; - -impl From for rpc::Error { - fn from(e: Error) -> Self { - match e { - Error::InvalidBlockRange { .. } => rpc::Error { - code: rpc::ErrorCode::ServerError(BASE_ERROR + 1), - message: format!("{}", e), - data: None, - }, - e => errors::internal(e), - } - } -} diff --git a/rpc/src/state/mod.rs b/rpc/src/state/mod.rs deleted file mode 100644 index 6e81b2ba12122..0000000000000 --- a/rpc/src/state/mod.rs +++ /dev/null @@ -1,703 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate state API. - -pub mod error; - -#[cfg(test)] -mod tests; - -use std::{ - collections::{BTreeMap, HashMap}, - ops::Range, - sync::Arc, -}; - -use self::error::Result; -use crate::rpc::futures::{stream, Future, Sink, Stream}; -use crate::rpc::Result as RpcResult; -use crate::subscriptions::Subscriptions; -use client::{self, runtime_api::Metadata, BlockchainEvents, CallExecutor, Client}; -use jsonrpc_derive::rpc; -use jsonrpc_pubsub::{typed::Subscriber, SubscriptionId}; -use log::{trace, warn}; -use primitives::hexdisplay::HexDisplay; -use primitives::storage::{self, StorageChangeSet, StorageData, StorageKey}; -use primitives::{Blake2Hasher, Bytes, H256}; -use runtime_primitives::generic::BlockId; -use runtime_primitives::traits::{ - Block as BlockT, Header, NumberFor, ProvideRuntimeApi, SaturatedConversion, -}; -use runtime_version::RuntimeVersion; -use state_machine::{self, ExecutionStrategy}; - -pub use self::gen_client::Client as StateClient; - -/// Substrate state API -#[rpc] -pub trait StateApi { - /// RPC Metadata - type Metadata; - - /// Call a contracts at a block's state. - #[rpc(name = "state_call", alias("state_callAt"))] - fn call(&self, name: String, bytes: Bytes, hash: Option) -> Result; - - /// Returns the keys with prefix, leave empty to get all the keys - #[rpc(name = "state_getKeys")] - fn storage_keys(&self, prefix: StorageKey, hash: Option) -> Result>; - - /// Returns a storage entry at a specific block's state. - #[rpc(name = "state_getStorage", alias("state_getStorageAt"))] - fn storage(&self, key: StorageKey, hash: Option) -> Result>; - - #[rpc(name = "state_batchStorage", alias("state_getStorageAt"))] - fn batch_storage( - &self, - key: Vec, - hash: Option, - ) -> Result>>; - - /// Returns the hash of a storage entry at a block's state. - #[rpc(name = "state_getStorageHash", alias("state_getStorageHashAt"))] - fn storage_hash(&self, key: StorageKey, hash: Option) -> Result>; - - /// Returns the size of a storage entry at a block's state. - #[rpc(name = "state_getStorageSize", alias("state_getStorageSizeAt"))] - fn storage_size(&self, key: StorageKey, hash: Option) -> Result>; - - /// Returns the keys with prefix from a child storage, leave empty to get all the keys - #[rpc(name = "state_getChildKeys")] - fn child_storage_keys( - &self, - child_storage_key: StorageKey, - prefix: StorageKey, - hash: Option, - ) -> Result>; - - /// Returns a child storage entry at a specific block's state. - #[rpc(name = "state_getChildStorage")] - fn child_storage( - &self, - child_storage_key: StorageKey, - key: StorageKey, - hash: Option, - ) -> Result>; - - /// Returns the hash of a child storage entry at a block's state. - #[rpc(name = "state_getChildStorageHash")] - fn child_storage_hash( - &self, - child_storage_key: StorageKey, - key: StorageKey, - hash: Option, - ) -> Result>; - - /// Returns the size of a child storage entry at a block's state. - #[rpc(name = "state_getChildStorageSize")] - fn child_storage_size( - &self, - child_storage_key: StorageKey, - key: StorageKey, - hash: Option, - ) -> Result>; - - /// Returns the runtime metadata as an opaque blob. - #[rpc(name = "state_getMetadata")] - fn metadata(&self, hash: Option) -> Result; - - /// Get the runtime version. - #[rpc(name = "state_getRuntimeVersion", alias("chain_getRuntimeVersion"))] - fn runtime_version(&self, hash: Option) -> Result; - - /// Query historical storage entries (by key) starting from a block given as the second parameter. - /// - /// NOTE This first returned result contains the initial state of storage for all keys. - /// Subsequent values in the vector represent changes to the previous state (diffs). - #[rpc(name = "state_queryStorage")] - fn query_storage( - &self, - keys: Vec, - block: Hash, - hash: Option, - ) -> Result>>; - - /// New runtime version subscription - #[pubsub( - subscription = "state_runtimeVersion", - subscribe, - name = "state_subscribeRuntimeVersion", - alias("chain_subscribeRuntimeVersion") - )] - fn subscribe_runtime_version( - &self, - metadata: Self::Metadata, - subscriber: Subscriber, - ); - - /// Unsubscribe from runtime version subscription - #[pubsub( - subscription = "state_runtimeVersion", - unsubscribe, - name = "state_unsubscribeRuntimeVersion", - alias("chain_unsubscribeRuntimeVersion") - )] - fn unsubscribe_runtime_version( - &self, - metadata: Option, - id: SubscriptionId, - ) -> RpcResult; - - /// New storage subscription - #[pubsub( - subscription = "state_storage", - subscribe, - name = "state_subscribeStorage" - )] - fn subscribe_storage( - &self, - metadata: Self::Metadata, - subscriber: Subscriber>, - keys: Option>, - ); - - /// Unsubscribe from storage subscription - #[pubsub( - subscription = "state_storage", - unsubscribe, - name = "state_unsubscribeStorage" - )] - fn unsubscribe_storage( - &self, - metadata: Option, - id: SubscriptionId, - ) -> RpcResult; -} - -/// State API with subscriptions support. -pub struct State { - /// Substrate client. - client: Arc>, - /// Current subscriptions. - subscriptions: Subscriptions, -} - -/// Ranges to query in state_queryStorage. -struct QueryStorageRange { - /// Hashes of all the blocks in the range. - pub hashes: Vec, - /// Number of the first block in the range. - pub first_number: NumberFor, - /// Blocks subrange ([begin; end) indices within `hashes`) where we should read keys at - /// each state to get changes. - pub unfiltered_range: Range, - /// Blocks subrange ([begin; end) indices within `hashes`) where we could pre-filter - /// blocks-with-changes by using changes tries. - pub filtered_range: Option>, -} - -impl State -where - Block: BlockT, - B: client::backend::Backend, - E: CallExecutor, -{ - /// Create new State API RPC handler. - pub fn new(client: Arc>, subscriptions: Subscriptions) -> Self { - Self { - client, - subscriptions, - } - } - - /// Splits the `query_storage` block range into 'filtered' and 'unfiltered' subranges. - /// Blocks that contain changes within filtered subrange could be filtered using changes tries. - /// Blocks that contain changes within unfiltered subrange must be filtered manually. - fn split_query_storage_range( - &self, - from: Block::Hash, - to: Option, - ) -> Result> { - let to = self.unwrap_or_best(to)?; - let from_hdr = self.client.header(&BlockId::hash(from))?; - let to_hdr = self.client.header(&BlockId::hash(to))?; - match (from_hdr, to_hdr) { - (Some(ref from), Some(ref to)) if from.number() <= to.number() => { - // check if we can get from `to` to `from` by going through parent_hashes. - let from_number = *from.number(); - let blocks = { - let mut blocks = vec![to.hash()]; - let mut last = to.clone(); - while *last.number() > from_number { - if let Some(hdr) = - self.client.header(&BlockId::hash(*last.parent_hash()))? - { - blocks.push(hdr.hash()); - last = hdr; - } else { - return Err(invalid_block_range( - Some(from), - Some(to), - format!("Parent of {} ({}) not found", last.number(), last.hash()), - )); - } - } - if last.hash() != from.hash() { - return Err(invalid_block_range( - Some(from), - Some(to), - format!( - "Expected to reach `from`, got {} ({})", - last.number(), - last.hash() - ), - )); - } - blocks.reverse(); - blocks - }; - // check if we can filter blocks-with-changes from some (sub)range using changes tries - let changes_trie_range = self - .client - .max_key_changes_range(from_number, BlockId::Hash(to.hash()))?; - let filtered_range_begin = changes_trie_range - .map(|(begin, _)| (begin - from_number).saturated_into::()); - let (unfiltered_range, filtered_range) = - split_range(blocks.len(), filtered_range_begin); - Ok(QueryStorageRange { - hashes: blocks, - first_number: from_number, - unfiltered_range, - filtered_range, - }) - } - (from, to) => Err(invalid_block_range( - from.as_ref(), - to.as_ref(), - "Invalid range or unknown block".into(), - )), - } - } - - /// Iterates through range.unfiltered_range and check each block for changes of keys' values. - fn query_storage_unfiltered( - &self, - range: &QueryStorageRange, - keys: &[StorageKey], - changes: &mut Vec>, - ) -> Result<()> { - let mut last_state: HashMap<_, Option<_>> = Default::default(); - for block in range.unfiltered_range.start..range.unfiltered_range.end { - let block_hash = range.hashes[block]; - let mut block_changes = StorageChangeSet { - block: block_hash, - changes: Vec::new(), - }; - let id = BlockId::hash(block_hash); - for key in keys { - let (has_changed, data) = { - let curr_data = self.client.storage(&id, key)?; - let prev_data = last_state.get(key).and_then(|x| x.as_ref()); - (curr_data.as_ref() != prev_data, curr_data) - }; - if has_changed { - block_changes.changes.push((key.clone(), data.clone())); - } - last_state.insert(key.clone(), data); - } - changes.push(block_changes); - } - Ok(()) - } - - /// Iterates through all blocks that are changing keys within range.filtered_range and collects these changes. - fn query_storage_filtered( - &self, - range: &QueryStorageRange, - keys: &[StorageKey], - changes: &mut Vec>, - ) -> Result<()> { - let (begin, end) = match range.filtered_range { - Some(ref filtered_range) => ( - range.first_number + filtered_range.start.saturated_into(), - BlockId::Hash(range.hashes[filtered_range.end - 1]), - ), - None => return Ok(()), - }; - let mut changes_map: BTreeMap, StorageChangeSet> = - BTreeMap::new(); - for key in keys { - let mut last_block = None; - for (block, _) in self.client.key_changes(begin, end, key)? { - if last_block == Some(block) { - continue; - } - let block_hash = - range.hashes[(block - range.first_number).saturated_into::()]; - let id = BlockId::Hash(block_hash); - let value_at_block = self.client.storage(&id, key)?; - changes_map - .entry(block) - .or_insert_with(|| StorageChangeSet { - block: block_hash, - changes: Vec::new(), - }) - .changes - .push((key.clone(), value_at_block)); - last_block = Some(block); - } - } - if let Some(additional_capacity) = changes_map.len().checked_sub(changes.len()) { - changes.reserve(additional_capacity); - } - changes.extend(changes_map.into_iter().map(|(_, cs)| cs)); - Ok(()) - } -} - -impl State -where - Block: BlockT, - B: client::backend::Backend, - E: CallExecutor, -{ - fn unwrap_or_best(&self, hash: Option) -> Result { - crate::helpers::unwrap_or_else(|| Ok(self.client.info().chain.best_hash), hash) - } -} - -impl StateApi for State -where - Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: CallExecutor + Send + Sync + 'static + Clone, - RA: Send + Sync + 'static, - Client: ProvideRuntimeApi, - as ProvideRuntimeApi>::Api: Metadata, -{ - type Metadata = crate::metadata::Metadata; - - fn call(&self, method: String, data: Bytes, block: Option) -> Result { - let block = self.unwrap_or_best(block)?; - trace!(target: "rpc", "Calling runtime at {:?} for method {} ({})", block, method, HexDisplay::from(&data.0)); - let return_data = self.client.executor().call( - &BlockId::Hash(block), - &method, - &data.0, - ExecutionStrategy::NativeElseWasm, - state_machine::NeverOffchainExt::new(), - )?; - Ok(Bytes(return_data)) - } - - fn storage_keys( - &self, - key_prefix: StorageKey, - block: Option, - ) -> Result> { - let block = self.unwrap_or_best(block)?; - trace!(target: "rpc", "Querying storage keys at {:?}", block); - Ok(self - .client - .storage_keys(&BlockId::Hash(block), &key_prefix)?) - } - - fn storage(&self, key: StorageKey, block: Option) -> Result> { - let block = self.unwrap_or_best(block)?; - trace!(target: "rpc", "Querying storage at {:?} for key {}", block, HexDisplay::from(&key.0)); - Ok(self.client.storage(&BlockId::Hash(block), &key)?) - } - - fn batch_storage( - &self, - key: Vec, - block: Option, - ) -> Result>> { - let block = self.unwrap_or_best(block)?; - let mut result = vec![]; - for k in key { - let r = self.client.storage(&BlockId::Hash(block), &k)?; - result.push(r); - } - Ok(result) - } - - fn storage_hash( - &self, - key: StorageKey, - block: Option, - ) -> Result> { - let block = self.unwrap_or_best(block)?; - trace!(target: "rpc", "Querying storage hash at {:?} for key {}", block, HexDisplay::from(&key.0)); - Ok(self.client.storage_hash(&BlockId::Hash(block), &key)?) - } - - fn storage_size(&self, key: StorageKey, block: Option) -> Result> { - Ok(self.storage(key, block)?.map(|x| x.0.len() as u64)) - } - - fn child_storage( - &self, - child_storage_key: StorageKey, - key: StorageKey, - block: Option, - ) -> Result> { - let block = self.unwrap_or_best(block)?; - trace!(target: "rpc", "Querying child storage at {:?} for key {}", block, HexDisplay::from(&key.0)); - Ok(self - .client - .child_storage(&BlockId::Hash(block), &child_storage_key, &key)?) - } - - fn child_storage_keys( - &self, - child_storage_key: StorageKey, - key_prefix: StorageKey, - block: Option, - ) -> Result> { - let block = self.unwrap_or_best(block)?; - trace!(target: "rpc", "Querying child storage keys at {:?}", block); - Ok(self.client.child_storage_keys( - &BlockId::Hash(block), - &child_storage_key, - &key_prefix, - )?) - } - - fn child_storage_hash( - &self, - child_storage_key: StorageKey, - key: StorageKey, - block: Option, - ) -> Result> { - let block = self.unwrap_or_best(block)?; - trace!( - target: "rpc", "Querying child storage hash at {:?} for key {}", - block, - HexDisplay::from(&key.0), - ); - Ok(self - .client - .child_storage_hash(&BlockId::Hash(block), &child_storage_key, &key)?) - } - - fn child_storage_size( - &self, - child_storage_key: StorageKey, - key: StorageKey, - block: Option, - ) -> Result> { - Ok(self - .child_storage(child_storage_key, key, block)? - .map(|x| x.0.len() as u64)) - } - - fn metadata(&self, block: Option) -> Result { - let block = self.unwrap_or_best(block)?; - self.client - .runtime_api() - .metadata(&BlockId::Hash(block)) - .map(Into::into) - .map_err(Into::into) - } - - fn query_storage( - &self, - keys: Vec, - from: Block::Hash, - to: Option, - ) -> Result>> { - let range = self.split_query_storage_range(from, to)?; - let mut changes = Vec::new(); - self.query_storage_unfiltered(&range, &keys, &mut changes)?; - self.query_storage_filtered(&range, &keys, &mut changes)?; - Ok(changes) - } - - fn subscribe_storage( - &self, - _meta: Self::Metadata, - subscriber: Subscriber>, - keys: Option>, - ) { - let keys = Into::>>::into(keys); - let stream = match self - .client - .storage_changes_notification_stream(keys.as_ref().map(|x| &**x), None) - { - Ok(stream) => stream, - Err(err) => { - let _ = subscriber.reject(error::Error::from(err).into()); - return; - } - }; - - // initial values - let initial = stream::iter_result( - keys.map(|keys| { - let block = self.client.info().chain.best_hash; - let changes = keys - .into_iter() - .map(|key| { - self.storage(key.clone(), Some(block)) - .map(|val| (key.clone(), val)) - .unwrap_or_else(|_| (key, None)) - }) - .collect(); - vec![Ok(Ok(StorageChangeSet { block, changes }))] - }) - .unwrap_or_default(), - ); - - self.subscriptions.add(subscriber, |sink| { - let stream = stream - .map_err(|e| warn!("Error creating storage notification stream: {:?}", e)) - .map(|(block, changes)| { - Ok(StorageChangeSet { - block, - changes: changes - .iter() - .filter_map(|(o_sk, k, v)| { - if o_sk.is_none() { - Some((k.clone(), v.cloned())) - } else { - None - } - }) - .collect(), - }) - }); - - sink - .sink_map_err(|e| warn!("Error sending notifications: {:?}", e)) - .send_all(initial.chain(stream)) - // we ignore the resulting Stream (if the first stream is over we are unsubscribed) - .map(|_| ()) - }) - } - - fn unsubscribe_storage( - &self, - _meta: Option, - id: SubscriptionId, - ) -> RpcResult { - Ok(self.subscriptions.cancel(id)) - } - - fn runtime_version(&self, at: Option) -> Result { - let at = self.unwrap_or_best(at)?; - Ok(self.client.runtime_version_at(&BlockId::Hash(at))?) - } - - fn subscribe_runtime_version( - &self, - _meta: Self::Metadata, - subscriber: Subscriber, - ) { - let stream = match self.client.storage_changes_notification_stream( - Some(&[StorageKey(storage::well_known_keys::CODE.to_vec())]), - None, - ) { - Ok(stream) => stream, - Err(err) => { - let _ = subscriber.reject(error::Error::from(err).into()); - return; - } - }; - - self.subscriptions.add(subscriber, |sink| { - let version = self.runtime_version(None).map_err(Into::into); - - let client = self.client.clone(); - let mut previous_version = version.clone(); - - let stream = stream - .map_err(|e| warn!("Error creating storage notification stream: {:?}", e)) - .filter_map(move |_| { - let info = client.info(); - let version = client - .runtime_version_at(&BlockId::hash(info.chain.best_hash)) - .map_err(error::Error::from) - .map_err(Into::into); - if previous_version != version { - previous_version = version.clone(); - Some(version) - } else { - None - } - }); - - sink - .sink_map_err(|e| warn!("Error sending notifications: {:?}", e)) - .send_all( - stream::iter_result(vec![Ok(version)]) - .chain(stream) - ) - // we ignore the resulting Stream (if the first stream is over we are unsubscribed) - .map(|_| ()) - }); - } - - fn unsubscribe_runtime_version( - &self, - _meta: Option, - id: SubscriptionId, - ) -> RpcResult { - Ok(self.subscriptions.cancel(id)) - } -} - -/// Splits passed range into two subranges where: -/// - first range has at least one element in it; -/// - second range (optionally) starts at given `middle` element. -pub(crate) fn split_range( - size: usize, - middle: Option, -) -> (Range, Option>) { - // check if we can filter blocks-with-changes from some (sub)range using changes tries - let range2_begin = match middle { - // some of required changes tries are pruned => use available tries - Some(middle) if middle != 0 => Some(middle), - // all required changes tries are available, but we still want values at first block - // => do 'unfiltered' read for the first block and 'filtered' for the rest - Some(_) if size > 1 => Some(1), - // range contains single element => do not use changes tries - Some(_) => None, - // changes tries are not available => do 'unfiltered' read for the whole range - None => None, - }; - let range1 = 0..range2_begin.unwrap_or(size); - let range2 = range2_begin.map(|begin| begin..size); - (range1, range2) -} - -fn invalid_block_range( - from: Option<&H>, - to: Option<&H>, - reason: String, -) -> error::Error { - let to_string = |x: Option<&H>| match x { - None => "unknown hash".into(), - Some(h) => format!("{} ({})", h.number(), h.hash()), - }; - - error::Error::InvalidBlockRange { - from: to_string(from), - to: to_string(to), - details: reason, - } -} diff --git a/rpc/src/state/tests.rs b/rpc/src/state/tests.rs deleted file mode 100644 index 7039770154dd8..0000000000000 --- a/rpc/src/state/tests.rs +++ /dev/null @@ -1,309 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -use self::error::Error; -use super::*; - -use assert_matches::assert_matches; -use primitives::storage::well_known_keys; -use sr_io::blake2_256; -use substrate_executor::NativeExecutionDispatch; -use test_client::{consensus::BlockOrigin, prelude::*, runtime}; - -#[test] -fn should_return_storage() { - let core = tokio::runtime::Runtime::new().unwrap(); - let client = Arc::new(test_client::new()); - let genesis_hash = client.genesis_hash(); - let client = State::new(client, Subscriptions::new(core.executor())); - let key = StorageKey(b":code".to_vec()); - - assert_eq!( - client - .storage(key.clone(), Some(genesis_hash).into()) - .map(|x| x.map(|x| x.0.len())) - .unwrap() - .unwrap() as usize, - LocalExecutor::native_equivalent().len(), - ); - assert_matches!( - client - .storage_hash(key.clone(), Some(genesis_hash).into()) - .map(|x| x.is_some()), - Ok(true) - ); - assert_eq!( - client.storage_size(key.clone(), None).unwrap().unwrap() as usize, - LocalExecutor::native_equivalent().len(), - ); -} - -#[test] -fn should_return_child_storage() { - let core = tokio::runtime::Runtime::new().unwrap(); - let client = Arc::new( - test_client::TestClientBuilder::new() - .add_child_storage("test", "key", vec![42_u8]) - .build(), - ); - let genesis_hash = client.genesis_hash(); - let client = State::new(client, Subscriptions::new(core.executor())); - let child_key = StorageKey( - well_known_keys::CHILD_STORAGE_KEY_PREFIX - .iter() - .chain(b"test") - .cloned() - .collect(), - ); - let key = StorageKey(b"key".to_vec()); - - assert_matches!( - client.child_storage(child_key.clone(), key.clone(), Some(genesis_hash).into()), - Ok(Some(StorageData(ref d))) if d[0] == 42 && d.len() == 1 - ); - assert_matches!( - client - .child_storage_hash(child_key.clone(), key.clone(), Some(genesis_hash).into()) - .map(|x| x.is_some()), - Ok(true) - ); - assert_matches!( - client.child_storage_size(child_key.clone(), key.clone(), None), - Ok(Some(1)) - ); -} - -#[test] -fn should_call_contract() { - let core = tokio::runtime::Runtime::new().unwrap(); - let client = Arc::new(test_client::new()); - let genesis_hash = client.genesis_hash(); - let client = State::new(client, Subscriptions::new(core.executor())); - - assert_matches!( - client.call( - "balanceOf".into(), - Bytes(vec![1, 2, 3]), - Some(genesis_hash).into() - ), - Err(Error::Client(client::error::Error::Execution(_))) - ) -} - -#[test] -fn should_notify_about_storage_changes() { - let mut core = tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - let (subscriber, id, transport) = Subscriber::new_test("test"); - - { - let api = State::new(Arc::new(test_client::new()), Subscriptions::new(remote)); - - api.subscribe_storage(Default::default(), subscriber, None.into()); - - // assert id assigned - assert_eq!(core.block_on(id), Ok(Ok(SubscriptionId::Number(1)))); - - let mut builder = api.client.new_block().unwrap(); - builder - .push_transfer(runtime::Transfer { - from: AccountKeyring::Alice.into(), - to: AccountKeyring::Ferdie.into(), - amount: 42, - nonce: 0, - }) - .unwrap(); - api.client - .import(BlockOrigin::Own, builder.bake().unwrap()) - .unwrap(); - } - - // assert notification sent to transport - let (notification, next) = core.block_on(transport.into_future()).unwrap(); - assert!(notification.is_some()); - // no more notifications on this channel - assert_eq!(core.block_on(next.into_future()).unwrap().0, None); -} - -#[test] -fn should_send_initial_storage_changes_and_notifications() { - let mut core = tokio::runtime::Runtime::new().unwrap(); - let remote = core.executor(); - let (subscriber, id, transport) = Subscriber::new_test("test"); - - { - let api = State::new(Arc::new(test_client::new()), Subscriptions::new(remote)); - - let alice_balance_key = blake2_256(&runtime::system::balance_of_key( - AccountKeyring::Alice.into(), - )); - - api.subscribe_storage( - Default::default(), - subscriber, - Some(vec![StorageKey(alice_balance_key.to_vec())]).into(), - ); - - // assert id assigned - assert_eq!(core.block_on(id), Ok(Ok(SubscriptionId::Number(1)))); - - let mut builder = api.client.new_block().unwrap(); - builder - .push_transfer(runtime::Transfer { - from: AccountKeyring::Alice.into(), - to: AccountKeyring::Ferdie.into(), - amount: 42, - nonce: 0, - }) - .unwrap(); - api.client - .import(BlockOrigin::Own, builder.bake().unwrap()) - .unwrap(); - } - - // assert initial values sent to transport - let (notification, next) = core.block_on(transport.into_future()).unwrap(); - assert!(notification.is_some()); - // assert notification sent to transport - let (notification, next) = core.block_on(next.into_future()).unwrap(); - assert!(notification.is_some()); - // no more notifications on this channel - assert_eq!(core.block_on(next.into_future()).unwrap().0, None); -} - -#[test] -fn should_query_storage() { - fn run_tests(client: Arc) { - let core = tokio::runtime::Runtime::new().unwrap(); - let api = State::new(client.clone(), Subscriptions::new(core.executor())); - - let add_block = |nonce| { - let mut builder = client.new_block().unwrap(); - builder - .push_transfer(runtime::Transfer { - from: AccountKeyring::Alice.into(), - to: AccountKeyring::Ferdie.into(), - amount: 42, - nonce, - }) - .unwrap(); - let block = builder.bake().unwrap(); - let hash = block.header.hash(); - client.import(BlockOrigin::Own, block).unwrap(); - hash - }; - let block1_hash = add_block(0); - let block2_hash = add_block(1); - let genesis_hash = client.genesis_hash(); - - let alice_balance_key = blake2_256(&runtime::system::balance_of_key( - AccountKeyring::Alice.into(), - )); - - let mut expected = vec![ - StorageChangeSet { - block: genesis_hash, - changes: vec![( - StorageKey(alice_balance_key.to_vec()), - Some(StorageData(vec![232, 3, 0, 0, 0, 0, 0, 0])), - )], - }, - StorageChangeSet { - block: block1_hash, - changes: vec![( - StorageKey(alice_balance_key.to_vec()), - Some(StorageData(vec![190, 3, 0, 0, 0, 0, 0, 0])), - )], - }, - ]; - - // Query changes only up to block1 - let result = api.query_storage( - vec![StorageKey(alice_balance_key.to_vec())], - genesis_hash, - Some(block1_hash).into(), - ); - - assert_eq!(result.unwrap(), expected); - - // Query all changes - let result = api.query_storage( - vec![StorageKey(alice_balance_key.to_vec())], - genesis_hash, - None.into(), - ); - - expected.push(StorageChangeSet { - block: block2_hash, - changes: vec![( - StorageKey(alice_balance_key.to_vec()), - Some(StorageData(vec![148, 3, 0, 0, 0, 0, 0, 0])), - )], - }); - assert_eq!(result.unwrap(), expected); - } - - run_tests(Arc::new(test_client::new())); - run_tests(Arc::new( - TestClientBuilder::new() - .set_support_changes_trie(true) - .build(), - )); -} - -#[test] -fn should_split_ranges() { - assert_eq!(split_range(1, None), (0..1, None)); - assert_eq!(split_range(100, None), (0..100, None)); - assert_eq!(split_range(1, Some(0)), (0..1, None)); - assert_eq!(split_range(100, Some(50)), (0..50, Some(50..100))); - assert_eq!(split_range(100, Some(99)), (0..99, Some(99..100))); -} - -#[test] -fn should_return_runtime_version() { - let core = tokio::runtime::Runtime::new().unwrap(); - - let client = Arc::new(test_client::new()); - let api = State::new(client.clone(), Subscriptions::new(core.executor())); - - assert_eq!( - serde_json::to_string(&api.runtime_version(None.into()).unwrap()).unwrap(), - r#"{"specName":"test","implName":"parity-test","authoringVersion":1,"specVersion":1,"implVersion":1,"apis":[["0xdf6acb689907609b",2],["0x37e397fc7c91f5e4",1],["0xd2bc9897eed08f15",1],["0x40fe3ad401f8959a",3],["0xc6e9a76309f39b09",1],["0xdd718d5cc53262d4",1],["0xcbca25e39f142387",1],["0xf78b278be53f454c",1],["0x7801759919ee83e5",1]]}"# - ); -} - -#[test] -fn should_notify_on_runtime_version_initially() { - let mut core = tokio::runtime::Runtime::new().unwrap(); - let (subscriber, id, transport) = Subscriber::new_test("test"); - - { - let client = Arc::new(test_client::new()); - let api = State::new(client.clone(), Subscriptions::new(core.executor())); - - api.subscribe_runtime_version(Default::default(), subscriber); - - // assert id assigned - assert_eq!(core.block_on(id), Ok(Ok(SubscriptionId::Number(1)))); - } - - // assert initial version sent. - let (notification, next) = core.block_on(transport.into_future()).unwrap(); - assert!(notification.is_some()); - // no more notifications on this channel - assert_eq!(core.block_on(next.into_future()).unwrap().0, None); -} diff --git a/rpc/src/subscriptions.rs b/rpc/src/subscriptions.rs deleted file mode 100644 index d99f706c29ae7..0000000000000 --- a/rpc/src/subscriptions.rs +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -use std::collections::HashMap; -use std::sync::{ - atomic::{self, AtomicUsize}, - Arc, -}; - -use crate::rpc::futures::sync::oneshot; -use crate::rpc::futures::{future, Future}; -use jsonrpc_pubsub::{ - typed::{Sink, Subscriber}, - SubscriptionId, -}; -use log::warn; -use parking_lot::Mutex; -use tokio::runtime::TaskExecutor; - -type Id = u64; - -/// Generate unique ids for subscriptions. -#[derive(Clone, Debug)] -pub struct IdProvider { - next_id: Arc, -} -impl Default for IdProvider { - fn default() -> Self { - IdProvider { - next_id: Arc::new(AtomicUsize::new(1)), - } - } -} - -impl IdProvider { - /// Returns next id for the subscription. - pub fn next_id(&self) -> Id { - self.next_id.fetch_add(1, atomic::Ordering::AcqRel) as u64 - } -} - -/// Subscriptions manager. -/// -/// Takes care of assigning unique subscription ids and -/// driving the sinks into completion. -#[derive(Debug, Clone)] -pub struct Subscriptions { - next_id: IdProvider, - active_subscriptions: Arc>>>, - executor: TaskExecutor, -} - -impl Subscriptions { - /// Creates new `Subscriptions` object. - pub fn new(executor: TaskExecutor) -> Self { - Subscriptions { - next_id: Default::default(), - active_subscriptions: Default::default(), - executor, - } - } - - /// Creates new subscription for given subscriber. - /// - /// Second parameter is a function that converts Subscriber sink into a future. - /// This future will be driven to completion bu underlying event loop - /// or will be cancelled in case #cancel is invoked. - pub fn add(&self, subscriber: Subscriber, into_future: G) - where - G: FnOnce(Sink) -> R, - R: future::IntoFuture, - F: future::Future + Send + 'static, - { - let id = self.next_id.next_id(); - if let Ok(sink) = subscriber.assign_id(id.into()) { - let (tx, rx) = oneshot::channel(); - let future = into_future(sink) - .into_future() - .select(rx.map_err(|e| warn!("Error timeing out: {:?}", e))) - .then(|_| Ok(())); - - self.active_subscriptions.lock().insert(id, tx); - self.executor.spawn(future); - } - } - - /// Cancel subscription. - /// - /// Returns true if subscription existed or false otherwise. - pub fn cancel(&self, id: SubscriptionId) -> bool { - if let SubscriptionId::Number(id) = id { - if let Some(tx) = self.active_subscriptions.lock().remove(&id) { - let _ = tx.send(()); - return true; - } - } - false - } -} diff --git a/rpc/src/system/error.rs b/rpc/src/system/error.rs deleted file mode 100644 index c55d433d39155..0000000000000 --- a/rpc/src/system/error.rs +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! System RPC module errors. - -use crate::rpc; -use crate::system::helpers::Health; - -/// System RPC Result type. -pub type Result = std::result::Result; - -/// System RPC errors. -#[derive(Debug, derive_more::Display, derive_more::From)] -pub enum Error { - /// Provided block range couldn't be resolved to a list of blocks. - #[display(fmt = "Node is not fully functional: {}", _0)] - NotHealthy(Health), -} - -impl std::error::Error for Error {} - -/// Base code for all system errors. -const BASE_ERROR: i64 = 2000; - -impl From for rpc::Error { - fn from(e: Error) -> Self { - match e { - Error::NotHealthy(ref h) => rpc::Error { - code: rpc::ErrorCode::ServerError(BASE_ERROR + 1), - message: format!("{}", e), - data: serde_json::to_value(h).ok(), - }, - } - } -} diff --git a/rpc/src/system/helpers.rs b/rpc/src/system/helpers.rs deleted file mode 100644 index 8123e4b2dc29d..0000000000000 --- a/rpc/src/system/helpers.rs +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate system API helpers. - -use serde::{Deserialize, Serialize}; -use serde_json::{map::Map, Value}; -use std::fmt; - -/// Node properties -pub type Properties = Map; - -/// Running node's static details. -#[derive(Clone, Debug)] -pub struct SystemInfo { - /// Implementation name. - pub impl_name: String, - /// Implementation version. - pub impl_version: String, - /// Chain name. - pub chain_name: String, - /// A custom set of properties defined in the chain spec. - pub properties: Properties, -} - -/// Health struct returned by the RPC -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Health { - /// Number of connected peers - pub peers: usize, - /// Is the node syncing - pub is_syncing: bool, - /// Should this node have any peers - /// - /// Might be false for local chains or when running without discovery. - pub should_have_peers: bool, -} - -/// Network Peer information -#[derive(Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct PeerInfo { - /// Peer ID - pub peer_id: String, - /// Roles - pub roles: String, - /// Protocol version - pub protocol_version: u32, - /// Peer best block hash - pub best_hash: Hash, - /// Peer best block number - pub best_number: Number, -} - -impl fmt::Display for Health { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - write!( - fmt, - "{} peers ({})", - self.peers, - if self.is_syncing { "syncing" } else { "idle" } - ) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn should_serialize_health() { - assert_eq!( - ::serde_json::to_string(&Health { - peers: 1, - is_syncing: false, - should_have_peers: true, - }) - .unwrap(), - r#"{"peers":1,"isSyncing":false,"shouldHavePeers":true}"#, - ); - } - - #[test] - fn should_serialize_peer_info() { - assert_eq!( - ::serde_json::to_string(&PeerInfo { - peer_id: "2".into(), - roles: "a".into(), - protocol_version: 2, - best_hash: 5u32, - best_number: 6u32, - }) - .unwrap(), - r#"{"peerId":"2","roles":"a","protocolVersion":2,"bestHash":5,"bestNumber":6}"#, - ); - } -} diff --git a/rpc/src/system/mod.rs b/rpc/src/system/mod.rs deleted file mode 100644 index 4d674ea330bed..0000000000000 --- a/rpc/src/system/mod.rs +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Substrate system API. - -pub mod error; -pub mod helpers; - -#[cfg(test)] -mod tests; - -use jsonrpc_derive::rpc; -use network; -use runtime_primitives::traits::{self, Header as HeaderT}; -use std::sync::Arc; - -use self::error::Result; -pub use self::helpers::{Health, PeerInfo, Properties, SystemInfo}; - -pub use self::gen_client::Client as SystemClient; - -/// Substrate system RPC API -#[rpc] -pub trait SystemApi { - /// Get the node's implementation name. Plain old string. - #[rpc(name = "system_name")] - fn system_name(&self) -> Result; - - /// Get the node implementation's version. Should be a semver string. - #[rpc(name = "system_version")] - fn system_version(&self) -> Result; - - /// Get the chain's type. Given as a string identifier. - #[rpc(name = "system_chain")] - fn system_chain(&self) -> Result; - - /// Get a custom set of properties as a JSON object, defined in the chain spec. - #[rpc(name = "system_properties")] - fn system_properties(&self) -> Result; - - /// Return health status of the node. - /// - /// Node is considered healthy if it is: - /// - connected to some peers (unless running in dev mode) - /// - not performing a major sync - #[rpc(name = "system_health")] - fn system_health(&self) -> Result; - - /// Returns currently connected peers - #[rpc(name = "system_peers")] - fn system_peers(&self) -> Result>>; - - /// Returns current state of the network. - /// - /// **Warning**: This API is not stable. - // TODO: make this stable and move structs https://github.com/paritytech/substrate/issues/1890 - #[rpc(name = "system_networkState")] - fn system_network_state(&self) -> Result; -} - -/// System API implementation -pub struct System { - info: SystemInfo, - sync: Arc>, - should_have_peers: bool, -} - -impl System { - /// Creates new `System` given the `SystemInfo`. - pub fn new( - info: SystemInfo, - sync: Arc>, - should_have_peers: bool, - ) -> Self { - System { - info, - should_have_peers, - sync, - } - } -} - -impl SystemApi::Number> for System { - fn system_name(&self) -> Result { - Ok(self.info.impl_name.clone()) - } - - fn system_version(&self) -> Result { - Ok(self.info.impl_version.clone()) - } - - fn system_chain(&self) -> Result { - Ok(self.info.chain_name.clone()) - } - - fn system_properties(&self) -> Result { - Ok(self.info.properties.clone()) - } - - fn system_health(&self) -> Result { - Ok(Health { - peers: self.sync.peers_debug_info().len(), - is_syncing: self.sync.is_major_syncing(), - should_have_peers: self.should_have_peers, - }) - } - - fn system_peers(&self) -> Result::Number>>> { - Ok(self - .sync - .peers_debug_info() - .into_iter() - .map(|(peer_id, p)| PeerInfo { - peer_id: peer_id.to_base58(), - roles: format!("{:?}", p.roles), - protocol_version: p.protocol_version, - best_hash: p.best_hash, - best_number: p.best_number, - }) - .collect()) - } - - fn system_network_state(&self) -> Result { - Ok(self.sync.network_state()) - } -} diff --git a/rpc/src/system/tests.rs b/rpc/src/system/tests.rs deleted file mode 100644 index 6609deecb539d..0000000000000 --- a/rpc/src/system/tests.rs +++ /dev/null @@ -1,218 +0,0 @@ -// Copyright 2017-2019 Parity Technologies (UK) Ltd. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -use super::*; - -use assert_matches::assert_matches; -use futures::sync::mpsc; -use network::config::Roles; -use network::{self, PeerId, PeerInfo as NetworkPeerInfo, ProtocolStatus}; -use test_client::runtime::Block; - -struct Status { - pub peers: usize, - pub is_syncing: bool, - pub is_dev: bool, - pub peer_id: PeerId, -} - -impl Default for Status { - fn default() -> Status { - Status { - peer_id: PeerId::random(), - peers: 0, - is_syncing: false, - is_dev: false, - } - } -} - -impl network::SyncProvider for Status { - fn status(&self) -> mpsc::UnboundedReceiver> { - let (_sink, stream) = mpsc::unbounded(); - stream - } - - fn network_state(&self) -> network::NetworkState { - network::NetworkState { - peer_id: String::new(), - listened_addresses: Default::default(), - external_addresses: Default::default(), - connected_peers: Default::default(), - not_connected_peers: Default::default(), - average_download_per_sec: 0, - average_upload_per_sec: 0, - peerset: serde_json::Value::Null, - } - } - - fn peers_debug_info(&self) -> Vec<(PeerId, NetworkPeerInfo)> { - let mut peers = vec![]; - for _peer in 0..self.peers { - peers.push(( - self.peer_id.clone(), - NetworkPeerInfo { - roles: Roles::FULL, - protocol_version: 1, - best_hash: Default::default(), - best_number: 1, - }, - )); - } - peers - } - - fn is_major_syncing(&self) -> bool { - self.is_syncing - } -} - -fn api>>(sync: T) -> System { - let status = sync.into().unwrap_or_default(); - let should_have_peers = !status.is_dev; - System::new( - SystemInfo { - impl_name: "testclient".into(), - impl_version: "0.2.0".into(), - chain_name: "testchain".into(), - properties: Default::default(), - }, - Arc::new(status), - should_have_peers, - ) -} - -#[test] -fn system_name_works() { - assert_eq!(api(None).system_name().unwrap(), "testclient".to_owned()); -} - -#[test] -fn system_version_works() { - assert_eq!(api(None).system_version().unwrap(), "0.2.0".to_owned()); -} - -#[test] -fn system_chain_works() { - assert_eq!(api(None).system_chain().unwrap(), "testchain".to_owned()); -} - -#[test] -fn system_properties_works() { - assert_eq!( - api(None).system_properties().unwrap(), - serde_json::map::Map::new() - ); -} - -#[test] -fn system_health() { - assert_matches!( - api(None).system_health().unwrap(), - Health { - peers: 0, - is_syncing: false, - should_have_peers: true, - } - ); - - assert_matches!( - api(Status { - peer_id: PeerId::random(), - peers: 5, - is_syncing: true, - is_dev: true, - }) - .system_health() - .unwrap(), - Health { - peers: 5, - is_syncing: true, - should_have_peers: false, - } - ); - - assert_eq!( - api(Status { - peer_id: PeerId::random(), - peers: 5, - is_syncing: false, - is_dev: false, - }) - .system_health() - .unwrap(), - Health { - peers: 5, - is_syncing: false, - should_have_peers: true, - } - ); - - assert_eq!( - api(Status { - peer_id: PeerId::random(), - peers: 0, - is_syncing: false, - is_dev: true, - }) - .system_health() - .unwrap(), - Health { - peers: 0, - is_syncing: false, - should_have_peers: false, - } - ); -} - -#[test] -fn system_peers() { - let peer_id = PeerId::random(); - assert_eq!( - api(Status { - peer_id: peer_id.clone(), - peers: 1, - is_syncing: false, - is_dev: true, - }) - .system_peers() - .unwrap(), - vec![PeerInfo { - peer_id: peer_id.to_base58(), - roles: "FULL".into(), - protocol_version: 1, - best_hash: Default::default(), - best_number: 1u64, - }] - ); -} - -#[test] -fn system_network_state() { - assert_eq!( - api(None).system_network_state().unwrap(), - network::NetworkState { - peer_id: String::new(), - listened_addresses: Default::default(), - external_addresses: Default::default(), - connected_peers: Default::default(), - not_connected_peers: Default::default(), - average_download_per_sec: 0, - average_upload_per_sec: 0, - peerset: serde_json::Value::Null, - } - ); -} diff --git a/rpc/src/types.rs b/rpc/src/types.rs new file mode 100644 index 0000000000000..3753446040975 --- /dev/null +++ b/rpc/src/types.rs @@ -0,0 +1,3 @@ +use std::convert::TryFrom; + +use crate::errors::ChainXRpcErr; diff --git a/rpc/src/utils.rs b/rpc/src/utils.rs new file mode 100644 index 0000000000000..4908ce91772ba --- /dev/null +++ b/rpc/src/utils.rs @@ -0,0 +1,6 @@ +/// Convert &[u8] to String +macro_rules! to_string { + ($str:expr) => { + String::from_utf8_lossy($str).into_owned() + }; +} diff --git a/runtime-api/Cargo.toml b/runtime-api/Cargo.toml deleted file mode 100644 index d4c062249d762..0000000000000 --- a/runtime-api/Cargo.toml +++ /dev/null @@ -1,43 +0,0 @@ -[package] -name = "runtime-api" -version = "1.0.0" -authors = ["Chainpool "] -edition = "2018" - -[dependencies] -# substrate -client = { package = "substrate-client", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -rstd = { package = "sr-std", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -sr-primitives = { git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -# chainx -chainx-primitives = { path = "../primitives", default-features = false } -xr-primitives = { path = "../xr-primitives", default-features = false } -# chainx runtime module -xsupport = { package = "xrml-xsupport", path = "../xrml/xsupport", default-features = false } -xassets = { package = "xrml-xassets-assets", path = "../xrml/xassets/assets", default-features = false } -xrecords = { package = "xrml-xassets-records", path = "../xrml/xassets/records", default-features = false } -xprocess = { package = "xrml-xassets-process", path = "../xrml/xassets/process", default-features = false } -xspot= { package = "xrml-xdex-spot", path = "../xrml/xdex/spot", default-features = false } -xbridge-common = { package = "xrml-xbridge-common", path = "../xrml/xbridge/common", default-features = false } -xbitcoin = { package = "xrml-xbridge-bitcoin", path = "../xrml/xbridge/bitcoin", default-features = false } -xstaking = { package = "xrml-xmining-staking", path = "../xrml/xmining/staking", default-features = false } - -[features] -default = ["std"] -std = [ - # substrate - "client/std", - "rstd/std", - "sr-primitives/std", - # chainx - "chainx-primitives/std", - "xr-primitives/std", - # chainx runtime - "xsupport/std", - "xassets/std", - "xrecords/std", - "xprocess/std", - "xspot/std", - "xbridge-common/std", - "xbitcoin/std", -] diff --git a/runtime-api/src/lib.rs b/runtime-api/src/lib.rs deleted file mode 100644 index acf4a11d2df7b..0000000000000 --- a/runtime-api/src/lib.rs +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -#![allow(clippy::too_many_arguments)] -#![cfg_attr(not(feature = "std"), no_std)] - -use rstd::collections::btree_map::BTreeMap; -use rstd::prelude::Vec; -use sr_primitives::traits::AuthorityIdFor; - -use client::decl_runtime_apis; - -use chainx_primitives::{AccountIdForApi, Balance, BlockNumber, Timestamp}; - -pub mod xassets_api { - use super::*; - use rstd::collections::btree_map::BTreeMap; - use xassets::{Asset, AssetType, Memo, Token}; - use xprocess::WithdrawalLimit; - use xr_primitives::AddrStr; - - decl_runtime_apis! { - pub trait XAssetsApi { - fn valid_assets() -> Vec; - fn all_assets() -> Vec<(Asset, bool)>; - fn valid_assets_of(who: AccountIdForApi) -> Vec<(Token, BTreeMap)>; - fn withdrawal_list_of(chain: xassets::Chain) -> Vec>; - fn deposit_list_of(chain: xassets::Chain) -> Vec>; - fn verify_address(token: Token, addr: AddrStr, ext: Memo) -> Result<(), Vec>; - fn withdrawal_limit(token: Token) -> Option>; - } - } -} - -pub mod xmining_api { - use super::*; - use xassets::Token; - - decl_runtime_apis! { - pub trait XMiningApi { - fn jackpot_accountid_for_unsafe(who: AccountIdForApi) -> AccountIdForApi; - fn multi_jackpot_accountid_for_unsafe(who: Vec) -> Vec; - fn token_jackpot_accountid_for_unsafe(token: Token) -> AccountIdForApi; - fn multi_token_jackpot_accountid_for_unsafe(token: Vec) -> Vec; - fn asset_power(token: Token) -> Option; - } - } -} - -pub mod xspot_api { - use super::*; - use xassets::Token; - - decl_runtime_apis! { - pub trait XSpotApi { - fn aver_asset_price(token: Token) -> Option; - } - } -} - -pub mod xfee_api { - use super::*; - - decl_runtime_apis! { - pub trait XFeeApi { - fn transaction_fee(call: Vec, encoded_len: u64) -> Option; - - fn fee_weight_map() -> BTreeMap, u64>; - } - } -} - -pub mod xsession_api { - use super::*; - - decl_runtime_apis! { - pub trait XSessionApi { - fn pubkeys_for_validator_name(name: Vec) -> Option<(AccountIdForApi, Option>)>; - } - } -} - -pub mod xstaking_api { - use super::*; - - decl_runtime_apis! { - pub trait XStakingApi { - fn intention_set() -> Vec; - // T::SessionKey should use AuthorityId here and ChainX is able to compile, but the tool depdendent on ChainX fails to compile when using AuthorityId. - // 2019-05-25: Compile ERROR: the return type of a function must have a statically known size - // 2019-07-15 ChainX is able compile, but the tool depdendent on ChainX is unable to compile. - fn intentions_info_common() -> Vec>; - fn intention_info_common_of(intention: &AccountIdForApi) -> Option>; - } - } -} - -pub mod xbridge_api { - use super::*; - use xassets::Chain; - use xbridge_common::types::{GenericAllSessionInfo, GenericTrusteeIntentionProps}; - decl_runtime_apis! { - pub trait XBridgeApi { - /// generate a mock trustee info - fn mock_new_trustees(chain: Chain, candidates: Vec) -> Result, Vec>; - - fn trustee_props_for(who: AccountIdForApi) -> BTreeMap; - - fn trustee_session_info() -> BTreeMap>; - - fn trustee_session_info_for(chain: Chain, number: Option) -> Option<(u32, GenericAllSessionInfo)>; - } - } -} - -pub mod xcontracts_api { - use super::*; - use xassets::Token; - use xr_primitives::{ContractExecResult, GetStorageResult, XRC20Selector}; - - decl_runtime_apis! { - /// The API to interact with contracts without using executive. - pub trait XContractsApi { - /// Perform a call from a specified account to a given contract. - /// - /// See the contracts' `call` dispatchable function for more details. - fn call( - origin: AccountIdForApi, - dest: AccountIdForApi, - value: Balance, - gas_limit: u64, - issue_gas: bool, - input_data: Vec, - ) -> (ContractExecResult, Balance); - - /// Query a given storage key in a given contract. - /// - /// Returns `Ok(Some(Vec))` if the storage value exists under the given key in the - /// specified account and `Ok(None)` if it doesn't. If the account specified by the address - /// doesn't exist, or doesn't have a contract or if the contract is a tombstone, then `Err` - /// is returned. - fn get_storage(address: AccountIdForApi, key: [u8; 32]) -> GetStorageResult; - - fn xrc20_call( - token: Token, - selector: XRC20Selector, - data: Vec, - ) -> ContractExecResult; - } - } -} diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 2f4546a0a5689..690c66ff6a3f3 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -1,132 +1,79 @@ [package] name = "chainx-runtime" -version = "1.0.0" -authors = ["Chainpool "] +version = "2.0.0" +authors = ["ChainX community "] edition = "2018" +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + [dependencies] -rustc-hex = { version = "2.0.1", optional = true } -safe-mix = { version = "1.0", default-features = false } -serde = { version = "1.0", optional = true } -parity-codec = { version = "3.3", default-features = false } +codec = { package = "parity-scale-codec", version = "1.3.0", default-features = false, features = ["derive"] } +serde = { version = "1.0.101", optional = true, features = ["derive"] } -client = { package = "substrate-client", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -substrate-primitives = { git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -consensus_aura = { package = "substrate-consensus-aura-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -consensus_authorities = { package = "substrate-consensus-authorities", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -offchain-primitives = { package = "substrate-offchain-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } +sp-io = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-std = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-session = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-version = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-api = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-offchain = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-consensus-aura = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } -runtime-primitives = { package = "sr-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -runtime-io = { package = "sr-io", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -version = { package = "sr-version", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -rstd = { package = "sr-std", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } +frame-support = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +frame-system = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +frame-executive = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } -support = { package = "srml-support", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -system = { package = "srml-system", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -timestamp = { package = "srml-timestamp", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -consensus = { package = "srml-consensus", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -sudo = { package = "srml-sudo", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -indices = { package = "srml-indices", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -finality-tracker = { package = "srml-finality-tracker", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +pallet-grandpa = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +pallet-sudo = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } +pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } -# chainx chainx-primitives = { path = "../primitives", default-features = false } -xr-primitives = { path = "../xr-primitives", default-features = false } -runtime-api = { path = "../runtime-api", default-features = false } -# chainx runtime module -xsupport = { package = "xrml-xsupport", path = "../xrml/xsupport", default-features = false } -xbootstrap = { package = "xrml-xbootstrap", path = "../xrml/xbootstrap", default-features = false } -xsystem = { package = "xrml-xsystem", path = "../xrml/xsystem", default-features = false } -xaccounts = { package = "xrml-xaccounts", path = "../xrml/xaccounts", default-features = false } -xsession = { package = "xrml-xsession", path = "../xrml/xsession", default-features = false } -xaura = { package = "xrml-xaura", path = "../xrml/xaura", default-features = false } -xgrandpa = { package = "xrml-grandpa", path = "../xrml/xgrandpa", default-features = false } -# fee -xfee-manager = { package = "xrml-xfee-manager", path = "../xrml/xfee/manager", default-features = false } -# assets -xassets = { package = "xrml-xassets-assets", path = "../xrml/xassets/assets", default-features = false } -xrecords = { package = "xrml-xassets-records", path = "../xrml/xassets/records", default-features = false } -xprocess = { package = "xrml-xassets-process", path = "../xrml/xassets/process", default-features = false } -# mining -xstaking = { package = "xrml-xmining-staking", path = "../xrml/xmining/staking", default-features = false } -xtokens = { package = "xrml-xmining-tokens", path = "../xrml/xmining/tokens", default-features = false } -# bridge -xbridge-common = { package = "xrml-xbridge-common", path = "../xrml/xbridge/common", default-features = false } -xbitcoin = { package = "xrml-xbridge-bitcoin", path = "../xrml/xbridge/bitcoin", default-features = false } -xbridge-features = { package = "xrml-xbridge-features", path = "../xrml/xbridge/features", default-features = false } -xsdot = { package = "xrml-xbridge-sdot", path = "../xrml/xbridge/sdot", default-features = false } -# dex -xspot = { package = "xrml-xdex-spot", path = "../xrml/xdex/spot", default-features = false } -# fisher -xfisher = { package = "xrml-xfisher", path = "../xrml/xfisher", default-features = false } -# multisig -xmultisig = { package = "xrml-xmultisig", path = "../xrml/xmultisig", default-features = false } -# contracts -xcontracts = { package = "xrml-xcontracts", path = "../xrml/xcontracts", default-features = false } -[dev-dependencies] -hex-literal = "0.2.0" + +[build-dependencies] +wasm-builder-runner = { package = "substrate-wasm-builder-runner", git = "https://github.com/paritytech/substrate.git", tag = "v2.0.0-rc3", default-features = false } [features] default = ["std"] std = [ - "rustc-hex", - "safe-mix/std", + "codec/std", "serde", - "parity-codec/std", - "client/std", - "substrate-primitives/std", - "consensus_aura/std", - "consensus_authorities/std", - "offchain-primitives/std", + "sp-io/std", + "sp-std/std", + "sp-core/std", + "sp-runtime/std", + "sp-session/std", + "sp-version/std", + "sp-api/std", + "sp-inherents/std", + "sp-offchain/std", + "sp-block-builder/std", + "sp-consensus-aura/std", + "sp-transaction-pool/std", - # substrate runtime module - "runtime-primitives/std", - "runtime-io/std", - "version/std", - "rstd/std", + "frame-support/std", + "frame-system/std", + "frame-system-rpc-runtime-api/std", + "frame-executive/std", - "support/std", - "system/std", - "timestamp/std", - "consensus/std", - "sudo/std", - "indices/std", - "finality-tracker/std", + "pallet-aura/std", + "pallet-grandpa/std", + "pallet-timestamp/std", + "pallet-sudo/std", + "pallet-transaction-payment/std", + "pallet-transaction-payment-rpc-runtime-api/std", + "pallet-randomness-collective-flip/std", - # chainx "chainx-primitives/std", - # xr-primitives - "xr-primitives/std", - "runtime-api/std", - # chainx runtime - "xsession/std", - "xgrandpa/std", - "xaura/std", - "xbootstrap/std", - "xsupport/std", - "xsystem/std", - "xaccounts/std", - # fee - "xfee-manager/std", - # asset - "xassets/std", - "xrecords/std", - "xprocess/std", - "xfisher/std", - # mining - "xstaking/std", - "xtokens/std", - # bridge - "xbridge-common/std", - "xbitcoin/std", - "xsdot/std", - "xbridge-features/std", - # dex - "xspot/std", - # multisig - "xmultisig/std", - # contracts - "xcontracts/std", ] diff --git a/runtime/build.rs b/runtime/build.rs new file mode 100644 index 0000000000000..5b549e8bebfc7 --- /dev/null +++ b/runtime/build.rs @@ -0,0 +1,13 @@ +use wasm_builder_runner::WasmBuilder; + +fn main() { + WasmBuilder::new() + .with_current_project() + .with_wasm_builder_from_git( + "https://github.com/paritytech/substrate.git", + "34695a85650b58bcd7d7e2a677cafc2921251d68", + ) + .export_heap_base() + .import_memory() + .build() +} diff --git a/runtime/src/fee.rs b/runtime/src/fee.rs deleted file mode 100644 index fae4b220a9798..0000000000000 --- a/runtime/src/fee.rs +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright 2018-2019 Chainpool. -use rstd::collections::btree_map::BTreeMap; -use rstd::prelude::Vec; - -use xr_primitives::XString; - -use xfee_manager::CallSwitcher; - -use xassets::Call as XAssetsCall; -use xbitcoin::lockup::Call as XBitcoinLockupCall; -use xbitcoin::Call as XBitcoinCall; -use xbridge_features::Call as XBridgeFeaturesCall; -use xcontracts::Call as XContractsCall; -use xfisher::Call as XFisherCall; -use xmultisig::Call as XMultiSigCall; -use xprocess::Call as XAssetsProcessCall; -use xsdot::Call as SdotCall; -use xspot::Call as XSpotCall; -use xstaking::Call as XStakingCall; -use xtokens::Call as XTokensCall; - -use crate::Call; - -pub trait CheckFee { - fn check_fee( - &self, - switcher: BTreeMap, - method_weight_map: BTreeMap, - ) -> Option; -} - -impl CheckFee for Call { - /// Return fee_power, which is part of the total_fee. - /// total_fee = base_fee * fee_power + byte_fee * bytes - /// - /// fee_power = power_per_call - fn check_fee( - &self, - switcher: BTreeMap, - method_weight_map: BTreeMap, - ) -> Option { - // MultiSigCall is on the top priority and can't be forbidden. - if let Call::XMultiSig(call) = self { - match call { - XMultiSigCall::execute(..) => return Some(50), - XMultiSigCall::confirm(..) => return Some(25), - XMultiSigCall::remove_multi_sig_for(..) => return Some(1000), - _ => (), - } - } - - let get_switcher = |call_switcher: CallSwitcher| -> bool { - switcher.get(&call_switcher).copied().unwrap_or(false) - }; - - // Check if a certain emergency switch is on. - if get_switcher(CallSwitcher::Global) { - return None; - }; - - match self { - Call::XSpot(..) if get_switcher(CallSwitcher::Spot) => { - return None; - } - Call::XBridgeOfBTC(..) if get_switcher(CallSwitcher::XBTC) => { - return None; - } - Call::XBridgeOfBTCLockup(..) if get_switcher(CallSwitcher::XBTCLockup) => { - return None; - } - Call::XBridgeOfSDOT(..) if get_switcher(CallSwitcher::SDOT) => { - return None; - } - Call::XContracts(..) if get_switcher(CallSwitcher::XContracts) => { - return None; - } - Call::XStaking(..) if get_switcher(CallSwitcher::XMiningStaking) => { - return None; - } - Call::XTokens(..) if get_switcher(CallSwitcher::XMiningTokens) => { - return None; - } - _ => (), - } - call_weight_func(&self, &method_weight_map) - } -} - -#[macro_export] -macro_rules! get_method_call_weight_func { - ($fee_map:expr, $module:ty, $func:ty, $default:expr) => { - { - let method_weight_key = stringify!($module $func).as_bytes().to_vec(); - let method_weight = $fee_map.get(&method_weight_key); - Some(method_weight.map(|x| *x).unwrap_or($default)) - } - }; -} - -macro_rules! match_method_call_func { - ( - $( - $module:ident, $module_call:ident => ( - $( - $method:ident : $default:expr, - )+ - ); - )+ - ) => { - #[inline] - pub fn call_weight_func(func_call: &Call, method_weight_map: &BTreeMap) -> Option { - match func_call { - $( - Call::$module(call) => match call { - $( - $module_call::$method(..) => get_method_call_weight_func!(method_weight_map, $module, $method, $default), - )+ - _ => None, - }, - )+ - _ => None, - } - } - - #[allow(unused)] - pub fn call_weight_map(method_weight_map: &BTreeMap) -> BTreeMap, u64> { - let mut m = BTreeMap::new(); - $( - $( - if let Some(v) = get_method_call_weight_func!(method_weight_map, $module, $method, $default) { - let key = stringify!($module$method).as_bytes().to_vec(); - m.insert(key, v); - } - )+ - )+ - m - } - } -} - -match_method_call_func! { - - XAssets, XAssetsCall => ( - transfer : 1, - ); - - XAssetsProcess, XAssetsProcessCall => ( - withdraw : 3, - revoke_withdraw : 10, - ); - - XBridgeOfBTC, XBitcoinCall => ( - push_header : 10, - push_transaction : 50, - sign_withdraw_tx : 5, - create_withdraw_tx : 5, - ); - - XBridgeOfBTCLockup, XBitcoinLockupCall => ( - push_transaction : 50, - ); - - XStaking, XStakingCall => ( - claim : 3, - refresh : 10_000, - nominate : 5, - unfreeze : 2, - register : 100_000, - unnominate : 3, - renominate : 800, - ); - - XTokens, XTokensCall => ( - claim : 3, - ); - - XSpot, XSpotCall => ( - put_order : 8, - cancel_order : 2, - ); - - XBridgeOfSDOT, SdotCall => ( - claim : 2, - ); - - XBridgeFeatures, XBridgeFeaturesCall => ( - setup_bitcoin_trustee : 1000, - ); - - XFisher, XFisherCall => ( - report_double_signer : 5, - ); - - XContracts, XContractsCall => ( - put_code : 250, - call : 10, - instantiate : 500, - convert_to_xrc20: 10, - ); -} diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index fe896968accdd..e54f68b4b045b 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1,95 +1,122 @@ -// Copyright 2018-2019 Chainpool. +//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm. -//! The ChainX runtime. This can be compiled with ``#[no_std]`, ready for Wasm. - -#![allow(clippy::large_enum_variant)] -#![allow(clippy::identity_op)] #![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 512. -#![recursion_limit = "512"] - -#[macro_use] -mod fee; -mod tests; -mod trustee; -mod xcontracts_fee; -mod xexecutive; - -use parity_codec::{Decode, Encode}; -use rstd::collections::btree_map::BTreeMap; -use rstd::prelude::*; -use rstd::result; - -// substrate -use client::{ - block_builder::api::{self as block_builder_api, CheckInherentsResult, InherentData}, - impl_runtime_apis, runtime_api as client_api, +// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. +#![recursion_limit = "256"] + +// Make the WASM binary available. +#[cfg(feature = "std")] +include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); + +use pallet_grandpa::fg_primitives; +use pallet_grandpa::{AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList}; +use sp_api::impl_runtime_apis; +use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +use sp_runtime::traits::{ + BlakeTwo256, Block as BlockT, IdentifyAccount, IdentityLookup, NumberFor, Saturating, Verify, }; -use runtime_primitives::traits::{ - AuthorityIdFor, BlakeTwo256, Block as BlockT, DigestFor, NumberFor, StaticLookup, Zero, +use sp_runtime::{ + create_runtime_str, generic, impl_opaque_keys, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, MultiSignature, +}; +use sp_std::prelude::*; +#[cfg(feature = "std")] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; + +use pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo; + +// A few exports that help ease life for downstream crates. +pub use frame_support::{ + construct_runtime, parameter_types, + traits::{KeyOwnerProofSystem, Randomness}, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + IdentityFee, Weight, + }, + StorageValue, }; -use runtime_primitives::transaction_validity::TransactionValidity; -pub use runtime_primitives::{create_runtime_str, Perbill, Permill}; -use runtime_primitives::{generic, ApplyResult}; -use substrate_primitives::OpaqueMetadata; -use substrate_primitives::H512; -pub use support::{construct_runtime, parameter_types, StorageValue}; +pub use pallet_timestamp::Call as TimestampCall; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +pub use sp_runtime::{Perbill, Permill}; -pub use timestamp::BlockPeriod; -pub use timestamp::Call as TimestampCall; +/// An index to a block. +pub type BlockNumber = u32; -#[cfg(any(feature = "std", test))] -use version::NativeVersion; -use version::RuntimeVersion; - -// chainx -use chainx_primitives; -use runtime_api; -use xgrandpa::fg_primitives::{self, ScheduledChange}; -pub use xr_primitives::{AddrStr, ContractExecResult, GetStorageError, GetStorageResult}; - -// chainx -use chainx_primitives::{ - Acceleration, AccountId, AccountIndex, AuthorityId, AuthoritySignature, Balance, BlockNumber, - Hash, Index, Signature, Timestamp as TimestampU64, -}; +/// Alias to 512-bit hash when used in the context of a transaction signature on the chain. +pub type Signature = MultiSignature; -use fee::CheckFee; -use xcontracts_fee::XContractsCheckFee; +/// Some way of identifying an account on the chain. We intentionally make it equivalent +/// to the public key of our transaction signing scheme. +pub type AccountId = <::Signer as IdentifyAccount>::AccountId; -pub use xaccounts; -pub use xassets; -pub use xbitcoin; -pub use xbitcoin::lockup as xbitcoin_lockup; -pub use xbridge_common; -pub use xbridge_features; -pub use xcontracts::{self, XRC20Selector}; // re-export -pub use xprocess; +/// The type for looking up accounts. We don't expect more than 4 billion of them, but you +/// never know... +pub type AccountIndex = u32; -#[cfg(feature = "std")] -pub use xbootstrap::{self, ChainSpec}; +/// Balance of an account. +pub type Balance = u128; -use xsupport::ensure_with_errorlog; -#[cfg(feature = "std")] -use xsupport::u8array_to_hex; +/// Index of a transaction in the chain. +pub type Index = u32; -use xbridge_common::types::{GenericAllSessionInfo, GenericTrusteeIntentionProps}; +/// A hash of some data used by the chain. +pub type Hash = sp_core::H256; -#[cfg(any(feature = "std", test))] -pub use runtime_primitives::BuildStorage; +/// Digest item type. +pub type DigestItem = generic::DigestItem; + +pub type ArtvenusId = sp_core::H256; + +/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know +/// the specifics of the runtime. They can then be made to be agnostic over specific formats +/// of data like extrinsics, allowing for them to continue syncing the network through upgrades +/// to even the core data structures. +pub mod opaque { + use super::*; + + pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; + + /// Opaque block header type. + pub type Header = generic::Header; + /// Opaque block type. + pub type Block = generic::Block; + /// Opaque block identifier type. + pub type BlockId = generic::BlockId; + + impl_opaque_keys! { + pub struct SessionKeys { + pub aura: Aura, + pub grandpa: Grandpa, + } + } +} -/// Runtime version. +/// This runtime version. pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("chainx"), impl_name: create_runtime_str!("chainx-net"), authoring_version: 1, - spec_version: 7, - impl_version: 7, + spec_version: 1, + impl_version: 1, apis: RUNTIME_API_VERSIONS, + transaction_version: 1, }; -/// Native version. -#[cfg(any(feature = "std", test))] +pub const MILLISECS_PER_BLOCK: u64 = 6000; + +pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; + +// These time units are defined in number of blocks. +pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber); +pub const HOURS: BlockNumber = MINUTES * 60; +pub const DAYS: BlockNumber = HOURS * 24; + +/// The version information used to identify this runtime when compiled natively. +#[cfg(feature = "std")] pub fn native_version() -> NativeVersion { NativeVersion { runtime_version: VERSION, @@ -97,314 +124,170 @@ pub fn native_version() -> NativeVersion { } } -impl system::Trait for Runtime { - type Origin = Origin; +parameter_types! { + pub const BlockHashCount: BlockNumber = 2400; + /// We allow for 2 seconds of compute with a 6 second average block time. + pub const MaximumBlockWeight: Weight = 2 * WEIGHT_PER_SECOND; + pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75); + /// Assume 10% of weight for average on_initialize calls. + pub const MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get() + .saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get(); + pub const MaximumBlockLength: u32 = 5 * 1024 * 1024; + pub const Version: RuntimeVersion = VERSION; +} + +impl frame_system::Trait for Runtime { + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + /// The aggregated dispatch type that is available for extrinsics. + type Call = Call; + /// The lookup mechanism to get account ID from whatever is passed in dispatchers. + type Lookup = IdentityLookup; + /// The index type for storing how many extrinsics an account has signed. type Index = Index; + /// The index type for blocks. type BlockNumber = BlockNumber; + /// The type for hashing blocks and tries. type Hash = Hash; + /// The hashing algorithm used. type Hashing = BlakeTwo256; - type Digest = generic::Digest; - type AccountId = AccountId; - type Lookup = Indices; - type Header = Header; - type Event = Event; - type Log = Log; -} - -impl timestamp::Trait for Runtime { - type Moment = TimestampU64; - type OnTimestampSet = Aura; -} - -impl consensus::Trait for Runtime { - type Log = Log; - type SessionKey = AuthorityId; - type InherentOfflineReport = (); -} - -impl indices::Trait for Runtime { - type AccountIndex = AccountIndex; - type IsDeadAccount = XAssets; - type ResolveHint = indices::SimpleResolveHint; - type Event = Event; -} - -impl xsession::Trait for Runtime { - type ConvertAccountIdToSessionKey = (); - type OnSessionChange = (XStaking, xgrandpa::SyncedAuthorities); - type Event = Event; -} - -impl xgrandpa::Trait for Runtime { - type Log = Log; - type Event = Event; -} - -impl xaura::Trait for Runtime { - type HandleReport = xaura::StakingSlasher; -} - -impl xbootstrap::Trait for Runtime {} - -// xrml trait -impl xsystem::Trait for Runtime { - type ValidatorList = Session; - type Validator = XAccounts; -} - -impl xaccounts::Trait for Runtime { - type DetermineIntentionJackpotAccountId = xaccounts::SimpleAccountIdDeterminator; -} -// fees -impl xfee_manager::Trait for Runtime { - type Event = Event; -} -// assets -impl xassets::Trait for Runtime { - type Balance = Balance; - type OnNewAccount = Indices; - type Event = Event; - type OnAssetChanged = XTokens; - type OnAssetRegisterOrRevoke = (XTokens, XSpot); - type DetermineTokenJackpotAccountId = xassets::SimpleAccountIdDeterminator; -} - -impl xrecords::Trait for Runtime { + /// The header type. + type Header = generic::Header; + /// The ubiquitous event type. type Event = Event; + /// The ubiquitous origin type. + type Origin = Origin; + /// Maximum number of block number to block hash mappings to keep (oldest pruned first). + type BlockHashCount = BlockHashCount; + /// Maximum weight of each block. + type MaximumBlockWeight = MaximumBlockWeight; + /// The weight of database operations that the runtime can invoke. + type DbWeight = RocksDbWeight; + /// The weight of the overhead invoked on the block import process, independent of the + /// extrinsics included in that block. + type BlockExecutionWeight = BlockExecutionWeight; + /// The base weight of any extrinsic processed by the runtime, independent of the + /// logic of that extrinsic. (Signature verification, nonce increment, fee, etc...) + type ExtrinsicBaseWeight = ExtrinsicBaseWeight; + /// The maximum weight that a single extrinsic of `Normal` dispatch class can have, + /// idependent of the logic of that extrinsics. (Roughly max block weight - average on + /// initialize cost). + type MaximumExtrinsicWeight = MaximumExtrinsicWeight; + /// Maximum size of all encoded transactions (in bytes) that are allowed in one block. + type MaximumBlockLength = MaximumBlockLength; + /// Portion of the block weight that is available to all normal transactions. + type AvailableBlockRatio = AvailableBlockRatio; + /// Version of the runtime. + type Version = Version; + /// Converts a module to the index of the module in `construct_runtime!`. + /// + /// This type is being generated by `construct_runtime!`. + type ModuleToIndex = ModuleToIndex; + /// What to do if a new account is created. + type OnNewAccount = (); + /// What to do if an account is fully reaped from the system. + type OnKilledAccount = (); + /// The data to be stored in an account. + type AccountData = (); } -impl xfisher::Trait for Runtime { - type Event = Event; - type CheckHeader = HeaderChecker; +impl pallet_aura::Trait for Runtime { + type AuthorityId = AuraId; } -impl xprocess::Trait for Runtime {} - -impl xstaking::Trait for Runtime { +impl pallet_grandpa::Trait for Runtime { type Event = Event; - type OnDistributeAirdropAsset = XTokens; - type OnDistributeCrossChainAsset = XTokens; - type OnReward = XTokens; -} + type Call = Call; -impl xtokens::Trait for Runtime { - type Event = Event; -} + type KeyOwnerProofSystem = (); -impl xspot::Trait for Runtime { - type Price = Balance; - type Event = Event; -} + type KeyOwnerProof = + >::Proof; -// bridge -impl xbridge_common::Trait for Runtime { - type Event = Event; -} + type KeyOwnerIdentification = >::IdentificationTuple; -impl xbitcoin::Trait for Runtime { - type XBitcoinLockup = Self; - type AccountExtractor = xbridge_common::extractor::Extractor; - type TrusteeSessionProvider = XBridgeFeatures; - type TrusteeMultiSigProvider = xbridge_features::trustees::BitcoinTrusteeMultiSig; - type CrossChainProvider = XBridgeFeatures; - type Event = Event; + type HandleEquivocation = (); } -impl xbitcoin_lockup::Trait for Runtime { - type Event = Event; +parameter_types! { + pub const MinimumPeriod: u64 = SLOT_DURATION / 2; } -impl xsdot::Trait for Runtime { - type AccountExtractor = xbridge_common::extractor::Extractor; - type CrossChainProvider = XBridgeFeatures; - type Event = Event; +impl pallet_timestamp::Trait for Runtime { + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = Aura; + type MinimumPeriod = MinimumPeriod; } -impl xbridge_features::Trait for Runtime { - type TrusteeMultiSig = xbridge_features::SimpleTrusteeMultiSigIdFor; - type Event = Event; -} +// impl pallet_transaction_payment::Trait for Runtime { +// type Currency = (); // TODO +// type OnTransactionPayment = (); +// type TransactionByteFee = TransactionByteFee; +// type WeightToFee = IdentityFee; +// type FeeMultiplierUpdate = (); +// } -impl xmultisig::Trait for Runtime { - type MultiSig = xmultisig::SimpleMultiSigIdFor; - type GenesisMultiSig = xmultisig::ChainXGenesisMultisig; - type Proposal = Call; - type TrusteeCall = trustee::TrusteeCall; +impl pallet_sudo::Trait for Runtime { type Event = Event; -} - -impl finality_tracker::Trait for Runtime { - type OnFinalizationStalled = xgrandpa::SyncedAuthorities; -} - -// due to current contracts has close Rent mode, thus this params are useless -parameter_types! { - pub const TombstoneDeposit: Balance = 1 * 10_000_000; - pub const RentByteFee: Balance = 1 * 10_000_000; - pub const RentDepositOffset: Balance = 1000 * 10_000_000; - pub const SurchargeReward: Balance = 150 * 10_000_000; -} - -pub struct DispatchFeeComputor; -impl - xcontracts::ComputeDispatchFee< - ::Call, - ::Balance, - > for DispatchFeeComputor -{ - fn compute_dispatch_fee( - call: &::Call, - ) -> Option<::Balance> { - let switch = xfee_manager::Module::::switcher(); - let method_call_weight = XFeeManager::method_call_weight(); - let encoded_len = call.using_encoded(|encoded| encoded.len() as u64); - (*call) - .check_xcontracts_fee(switch, method_call_weight) - .map(|weight| XFeeManager::transaction_fee(weight, encoded_len)) - } -} - -impl xcontracts::Trait for Runtime { type Call = Call; - type Event = Event; - type DetermineContractAddress = xcontracts::SimpleAddressDeterminer; - type ComputeDispatchFee = DispatchFeeComputor; - type TrieIdGenerator = xcontracts::TrieIdFromParentCounter; - type SignedClaimHandicap = xcontracts::DefaultSignedClaimHandicap; - type TombstoneDeposit = TombstoneDeposit; - type StorageSizeOffset = xcontracts::DefaultStorageSizeOffset; - type RentByteFee = RentByteFee; - type RentDepositOffset = RentDepositOffset; - type MaxDepth = xcontracts::DefaultMaxDepth; - type MaxValueSize = xcontracts::DefaultMaxValueSize; - type BlockGasLimit = xcontracts::DefaultBlockGasLimit; -} - -pub struct HeaderChecker; -impl xfisher::CheckHeader for HeaderChecker { - fn check_header( - signer: &AuthorityId, - first: &(xfisher::RawHeader, u64, H512), - second: &(xfisher::RawHeader, u64, H512), - ) -> result::Result<(BlockNumber, BlockNumber), &'static str> { - if (*first).1 != (*second).1 { - return Err("slot number not same"); - } - - let fst_header = verify_header(first, signer)?; - let snd_header = verify_header(second, signer)?; - if fst_header.hash() == snd_header.hash() { - return Err("same header, do nothing for this"); - } - Ok((fst_header.number, snd_header.number)) - } -} -fn verify_header( - header: &(xfisher::RawHeader, u64, H512), - expected_author: &AuthorityId, -) -> result::Result { - // hard code, digest with other type can't be decode in runtime, thus just can decode pre header(header without digest) - // 3 * hash + vec + CompactNumber - ensure_with_errorlog!( - header.0.as_slice().len() <= 3 * 32 + 1 + 16, - "should use pre header", - "should use pre header|current len:{:?}", - header.0.as_slice().len() - ); - - let pre_header: Header = Decode::decode(&mut header.0.as_slice()).ok_or("decode header err")?; - - // verify sign - let to_sign = ((*header).1, pre_header.hash()).encode(); - - ensure_with_errorlog!( - runtime_io::ed25519_verify(&(header.2).0, &to_sign[..], expected_author.clone()), - "check signature failed", - "check signature failed|slot:{:}|pre_hash:{:?}|to_sign:{:}|sig:{:?}|author:{:?}", - (*header).1, - pre_header.hash(), - u8array_to_hex(&to_sign[..]), - header.2, - expected_author - ); - - Ok(pre_header) } construct_runtime!( - pub enum Runtime with Log(InternalLog: DigestItem) where + pub enum Runtime where Block = Block, - NodeBlock = chainx_primitives::Block, + NodeBlock = opaque::Block, UncheckedExtrinsic = UncheckedExtrinsic { - System: system::{default, Log(ChangesTrieRoot)}, - Indices: indices::{Module, Call, Storage, Event}, - Timestamp: timestamp::{Module, Call, Storage, Config, Inherent}, - Consensus: consensus::{Module, Call, Storage, Config, Log(AuthoritiesChange), Inherent}, - Session: xsession, - FinalityTracker: finality_tracker::{Module, Call, Inherent}, - Grandpa: xgrandpa::{Module, Call, Storage, Log(), Event}, - Aura: xaura::{Module, Inherent(Timestamp)}, - - // chainx runtime module - XSystem: xsystem::{Module, Call, Storage, Inherent, Config}, - XAccounts: xaccounts::{Module, Strorage}, - // fee - XFeeManager: xfee_manager::{Module, Call, Storage, Config, Event}, - // assets - XAssets: xassets, - XAssetsRecords: xrecords::{Module, Call, Storage, Event}, - XAssetsProcess: xprocess::{Module, Call, Storage}, - // mining - XStaking: xstaking, - XTokens: xtokens::{Module, Call, Storage, Event, Config}, - // dex - XSpot: xspot, - // bridge - XBridgeOfBTC: xbitcoin::{Module, Call, Storage, Config, Event}, - XBridgeOfSDOT: xsdot::{Module, Call, Storage, Config, Event}, - XBridgeFeatures: xbridge_features, - // multisig - XMultiSig: xmultisig::{Module, Call, Storage, Event}, - - XBootstrap: xbootstrap::{Config}, - - // fisher - XFisher: xfisher::{Module, Call, Storage, Event}, - - XBridgeCommon: xbridge_common::{Module, Storage, Event}, - XBridgeOfBTCLockup: xbitcoin_lockup::{Module, Call, Storage, Event}, - - XContracts: xcontracts, + System: frame_system::{Module, Call, Config, Storage, Event}, + RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Module, Call, Storage}, + Timestamp: pallet_timestamp::{Module, Call, Storage, Inherent}, + Aura: pallet_aura::{Module, Config, Inherent(Timestamp)}, + Grandpa: pallet_grandpa::{Module, Call, Storage, Config, Event}, + Sudo: pallet_sudo::{Module, Call, Config, Storage, Event}, + + // TransactionPayment: pallet_transaction_payment::{Module, Storage}, } ); /// The address format for describing accounts. -pub type Address = ::Source; +pub type Address = AccountId; /// Block header type as expected by this runtime. -pub type Header = generic::Header; +pub type Header = generic::Header; /// Block type as expected by this runtime. pub type Block = generic::Block; -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; -/// Custom Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = xr_primitives::generic::UncheckedMortalCompactExtrinsic< - Address, - Index, - Call, - Signature, - Acceleration, ->; /// A Block signed with a Justification pub type SignedBlock = generic::SignedBlock; +/// BlockId type as expected by this runtime. +pub type BlockId = generic::BlockId; +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + frame_system::CheckSpecVersion, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, + // pallet_transaction_payment::ChargeTransactionPayment, +); +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; +pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. -pub type Executive = - xexecutive::Executive, XFeeManager, AllModules>; +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllModules, +>; impl_runtime_apis! { - impl client_api::Core for Runtime { + impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { VERSION } @@ -416,20 +299,16 @@ impl_runtime_apis! { fn initialize_block(header: &::Header) { Executive::initialize_block(header) } - -// fn authorities() -> Vec { -// panic!("Deprecated, please use `AuthoritiesApi`.") -// } } - impl client_api::Metadata for Runtime { + impl sp_api::Metadata for Runtime { fn metadata() -> OpaqueMetadata { Runtime::metadata().into() } } - impl block_builder_api::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyResult { + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { Executive::apply_extrinsic(extrinsic) } @@ -437,265 +316,99 @@ impl_runtime_apis! { Executive::finalize_block() } - fn inherent_extrinsics(data: InherentData) -> Vec<::Extrinsic> { + fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { data.create_extrinsics() } - fn check_inherents(block: Block, data: InherentData) -> CheckInherentsResult { + fn check_inherents( + block: Block, + data: sp_inherents::InherentData, + ) -> sp_inherents::CheckInherentsResult { data.check_extrinsics(&block) } fn random_seed() -> ::Hash { - System::random_seed() + RandomnessCollectiveFlip::random_seed() } } - impl client_api::TaggedTransactionQueue for Runtime { - fn validate_transaction(tx: ::Extrinsic) -> TransactionValidity { - Executive::validate_transaction(tx) + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx) } } - impl offchain_primitives::OffchainWorkerApi for Runtime { - fn offchain_worker(number: NumberFor) { - Executive::offchain_worker(number) - } - } - - impl fg_primitives::GrandpaApi for Runtime { - fn grandpa_pending_change(digest: &DigestFor) - -> Option>> - { - for log in digest.logs.iter().filter_map(|l| match l { - Log(InternalLog::xgrandpa(grandpa_signal)) => Some(grandpa_signal), - _=> None - }) { - if let Some(change) = Grandpa::scrape_digest_change(log) { - return Some(change); - } - } - None - } - - fn grandpa_forced_change(digest: &DigestFor) - -> Option<(NumberFor, ScheduledChange>)> - { - for log in digest.logs.iter().filter_map(|l| match l { - Log(InternalLog::xgrandpa(grandpa_signal)) => Some(grandpa_signal), - _ => None - }) { - if let Some(change) = Grandpa::scrape_digest_forced_change(log) { - return Some(change); - } - } - None - } - - fn grandpa_authorities() -> Vec<(AuthorityId, u64)> { - Grandpa::grandpa_authorities() + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) } } - impl consensus_aura::AuraApi for Runtime { + impl sp_consensus_aura::AuraApi for Runtime { fn slot_duration() -> u64 { Aura::slot_duration() } - } - impl consensus_authorities::AuthoritiesApi for Runtime { - fn authorities() -> Vec> { - Consensus::authorities() + fn authorities() -> Vec { + Aura::authorities() } } - impl runtime_api::xassets_api::XAssetsApi for Runtime { - fn valid_assets() -> Vec { - XAssets::valid_assets() - } - - fn all_assets() -> Vec<(xassets::Asset, bool)> { - XAssets::all_assets() - } - - fn valid_assets_of(who: AccountId) -> Vec<(xassets::Token, BTreeMap)> { - XAssets::valid_assets_of(&who) - } - - fn withdrawal_list_of(chain: xassets::Chain) -> Vec> { - match chain { - xassets::Chain::Bitcoin => XBridgeOfBTC::withdrawal_list(), - xassets::Chain::Ethereum => Vec::new(), - _ => Vec::new(), - } - } - - fn deposit_list_of(chain: xassets::Chain) -> Vec> { - match chain { - xassets::Chain::Bitcoin => XBridgeOfBTC::deposit_list(), - xassets::Chain::Ethereum => Vec::new(), - _ => Vec::new(), - } - } - - fn verify_address(token: xassets::Token, addr: AddrStr, ext: xassets::Memo) -> Result<(), Vec> { - XAssetsProcess::verify_address(token, addr, ext).map_err(|e| e.as_bytes().to_vec()) - } - - fn withdrawal_limit(token: xassets::Token) -> Option> { - XAssetsProcess::withdrawal_limit(&token) - } - } - - impl runtime_api::xmining_api::XMiningApi for Runtime { - fn jackpot_accountid_for_unsafe(who: AccountId) -> AccountId { - XStaking::jackpot_accountid_for_unsafe(&who) - } - fn multi_jackpot_accountid_for_unsafe(whos: Vec) -> Vec { - XStaking::multi_jackpot_accountid_for_unsafe(&whos) - } - fn token_jackpot_accountid_for_unsafe(token: xassets::Token) -> AccountId { - XTokens::token_jackpot_accountid_for_unsafe(&token) - } - fn multi_token_jackpot_accountid_for_unsafe(tokens: Vec) -> Vec { - XTokens::multi_token_jackpot_accountid_for_unsafe(&tokens) + impl sp_session::SessionKeys for Runtime { + fn generate_session_keys(seed: Option>) -> Vec { + opaque::SessionKeys::generate(seed) } - fn asset_power(token: xassets::Token) -> Option { - XTokens::asset_power(&token) - } - } - impl runtime_api::xspot_api::XSpotApi for Runtime { - fn aver_asset_price(token: xassets::Token) -> Option { - XSpot::aver_asset_price(&token) + fn decode_session_keys( + encoded: Vec, + ) -> Option, KeyTypeId)>> { + opaque::SessionKeys::decode_into_raw_public_keys(&encoded) } } - impl runtime_api::xfee_api::XFeeApi for Runtime { - fn transaction_fee(call_params: Vec, encoded_len: u64) -> Option { - let call: Call = if let Some(call) = Decode::decode(&mut call_params.as_slice()) { - call - } else { - return None; - }; - - let switch = xfee_manager::Module::::switcher(); - let method_call_weight = XFeeManager::method_call_weight(); - call.check_fee(switch, method_call_weight).map(|weight| - XFeeManager::transaction_fee(weight, encoded_len) - ) - } - - fn fee_weight_map() -> BTreeMap, u64> { - let method_call_weight = XFeeManager::method_call_weight(); - fee::call_weight_map(&method_call_weight) + impl fg_primitives::GrandpaApi for Runtime { + fn grandpa_authorities() -> GrandpaAuthorityList { + Grandpa::grandpa_authorities() } - } - impl runtime_api::xsession_api::XSessionApi for Runtime { - fn pubkeys_for_validator_name(name: Vec) -> Option<(AccountId, Option)> { - Session::pubkeys_for_validator_name(name) + fn submit_report_equivocation_extrinsic( + _equivocation_proof: fg_primitives::EquivocationProof< + ::Hash, + NumberFor, + >, + _key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof, + ) -> Option<()> { + None } - } - impl runtime_api::xstaking_api::XStakingApi for Runtime { - fn intention_set() -> Vec { - XStaking::intention_set() - } - fn intentions_info_common() -> Vec> { - XStaking::intentions_info_common() - } - fn intention_info_common_of(who: &AccountId) -> Option> { - XStaking::intention_info_common_of(who) + fn generate_key_ownership_proof( + _set_id: fg_primitives::SetId, + _authority_id: GrandpaId, + ) -> Option { + // NOTE: this is the only implementation possible since we've + // defined our key owner proof type as a bottom type (i.e. a type + // with no values). + None } } - impl runtime_api::xbridge_api::XBridgeApi for Runtime { - fn mock_new_trustees(chain: xassets::Chain, candidates: Vec) -> Result, Vec> { - XBridgeFeatures::mock_trustee_session_impl(chain, candidates).map_err(|e| e.as_bytes().to_vec()) - } - fn trustee_props_for(who: AccountId) -> BTreeMap { - XBridgeFeatures::trustee_props_for(&who) - } - fn trustee_session_info() -> BTreeMap> { - let mut map = BTreeMap::new(); - for chain in xassets::Chain::iterator() { - if let Some((_, info)) = Self::trustee_session_info_for(*chain, None) { - map.insert(*chain, info); - } - } - map - } - fn trustee_session_info_for(chain: xassets::Chain, number: Option) -> Option<(u32, GenericAllSessionInfo)> { - XBridgeFeatures::trustee_session_info_for(chain, number).map(|info| { - let num = number.unwrap_or_else(||XBridgeFeatures::current_session_number(chain)); - (num, info) - }) + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { + fn account_nonce(account: AccountId) -> Index { + System::account_nonce(account) } } - impl runtime_api::xcontracts_api::XContractsApi for Runtime { - fn call( - origin: AccountId, - dest: AccountId, - value: Balance, - gas_limit: u64, - issue_gas: bool, - input_data: Vec, - ) -> (ContractExecResult, Balance){ - if issue_gas { - let tmp_account = AccountId::default(); - let increase = gas_limit * XContracts::gas_price(); - let _ = XAssets::pcx_make_free_balance_be(&tmp_account, increase); - let _ = XAssets::pcx_move_free_balance(&tmp_account, &origin, increase); - } - let exec_result = XContracts::bare_call( - origin.clone(), - dest, - value, - gas_limit, - input_data, - ); - let r = match exec_result { - Ok(v) => ContractExecResult::Success { - status: u16::from(v.status), - data: v.data, - }, - Err(e) => ContractExecResult::Error(e.reason.as_bytes().to_vec()), - }; - (r, XAssets::pcx_free_balance(&origin)) - } - - fn get_storage( - address: AccountId, - key: [u8; 32], - ) -> GetStorageResult { - XContracts::get_storage(address, key).map_err(|rpc_err| { - use GetStorageError as RpcGetStorageError; - // Map the contract error into the RPC layer error. - match rpc_err { - xcontracts::GetStorageError::ContractDoesntExist => RpcGetStorageError::ContractDoesntExist, - xcontracts::GetStorageError::IsTombstone => RpcGetStorageError::IsTombstone, - } - }) - } - - fn xrc20_call(token: xassets::Token, selector: XRC20Selector, data: Vec) -> ContractExecResult { - // this call should not be called in extrinsics - let pay_gas = AccountId::default(); - let gas_limit = 500_0000; - let value = gas_limit * XContracts::gas_price(); - // temp issue some balance for a 0x00...0000 accountid - let _ = XAssets::pcx_make_free_balance_be(&pay_gas, value); - let exec_result = XContracts::call_xrc20(token, pay_gas.clone(), gas_limit, selector, data); - // remove all balance for this accountid - let _ = XAssets::pcx_make_free_balance_be(&pay_gas, Zero::zero()); - match exec_result { - Ok(v) => ContractExecResult::Success { - status: u16::from(v.status), - data: v.data, - }, - Err(e) => ContractExecResult::Error(e.reason.as_bytes().to_vec()), - } + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi< + Block, + Balance, + UncheckedExtrinsic, + > for Runtime { + fn query_info(uxt: UncheckedExtrinsic, len: u32) -> RuntimeDispatchInfo { + // TransactionPayment::query_info(uxt, len) + unimplemented!() } } } diff --git a/runtime/src/tests.rs b/runtime/src/tests.rs deleted file mode 100644 index 3486cda107fd3..0000000000000 --- a/runtime/src/tests.rs +++ /dev/null @@ -1,47 +0,0 @@ -#![cfg(test)] - -use super::*; -use hex_literal::hex; -#[test] -fn check_header_with_same() { - use substrate_primitives::ed25519::Public; - use xfisher::CheckHeader; - - let pubkey: AccountId = Public(hex!( - "dc6731942968ba7a321b22f688fbb94449975b5b078f2a495610df52c0fa2fbf" - )); - let header: xfisher::RawHeader = hex!("d40fc01c49faf8904392016f26ad78d1a278f0f24cd23f86ef515effc0c2a1a62901109f11d0d043c906d7f900327b0e997a9c87e92f039063a76cbb5c4d76657ca721be011fe0bfad5ac066befbf918750a3705524c0b96ca5d01d4784856737adf00").to_vec(); - let sig: H512 = hex!("420684ff8a126699398146647fb9b484e629419cd23a62f40d9d8e410b1aef29f11d364b32a339fb1bc78a9d0a745a6c2759678ee5e273c01e2648c906ea6204").into(); - let slot: u64 = 780332910; - - let header = (header, slot, sig); - - // normal check - let r = HeaderChecker::check_header(&pubkey, &header, &header.clone()); - assert_eq!(r, Err("same header, do nothing for this")); - - // all header should failed - let all_header: xfisher::RawHeader = hex!("38cc10775c83d2effcfaca9716c83c45dbbe679e8c19bbf722dae6fbcaca7859190164bc5bdfcca7a9eff2c747d484a1c003d0148199e5559081c6f8c407bcdc47db5e9286d974a659b7a0dac52a540b744eed55712ebb0f83d1ce67594a51e815cd040461757261210168ef822e00000000aab2d3ad598426568deb407cd871db7f731a404949ba5a155b05d3cd50e07338e353f62d198a348ea752e6d96d987f1337830232a8011319e3f93ee2e040fc04").to_vec(); - let all_header = (all_header, slot, sig); - let r = HeaderChecker::check_header(&pubkey, &header, &all_header); - assert_eq!(r, Err("should use pre header")); - - // normal check2 - let pubkey: AccountId = Public(hex!( - "720aaf07da947bdf7ac25f73cc70207b1e691f2794ee2044fdd0442bda78ed31" - )); - - let header: xfisher::RawHeader = hex!("b9f82b092166d6ec8c6c7fa8ec87e035f9c54599eb850c2e19151c179f28cfad2964998b7679c533be2d84de0c4038188bdec3f4f1640e6034a33b474657033156eccd1b36c5dc9a5ef72ede62162f5ff0e74f82818bab2d5dd3c7e7b12e4375a90200").to_vec(); - let slot: u64 = 780431957; - let sig: H512 = hex!("b6e87db4a951aa2d52af38b1b52b5d2c2024e9df277ab30ad38ce4c7abc84c344fea0f79ed22db31aacffd5367a5f374313d553cc69d596fc49360620fbedb01").into(); - - let header1 = (header, slot, sig); - - let header: xfisher::RawHeader = hex!("15007dd167077811727b6777f056b19b65083ed27685d6dc0cc904de46f1ad913d69e3590805d5a295db893ff1e26dab8f8c937cbc5bbb826f94d51003c10ba18f62cd1b36c5dc9a5ef72ede62162f5ff0e74f82818bab2d5dd3c7e7b12e4375a90200").to_vec(); - let slot: u64 = 780431957; - let sig: H512 = hex!("18554f60f8dd44bd55019d0be45c011118cc02bec734a87dd47b9015a1b8aef63c4bed2ad874f17a7528688b8d74cebceebefd08ff1ea64d95a65f26a938de0d").into(); - let header2 = (header, slot, sig); - - let r = HeaderChecker::check_header(&pubkey, &header1, &header2); - assert_eq!(r, Ok((6410, 6735))); -} diff --git a/runtime/src/trustee.rs b/runtime/src/trustee.rs deleted file mode 100644 index c3f40ab3ba7e9..0000000000000 --- a/runtime/src/trustee.rs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -use support::dispatch::{Dispatchable, Result}; -use system; - -use super::{AccountId, Call}; -use xbitcoin::Call as XBitcoinCall; -use xbridge_features::Call as XBridgeFeaturesCall; -use xmultisig::LimitedCall; -use xsupport::{error, info}; - -pub struct TrusteeCall(Call); - -impl From for TrusteeCall { - fn from(call: Call) -> Self { - TrusteeCall(call) - } -} - -impl LimitedCall for TrusteeCall { - fn allow(&self) -> bool { - // only allow trustee function - match &self.0 { - Call::XBridgeOfBTC(call) => match call { - XBitcoinCall::set_btc_withdrawal_fee_by_trustees(..) => true, - XBitcoinCall::set_btc_deposit_limit_by_trustees(..) => true, - XBitcoinCall::fix_withdrawal_state_by_trustees(..) => true, - XBitcoinCall::remove_pending_by_trustees(..) => true, - _ => false, - }, - Call::XBridgeFeatures(call) => match call { - XBridgeFeaturesCall::transition_trustee_session(..) => true, - _ => false, - }, - _ => false, - } - } - - fn exec(&self, exerciser: &AccountId) -> Result { - if !self.allow() { - error!( - "[LimitedCall]|not allow to exec this call for trustee role now|exerciser:{:?}", - exerciser - ); - return Err("not allow to exec this call for trustee role now"); - } - info!( - "trustee exec|try to exec from multisig addr:{:?}", - exerciser - ); - let origin = system::RawOrigin::Signed(exerciser.clone()).into(); - if let Err(e) = self.0.clone().dispatch(origin) { - if e == "bad origin: expected to be a root origin" { - info!("failed by executing from addr, try to use root to exec it"); - let origin = system::RawOrigin::Root.into(); - return self.0.clone().dispatch(origin); - } - return Err(e); - } - Ok(()) - } -} diff --git a/runtime/src/xcontracts_fee.rs b/runtime/src/xcontracts_fee.rs deleted file mode 100644 index a399fbe9cf2c9..0000000000000 --- a/runtime/src/xcontracts_fee.rs +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2018-2019 Chainpool. -use rstd::collections::btree_map::BTreeMap; - -use xr_primitives::XString; - -use xfee_manager::CallSwitcher; - -use xassets::Call as XAssetsCall; -use xcontracts::Call as XContractsCall; - -use crate::Call; - -pub trait XContractsCheckFee { - fn check_xcontracts_fee( - &self, - switcher: BTreeMap, - method_weight_map: BTreeMap, - ) -> Option; -} - -impl XContractsCheckFee for Call { - fn check_xcontracts_fee( - &self, - switcher: BTreeMap, - method_weight_map: BTreeMap, - ) -> Option { - let get_switcher = |call_switcher: CallSwitcher| -> bool { - switcher.get(&call_switcher).copied().unwrap_or(false) - }; - - // Check if a certain emergency switch is on. - if get_switcher(CallSwitcher::Global) { - return None; - }; - - match self { - Call::XContracts(..) if get_switcher(CallSwitcher::XContracts) => { - return None; - } - _ => (), - } - - match self { - Call::XAssets(call) => match call { - XAssetsCall::transfer(..) => { - get_method_call_weight_func!(method_weight_map, XAssets, transfer, 1) - } - _ => None, - }, - Call::XContracts(call) => match call { - XContractsCall::convert_to_asset(..) => Some(0), - _ => None, - }, - _ => None, - } - } -} diff --git a/runtime/src/xexecutive.rs b/runtime/src/xexecutive.rs deleted file mode 100644 index 4d8a5440680af..0000000000000 --- a/runtime/src/xexecutive.rs +++ /dev/null @@ -1,621 +0,0 @@ -// Copyright 2017-2018 Parity Technologies (UK) Ltd. -// Copyright 2018-2019 Chainpool. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Executive: Handles all of the top-level stuff; essentially just executing blocks/extrinsics. - -#![allow(clippy::op_ref)] -#![allow(clippy::identity_op)] - -use crate::fee::CheckFee; -use parity_codec::{Codec, Encode}; -use rstd::marker::PhantomData; -use rstd::prelude::*; -use rstd::result; -use runtime_io; -use runtime_primitives::traits::{ - self, Applyable, Block as BlockT, CheckEqual, Checkable, Digest, Header, NumberFor, - OffchainWorker, OnFinalize, OnInitialize, One, Zero, -}; -use runtime_primitives::transaction_validity::{ - TransactionLongevity, TransactionPriority, TransactionValidity, -}; -use runtime_primitives::{ApplyError, ApplyOutcome}; -use support::Dispatchable; -use system::extrinsics_root; -use xfee_manager::MakePayment; -use xr_primitives::traits::Accelerable; - -mod internal { - pub const MAX_TRANSACTIONS_SIZE: u32 = 4 * 1024 * 1024; - - pub enum ApplyError { - BadSignature(&'static str), - Stale, - Future, - CantPay, - FullBlock, - NotAllow, - } - - pub enum ApplyOutcome { - Success, - Fail(&'static str), - } -} - -/// Something that can be used to execute a block. -pub trait ExecuteBlock { - /// Actually execute all transitioning for `block`. - fn execute_block(block: Block); -} - -pub struct Executive( - PhantomData<(System, Block, Context, Payment, AllModules)>, -); - -impl< - System: system::Trait + xfee_manager::Trait, - Block: traits::Block, - Context: Default, - Payment: MakePayment, - AllModules: OnInitialize + OnFinalize + OffchainWorker, -> ExecuteBlock for Executive where - Block::Extrinsic: Checkable + Codec, - >::Checked: Applyable + Accelerable, - <>::Checked as Applyable>::Call: Dispatchable + CheckFee, - <<>::Checked as Applyable>::Call as Dispatchable>::Origin: From> -{ - fn execute_block(block: Block) { - Executive::::execute_block(block); - } -} - -impl< - System: system::Trait + xfee_manager::Trait, - Block: traits::Block, - Context: Default, - Payment: MakePayment, - AllModules: OnInitialize + OnFinalize + OffchainWorker, -> Executive where - Block::Extrinsic: Checkable + Codec, - >::Checked: Applyable + Accelerable, - <>::Checked as Applyable>::Call: Dispatchable + CheckFee, - <<>::Checked as Applyable>::Call as Dispatchable>::Origin: From> -{ - /// Start the execution of a particular block. - pub fn initialize_block(header: &System::Header) { - Self::initialize_block_impl(header.number(), header.parent_hash(), header.extrinsics_root()); - } - - fn initialize_block_impl(block_number: &System::BlockNumber, parent_hash: &System::Hash, extrinsics_root: &System::Hash) { - >::initialize(block_number, parent_hash, extrinsics_root); - >::on_initialize(*block_number); - } - - fn initial_checks(block: &Block) { - let header = block.header(); - - // check parent_hash is correct. - let n = *header.number(); - assert!( - n > System::BlockNumber::zero() && >::block_hash(n - System::BlockNumber::one()) == *header.parent_hash(), - "Parent hash should be valid." - ); - - // check transaction trie root represents the transactions. - let xts_root = extrinsics_root::(&block.extrinsics()); - header.extrinsics_root().check_equal(&xts_root); - assert!(header.extrinsics_root() == &xts_root, "Transaction trie root must be valid."); - } - - /// Actually execute all transitioning for `block`. - pub fn execute_block(block: Block) { - Self::initialize_block(block.header()); - - // any initial checks - Self::initial_checks(&block); - - // execute extrinsics - let (header, extrinsics) = block.deconstruct(); - Self::execute_extrinsics_with_book_keeping(extrinsics, *header.number()); - - // any final checks - Self::final_checks(&header); - } - - /// Execute given extrinsics and take care of post-extrinsics book-keeping - fn execute_extrinsics_with_book_keeping(extrinsics: Vec, block_number: NumberFor) { - extrinsics.into_iter().for_each(Self::apply_extrinsic_no_note); - - // post-extrinsics book-keeping. - >::note_finished_extrinsics(); - >::on_finalize(block_number); - } - - /// Finalize the block - it is up the caller to ensure that all header fields are valid - /// except state-root. - pub fn finalize_block() -> System::Header { - >::note_finished_extrinsics(); - >::on_finalize(>::block_number()); - - // setup extrinsics - >::derive_extrinsics(); - >::finalize() - } - - /// Apply extrinsic outside of the block execution function. - /// This doesn't attempt to validate anything regarding the block, but it builds a list of uxt - /// hashes. - pub fn apply_extrinsic(uxt: Block::Extrinsic) -> result::Result { - let encoded = uxt.encode(); - let encoded_len = encoded.len(); - match Self::apply_extrinsic_with_len(uxt, encoded_len, Some(encoded)) { - Ok(internal::ApplyOutcome::Success) => Ok(ApplyOutcome::Success), - Ok(internal::ApplyOutcome::Fail(_)) => Ok(ApplyOutcome::Fail), - Err(internal::ApplyError::CantPay) => Err(ApplyError::CantPay), - Err(internal::ApplyError::BadSignature(_)) => Err(ApplyError::BadSignature), - Err(internal::ApplyError::Stale) => Err(ApplyError::Stale), - Err(internal::ApplyError::Future) => Err(ApplyError::Future), - Err(internal::ApplyError::FullBlock) => Err(ApplyError::FullBlock), - Err(internal::ApplyError::NotAllow) => Err(ApplyError::CantPay), // no other ApplyError for fee check failed - } - } - - /// Apply an extrinsic inside the block execution function. - fn apply_extrinsic_no_note(uxt: Block::Extrinsic) { - let l = uxt.encode().len(); - match Self::apply_extrinsic_with_len(uxt, l, None) { - Ok(internal::ApplyOutcome::Success) => (), - Ok(internal::ApplyOutcome::Fail(e)) => { - use xsupport::error; - runtime_io::print(e); - error!("[apply_extrinsic] failed: {}", e); - }, - Err(internal::ApplyError::CantPay) => panic!("All extrinsics should have sender able to pay their fees"), - Err(internal::ApplyError::BadSignature(_)) => panic!("All extrinsics should be properly signed"), - Err(internal::ApplyError::Stale) | Err(internal::ApplyError::Future) => panic!("All extrinsics should have the correct nonce"), - Err(internal::ApplyError::FullBlock) => panic!("Extrinsics should not exceed block limit"), - Err(internal::ApplyError::NotAllow) => panic!("Extrinsics should not allow for this call"), - } - } - - /// Actually apply an extrinsic given its `encoded_len`; this doesn't note its hash. - fn apply_extrinsic_with_len(uxt: Block::Extrinsic, encoded_len: usize, to_note: Option>) -> result::Result { - // Verify the signature is good. - let xt = uxt.check(&Default::default()).map_err(internal::ApplyError::BadSignature)?; - - // Check the size of the block if that extrinsic is applied. - if >::all_extrinsics_weight() + encoded_len as u32 > internal::MAX_TRANSACTIONS_SIZE { - return Err(internal::ApplyError::FullBlock); - } - - let mut signed_extrinsic = false; - if let (Some(sender), Some(index)) = (xt.sender(), xt.index()) { - // check index - let expected_index = >::account_nonce(sender); - if index != &expected_index { - return Err( - if index < &expected_index { internal::ApplyError::Stale } else { internal::ApplyError::Future } - ); } - - signed_extrinsic = true; - } - - let acc = xt.acceleration(); - // decode parameters - let (f, s) = xt.deconstruct(); - - if let Some(ref sender) = s { - // blocked check - let blocked = >::blocked_accounts(); - if blocked.contains(sender) { - return Err(internal::ApplyError::NotAllow); - } - } - - if signed_extrinsic { - // fee check - let acc = acc.unwrap(); - let switcher = >::switcher(); - let method_call_weight = >::method_call_weight(); - if let Some(weight) = f.check_fee(switcher, method_call_weight) { - // pay any fees. - Payment::make_payment(&s.clone().unwrap(), encoded_len, weight, acc.into()).map_err(|_| internal::ApplyError::CantPay)?; - - // AUDIT: Under no circumstances may this function panic from here onwards. - - // increment nonce in storage - >::inc_account_nonce(&s.clone().unwrap()); - } else { - return Err(internal::ApplyError::NotAllow); - } - } - // make sure to `note_extrinsic` only after we know it's going to be executed - // to prevent it from leaking in storage. - if let Some(encoded) = to_note { - >::note_extrinsic(encoded); - } - - // and dispatch - let r = f.dispatch(s.into()); - >::note_applied_extrinsic(&r, encoded_len as u32); - - r.map(|_| internal::ApplyOutcome::Success).or_else(|e| match e { - runtime_primitives::BLOCK_FULL => Err(internal::ApplyError::FullBlock), - e => Ok(internal::ApplyOutcome::Fail(e)) - }) - } - - fn final_checks(header: &System::Header) { - // remove temporaries. - let new_header = >::finalize(); - - // check digest. - assert_eq!( - header.digest().logs().len(), - new_header.digest().logs().len(), - "Number of digest items must match that calculated." - ); - let items_zip = header.digest().logs().iter().zip(new_header.digest().logs().iter()); - for (header_item, computed_item) in items_zip { - header_item.check_equal(&computed_item); - assert!(header_item == computed_item, "Digest item must match that calculated."); - } - - // check storage root. - let storage_root = new_header.state_root(); - header.state_root().check_equal(&storage_root); - assert!(header.state_root() == storage_root, "Storage root must match that calculated."); - } - - /// Check a given transaction for validity. This doesn't execute any - /// side-effects; it merely checks whether the transaction would panic if it were included or not. - /// - /// Changes made to the storage should be discarded. - pub fn validate_transaction(uxt: Block::Extrinsic) -> TransactionValidity { - // Note errors > 0 are from ApplyError - const UNKNOWN_ERROR: i8 = -127; - const MISSING_SENDER: i8 = -20; - const INVALID_INDEX: i8 = -10; - const ACC_ERROR: i8 = -30; - const NOT_ALLOW: i8 = -1; - const BLOCKED_SENDER: i8 = -2; - - let encoded_len = uxt.encode().len(); - - let xt = match uxt.check(&Default::default()) { - // Checks out. Carry on. - Ok(xt) => xt, - // An unknown account index implies that the transaction may yet become valid. - Err("invalid account index") => return TransactionValidity::Unknown(INVALID_INDEX), - // Technically a bad signature could also imply an out-of-date account index, but - // that's more of an edge case. - Err(runtime_primitives::BAD_SIGNATURE) => return TransactionValidity::Invalid(ApplyError::BadSignature as i8), - Err(_) => return TransactionValidity::Invalid(UNKNOWN_ERROR), - }; - - // Acceleration can't be zero or empty. - match xt.acceleration() { - Some(acc) => { - if acc.is_zero() { - return TransactionValidity::Invalid(ACC_ERROR); - } - } - None => return TransactionValidity::Invalid(ACC_ERROR), - } - - let valid = if let (Some(sender), Some(index), Some(acceleration)) = (xt.sender(), xt.index(), xt.acceleration()) { - // check index - let expected_index = >::account_nonce(sender); - if index < &expected_index { - return TransactionValidity::Invalid(ApplyError::Stale as i8); - } - let index = *index; - let provides = vec![(sender, index).encode()]; - let requires = if expected_index < index { - vec![(sender, index - One::one()).encode()] - } else { - vec![] - }; - - #[allow(clippy::cast_lossless)] - TransactionValidity::Valid { - priority: acceleration.into() as TransactionPriority, - requires, - provides, - longevity: TransactionLongevity::max_value(), - propagate: true, - } - } else { - TransactionValidity::Invalid(if xt.sender().is_none() { - MISSING_SENDER - } else { - INVALID_INDEX - }) - }; - - let acc = xt.acceleration().unwrap(); - let (f, s) = xt.deconstruct(); - - if let Some(ref sender) = s { - // blocked check - let blocked = >::blocked_accounts(); - if blocked.contains(sender) { - return TransactionValidity::Invalid(BLOCKED_SENDER as i8); - } - } - - // fee check - let switcher = >::switcher(); - let method_call_weight = >::method_call_weight(); - if let Some(fee_power) = f.check_fee(switcher, method_call_weight) { - if Payment::check_payment(&s.clone().unwrap(), encoded_len, fee_power, acc.into()).is_err() { - TransactionValidity::Invalid(ApplyError::CantPay as i8) - } else { - valid - } - } else { - TransactionValidity::Invalid(NOT_ALLOW as i8) - } - } - - /// Start an offchain worker and generate extrinsics. - pub fn offchain_worker(n: System::BlockNumber) { - >::generate_extrinsics(n) - } -} - -/* -#[cfg(test)] -mod tests { - use super::*; - use crate::fee::CheckFee; - use balances::Call; - use hex_literal::{hex, hex_impl}; - use runtime_io::with_externalities; - use runtime_primitives::testing::{Block, Digest, DigestItem, Header}; - use runtime_primitives::traits::{ - self, Applyable, BlakeTwo256, Checkable, Header as HeaderT, IdentityLookup, Member, - }; - use runtime_primitives::BuildStorage; - use substrate_primitives::{Blake2Hasher, H256}; - use support::{impl_outer_event, impl_outer_origin, traits::Currency}; - use system; - //use Acceleration; - - use crate::Runtime; - use parity_codec::Decode; - use serde::{Serialize, Serializer}; - use std::{fmt, fmt::Debug}; - - impl_outer_origin! { - pub enum Origin for Runtime { - } - } - - impl_outer_event! { - pub enum MetaEvent for Runtime { - balances, xaccounts, - } - } - - // Workaround for https://github.com/rust-lang/rust/issues/26925 . Remove when sorted. - #[derive(Clone, Eq, PartialEq)] - pub struct Runtime; - impl system::Trait for Runtime { - type Origin = Origin; - type Index = u64; - type BlockNumber = u64; - type Hash = substrate_primitives::H256; - type Hashing = BlakeTwo256; - type Digest = Digest; - type AccountId = u64; - type Lookup = IdentityLookup; - type Header = Header; - type Event = MetaEvent; - type Log = DigestItem; - } - impl balances::Trait for Runtime { - type Balance = u64; - type OnFreeBalanceZero = (); - type OnNewAccount = (); - type Event = MetaEvent; - type TransactionPayment = (); - type DustRemoval = (); - type TransferPayment = (); - } - - type TestXt = primitives::testing::TestXt>; - type Executive = super::Executive< - Runtime, - Block, - system::ChainContext, - balances::Module, - (), - >; - - #[test] - fn balance_transfer_dispatch_works() { - let mut t = system::GenesisConfig::::default() - .build_storage() - .unwrap() - .0; - t.extend( - balances::GenesisConfig:: { - transaction_base_fee: 10, - transaction_byte_fee: 0, - balances: vec![(1, 111)], - existential_deposit: 0, - transfer_fee: 0, - creation_fee: 0, - vesting: vec![], - } - .build_storage() - .unwrap() - .0, - ); - let xt = primitives::testing::TestXt(Some(1), 0, Call::transfer(2, 69)); - let mut t = runtime_io::TestExternalities::::new(t); - with_externalities(&mut t, || { - Executive::initialize_block(&Header::new( - 1, - H256::default(), - H256::default(), - [69u8; 32].into(), - Digest::default(), - )); - Executive::apply_extrinsic(xt).unwrap(); - assert_eq!(>::total_balance(&1), 32); - assert_eq!(>::total_balance(&2), 69); - }); - } - - fn new_test_ext() -> runtime_io::TestExternalities { - let mut t = system::GenesisConfig::::default() - .build_storage() - .unwrap() - .0; - t.extend( - balances::GenesisConfig::::default() - .build_storage() - .unwrap() - .0, - ); - t.into() - } - - #[test] - fn block_import_works() { - with_externalities(&mut new_test_ext(), || { - Executive::execute_block(Block { - header: Header { - parent_hash: [69u8; 32].into(), - number: 1, - state_root: hex!( - "49cd58a254ccf6abc4a023d9a22dcfc421e385527a250faec69f8ad0d8ed3e48" - ) - .into(), - extrinsics_root: hex!( - "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314" - ) - .into(), - digest: Digest { logs: vec![] }, - }, - extrinsics: vec![], - }); - }); - } - - #[test] - #[should_panic] - fn block_import_of_bad_state_root_fails() { - with_externalities(&mut new_test_ext(), || { - Executive::execute_block(Block { - header: Header { - parent_hash: [69u8; 32].into(), - number: 1, - state_root: [0u8; 32].into(), - extrinsics_root: hex!( - "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314" - ) - .into(), - digest: Digest { logs: vec![] }, - }, - extrinsics: vec![], - }); - }); - } - - #[test] - #[should_panic] - fn block_import_of_bad_extrinsic_root_fails() { - with_externalities(&mut new_test_ext(), || { - Executive::execute_block(Block { - header: Header { - parent_hash: [69u8; 32].into(), - number: 1, - state_root: hex!( - "49cd58a254ccf6abc4a023d9a22dcfc421e385527a250faec69f8ad0d8ed3e48" - ) - .into(), - extrinsics_root: [0u8; 32].into(), - digest: Digest { logs: vec![] }, - }, - extrinsics: vec![], - }); - }); - } - - #[test] - fn bad_extrinsic_not_inserted() { - let mut t = new_test_ext(); - let xt = primitives::testing::TestXt(Some(1), 42, Call::transfer(33, 69)); - with_externalities(&mut t, || { - Executive::initialize_block(&Header::new( - 1, - H256::default(), - H256::default(), - [69u8; 32].into(), - Digest::default(), - )); - assert!(Executive::apply_extrinsic(xt).is_err()); - assert_eq!(>::extrinsic_index(), Some(0)); - }); - } - - #[test] - fn block_size_limit_enforced() { - let run_test = |should_fail: bool| { - let mut t = new_test_ext(); - let xt = primitives::testing::TestXt(Some(1), 0, Call::transfer(33, 69)); - let xt2 = primitives::testing::TestXt(Some(1), 1, Call::transfer(33, 69)); - let encoded = xt2.encode(); - let len = if should_fail { - (internal::MAX_TRANSACTIONS_SIZE - 1) as usize - } else { - encoded.len() - }; - with_externalities(&mut t, || { - Executive::initialize_block(&Header::new( - 1, - H256::default(), - H256::default(), - [69u8; 32].into(), - Digest::default(), - )); - assert_eq!(>::all_extrinsics_len(), 0); - - Executive::apply_extrinsic(xt).unwrap(); - let res = Executive::apply_extrinsic_with_len(xt2, len, Some(encoded)); - - if should_fail { - assert!(res.is_err()); - assert_eq!(>::all_extrinsics_len(), 28); - assert_eq!(>::extrinsic_index(), Some(1)); - } else { - assert!(res.is_ok()); - assert_eq!(>::all_extrinsics_len(), 56); - assert_eq!(>::extrinsic_index(), Some(2)); - } - }); - }; - - run_test(false); - run_test(true); - } -} -*/ diff --git a/runtime/wasm/Cargo.lock b/runtime/wasm/Cargo.lock deleted file mode 100644 index f762b79d7f165..0000000000000 --- a/runtime/wasm/Cargo.lock +++ /dev/null @@ -1,4442 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "adler32" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "aes-ctr" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "aes-soft" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "aesni" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "aho-corasick" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "aio-limited" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "arc-swap" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "arrayref" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "asn1_der" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "asn1_der_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "asn1_der_derive" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "autocfg" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "backtrace" -version = "0.3.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "backtrace-sys" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "base58" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bigint" -version = "4.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bitflags" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitmask" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "blake2" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block-buffer" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block-cipher-trait" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block-padding" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bs58" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bs58" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bumpalo" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byte-tools" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "c2-chacha" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "c_linked_list" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cc" -version = "1.0.46" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "chain" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", -] - -[[package]] -name = "chainx-primitives" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "chainx-runtime" -version = "1.0.0" -dependencies = [ - "chainx-primitives 1.0.0", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "runtime-api 1.0.0", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-finality-tracker 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-sudo 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-aura-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-authorities 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-offchain-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-grandpa 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-process 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xaura 1.0.0", - "xrml-xbootstrap 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xcontracts 2.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xfisher 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xmining-tokens 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "chainx-runtime-wasm" -version = "0.4.0" -dependencies = [ - "chainx-runtime 1.0.0", -] - -[[package]] -name = "chrono" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "clear_on_drop" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "constant_time_eq" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "crc32fast" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-channel" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-queue" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-utils" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crunchy" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "crypto" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "siphasher 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crypto-mac" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ctr" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cuckoofilter" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "curve25519-dalek" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "data-encoding" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "derive_more" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "digest" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dns-parser" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "elastic-array" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "environmental" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "erased-serde" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "failure" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "failure_derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fixed-hash" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fixed-hash" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "flate2" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fnv" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures" -version = "0.1.29" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures-cpupool" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "gcc" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "generic-array" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "generic-array" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "get_if_addrs" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "c_linked_list 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "get_if_addrs-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "get_if_addrs-sys" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "getrandom" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hash-db" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "hash256-std-hasher" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hashbrown" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hashmap_core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "heapsize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "heck" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hex" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "hex-literal" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "hex-literal-impl 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-hack 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hex-literal-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro-hack 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hmac" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hmac" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hmac-drbg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "httparse" -version = "1.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "impl-codec" -version = "0.2.0" -source = "git+https://github.com/chainx-org/chainx-common#a9caa272a49add83f11d598a4b8fa1368086e685" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "impl-codec" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "impl-serde" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "impl-serde" -version = "0.2.1" -source = "git+https://github.com/chainx-org/chainx-common#a9caa272a49add83f11d598a4b8fa1368086e685" -dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "impl-serde" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "integer-sqrt" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ipnet" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "itoa" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "js-sys" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "keccak" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "keys" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", -] - -[[package]] -name = "kvdb" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d#b0317f649ab2c665b7987b8475878fc4d2e1f81d" -dependencies = [ - "elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lazycell" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.65" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libp2p" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core-derive 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-deflate 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-dns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-floodsub 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-identify 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-kad 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-mdns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-mplex 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-noise 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-ping 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-plaintext 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-ratelimit 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-secio 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-tcp 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-uds 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-wasm-ext 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-yamux 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-core" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "asn1_der 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "ed25519-dalek 1.0.0-pre.2 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "multistream-select 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rw-stream-sink 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-core-derive" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-deflate" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "flate2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-dns" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-dns-unofficial 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-floodsub" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "cuckoofilter 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-identify" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-kad" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "bigint 4.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-mdns" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "dns-parser 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-mplex" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-noise" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "snow 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-ping" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-plaintext" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-ratelimit" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aio-limited 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-secio" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "asn1_der 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-send-wrapper 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rw-stream-sink 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "twofish 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-tcp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipnet 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tk-listen 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-uds" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-wasm-ext" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-send-wrapper 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libp2p-yamux" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "yamux 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libsecp256k1" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lock_api" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lock_api" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lock_api" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "log" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "malloc_size_of_derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memchr" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memoffset" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "memory-db" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hashmap_core 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-util-mem 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "merkle" -version = "0.2.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", -] - -[[package]] -name = "merlin" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "miniz_oxide" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mio" -version = "0.6.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mio-extras" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mio-uds" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "miow" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "multistream-select" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "net2" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "nohash-hasher" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "nom" -version = "4.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-integer" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-traits" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num_cpus" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "once_cell" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "openssl" -version = "0.10.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "openssl-sys" -version = "0.9.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "owning_ref" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-bytes" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d#b0317f649ab2c665b7987b8475878fc4d2e1f81d" - -[[package]] -name = "parity-codec" -version = "3.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-codec-derive" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-multiaddr" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-multihash" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "blake2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "parity-util-mem" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "malloc_size_of_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-wasm" -version = "0.31.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-wasm" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "parking_lot" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot_core" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot_core" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot_core" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "paste" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "paste-impl" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pbkdf2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pkg-config" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ppv-lite86" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "primitive-types" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fixed-hash 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "primitive-types" -version = "0.5.1" -source = "git+https://github.com/chainx-org/chainx-common#a9caa272a49add83f11d598a4b8fa1368086e685" -dependencies = [ - "fixed-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.2.0 (git+https://github.com/chainx-org/chainx-common)", - "impl-serde 0.2.1 (git+https://github.com/chainx-org/chainx-common)", - "uint 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "primitives" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.2.0 (git+https://github.com/chainx-org/chainx-common)", - "impl-serde 0.2.1 (git+https://github.com/chainx-org/chainx-common)", - "primitive-types 0.5.1 (git+https://github.com/chainx-org/chainx-common)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "toml 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "proc-macro-hack" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro-hack-impl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "proc-macro-hack-impl" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "proc-macro2" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "protobuf" -version = "2.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pwasm-utils" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quick-error" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quote" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.3.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_chacha" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_chacha" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_jitter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_pcg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "redox_syscall" -version = "0.1.56" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "regex" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex-syntax" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ring" -version = "0.14.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ripemd160" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "runtime-api" -version = "1.0.0" -dependencies = [ - "chainx-primitives 1.0.0", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-process 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rustc-hex" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rw-stream-sink" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ryu" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "safe-mix" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "schnorrkel" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "merlin 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "scopeguard" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "scopeguard" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "script" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "send_wrapper" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde" -version = "1.0.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_derive" -version = "1.0.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_json" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serialization" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serialization_derive 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", -] - -[[package]] -name = "serialization_derive" -version = "0.1.0" -source = "git+https://github.com/chainx-org/light-bitcoin#28e3436c0028accdac84899011c5e9ae9ec4832f" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sha-1" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sha2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sha2" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sha3" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "siphasher" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "slab" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "slog" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "slog-async" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "slog-json" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "slog-scope" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arc-swap 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "smallvec" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "snow" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "static_slice 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sourcefile" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "sr-api-macros" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sr-io" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sr-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "sr-sandbox" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sr-std" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sr-version" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-consensus" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-finality-tracker" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-indices" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-metadata" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-sudo" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support-procedural 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-support" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "bitmask 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-metadata 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support-procedural 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-support-procedural" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-api-macros 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support-procedural-tools 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "srml-support-procedural-tools" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "srml-support-procedural-tools-derive 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "srml-support-procedural-tools-derive" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "srml-system" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "srml-timestamp" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "stable_deref_trait" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "static_assertions" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "static_assertions" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "static_slice" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "stream-cipher" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "strum" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "strum_macros" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-bip39" -version = "0.3.1" -source = "git+https://github.com/chainx-org/substrate-bip39.git?branch=chainx-master#61a21570b74e1f5c58d6e5033676fce8247ce734" -dependencies = [ - "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-client" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-api-macros 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-consensus-aura-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-consensus-authorities" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-consensus-common" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "libp2p 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-executor" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-panic-handler 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-serializer 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-finality-grandpa-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-inherents" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-keyring" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "strum 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", - "strum_macros 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-offchain-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "substrate-panic-handler" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-primitives" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ed25519-dalek 1.0.0-pre.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hash256-std-hasher 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitive-types 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-bip39 0.3.1 (git+https://github.com/chainx-org/substrate-bip39.git?branch=chainx-master)", - "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-serializer" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-state-machine" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-panic-handler 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "trie-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-root 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-telemetry" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slog-json 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slog-scope 4.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ws 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "substrate-trie" -version = "2.0.0" -source = "git+https://github.com/chainpool/substrate?branch=chainx-master#2b884c5055d81952a785d09fc1194ee314c6d4a2" -dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "memory-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "trie-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-root 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "subtle" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "syn" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "synstructure" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "synstructure" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "take_mut" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "thread_local" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "time" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tiny-bip39" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tiny-keccak" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tk-listen" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-codec" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-current-thread" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-dns-unofficial" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-executor" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-fs" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-io" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-sync" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-threadpool" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-timer" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-udp" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-uds" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "toml" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "trie-db" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hashmap_core 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "trie-root" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "twofish" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "twox-hash" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "typenum" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "uint" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "uint" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-segmentation" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unsigned-varint" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "untrusted" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "vcpkg" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "version_check" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wasi" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wasm-bindgen" -version = "0.2.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro-support 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.52" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wasm-bindgen-webidl" -version = "0.2.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-timer" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "send_wrapper 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmi" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi-validation 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmi-validation" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmi-validation" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "web-sys" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)", - "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-webidl 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "weedle" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ws" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "x25519-dalek" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "xr-primitives" -version = "1.0.0" -dependencies = [ - "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "xrml-grandpa" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-finality-tracker 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-finality-grandpa-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xaccounts" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xassets-assets" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xassets-process" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xassets-records" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xaura" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xmining-staking 1.0.0", -] - -[[package]] -name = "xrml-xbootstrap" -version = "1.0.0" -dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-finality-grandpa-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-process 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xmining-tokens 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xbridge-bitcoin" -version = "1.0.1" -dependencies = [ - "chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "merkle 0.2.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "script 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-common 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xbridge-common" -version = "1.0.0" -dependencies = [ - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xfee-manager 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xbridge-features" -version = "1.0.0" -dependencies = [ - "keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xmultisig 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xbridge-sdot" -version = "1.0.0" -dependencies = [ - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "xr-primitives 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xassets-records 1.0.0", - "xrml-xbridge-common 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xcontracts" -version = "2.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pwasm-utils 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-sandbox 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "wasmi-validation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xdex-spot" -version = "1.0.0" -dependencies = [ - "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xassets-assets 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-sdot 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xfee-manager" -version = "1.0.0" -dependencies = [ - "chainx-primitives 1.0.0", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xfisher" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xmining-staking" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xsession 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xmining-tokens" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xaccounts 1.0.0", - "xrml-xassets-assets 1.0.0", - "xrml-xbridge-bitcoin 1.0.1", - "xrml-xbridge-common 1.0.0", - "xrml-xbridge-features 1.0.0", - "xrml-xbridge-sdot 1.0.0", - "xrml-xdex-spot 1.0.0", - "xrml-xmining-staking 1.0.0", - "xrml-xsupport 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xmultisig" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xaccounts 1.0.0", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "xrml-xsession" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xr-primitives 1.0.0", - "xrml-xaccounts 1.0.0", - "xrml-xsystem 1.0.0", -] - -[[package]] -name = "xrml-xsupport" -version = "1.0.0" -dependencies = [ - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", -] - -[[package]] -name = "xrml-xsystem" -version = "1.0.0" -dependencies = [ - "parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)", - "xrml-xsupport 1.0.0", -] - -[[package]] -name = "yamux" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "nohash-hasher 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "zeroize" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "zeroize_derive 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "zeroize_derive" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[metadata] -"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" -"checksum aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee" -"checksum aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d" -"checksum aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100" -"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" -"checksum aio-limited 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c4dddf55b0b2da9acb7512f21c0a4f1c0871522ec4ab7fb919d0da807d1e32b3" -"checksum arc-swap 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f1a1eca3195b729bbd64e292ef2f5fff6b1c28504fed762ce2b1013dde4d8e92" -"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" -"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -"checksum asn1_der 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6fce6b6a0ffdafebd82c87e79e3f40e8d2c523e5fea5566ff6b90509bf98d638" -"checksum asn1_der_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" -"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" -"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" -"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" -"checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" -"checksum bigint 4.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebecac13b3c745150d7b6c3ea7572d372f09d627c2077e893bf26c5c7f70d282" -"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum bitmask 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5da9b3d9f6f585199287a473f4f8dfab6566cf827d15c00c219f53c645687ead" -"checksum blake2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" -"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -"checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" -"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -"checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" -"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09" -"checksum bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c95ee6bba9d950218b6cc910cf62bc9e0a171d0f4537e3627b0f54d08549b188" -"checksum bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b170cd256a3f9fa6b9edae3e44a7dfdfc77e8124dbc3e2612d75f9c3e2396dae" -"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" -"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" -"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" -"checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855" -"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" -"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum c_linked_list 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" -"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c" -"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" -"checksum chain 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68" -"checksum clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "97276801e127ffb46b66ce23f35cc96bd454fa311294bced4bbace7baa8b1d17" -"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" -"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" -"checksum crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" -"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" -"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9" -"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" -"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -"checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" -"checksum crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -"checksum crypto 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" -"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -"checksum ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736" -"checksum cuckoofilter 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8dd43f7cfaffe0a386636a10baea2ee05cc50df3b77bea4a456c9572a939bf1f" -"checksum curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8b7dcd30ba50cdf88b55b033456138b7c0ac4afdc436d82e1b79f370f24cc66d" -"checksum data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4f47ca1860a761136924ddd2422ba77b2ea54fe8cc75b9040804a0d9d32ad97" -"checksum derive_more 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6d944ac6003ed268757ef1ee686753b57efc5fcf0ebe7b64c9fc81e7e32ff839" -"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" -"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -"checksum dns-parser 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" -"checksum ed25519-dalek 1.0.0-pre.2 (registry+https://github.com/rust-lang/crates.io-index)" = "845aaacc16f01178f33349e7c992ecd0cee095aa5e577f0f4dee35971bd36455" -"checksum elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "073be79b6538296faf81c631872676600616073817dd9a440c477ad09b408983" -"checksum environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "34f8467a0284de039e6bd0e25c14519538462ba5beb548bb1f03e645097837a8" -"checksum erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3beee4bc16478a1b26f2e80ad819a52d24745e292f521a63c16eea5f74b7eb60" -"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" -"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" -"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" -"checksum fixed-hash 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d1a683d1234507e4f3bf2736eeddf0de1dc65996dc0164d57eba0a74bcf29489" -"checksum fixed-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "516877b7b9a1cc2d0293cbce23cd6203f0edbfd4090e6ca4489fecb5aa73050e" -"checksum flate2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ad3c5233c9a940c8719031b423d7e6c16af66e031cb0420b0896f5245bf181d3" -"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" -"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" -"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" -"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -"checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" -"checksum get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7" -"checksum get_if_addrs-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0d04f9fb746cf36b191c00f3ede8bde9c8e64f9f4b05ae2694a9ccf5e3f5ab48" -"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" -"checksum hash-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3c95a428c86ed4633d83e07ef9e0a147a906da01e931f07e74a85bedce5a43" -"checksum hash256-std-hasher 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "663ce20dae36902c16d12c6aaae400ca40d922407a8cf2b4caf8cae9b39b4f03" -"checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" -"checksum hashmap_core 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "2d6852e5a86250521973b0c1d39677166d8a9c0047c908d7e04f1aa04177973c" -"checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" -"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" -"checksum hex-literal 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ddc2928beef125e519d69ae1baa8c37ea2e0d3848545217f6db0179c5eb1d639" -"checksum hex-literal-impl 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "520870c3213943eb8d7803e80180d12a6c7ceb4ae74602544529d1643dc4ddda" -"checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" -"checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" -"checksum hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" -"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" -"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -"checksum impl-codec 0.2.0 (git+https://github.com/chainx-org/chainx-common)" = "" -"checksum impl-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2050d823639fbeae26b2b5ba09aca8907793117324858070ade0673c49f793b" -"checksum impl-serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5158079de9d4158e0ce1de3ae0bd7be03904efc40b3d7dd8b8c301cbf6b52b56" -"checksum impl-serde 0.2.1 (git+https://github.com/chainx-org/chainx-common)" = "" -"checksum impl-serde 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a263dc95daa6c3788c8f7133d86dc2ad89ec5a0c56167f9e3441c5f7f33358c4" -"checksum integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ea155abb3ba6f382a75f1418988c05fe82959ed9ce727de427f9cfd425b0c903" -"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -"checksum ipnet 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc15ac2e0886d62ba078989ef6920ab23997ab0b04ca5687f1a9a7484296a48" -"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" -"checksum js-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)" = "5061eb59a5afd4f6ff96dc565963e4e2737b915d070233cb26b88e3f58af41b4" -"checksum keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" -"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum keys 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" -"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8" -"checksum libp2p 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29f6b3be5b0cb89f7a072352e2a3bf86991dce0909624181e9e343db0b558568" -"checksum libp2p-core 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c71c33e59899d57ed0a14272984705561abd71788a2b303598ec57dac32130e8" -"checksum libp2p-core-derive 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e6df0fa6933f4be908cfd8c6d627776aa8c909066ba7ce13b017bfe18b9c92b" -"checksum libp2p-deflate 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "448fe9d2231bc21bb308f394346780666a376274ceaf3380e5c7adf3cdbf5a9c" -"checksum libp2p-dns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67ec2cea26aaccd4bdf264075d6a499bc635b90cb23419bcc3b1f2f0d135c451" -"checksum libp2p-floodsub 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4c39c17f2b7c994106e00ccd71a9941d8574c01bef5f97e36d9a106cbde14fab" -"checksum libp2p-identify 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9455cc0752fd3e3f35e9464598576c54476772eaa927b773f7fdf5686ae51f" -"checksum libp2p-kad 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a1f595983a76012779d6941a9d51fc0b9b95d720315787bf8d73f6672351f6d8" -"checksum libp2p-mdns 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7847e6e13a793d70ee5a5d833ddb13ff277c4c0d4fc65b5bc8543ef37df8cf" -"checksum libp2p-mplex 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29bd0885dd9154d93a1fa83e06a10aba2f0e3a0bf9eb63233c095141fbfaf525" -"checksum libp2p-noise 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f8e0852efc26bfcba11fcc7c4fb593ed00446c19b6d90db39794a3a7ac48e13" -"checksum libp2p-ping 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3dfda9d329eacf6a8e875c18b5e5317a47b326cb58372f506fff8b6259c8951a" -"checksum libp2p-plaintext 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "86759777e5441725b60c6e78b23933b03a531b45d1f3e7d1fb430df49e0b151c" -"checksum libp2p-ratelimit 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f965ff88fda7b1fff062b18b25d781b86c17ea335a237958220895f3e3ddfdd8" -"checksum libp2p-secio 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df1d980a61a1423518205f6710e692102c94efb8132b5dcc54ffe5dbac621360" -"checksum libp2p-tcp 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24faf4ebb10b805f2e2221540097f764075edd18ca735cab0430a118382888df" -"checksum libp2p-uds 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f57a4942babd03f582a838238093b08f94521f63c8b12889a914be5c3cc170c2" -"checksum libp2p-wasm-ext 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5427b52a8a51460961fadd72bd9fdcd957a2a7706588559423ccb86b58a52a7d" -"checksum libp2p-yamux 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "907bf1f31d572aa8537595a784f59c86b94162eb03dc51839c32ab4a05a5faad" -"checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" -"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" -"checksum lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" -"checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" -"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" -"checksum malloc_size_of_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e37c5d4cd9473c5f4c9c111f033f15d4df9bd378fdf615944e360a4f55a05f0b" -"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" -"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" -"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f" -"checksum memory-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1eeeeab44c01c7da4409e68ec5b5db74c92305386efab3615e495b1dacaec196" -"checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum merkle 0.2.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum merlin 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "de2d16d3b15fec5943d1144f861f61f279d165fdd60998ca262913b9bf1c8adb" -"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625" -"checksum mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23" -"checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" -"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" -"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" -"checksum multistream-select 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f989d40aab0ed0d83c1cdb4856b5790e980b96548d1a921f280e985eb049f38d" -"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" -"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" -"checksum nohash-hasher 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4e657a6ec97f9a3ba46f6f7034ea6db9fcd5b71d25ef1074b7bc03da49be0e8e" -"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" -"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" -"checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" -"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" -"checksum openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2f372b2b53ce10fb823a337aaa674e3a7d072b957c6264d0f4ff0bd86e657449" -"checksum openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)" = "c977d08e1312e2f7e4b86f9ebaa0ed3b19d1daff75fae88bbb88108afbd801fc" -"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)" = "" -"checksum parity-codec 3.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "2b9df1283109f542d8852cd6b30e9341acc2137481eb6157d2e62af68b0afec9" -"checksum parity-codec-derive 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "00a486fd383382ddcb2de928364b1f82571c1e48274fc43b7667a4738ee4056c" -"checksum parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "045b3c7af871285146300da35b1932bb6e4639b66c7c98e85d06a32cbc4e8fa7" -"checksum parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "df3a17dc27848fd99e4f87eb0f8c9baba6ede0a6d555400c850ca45254ef4ce3" -"checksum parity-send-wrapper 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" -"checksum parity-util-mem 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "89e80f22052161e0cb55cb5a8a75890420c525031f95c9d262dbb0434aa85dc1" -"checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc" -"checksum parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" -"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" -"checksum parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa7767817701cce701d5585b9c4db3cdd02086398322c1d7e8bf5094a96a2ce7" -"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" -"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" -"checksum parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cb88cb1cb3790baa6776844f968fea3be44956cf184fa1be5a03341f5491278c" -"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" -"checksum paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "423a519e1c6e828f1e73b720f9d9ed2fa643dce8a7737fb43235ce0b41eeaa49" -"checksum paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4214c9e912ef61bf42b81ba9a47e8aad1b2ffaf739ab162bf96d1e011f54e6c5" -"checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" -"checksum pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea" -"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" -"checksum primitive-types 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6e8612a8dc70f26276fed6131c153ca277cf275ee0a5e2a50cd8a69c697beb8f" -"checksum primitive-types 0.5.1 (git+https://github.com/chainx-org/chainx-common)" = "" -"checksum primitives 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" -"checksum proc-macro-hack 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "463bf29e7f11344e58c9e01f171470ab15c925c6822ad75028cc1c0e1d1eb63b" -"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5" -"checksum proc-macro-hack-impl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "38c47dcb1594802de8c02f3b899e2018c78291168a22c281be21ea0fb4796842" -"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" -"checksum protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20" -"checksum pwasm-utils 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4f7a12f176deee919f4ba55326ee17491c8b707d0987aed822682c821b660192" -"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" -"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" -"checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" -"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9" -"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" -"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" -"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" -"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd" -"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716" -"checksum ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)" = "426bc186e3e95cac1e4a4be125a4aca7e84c2d616ffc02244eef36e2a60a093c" -"checksum ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a" -"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" -"checksum rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "403bb3a286107a04825a5f82e1270acc1e14028d3d554d7a1e08914549575ab8" -"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum rw-stream-sink 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9cbe61c20455d3015b2bb7be39e1872310283b8e5a52f5b242b0ac7581fe78" -"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" -"checksum safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f7bf422d23a88c16d5090d455f182bc99c60af4df6a345c63428acf5129e347" -"checksum schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)" = "eacd8381b3c37840c9c9f40472af529e49975bdcbc24f83c31059fd6539023d3" -"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" -"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" -"checksum script 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum send_wrapper 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a0eddf2e8f50ced781f288c19f18621fa72a3779e3cb58dbf23b07469b0abeb4" -"checksum serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4b39bd9b0b087684013a792c59e3e07a46a01d2322518d8a1104641a0b1be0" -"checksum serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)" = "ca13fc1a832f793322228923fbb3aba9f3f44444898f835d31ad1b74fa0a2bf8" -"checksum serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2" -"checksum serialization 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum serialization_derive 0.1.0 (git+https://github.com/chainx-org/light-bitcoin)" = "" -"checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68" -"checksum sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" -"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" -"checksum sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd26bc0e7a2e3a7c959bc494caf58b72ee0c71d67704e9520f736ca7e4853ecf" -"checksum siphasher 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "83da420ee8d1a89e640d0948c646c1c088758d3a3c538f943bfa97bdac17929d" -"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" -"checksum slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cc9c640a4adbfbcc11ffb95efe5aa7af7309e002adab54b185507dbf2377b99" -"checksum slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e544d16c6b230d84c866662fe55e31aacfca6ae71e6fc49ae9a311cb379bfc2f" -"checksum slog-json 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddc0d2aff1f8f325ef660d9a0eb6e6dcd20b30b3f581a5897f58bf42d061c37a" -"checksum slog-scope 4.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c44c89dd8b0ae4537d1ae318353eaf7840b4869c536e31c41e963d1ea523ee6" -"checksum smallvec 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cefaa50e76a6f10b86f36e640eb1739eafbd4084865067778463913e43a77ff3" -"checksum snow 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5a64f02fd208ef15bd2d1a65861df4707e416151e1272d02c8faafad1c138100" -"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3" -"checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" -"checksum sr-api-macros 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-io 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-sandbox 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-std 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum sr-version 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-consensus 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-finality-tracker 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-indices 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-metadata 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-sudo 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support-procedural 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support-procedural-tools 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-support-procedural-tools-derive 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-system 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum srml-timestamp 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" -"checksum static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c19be23126415861cb3a23e501d34a708f7f9b2183c5252d690941c2e69199d5" -"checksum static_assertions 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0fa13613355688665b68639b1c378a62dbedea78aff0fc59a4fa656cbbdec657" -"checksum static_slice 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "92a7e0c5e3dfb52e8fbe0e63a1b947bbb17b4036408b151353c4491374931362" -"checksum stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c" -"checksum strum 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1810e25f576e7ffce1ff5243b37066da5ded0310b3274c20baaeccb1145b2806" -"checksum strum_macros 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "572a2f4e53dd4c3483fd79e5cc10ddd773a3acb1169bbfe8762365e107110579" -"checksum substrate-bip39 0.3.1 (git+https://github.com/chainx-org/substrate-bip39.git?branch=chainx-master)" = "" -"checksum substrate-client 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-aura-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-authorities 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-consensus-common 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-executor 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-finality-grandpa-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-inherents 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-keyring 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-offchain-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-panic-handler 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-primitives 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-serializer 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-state-machine 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-telemetry 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum substrate-trie 2.0.0 (git+https://github.com/chainpool/substrate?branch=chainx-master)" = "" -"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" -"checksum subtle 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab3af2eb31c42e8f0ccf43548232556c42737e01a96db6e1777b0be108e79799" -"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -"checksum syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7bedb3320d0f3035594b0b723c8a28d7d336a3eda3881db79e61d676fb644c" -"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" -"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203" -"checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" -"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" -"checksum tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c5676413eaeb1ea35300a0224416f57abc3bd251657e0fafc12c47ff98c060" -"checksum tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2" -"checksum tiny-keccak 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2953ca5148619bc99695c1274cb54c5275bbb913c6adad87e72eaf8db9787f69" -"checksum tk-listen 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5462b0f968c0457efe38fcd2df7e487096b992419e4f5337b06775a614bbda4b" -"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -"checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" -"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443" -"checksum tokio-dns-unofficial 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "82c65483db54eb91b4ef3a9389a3364558590faf30ce473141707c0e16fda975" -"checksum tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f27ee0e6db01c5f0b2973824547ce7e637b2ed79b891a9677b0de9bd532b6ac" -"checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af" -"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926" -"checksum tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "c56391be9805bc80163151c0b9e5164ee64f4b0200962c346fea12773158f22d" -"checksum tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d06554cce1ae4a50f42fba8023918afa931413aded705b560e29600ccf7c6d76" -"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119" -"checksum tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2bd2c6a3885302581f4401c82af70d792bb9df1700e7437b0aeb4ada94d5388c" -"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e" -"checksum tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f02298505547f73e60f568359ef0d016d5acd6e830ab9bc7c4a5b3403440121b" -"checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445" -"checksum toml 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c04dffffeac90885436d23c692517bb5b8b3f8863e4afc15023628d067d667b7" -"checksum trie-db 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ae063390324bfcf36c7e8e4fb1f85f6f0fb5dd04e1cd282581eb7b8b34b32de7" -"checksum trie-root 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "485c5dd851148b6fdac9009f7c256d0a4b5f99f08bd2e63c258f1e483aed4f1d" -"checksum twofish 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d261e83e727c8e2dbb75dacac67c36e35db36a958ee504f2164fc052434e1" -"checksum twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56" -"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9" -"checksum uint 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2143cded94692b156c356508d92888acc824db5bffc0b4089732264c6fcf86d4" -"checksum uint 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e75a4cdd7b87b28840dba13c483b9a88ee6bbf16ba5c951ee1ecfcf723078e0d" -"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" -"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" -"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" -"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" -"checksum unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f0023a96687fe169081e8adce3f65e3874426b7886e9234d490af2dc077959" -"checksum untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f" -"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95" -"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" -"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" -"checksum wasm-bindgen 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "637353fd57864c20f1968dc21680fe03985ca3a7ef6a5ce027777513bdecc282" -"checksum wasm-bindgen-backend 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "c85481ca7d1aad8cf40e0140830b2197ce89184a80e54e307b55fd64d78ed63e" -"checksum wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)" = "83420b37346c311b9ed822af41ec2e82839bfe99867ec6c54e2da43b7538771c" -"checksum wasm-bindgen-macro 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "9f627667b5f4f8bd923c93107b96907c60e7e8eb2636802499fce468c87e3689" -"checksum wasm-bindgen-macro-support 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "a48f5147b0c049bc306d5b9e53c891056a1fd8c4e7311fffbce233e4f200d45e" -"checksum wasm-bindgen-shared 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "1e272b0d31b78cdcaf5ad440d28276546d99b059a953e5afb387aefce66c3c5a" -"checksum wasm-bindgen-webidl 0.2.52 (registry+https://github.com/rust-lang/crates.io-index)" = "6965845db6189148d8b26387aee0bbf1c84f3da78f57ac543f364fc8ff7ab6e9" -"checksum wasm-timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "aa3e01d234bb71760e685cfafa5e2c96f8ad877c161a721646356651069e26ac" -"checksum wasmi 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "aebbaef470840d157a5c47c8c49f024da7b1b80e90ff729ca982b2b80447e78b" -"checksum wasmi-validation 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab380192444b3e8522ae79c0a1976e42a82920916ccdfbce3def89f456ea33f3" -"checksum wasmi-validation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea78c597064ba73596099281e2f4cfc019075122a65cdda3205af94f0b264d93" -"checksum web-sys 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)" = "0a8b4b06314fd2ce36977e9487607ccff4030779129813f89d0e618710910146" -"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164" -"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" -"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -"checksum ws 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ec91ea61b83ce033c43c06c52ddc7532f465c0153281610d44c58b74083aee1a" -"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -"checksum x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7ee1585dc1484373cbc1cee7aafda26634665cf449436fd6e24bfd1fad230538" -"checksum yamux 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2758f29014c1cb7a6e74c1b1160ac8c8203be342d35b73462fc6a13cc6385423" -"checksum zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "45af6a010d13e4cf5b54c94ba5a2b2eba5596b9e46bf5875612d332a1f2b3f86" -"checksum zeroize_derive 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "080616bd0e31f36095288bb0acdf1f78ef02c2fa15527d7e993f2a6c7591643e" diff --git a/runtime/wasm/Cargo.toml b/runtime/wasm/Cargo.toml deleted file mode 100644 index 9f033b7f74e08..0000000000000 --- a/runtime/wasm/Cargo.toml +++ /dev/null @@ -1,25 +0,0 @@ -[package] -name = "chainx-runtime-wasm" -version = "0.4.0" -authors = ["Chainpool "] -edition = "2018" - -[lib] -name = "chainx_runtime" -crate-type = ["cdylib"] - -[dependencies] -chainx-runtime = { path = "..", default-features = false } - -[features] -default = [] -std = [ - "chainx-runtime/std" -] - -[profile.release] -panic = "abort" -lto = true - -[workspace] -members = [] diff --git a/runtime/wasm/build.sh b/runtime/wasm/build.sh deleted file mode 100755 index 3e1db47a73f37..0000000000000 --- a/runtime/wasm/build.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -set -e - -if cargo --version | grep -q "nightly"; then - CARGO_CMD="cargo" -else - CARGO_CMD="cargo +nightly" -fi - -CARGO_INCREMENTAL=0 RUSTFLAGS="-C link-arg=--export-table" $CARGO_CMD build --target=wasm32-unknown-unknown --release "$@" -for i in chainx_runtime -do - wasm-gc target/wasm32-unknown-unknown/release/$i.wasm target/wasm32-unknown-unknown/release/$i.compact.wasm -done diff --git a/runtime/wasm/src/lib.rs b/runtime/wasm/src/lib.rs deleted file mode 100644 index f750022149d5a..0000000000000 --- a/runtime/wasm/src/lib.rs +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -//! The Chainx runtime reexported for WebAssembly compile. - -#![cfg_attr(not(feature = "std"), no_std)] - -extern crate chainx_runtime; -pub use chainx_runtime::*; diff --git a/runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm b/runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm deleted file mode 100644 index 0ffc452a207f6..0000000000000 Binary files a/runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm and /dev/null differ diff --git a/src/chain_spec.rs b/src/chain_spec.rs new file mode 100644 index 0000000000000..cc2a3f992e59c --- /dev/null +++ b/src/chain_spec.rs @@ -0,0 +1,129 @@ +use chainx_runtime::{ + AccountId, AuraConfig, GenesisConfig, GrandpaConfig, Signature, SudoConfig, SystemConfig, + WASM_BINARY, +}; +use sc_service::ChainType; +use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{sr25519, Pair, Public}; +use sp_finality_grandpa::AuthorityId as GrandpaId; +use sp_runtime::{ + traits::{IdentifyAccount, Verify}, + Percent, +}; + +// Note this is the URL for the telemetry server +//const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; + +/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. +pub type ChainSpec = sc_service::GenericChainSpec; + +/// Helper function to generate a crypto pair from seed +pub fn get_from_seed(seed: &str) -> ::Public { + TPublic::Pair::from_string(&format!("//{}", seed), None) + .expect("static values are valid; qed") + .public() +} + +type AccountPublic = ::Signer; + +/// Helper function to generate an account ID from seed +pub fn get_account_id_from_seed(seed: &str) -> AccountId +where + AccountPublic: From<::Public>, +{ + AccountPublic::from(get_from_seed::(seed)).into_account() +} + +/// Helper function to generate an authority key for Aura +pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) { + (get_from_seed::(s), get_from_seed::(s)) +} + +pub fn development_config() -> ChainSpec { + ChainSpec::from_genesis( + "Development", + "dev", + ChainType::Development, + || { + testnet_genesis( + vec![authority_keys_from_seed("Alice")], + get_account_id_from_seed::("Alice"), + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + ], + true, + ) + }, + vec![], + None, + None, + None, + None, + ) +} + +pub fn local_testnet_config() -> ChainSpec { + ChainSpec::from_genesis( + "Local Testnet", + "local_testnet", + ChainType::Local, + || { + testnet_genesis( + vec![ + authority_keys_from_seed("Alice"), + authority_keys_from_seed("Bob"), + ], + get_account_id_from_seed::("Alice"), + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + ], + true, + ) + }, + vec![], + None, + None, + None, + None, + ) +} + +fn testnet_genesis( + initial_authorities: Vec<(AuraId, GrandpaId)>, + root_key: AccountId, + endowed_accounts: Vec, + _enable_println: bool, +) -> GenesisConfig { + GenesisConfig { + frame_system: Some(SystemConfig { + code: WASM_BINARY.to_vec(), + changes_trie_config: Default::default(), + }), + pallet_aura: Some(AuraConfig { + authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(), + }), + pallet_grandpa: Some(GrandpaConfig { + authorities: initial_authorities + .iter() + .map(|x| (x.1.clone(), 1)) + .collect(), + }), + pallet_sudo: Some(SudoConfig { + key: root_key.clone(), + }), + } +} diff --git a/src/cli.rs b/src/cli.rs new file mode 100644 index 0000000000000..afdf49cbcdc81 --- /dev/null +++ b/src/cli.rs @@ -0,0 +1,11 @@ +use sc_cli::{RunCmd, Subcommand}; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +pub struct Cli { + #[structopt(subcommand)] + pub subcommand: Option, + + #[structopt(flatten)] + pub run: RunCmd, +} diff --git a/src/command.rs b/src/command.rs new file mode 100644 index 0000000000000..c68488eded1fd --- /dev/null +++ b/src/command.rs @@ -0,0 +1,81 @@ +// This file is part of Substrate. + +// Copyright (C) 2017-2020 Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::chain_spec; +use crate::cli::Cli; +use crate::service; +use sc_cli::SubstrateCli; + +impl SubstrateCli for Cli { + fn impl_name() -> &'static str { + "ChainX" + } + + fn impl_version() -> &'static str { + env!("SUBSTRATE_CLI_IMPL_VERSION") + } + + fn description() -> &'static str { + env!("CARGO_PKG_DESCRIPTION") + } + + fn author() -> &'static str { + env!("CARGO_PKG_AUTHORS") + } + + fn support_url() -> &'static str { + "https://github.com/chainx-org/ChainX" + } + + fn copyright_start_year() -> i32 { + 2020 + } + + fn executable_name() -> &'static str { + env!("CARGO_PKG_NAME") + } + + fn load_spec(&self, id: &str) -> Result, String> { + Ok(match id { + "dev" => Box::new(chain_spec::development_config()), + "" | "local" => Box::new(chain_spec::local_testnet_config()), + path => Box::new(chain_spec::ChainSpec::from_json_file( + std::path::PathBuf::from(path), + )?), + }) + } +} + +/// Parse and run command line arguments +pub fn run() -> sc_cli::Result<()> { + let cli = Cli::from_args(); + + match &cli.subcommand { + Some(subcommand) => { + let runner = cli.create_runner(subcommand)?; + runner.run_subcommand(subcommand, |config| Ok(new_full_start!(config).0)) + } + None => { + let runner = cli.create_runner(&cli.run)?; + runner.run_node( + service::new_light, + service::new_full, + chainx_runtime::VERSION, + ) + } + } +} diff --git a/src/main.rs b/src/main.rs index c4b0614462c46..0e4e82f5b9c0d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,129 +1,12 @@ -// Copyright 2018-2019 Chainpool. +//! Substrate Node Template CLI library. +#![warn(missing_docs)] -use std::cell::RefCell; -use std::collections::HashMap; -use std::fs::File; -use std::io::Read; +mod chain_spec; +#[macro_use] +mod service; +mod cli; +mod command; -use chainx_cli::VersionInfo; -use futures::{future, sync::oneshot, Future}; -use serde_json::value::Value; - -// handles ctrl-c -struct Exit; -impl chainx_cli::IntoExit for Exit { - type Exit = future::MapErr, fn(oneshot::Canceled) -> ()>; - fn into_exit(self) -> Self::Exit { - // can't use signal directly here because CtrlC takes only `Fn`. - let (exit_send, exit) = oneshot::channel(); - - let exit_send_cell = RefCell::new(Some(exit_send)); - ctrlc::set_handler(move || { - if let Some(exit_send) = exit_send_cell - .try_borrow_mut() - .expect("signal handler not reentrant; qed") - .take() - { - exit_send.send(()).expect("Error sending exit notification"); - } - }) - .expect("Error setting Ctrl-C handler"); - - exit.map_err(drop) - } -} - -fn combine_conf( - cmd_args: Vec, - path: &std::path::Path, -) -> Result, Box> { - let opts_from_cmd = cmd_args - .iter() - .filter(|i| i.starts_with("--")) - .map(|i| i.split('=').collect::>()[0]) - .collect::>(); - - let mut bytes = Vec::new(); - File::open(path)?.read_to_end(&mut bytes)?; - - let json: HashMap = - serde_json::from_slice(&bytes).expect("JSON was not well-formatted"); - - let mut opts: Vec = Vec::new(); - - for (opt, v) in json.clone().into_iter() { - let opt = format!("--{}", opt); - - match v { - Value::Bool(b) => { - if !opts_from_cmd.contains(&&opt.as_ref()) && b { - opts.push(opt.to_string()); - } - } - Value::Number(b) => { - if !opts_from_cmd.contains(&&opt.as_ref()) { - opts.push(format!("{}={}", opt, b)); - } - } - Value::String(v) => { - if !v.is_empty() && !opts_from_cmd.contains(&&opt.as_ref()) { - opts.push(format!("{}={}", opt, v)); - } - } - Value::Array(arr) => { - let arr = arr - .iter() - .map(|a| format!("{}={}", opt, a.as_str().unwrap())) - .collect::>(); - opts.extend(arr); - } - Value::Null => {} - Value::Object(_) => panic!("Unsupported nested configuration"), - } - } - - let mut args = cmd_args; - args.extend(opts); - Ok(args) -} - -fn try_combine_options_config(cmd_args: Vec) -> Vec { - let mut options_conf: Option = None; - let mut args_iter = cmd_args.iter(); - while let Some(arg) = args_iter.next() { - if arg == "--config" { - let conf = args_iter.next().expect( - "The argument '--config ' requires a value but none was supplied", - ); - options_conf = Some(conf.to_string()); - } else if arg.starts_with("--config=") { - options_conf = Some(arg.split('=').collect::>()[1].to_string()); - } - } - - if let Some(options_conf) = options_conf { - let path = std::path::Path::new(&options_conf); - combine_conf(cmd_args, path).expect("Error processing --config") - } else { - cmd_args - } -} - -fn main() { - let version = VersionInfo { - name: "ChainX", - commit: env!("VERGEN_SHA_SHORT"), - version: env!("CARGO_PKG_VERSION"), - executable_name: "ChainX", - author: "ChainX community", - description: "Fully Decentralized Interchain Crypto Asset Management on Polkadot", - support_url: "https://github.com/chainx-org/ChainX", - }; - - let args = try_combine_options_config(::std::env::args().collect::>()); - - if let Err(e) = chainx_cli::run(args, Exit, version) { - eprintln!("Error starting the node: {}\n\n{:?}", e, e); - std::process::exit(1) - } +fn main() -> sc_cli::Result<()> { + command::run() } diff --git a/src/service.rs b/src/service.rs new file mode 100644 index 0000000000000..b5eb8c9cb4a4b --- /dev/null +++ b/src/service.rs @@ -0,0 +1,286 @@ +//! Service and ServiceFactory implementation. Specialized wrapper over substrate service. + +use chainx_runtime::{self, opaque::Block, RuntimeApi}; +use sc_client_api::ExecutorProvider; +use sc_consensus::LongestChain; +use sc_executor::native_executor_instance; +pub use sc_executor::NativeExecutor; +use sc_finality_grandpa::{ + FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState, + StorageAndProofProvider, +}; +use sc_service::{error::Error as ServiceError, AbstractService, Configuration, ServiceBuilder}; +use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; +use sp_inherents::InherentDataProviders; +use std::sync::Arc; +use std::time::Duration; + +// Our native executor instance. +native_executor_instance!( + pub Executor, + chainx_runtime::api::dispatch, + chainx_runtime::native_version, +); + +/// Starts a `ServiceBuilder` for a full service. +/// +/// Use this macro if you don't actually need the full service, but just the builder in order to +/// be able to perform chain operations. +macro_rules! new_full_start { + ($config:expr) => {{ + use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; + use std::sync::Arc; + type RpcExtension = jsonrpc_core::IoHandler; + + let mut import_setup = None; + let inherent_data_providers = sp_inherents::InherentDataProviders::new(); + + let builder = sc_service::ServiceBuilder::new_full::< + chainx_runtime::opaque::Block, + chainx_runtime::RuntimeApi, + crate::service::Executor, + >($config)? + .with_select_chain(|_config, backend| Ok(sc_consensus::LongestChain::new(backend.clone())))? + .with_transaction_pool(|config, client, _fetcher, prometheus_registry| { + let pool_api = sc_transaction_pool::FullChainApi::new(client.clone()); + Ok(sc_transaction_pool::BasicPool::new( + config, + std::sync::Arc::new(pool_api), + prometheus_registry, + )) + })? + .with_import_queue( + |_config, client, mut select_chain, _transaction_pool, spawn_task_handle, registry| { + let select_chain = select_chain + .take() + .ok_or_else(|| sc_service::Error::SelectChainRequired)?; + + let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import( + client.clone(), + &(client.clone() as Arc<_>), + select_chain, + )?; + + let aura_block_import = + sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new( + grandpa_block_import.clone(), + client.clone(), + ); + + let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _>( + sc_consensus_aura::slot_duration(&*client)?, + aura_block_import, + Some(Box::new(grandpa_block_import.clone())), + None, + client, + inherent_data_providers.clone(), + spawn_task_handle, + registry, + )?; + + import_setup = Some((grandpa_block_import, grandpa_link)); + + Ok(import_queue) + }, + )? + .with_rpc_extensions(|builder| -> std::result::Result { + let deps = chainx_rpc::FullDeps { + client: builder.client().clone(), + pool: builder.pool(), + }; + Ok(chainx_rpc::create_full(deps)) + })?; + + (builder, import_setup, inherent_data_providers) + }}; +} + +/// Builds a new service for a full client. +pub fn new_full(config: Configuration) -> Result { + let role = config.role.clone(); + let force_authoring = config.force_authoring; + let name = config.network.node_name.clone(); + let disable_grandpa = config.disable_grandpa; + + let (builder, mut import_setup, inherent_data_providers) = new_full_start!(config); + + let (block_import, grandpa_link) = import_setup.take().expect( + "Link Half and Block Import are present for Full Services or setup failed before. qed", + ); + + let service = builder + .with_finality_proof_provider(|client, backend| { + // GenesisAuthoritySetProvider is implemented for StorageAndProofProvider + let provider = client as Arc>; + Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _) + })? + .build()?; + + if role.is_authority() { + let proposer = sc_basic_authorship::ProposerFactory::new( + service.client(), + service.transaction_pool(), + service.prometheus_registry().as_ref(), + ); + + let client = service.client(); + let select_chain = service + .select_chain() + .ok_or(ServiceError::SelectChainRequired)?; + + let can_author_with = + sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); + + let aura = sc_consensus_aura::start_aura::<_, _, _, _, _, AuraPair, _, _, _>( + sc_consensus_aura::slot_duration(&*client)?, + client, + select_chain, + block_import, + proposer, + service.network(), + inherent_data_providers.clone(), + force_authoring, + service.keystore(), + can_author_with, + )?; + + // the AURA authoring task is considered essential, i.e. if it + // fails we take down the service with it. + service.spawn_essential_task("aura", aura); + } + + // if the node isn't actively participating in consensus then it doesn't + // need a keystore, regardless of which protocol we use below. + let keystore = if role.is_authority() { + Some(service.keystore()) + } else { + None + }; + + let grandpa_config = sc_finality_grandpa::Config { + // FIXME #1578 make this available through chainspec + gossip_duration: Duration::from_millis(333), + justification_period: 512, + name: Some(name), + observer_enabled: false, + keystore, + is_authority: role.is_network_authority(), + }; + + let enable_grandpa = !disable_grandpa; + if enable_grandpa { + // start the full GRANDPA voter + // NOTE: non-authorities could run the GRANDPA observer protocol, but at + // this point the full voter should provide better guarantees of block + // and vote data availability than the observer. The observer has not + // been tested extensively yet and having most nodes in a network run it + // could lead to finality stalls. + let grandpa_config = sc_finality_grandpa::GrandpaParams { + config: grandpa_config, + link: grandpa_link, + network: service.network(), + inherent_data_providers: inherent_data_providers.clone(), + telemetry_on_connect: Some(service.telemetry_on_connect_stream()), + voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(), + prometheus_registry: service.prometheus_registry(), + shared_voter_state: SharedVoterState::empty(), + }; + + // the GRANDPA voter task is considered infallible, i.e. + // if it fails we take down the service with it. + service.spawn_essential_task( + "grandpa-voter", + sc_finality_grandpa::run_grandpa_voter(grandpa_config)?, + ); + } else { + sc_finality_grandpa::setup_disabled_grandpa( + service.client(), + &inherent_data_providers, + service.network(), + )?; + } + + Ok(service) +} + +/// Builds a new service for a light client. +pub fn new_light(config: Configuration) -> Result { + type RpcExtension = jsonrpc_core::IoHandler; + let inherent_data_providers = InherentDataProviders::new(); + + ServiceBuilder::new_light::(config)? + .with_select_chain(|_config, backend| Ok(LongestChain::new(backend.clone())))? + .with_transaction_pool(|config, client, fetcher, prometheus_registry| { + let fetcher = fetcher + .ok_or_else(|| "Trying to start light transaction pool without active fetcher")?; + + let pool_api = sc_transaction_pool::LightChainApi::new(client.clone(), fetcher.clone()); + let pool = sc_transaction_pool::BasicPool::with_revalidation_type( + config, + Arc::new(pool_api), + prometheus_registry, + sc_transaction_pool::RevalidationType::Light, + ); + Ok(pool) + })? + .with_import_queue_and_fprb( + |_config, + client, + backend, + fetcher, + _select_chain, + _tx_pool, + spawn_task_handle, + prometheus_registry| { + let fetch_checker = fetcher + .map(|fetcher| fetcher.checker().clone()) + .ok_or_else(|| { + "Trying to start light import queue without active fetch checker" + })?; + let grandpa_block_import = sc_finality_grandpa::light_block_import( + client.clone(), + backend, + &(client.clone() as Arc<_>), + Arc::new(fetch_checker), + )?; + let finality_proof_import = grandpa_block_import.clone(); + let finality_proof_request_builder = + finality_proof_import.create_finality_proof_request_builder(); + + let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _>( + sc_consensus_aura::slot_duration(&*client)?, + grandpa_block_import, + None, + Some(Box::new(finality_proof_import)), + client, + inherent_data_providers.clone(), + spawn_task_handle, + prometheus_registry, + )?; + + Ok((import_queue, finality_proof_request_builder)) + }, + )? + .with_finality_proof_provider(|client, backend| { + // GenesisAuthoritySetProvider is implemented for StorageAndProofProvider + let provider = client as Arc>; + Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _) + })? + .with_rpc_extensions(|builder| -> Result { + let fetcher = builder + .fetcher() + .ok_or_else(|| "Trying to start node RPC without active fetcher")?; + let remote_blockchain = builder + .remote_backend() + .ok_or_else(|| "Trying to start node RPC without active remote blockchain")?; + + let light_deps = chainx_rpc::LightDeps { + remote_blockchain, + fetcher, + client: builder.client().clone(), + pool: builder.pool(), + }; + Ok(chainx_rpc::create_light(light_deps)) + })? + .build() +} diff --git a/xr-primitives/Cargo.toml b/xr-primitives/Cargo.toml deleted file mode 100644 index 6082135318cf4..0000000000000 --- a/xr-primitives/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -[package] -name = "xr-primitives" -version = "1.0.0" -authors = ["Chainpool "] -edition = "2018" - -[dependencies] -integer-sqrt = "0.1.2" -num-traits = { version = "0.2", default-features = false } -serde = { version = "1.0", features = ["derive"], optional = true } -parity-codec = { version = "3.3", default-features = false, features = ["derive"] } - -rstd = { package = "sr-std", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -runtime-io = { package = "sr-io", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -runtime-primitives = { package = "sr-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -support = { package = "srml-support", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } - -[features] -default = ["std"] -std = [ - "num-traits/std", - "serde", - "parity-codec/std", - "rstd/std", - "runtime-io/std", - "runtime-primitives/std", - "support/std" -] -api-for-runtime = [] diff --git a/xr-primitives/src/generic/b58.rs b/xr-primitives/src/generic/b58.rs deleted file mode 100644 index a70892cf0fdf0..0000000000000 --- a/xr-primitives/src/generic/b58.rs +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -use rstd::prelude::Vec; - -static BASE58_CHARS: &[u8] = b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; - -#[rustfmt::skip] -static BASE58_DIGITS: [Option; 128] = [ - None, None, None, None, None, None, None, None, // 0-7 - None, None, None, None, None, None, None, None, // 8-15 - None, None, None, None, None, None, None, None, // 16-23 - None, None, None, None, None, None, None, None, // 24-31 - None, None, None, None, None, None, None, None, // 32-39 - None, None, None, None, None, None, None, None, // 40-47 - None, Some(0), Some(1), Some(2), Some(3), Some(4), Some(5), Some(6), // 48-55 - Some(7), Some(8), None, None, None, None, None, None, // 56-63 - None, Some(9), Some(10), Some(11), Some(12), Some(13), Some(14), Some(15), // 64-71 - Some(16), None, Some(17), Some(18), Some(19), Some(20), Some(21), None, // 72-79 - Some(22), Some(23), Some(24), Some(25), Some(26), Some(27), Some(28), Some(29), // 80-87 - Some(30), Some(31), Some(32), None, None, None, None, None, // 88-95 - None, Some(33), Some(34), Some(35), Some(36), Some(37), Some(38), Some(39), // 96-103 - Some(40), Some(41), Some(42), Some(43), None, Some(44), Some(45), Some(46), // 104-111 - Some(47), Some(48), Some(49), Some(50), Some(51), Some(52), Some(53), Some(54), // 112-119 - Some(55), Some(56), Some(57), None, None, None, None, None, // 120-127 -]; - -pub fn from(data: &[u8]) -> Result, &'static str> { - // 11/15 is just over log_256(58) - let mut scratch = Vec::new(); - for _i in 0..=data.len() * 11 / 15 { - scratch.push(0); - } - // Build in base 256 - for d58 in data { - // Compute "X = X * 58 + next_digit" in base 256 - if *d58 as usize > BASE58_DIGITS.len() { - return Err("BadByte"); - } - let mut carry = match BASE58_DIGITS[*d58 as usize] { - Some(d58) => u32::from(d58), - None => { - return Err("BadByte"); - } - }; - for d256 in scratch.iter_mut().rev() { - carry += u32::from(*d256) * 58; - *d256 = carry as u8; - carry /= 256; - } - assert_eq!(carry, 0); - } - - // Copy leading zeroes directly - let mut ret: Vec = data - .iter() - .take_while(|&x| *x == BASE58_CHARS[0]) - .map(|_| 0) - .collect(); - // Copy rest of string - ret.extend(scratch.into_iter().skip_while(|&x| x == 0)); - Ok(ret) -} - -pub fn to_base58(data: Vec) -> Vec { - let zcount = data.iter().take_while(|x| **x == 0).count(); - let size: usize = (data.len() - zcount) * 138 / 100 + 1; - - let mut buffer: Vec = Vec::new(); - for _i in 0..size { - buffer.push(0); - } - let mut i = zcount; - let mut high = size - 1; - while i < data.len() { - let mut carry = u32::from(data[i]); - let mut j = size - 1; - - while j > high || carry != 0 { - carry += 256 * u32::from(buffer[j]); - buffer[j] = (carry % 58) as u8; - carry /= 58; - - if j > 0 { - j -= 1; - } - } - - i += 1; - high = j; - } - let mut j = buffer.iter().take_while(|x| **x == 0).count(); - let mut result = Vec::new(); - for _ in 0..zcount { - result.push(b'1'); - } - while j < size { - result.push(BASE58_CHARS[buffer[j] as usize] as u8); - j += 1; - } - result -} - -#[cfg(test)] -mod tests { - use super::{from, to_base58}; - - #[test] - fn test_from() { - let s = String::from("mjKE11gjVN4JaC9U8qL6ZB5vuEBgmwik7b"); - let v = &[ - 111, 41, 168, 159, 89, 51, 97, 179, 153, 104, 9, 74, 184, 193, 251, 6, 131, 166, 121, - 3, 1, 241, 112, 101, 146, - ]; - assert_eq!(from(&s.as_bytes().to_vec()).unwrap(), v); - } - - #[test] - fn test_to_base58() { - let s = String::from("mjKE11gjVN4JaC9U8qL6ZB5vuEBgmwik7b"); - let v = &[ - 111, 41, 168, 159, 89, 51, 97, 179, 153, 104, 9, 74, 184, 193, 251, 6, 131, 166, 121, - 3, 1, 241, 112, 101, 146, - ]; - assert_eq!(to_base58(v.to_vec()), s.as_bytes()); - } -} diff --git a/xr-primitives/src/generic/checked_extrinsic.rs b/xr-primitives/src/generic/checked_extrinsic.rs deleted file mode 100644 index e3c4504715c2c..0000000000000 --- a/xr-primitives/src/generic/checked_extrinsic.rs +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -//! Generic implementation of an extrinsic that has passed the verification -//! stage. - -use runtime_primitives::traits::{Applyable, MaybeDisplay, Member, SimpleArithmetic}; - -use crate::traits::Accelerable; - -/// Definition of something that the external world might want to say; its -/// existence implies that it has been checked and is good, particularly with -/// regards to the signature. -#[derive(PartialEq, Eq, Clone)] -#[cfg_attr(feature = "std", derive(Debug))] -pub struct CheckedExtrinsic { - /// Who this purports to be from and the number of extrinsics have come before - /// from the same signer, if anyone (note this is not a signature). - pub signed: Option<(AccountId, Index, Acceleration)>, - /// The function that should be called. - pub function: Call, -} - -impl Applyable - for CheckedExtrinsic -where - AccountId: Member + MaybeDisplay, - Index: Member + MaybeDisplay + SimpleArithmetic, - Acceleration: Member + MaybeDisplay + SimpleArithmetic + Into + From, - Call: Member, -{ - type AccountId = AccountId; - type Index = Index; - type Call = Call; - - fn index(&self) -> Option<&Self::Index> { - self.signed.as_ref().map(|x| &x.1) - } - - fn sender(&self) -> Option<&Self::AccountId> { - self.signed.as_ref().map(|x| &x.0) - } - - fn deconstruct(self) -> (Self::Call, Option) { - (self.function, self.signed.map(|x| x.0)) - } -} - -impl Accelerable - for CheckedExtrinsic -where - AccountId: Member + MaybeDisplay, - Index: Member + MaybeDisplay + SimpleArithmetic, - Call: Member, - Acceleration: Member + MaybeDisplay + SimpleArithmetic + Copy + Into + From, -{ - type AccountId = AccountId; - type Index = Index; - type Call = Call; - type Acceleration = Acceleration; - - fn acceleration(&self) -> Option { - self.signed.as_ref().map(|x| x.2) - } -} diff --git a/xr-primitives/src/generic/mod.rs b/xr-primitives/src/generic/mod.rs deleted file mode 100644 index 9971a68b72093..0000000000000 --- a/xr-primitives/src/generic/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -pub mod b58; -mod checked_extrinsic; -mod unchecked_mortal_compact_extrinsic; -mod unchecked_mortal_extrinsic; - -pub use self::checked_extrinsic::CheckedExtrinsic; -pub use self::unchecked_mortal_compact_extrinsic::UncheckedMortalCompactExtrinsic; -pub use self::unchecked_mortal_extrinsic::UncheckedMortalExtrinsic; - -use parity_codec::Encode; -use rstd::prelude::*; - -fn encode_with_vec_prefix)>(encoder: F) -> Vec { - let size = ::rstd::mem::size_of::(); - let reserve = match size { - 0..=0b0011_1111 => 1, - 0..=0b0011_1111_1111_1111 => 2, - _ => 4, - }; - let mut v = Vec::with_capacity(reserve + size); - v.resize(reserve, 0); - encoder(&mut v); - - // need to prefix with the total length to ensure it's binary comptible with - // Vec. - let mut length: Vec<()> = Vec::new(); - length.resize(v.len() - reserve, ()); - length.using_encoded(|s| { - v.splice(0..reserve, s.iter().cloned()); - }); - - v -} diff --git a/xr-primitives/src/generic/unchecked_mortal_compact_extrinsic.rs b/xr-primitives/src/generic/unchecked_mortal_compact_extrinsic.rs deleted file mode 100644 index 591404ecf564d..0000000000000 --- a/xr-primitives/src/generic/unchecked_mortal_compact_extrinsic.rs +++ /dev/null @@ -1,495 +0,0 @@ -// Copyright 2017-2018 Parity Technologies (UK) Ltd. -// Copyright 2018-2019 Chainpool. -// This file is part of Substrate. - -// Substrate 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. - -// Substrate 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 Substrate. If not, see . - -//! Generic implementation of an unchecked (pre-verification) extrinsic. - -#[cfg(feature = "std")] -use std::fmt; - -use parity_codec::{Compact, Decode, Encode, Input}; - -use rstd::prelude::*; -use runtime_io::blake2_256; -use runtime_primitives::{ - generic::Era, - traits::{ - self, BlockNumberToHash, Checkable, CurrentHeight, Extrinsic, Lookup, MaybeDisplay, Member, - SaturatedConversion, SimpleArithmetic, - }, -}; - -use super::checked_extrinsic::CheckedExtrinsic; - -const TRANSACTION_VERSION: u8 = 1; - -/// A extrinsic right from the external world. This is unchecked and so -/// can contain a signature. -#[derive(PartialEq, Eq, Clone)] -pub struct UncheckedMortalCompactExtrinsic { - /// The signature, address, number of extrinsics have come before from - /// the same signer and an era describing the longevity of this transaction, - /// if this is a signed extrinsic. - pub signature: Option<( - Address, - Signature, - Compact, - Era, - Compact, - )>, - /// The function that should be called. - pub function: Call, -} - -impl - UncheckedMortalCompactExtrinsic -{ - /// New instance of a signed extrinsic aka "transaction". - pub fn new_signed( - index: Index, - function: Call, - signed: Address, - signature: Signature, - era: Era, - acceleration: Acceleration, - ) -> Self { - UncheckedMortalCompactExtrinsic { - signature: Some((signed, signature, index.into(), era, acceleration.into())), - function, - } - } - - /// New instance of an unsigned extrinsic aka "inherent". - pub fn new_unsigned(function: Call) -> Self { - UncheckedMortalCompactExtrinsic { - signature: None, - function, - } - } -} - -impl - Extrinsic for UncheckedMortalCompactExtrinsic -{ - fn is_signed(&self) -> Option { - Some(self.signature.is_some()) - } -} - -impl - Checkable - for UncheckedMortalCompactExtrinsic -where - Address: Member + MaybeDisplay, - Index: Member + MaybeDisplay + SimpleArithmetic, - Compact: Encode, - Call: Encode + Member, - Signature: Member + traits::Verify, - Acceleration: Encode + Member + MaybeDisplay + SimpleArithmetic + Copy, - Compact: Encode, - AccountId: Member + MaybeDisplay, - BlockNumber: SimpleArithmetic, - Hash: Encode, - Context: Lookup - + CurrentHeight - + BlockNumberToHash, -{ - type Checked = CheckedExtrinsic; - - fn check(self, context: &Context) -> Result { - Ok(match self.signature { - Some((signed, signature, index, era, acceleration)) => { - let current_u64 = context.current_height().saturated_into::(); - let h = context - .block_number_to_hash(era.birth(current_u64).saturated_into()) - .ok_or("transaction birth block ancient")?; - let raw_payload = (index, self.function, era, h, acceleration); - let signed = context.lookup(signed)?; // if error, would return "invalid account index" - if !raw_payload.using_encoded(|payload| { - if payload.len() > 256 { - signature.verify(&blake2_256(payload)[..], &signed) - } else { - signature.verify(payload, &signed) - } - }) { - return Err("bad signature in extrinsic"); - } - CheckedExtrinsic { - signed: Some((signed, (raw_payload.0).0, (raw_payload.4).0)), - function: raw_payload.1, - } - } - None => CheckedExtrinsic { - signed: None, - function: self.function, - }, - }) - } -} - -impl Decode - for UncheckedMortalCompactExtrinsic -where - Address: Decode, - Signature: Decode, - Compact: Decode, - Call: Decode, - Acceleration: Decode, - Compact: Decode, -{ - fn decode(input: &mut I) -> Option { - // This is a little more complicated than usual since the binary format must be compatible - // with substrate's generic `Vec` type. Basically this just means accepting that there - // will be a prefix of vector length (we don't need - // to use this). - let _length_do_not_remove_me_see_above: Vec<()> = Decode::decode(input)?; - - let version = input.read_byte()?; - - let is_signed = version & 0b1000_0000 != 0; - let version = version & 0b0111_1111; - if version != TRANSACTION_VERSION { - return None; - } - - Some(UncheckedMortalCompactExtrinsic { - signature: if is_signed { - Some(Decode::decode(input)?) - } else { - None - }, - function: Decode::decode(input)?, - }) - } -} - -impl Encode - for UncheckedMortalCompactExtrinsic -where - Address: Encode, - Signature: Encode, - Compact: Encode, - Call: Encode, - Acceleration: Encode, - Compact: Encode, -{ - fn encode(&self) -> Vec { - super::encode_with_vec_prefix::(|v| { - // 1 byte version id. - match self.signature.as_ref() { - Some(s) => { - v.push(TRANSACTION_VERSION | 0b1000_0000); - s.encode_to(v); - } - None => { - v.push(TRANSACTION_VERSION & 0b0111_1111); - } - } - self.function.encode_to(v); - }) - } -} - -#[cfg(feature = "std")] -impl serde::Serialize - for UncheckedMortalCompactExtrinsic -where - Compact: Encode, - Compact: Encode, -{ - fn serialize(&self, seq: S) -> Result - where - S: ::serde::Serializer, - { - self.using_encoded(|bytes| seq.serialize_bytes(bytes)) - } -} - -/// TODO: use derive when possible. -#[cfg(feature = "std")] -impl fmt::Debug - for UncheckedMortalCompactExtrinsic -where - Address: fmt::Debug, - Index: fmt::Debug, - Call: fmt::Debug, - Acceleration: fmt::Debug, -{ - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!( - f, - "UncheckedMortalCompactExtrinsic({:?}, {:?})", - self.signature.as_ref().map(|x| (&x.0, &x.2)), - self.function - ) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use parity_codec::{Decode, Encode}; - use serde::{Deserialize, Serialize}; - - struct TestContext; - - impl Lookup for TestContext { - type Source = u64; - type Target = u64; - fn lookup(&self, s: u64) -> Result { - Ok(s) - } - } - - impl CurrentHeight for TestContext { - type BlockNumber = u64; - fn current_height(&self) -> u64 { - 42 - } - } - - impl BlockNumberToHash for TestContext { - type BlockNumber = u64; - type Hash = u64; - fn block_number_to_hash(&self, n: u64) -> Option { - Some(n) - } - } - - #[derive(Eq, PartialEq, Clone, Debug, Serialize, Deserialize, Encode, Decode)] - struct TestSig(u64, Vec); - - impl traits::Verify for TestSig { - type Signer = u64; - fn verify>(&self, mut msg: L, signer: &Self::Signer) -> bool { - *signer == self.0 && msg.get() == &self.1[..] - } - } - - const DUMMY_ACCOUNTID: u64 = 0; - - type Ex = UncheckedMortalCompactExtrinsic, TestSig, u32>; - type CEx = CheckedExtrinsic, u32>; - - #[test] - fn unsigned_codec_should_work() { - let ux = Ex::new_unsigned(vec![0u8; 0]); - let encoded = ux.encode(); - assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); - } - - #[test] - fn signed_codec_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - DUMMY_ACCOUNTID, - vec![0u8; 0], - Era::immortal(), - 0u64, - Compact::::from(1), - ) - .encode(), - ), - Era::immortal(), - 1, - ); - let encoded = ux.encode(); - assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); - } - - #[test] - fn unsigned_check_should_work() { - let ux = Ex::new_unsigned(vec![0u8; 0]); - assert!(!ux.is_signed().unwrap_or(false)); - assert!(>::check(ux, &TestContext).is_ok()); - } - - #[test] - fn badly_signed_check_should_fail() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig(DUMMY_ACCOUNTID, vec![0u8]), - Era::immortal(), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Err("bad signature in extrinsic") - ); - } - - #[test] - fn immortal_signed_check_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - Compact::from(DUMMY_ACCOUNTID), - vec![0u8; 0], - Era::immortal(), - 0u64, - Compact::::from(1), - ) - .encode(), - ), - Era::immortal(), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Ok(CEx { - signed: Some((DUMMY_ACCOUNTID, 0, 1)), - function: vec![0u8; 0] - }) - ); - } - - #[test] - fn mortal_signed_check_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - Compact::from(DUMMY_ACCOUNTID), - vec![0u8; 0], - Era::mortal(32, 42), - 42u64, - Compact::::from(1), - ) - .encode(), - ), - Era::mortal(32, 42), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Ok(CEx { - signed: Some((DUMMY_ACCOUNTID, 0, 1)), - function: vec![0u8; 0] - }) - ); - } - - #[test] - fn later_mortal_signed_check_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - Compact::from(DUMMY_ACCOUNTID), - vec![0u8; 0], - Era::mortal(32, 11), - 11u64, - Compact::::from(1), - ) - .encode(), - ), - Era::mortal(32, 11), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Ok(CEx { - signed: Some((DUMMY_ACCOUNTID, 0, 1)), - function: vec![0u8; 0] - }) - ); - } - - #[test] - fn too_late_mortal_signed_check_should_fail() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - DUMMY_ACCOUNTID, - vec![0u8; 0], - Era::mortal(32, 10), - 10u64, - Compact::::from(1), - ) - .encode(), - ), - Era::mortal(32, 10), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Err("bad signature in extrinsic") - ); - } - - #[test] - fn too_early_mortal_signed_check_should_fail() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - DUMMY_ACCOUNTID, - vec![0u8; 0], - Era::mortal(32, 43), - 43u64, - Compact::::from(1), - ) - .encode(), - ), - Era::mortal(32, 43), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Err("bad signature in extrinsic") - ); - } - - #[test] - fn encoding_matches_vec() { - let ex = Ex::new_unsigned(vec![0u8; 0]); - let encoded = ex.encode(); - let decoded = Ex::decode(&mut encoded.as_slice()).unwrap(); - assert_eq!(decoded, ex); - let as_vec: Vec = Decode::decode(&mut encoded.as_slice()).unwrap(); - assert_eq!(as_vec.encode(), encoded); - } -} diff --git a/xr-primitives/src/generic/unchecked_mortal_extrinsic.rs b/xr-primitives/src/generic/unchecked_mortal_extrinsic.rs deleted file mode 100644 index 6030bae2df11f..0000000000000 --- a/xr-primitives/src/generic/unchecked_mortal_extrinsic.rs +++ /dev/null @@ -1,454 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -//! Generic implementation of an unchecked (pre-verification) extrinsic. - -#[cfg(feature = "std")] -use std::fmt; - -use parity_codec::{Decode, Encode, Input}; - -use rstd::prelude::*; -use runtime_io::blake2_256; -use runtime_primitives::{ - generic::Era, - traits::{ - self, BlockNumberToHash, Checkable, CurrentHeight, Extrinsic, Lookup, MaybeDisplay, Member, - SaturatedConversion, SimpleArithmetic, - }, -}; - -use super::checked_extrinsic::CheckedExtrinsic; - -const TRANSACTION_VERSION: u8 = 1; - -/// A extrinsic right from the external world. This is unchecked and so -/// can contain a signature. -#[derive(PartialEq, Eq, Clone)] -pub struct UncheckedMortalExtrinsic { - /// The signature, address, number of extrinsics have come before from - /// the same signer and an era describing the longevity of this transaction, - /// if this is a signed extrinsic. - /// - /// Acceleration More chances to be packed in block. - pub signature: Option<(Address, Signature, Index, Era, Acceleration)>, - /// The function that should be called. - pub function: Call, -} - -impl - UncheckedMortalExtrinsic -{ - /// New instance of a signed extrinsic aka "transaction". - pub fn new_signed( - index: Index, - function: Call, - signed: Address, - signature: Signature, - era: Era, - acceleration: Acceleration, - ) -> Self { - UncheckedMortalExtrinsic { - signature: Some((signed, signature, index, era, acceleration)), - function, - } - } - - /// New instance of an unsigned extrinsic aka "inherent". - pub fn new_unsigned(function: Call) -> Self { - UncheckedMortalExtrinsic { - signature: None, - function, - } - } -} - -impl - Extrinsic for UncheckedMortalExtrinsic -{ - fn is_signed(&self) -> Option { - Some(self.signature.is_some()) - } -} - -impl - Checkable for UncheckedMortalExtrinsic -where - Address: Member + MaybeDisplay, - Index: Encode + Member + MaybeDisplay + SimpleArithmetic, - Call: Encode + Member, - Signature: Member + traits::Verify, - Acceleration: Encode + Member + MaybeDisplay + SimpleArithmetic + Copy, - AccountId: Member + MaybeDisplay, - BlockNumber: SimpleArithmetic, - Hash: Encode, - Context: Lookup - + CurrentHeight - + BlockNumberToHash, -{ - type Checked = CheckedExtrinsic; - - fn check(self, context: &Context) -> Result { - Ok(match self.signature { - Some((signed, signature, index, era, acceleration)) => { - let current_u64 = context.current_height().saturated_into::(); - let h = context - .block_number_to_hash(era.birth(current_u64).saturated_into()) - .ok_or("transaction birth block ancient")?; - let raw_payload = (index, self.function, era, h, acceleration); - let signed = context.lookup(signed)?; - if !raw_payload.using_encoded(|payload| { - if payload.len() > 256 { - signature.verify(&blake2_256(payload)[..], &signed) - } else { - signature.verify(payload, &signed) - } - }) { - return Err("bad signature in extrinsic"); - } - CheckedExtrinsic { - signed: Some((signed, raw_payload.0, raw_payload.4)), - function: raw_payload.1, - } - } - None => CheckedExtrinsic { - signed: None, - function: self.function, - }, - }) - } -} - -impl Decode - for UncheckedMortalExtrinsic -where - Address: Decode, - Signature: Decode, - Index: Decode, - Call: Decode, - Acceleration: Decode, -{ - fn decode(input: &mut I) -> Option { - // This is a little more complicated than usual since the binary format must be compatible - // with substrate's generic `Vec` type. Basically this just means accepting that there - // will be a prefix of vector length (we don't need - // to use this). - let _length_do_not_remove_me_see_above: Vec<()> = Decode::decode(input)?; - - let version = input.read_byte()?; - - let is_signed = version & 0b1000_0000 != 0; - let version = version & 0b0111_1111; - if version != TRANSACTION_VERSION { - return None; - } - - Some(UncheckedMortalExtrinsic { - signature: if is_signed { - Some(Decode::decode(input)?) - } else { - None - }, - function: Decode::decode(input)?, - }) - } -} - -impl Encode - for UncheckedMortalExtrinsic -where - Address: Encode, - Signature: Encode, - Index: Encode, - Call: Encode, - Acceleration: Encode, -{ - fn encode(&self) -> Vec { - super::encode_with_vec_prefix::(|v| { - // 1 byte version id. - match self.signature.as_ref() { - Some(s) => { - v.push(TRANSACTION_VERSION | 0b1000_0000); - s.encode_to(v); - } - None => { - v.push(TRANSACTION_VERSION & 0b0111_1111); - } - } - self.function.encode_to(v); - }) - } -} - -#[cfg(feature = "std")] -impl - serde::Serialize for UncheckedMortalExtrinsic -{ - fn serialize(&self, seq: S) -> Result - where - S: ::serde::Serializer, - { - self.using_encoded(|bytes| seq.serialize_bytes(bytes)) - } -} - -/// TODO: use derive when possible. -#[cfg(feature = "std")] -impl fmt::Debug - for UncheckedMortalExtrinsic -where - Address: fmt::Debug, - Index: fmt::Debug, - Call: fmt::Debug, - Acceleration: fmt::Debug, -{ - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!( - f, - "UncheckedMortalExtrinsic({:?}, {:?})", - self.signature.as_ref().map(|x| (&x.0, &x.2, &x.3, &x.4)), - self.function - ) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use parity_codec::{Decode, Encode}; - use serde::{Deserialize, Serialize}; - - struct TestContext; - - impl Lookup for TestContext { - type Source = u64; - type Target = u64; - fn lookup(&self, s: u64) -> Result { - Ok(s) - } - } - - impl CurrentHeight for TestContext { - type BlockNumber = u64; - fn current_height(&self) -> u64 { - 42 - } - } - - impl BlockNumberToHash for TestContext { - type BlockNumber = u64; - type Hash = u64; - fn block_number_to_hash(&self, n: u64) -> Option { - Some(n) - } - } - - #[derive(Eq, PartialEq, Clone, Debug, Serialize, Deserialize, Encode, Decode)] - struct TestSig(u64, Vec); - - impl traits::Verify for TestSig { - type Signer = u64; - fn verify>(&self, mut msg: L, signer: &Self::Signer) -> bool { - *signer == self.0 && msg.get() == &self.1[..] - } - } - - const DUMMY_ACCOUNTID: u64 = 0; - - type Ex = UncheckedMortalExtrinsic, TestSig, u32>; - type CEx = CheckedExtrinsic, u32>; - - #[test] - fn unsigned_codec_should_work() { - let ux = Ex::new_unsigned(vec![0u8; 0]); - let encoded = ux.encode(); - assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); - } - - #[test] - fn signed_codec_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - (DUMMY_ACCOUNTID, vec![0u8; 0], Era::immortal(), 0u64, 1u32).encode(), - ), - Era::immortal(), - 1, - ); - let encoded = ux.encode(); - assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); - } - - #[test] - fn unsigned_check_should_work() { - let ux = Ex::new_unsigned(vec![0u8; 0]); - assert!(!ux.is_signed().unwrap_or(false)); - assert!(>::check(ux, &TestContext).is_ok()); - } - - #[test] - fn badly_signed_check_should_fail() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig(DUMMY_ACCOUNTID, vec![0u8]), - Era::immortal(), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Err("bad signature in extrinsic") - ); - } - - #[test] - fn immortal_signed_check_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - (DUMMY_ACCOUNTID, vec![0u8; 0], Era::immortal(), 0u64, 1u32).encode(), - ), - Era::immortal(), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Ok(CEx { - signed: Some((DUMMY_ACCOUNTID, 0, 1)), - function: vec![0u8; 0] - }) - ); - } - - #[test] - fn mortal_signed_check_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - DUMMY_ACCOUNTID, - vec![0u8; 0], - Era::mortal(32, 42), - 42u64, - 1u32, - ) - .encode(), - ), - Era::mortal(32, 42), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Ok(CEx { - signed: Some((DUMMY_ACCOUNTID, 0, 1)), - function: vec![0u8; 0] - }) - ); - } - - #[test] - fn later_mortal_signed_check_should_work() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - DUMMY_ACCOUNTID, - vec![0u8; 0], - Era::mortal(32, 11), - 11u64, - 1u32, - ) - .encode(), - ), - Era::mortal(32, 11), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Ok(CEx { - signed: Some((DUMMY_ACCOUNTID, 0, 1)), - function: vec![0u8; 0] - }) - ); - } - - #[test] - fn too_late_mortal_signed_check_should_fail() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - DUMMY_ACCOUNTID, - vec![0u8; 0], - Era::mortal(32, 10), - 10u64, - 1u32, - ) - .encode(), - ), - Era::mortal(32, 10), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Err("bad signature in extrinsic") - ); - } - - #[test] - fn too_early_mortal_signed_check_should_fail() { - let ux = Ex::new_signed( - 0, - vec![0u8; 0], - DUMMY_ACCOUNTID, - TestSig( - DUMMY_ACCOUNTID, - ( - DUMMY_ACCOUNTID, - vec![0u8; 0], - Era::mortal(32, 43), - 43u64, - 1u32, - ) - .encode(), - ), - Era::mortal(32, 43), - 1, - ); - assert!(ux.is_signed().unwrap_or(false)); - assert_eq!( - >::check(ux, &TestContext), - Err("bad signature in extrinsic") - ); - } - - #[test] - fn encoding_matches_vec() { - let ex = Ex::new_unsigned(vec![0u8; 0]); - let encoded = ex.encode(); - let decoded = Ex::decode(&mut encoded.as_slice()).unwrap(); - assert_eq!(decoded, ex); - let as_vec: Vec = Decode::decode(&mut encoded.as_slice()).unwrap(); - assert_eq!(as_vec.encode(), encoded); - } -} diff --git a/xr-primitives/src/lib.rs b/xr-primitives/src/lib.rs deleted file mode 100644 index 722de927505cf..0000000000000 --- a/xr-primitives/src/lib.rs +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2018-2019 Chainpool. -//! System manager: Handles all of the top-level stuff; executing block/transaction, setting code -//! and depositing logs. - -#![allow(clippy::type_complexity)] -#![allow(clippy::match_overlapping_arm)] -#![allow(clippy::block_in_if_condition_stmt)] -#![cfg_attr(not(feature = "std"), no_std)] - -pub mod generic; -pub mod traits; - -use parity_codec::{Decode, Encode}; -use rstd::prelude::Vec; - -#[cfg(feature = "std")] -use serde::{Deserialize, Serialize}; - -pub type XString = Vec; -pub type Name = XString; -pub type URL = XString; -pub type AddrStr = XString; -pub type Memo = XString; -pub type Token = XString; -pub type Desc = XString; - -/// A result of execution of a contract. -#[derive(Eq, PartialEq, Encode, Decode)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -pub enum ContractExecResult { - /// The contract returned successfully. - /// - /// There is a status code and, optionally, some data returned by the contract. - Success { - /// Status code returned by the contract. - status: u16, - /// Output data returned by the contract. - /// - /// Can be empty. - data: Vec, - }, - /// The contract execution either trapped or returned an error. - Error(Vec), -} - -/// A result type of the get storage call. -/// -/// See [`ContractsApi::get_storage`] for more info. -pub type GetStorageResult = Result>, GetStorageError>; -/// The possible errors that can happen querying the storage of a contract. -#[derive(Eq, PartialEq, Encode, Decode)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -pub enum GetStorageError { - /// The given address doesn't point on a contract. - ContractDoesntExist, - /// The specified contract is a tombstone and thus cannot have any storage. - IsTombstone, -} - -#[cfg(feature = "std")] -impl std::fmt::Display for GetStorageError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - write!(f, "{:?}", self) - } -} - -#[derive(PartialEq, PartialOrd, Ord, Eq, Clone, Copy, Encode, Decode)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -pub enum XRC20Selector { - BalanceOf, - TotalSupply, - Name, - Symbol, - Decimals, - Issue, - Destroy, -} diff --git a/xr-primitives/src/traits.rs b/xr-primitives/src/traits.rs deleted file mode 100644 index a23634a4c5600..0000000000000 --- a/xr-primitives/src/traits.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -pub use integer_sqrt::IntegerSquareRoot; -pub use num_traits::{ - ops::checked::{CheckedAdd, CheckedDiv, CheckedMul, CheckedShl, CheckedShr, CheckedSub}, - Bounded, One, Zero, -}; - -use runtime_primitives::traits::{MaybeDisplay, Member, SimpleArithmetic}; - -/// Work together with sr_primitives::traits::Applyable -pub trait Accelerable: Sized + Send + Sync { - type AccountId: Member + MaybeDisplay; - type Index: Member + MaybeDisplay + SimpleArithmetic; - type Call: Member; - type Acceleration: Member + MaybeDisplay + SimpleArithmetic + Copy + Into + From; - - fn acceleration(&self) -> Option; -} diff --git a/xrml/xaccounts/Cargo.toml b/xrml/xaccounts/Cargo.toml deleted file mode 100644 index 438a060428c5f..0000000000000 --- a/xrml/xaccounts/Cargo.toml +++ /dev/null @@ -1,42 +0,0 @@ -[package] -name = "xrml-xaccounts" -version = "1.0.0" -authors = ["Chainpool "] -edition = "2018" - -[dependencies] -serde = { version = "1.0", default-features = false } -serde_derive = { version = "1.0", optional = true } -parity-codec = { version = "3.3", default-features = false, features = ["derive"] } -# Substrate -substrate-primitives = { git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -rstd = { package = "sr-std", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -primitives = { package = "sr-primitives", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -support = { package = "srml-support", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -system = { package = "srml-system", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -consensus = { package = "srml-consensus", git = "https://github.com/chainpool/substrate", branch="chainx-master", default-features = false } -# ChainX -xr-primitives = { path = "../../xr-primitives", default-features = false } -xsystem = { package ="xrml-xsystem", path = "../../xrml/xsystem", default-features = false } - -[dev-dependencies] -# Substrate -runtime_io = { package = "sr-io", git = "https://github.com/chainpool/substrate", branch="chainx-master" } - -[features] -default = ["std"] -std = [ - "serde/std", - "serde_derive", - "parity-codec/std", - # Substrate - "substrate-primitives/std", - "rstd/std", - "primitives/std", - "support/std", - "system/std", - "consensus/std", - # ChainX - "xr-primitives/std", - "xsystem/std", -] diff --git a/xrml/xaccounts/src/lib.rs b/xrml/xaccounts/src/lib.rs deleted file mode 100644 index 31ee41fcee6c6..0000000000000 --- a/xrml/xaccounts/src/lib.rs +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -//! This module mainly stores some special kinds of account -//! that could be queried from various function modules. - -#![cfg_attr(not(feature = "std"), no_std)] - -mod mock; -mod tests; -pub mod types; - -// Substrate -use primitives::traits::Hash; -use rstd::prelude::*; -use substrate_primitives::crypto::UncheckedFrom; -use support::{decl_module, decl_storage, dispatch::Result}; - -// ChainX -use xr_primitives::Name; - -pub use self::types::IntentionProps; - -pub trait Trait: system::Trait + consensus::Trait { - /// Generate virtual AccountId for each (psedu) intention - type DetermineIntentionJackpotAccountId: IntentionJackpotAccountIdFor; -} - -pub trait IntentionJackpotAccountIdFor { - /// when use `*_unsafe`, must confirm accountid is an intention - fn accountid_for_unsafe(origin: &AccountId) -> AccountId; - - fn accountid_for_safe(origin: &AccountId) -> Option; -} - -impl IntentionJackpotAccountIdFor for () { - fn accountid_for_unsafe(_: &AccountId) -> AccountId { - AccountId::default() - } - - fn accountid_for_safe(_: &AccountId) -> Option { - Some(AccountId::default()) - } -} - -pub struct SimpleAccountIdDeterminator(::rstd::marker::PhantomData); - -impl IntentionJackpotAccountIdFor for SimpleAccountIdDeterminator -where - T::AccountId: UncheckedFrom, -{ - fn accountid_for_unsafe(origin: &T::AccountId) -> T::AccountId { - Self::accountid_for_safe(origin) - .expect("The original account must be an existing intention.") - } - - fn accountid_for_safe(origin: &T::AccountId) -> Option { - Module::::intention_name_of(origin) - .map(|name| UncheckedFrom::unchecked_from(T::Hashing::hash(&name))) - } -} - -decl_module! { - pub struct Module for enum Call where origin: T::Origin { - } -} - -decl_storage! { - trait Store for Module as XAccounts { - /// intention name => intention - pub IntentionOf get(intention_of): map Name => Option; - - /// intention => intention name - pub IntentionNameOf get(intention_name_of): map T::AccountId => Option; - - pub IntentionPropertiesOf get(intention_props_of): map T::AccountId => IntentionProps; - - pub TeamAccount get(team_account): T::AccountId; - pub CouncilAccount get(council_account): T::AccountId; - - pub BlockedAccounts get(blocked_accounts): Vec; - } -} - -impl Module { - pub fn is_intention(who: &T::AccountId) -> bool { - Self::intention_name_of(who).is_some() - } -} - -impl xsystem::Validator for Module { - fn get_validator_by_name(name: &[u8]) -> Option { - Self::intention_of(name.to_vec()) - } - fn get_validator_name(accountid: &T::AccountId) -> Option> { - Self::intention_name_of(accountid) - } -} - -/// Although xss is imperceptible on-chain, we merely want to make it look safer off-chain. -pub fn is_xss_proof(input: &[u8]) -> Result { - if input.contains(&b'<') || input.contains(&b'>') { - return Err("'<' and '>' are not allowed, which could be abused off-chain."); - } - Ok(()) -} - -/// A valid name should be [2, 12] in length and xss-proof. -pub fn is_valid_name(name: &[u8]) -> Result { - if name.len() > 12 || name.len() < 2 { - return Err("The length of name must be in range [2, 12]."); - } - - is_xss_proof(name) -} - -/// A valid about should be [0, 128] in length and xss-proof. -pub fn is_valid_about(about: &[u8]) -> Result { - if about.len() > 128 { - return Err("The length of about must be in range [0, 128]."); - } - - is_xss_proof(about) -} - -/// The url actually obeys the slightly modifed domain name rule. -pub fn is_valid_url(url: &[u8]) -> Result { - if url.len() > 24 || url.len() < 4 { - return Err("The length of url must be in range [4, 24]."); - } - // ASCII alphanumeric character and '.' - let is_valid = |n: &u8| -> bool { n.is_ascii_alphanumeric() || *n == b'.' }; - - if url.iter().filter(|n| !is_valid(n)).count() > 0 { - return Err("Only ASCII alphanumeric character and . are allowed."); - } - - Ok(()) -} diff --git a/xrml/xaccounts/src/mock.rs b/xrml/xaccounts/src/mock.rs deleted file mode 100644 index fbd0314c64e2e..0000000000000 --- a/xrml/xaccounts/src/mock.rs +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -#![cfg(test)] - -use primitives::testing::{Digest, DigestItem, Header, UintAuthorityId}; -use primitives::traits::{BlakeTwo256, IdentityLookup}; -use primitives::BuildStorage; -use substrate_primitives::{Blake2Hasher, H256}; -use support::impl_outer_origin; - -use super::*; - -impl_outer_origin! { - pub enum Origin for Test {} -} - -// Workaround for https://github.com/rust-lang/rust/issues/26925 . Remove when sorted. -#[derive(Clone, PartialEq, Eq, Debug)] -pub struct Test; - -impl system::Trait for Test { - type Origin = Origin; - type Index = u64; - type BlockNumber = u64; - type Hash = H256; - type Hashing = BlakeTwo256; - type Digest = Digest; - type AccountId = u64; - type Lookup = IdentityLookup; - type Header = Header; - type Event = (); - type Log = DigestItem; -} - -impl consensus::Trait for Test { - type Log = DigestItem; - type SessionKey = UintAuthorityId; - type InherentOfflineReport = (); -} - -impl Trait for Test { - type DetermineIntentionJackpotAccountId = MockAccountIdDeterminator; -} -pub struct MockAccountIdDeterminator; -impl IntentionJackpotAccountIdFor for MockAccountIdDeterminator { - fn accountid_for_unsafe(_: &u64) -> u64 { - 0 - } - fn accountid_for_safe(_: &u64) -> Option { - Some(0) - } -} - -pub fn new_test_ext() -> runtime_io::TestExternalities { - let mut t = system::GenesisConfig::::default() - .build_storage() - .unwrap() - .0; - t.extend( - consensus::GenesisConfig:: { - code: vec![], - authorities: vec![], - } - .build_storage() - .unwrap() - .0, - ); - runtime_io::TestExternalities::new(t) -} - -pub type XAccounts = Module; diff --git a/xrml/xaccounts/src/tests.rs b/xrml/xaccounts/src/tests.rs deleted file mode 100644 index cd5ebb1a8b515..0000000000000 --- a/xrml/xaccounts/src/tests.rs +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2018-2019 Chainpool. - -#![cfg(test)] - -use runtime_io::with_externalities; -use support::StorageMap; -use support::{assert_noop, assert_ok}; -use xsystem::Validator; - -use super::mock::{new_test_ext, Test, XAccounts}; -use super::*; - -#[test] -fn test_is_valid_name() { - assert_ok!(is_valid_name("na".as_bytes())); - assert_ok!(is_valid_name("nam".as_bytes())); - assert_ok!(is_valid_name("name".as_bytes())); - assert_ok!(is_valid_name("namenamename".as_bytes())); - assert_noop!( - is_valid_name("".as_bytes()), - "The length of name must be in range [2, 12]." - ); - assert_noop!( - is_valid_name("n".as_bytes()), - "The length of name must be in range [2, 12]." - ); - assert_noop!( - is_valid_name("namenamename_".as_bytes()), - "The length of name must be in range [2, 12]." - ); - assert_noop!( - is_valid_name("