diff --git a/.travis.yml b/.travis.yml index d2fe7a2885f..7585a7f0da1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: rust -rust: 1.45.2 +rust: 1.46.0 dist: xenial sudo: true cache: @@ -114,13 +114,15 @@ matrix: rust: stable script: - devtools/ci/check-cyclic-dependencies.py --dev - - name: Security Audit + - name: Security Audit & Licenses if: 'tag IS NOT present AND (type = pull_request OR branch in (master, staging, staging2, trying) OR repo != nervosnetwork/ckb)' os: linux install: - - cargo audit --version || travis_retry cargo install cargo-audit --locked + - cargo deny --version || travis_retry cargo install cargo-deny --locked script: - make security-audit + - make check-crates + - make check-licenses - name: WASM build if: 'tag IS NOT present AND (type = pull_request OR branch in (master, staging, staging2, trying) OR repo != nervosnetwork/ckb)' @@ -165,7 +167,7 @@ matrix: if: 'tag IS present AND env(GITHUB_TOKEN) IS present' language: ruby addons: { apt: { packages: [] } } - env: REL_PKG=x86_64-unknown-linux-gnu.tar.gz BUILDER_IMAGE=nervos/ckb-docker-builder:xenial-rust-1.45.2 + env: REL_PKG=x86_64-unknown-linux-gnu.tar.gz BUILDER_IMAGE=nervos/ckb-docker-builder:xenial-rust-1.46.0 script: - mkdir -p $HOME/.cargo - docker run --rm -it -w /ckb -v $(pwd):/ckb -v $HOME/.cargo:/root/.cargo -e OPENSSL_STATIC=1 -e OPENSSL_LIB_DIR=/usr/local/lib -e OPENSSL_INCLUDE_DIR=/usr/local/include/openssl $BUILDER_IMAGE make prod @@ -177,7 +179,7 @@ matrix: if: 'tag IS present AND env(GITHUB_TOKEN) IS present' language: ruby addons: { apt: { packages: [] } } - env: REL_PKG=x86_64-unknown-centos-gnu.tar.gz BUILDER_IMAGE=nervos/ckb-docker-builder:centos-7-rust-1.45.2 + env: REL_PKG=x86_64-unknown-centos-gnu.tar.gz BUILDER_IMAGE=nervos/ckb-docker-builder:centos-7-rust-1.46.0 script: - mkdir -p $HOME/.cargo - docker run --rm -it -w /ckb -v $(pwd):/ckb -v $HOME/.cargo:/root/.cargo $BUILDER_IMAGE scl enable llvm-toolset-7 'make prod' diff --git a/Cargo.lock b/Cargo.lock index 5c76fcd28f9..b5f3eb8fd3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -313,7 +313,7 @@ dependencies = [ [[package]] name = "ckb" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-bin", "ckb-build-info", @@ -322,7 +322,7 @@ dependencies = [ [[package]] name = "ckb-app-config" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-build-info", "ckb-chain-spec", @@ -348,14 +348,14 @@ dependencies = [ [[package]] name = "ckb-async-runtime" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "tokio 0.2.22", ] [[package]] name = "ckb-benches" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-chain", @@ -380,7 +380,7 @@ dependencies = [ [[package]] name = "ckb-bin" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "base64", "ckb-app-config", @@ -418,11 +418,11 @@ dependencies = [ [[package]] name = "ckb-build-info" -version = "0.37.0" +version = "0.38.0-pre" [[package]] name = "ckb-chain" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "bitflags", "ckb-app-config", @@ -449,7 +449,7 @@ dependencies = [ [[package]] name = "ckb-chain-iter" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-store", "ckb-types", @@ -457,7 +457,7 @@ dependencies = [ [[package]] name = "ckb-chain-spec" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-crypto", "ckb-dao-utils", @@ -475,14 +475,14 @@ dependencies = [ [[package]] name = "ckb-channel" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "crossbeam-channel 0.3.9", ] [[package]] name = "ckb-crypto" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-fixed-hash", "failure", @@ -494,7 +494,7 @@ dependencies = [ [[package]] name = "ckb-dao" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "byteorder", "ckb-chain-spec", @@ -508,7 +508,7 @@ dependencies = [ [[package]] name = "ckb-dao-utils" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "byteorder", "ckb-error", @@ -519,7 +519,7 @@ dependencies = [ [[package]] name = "ckb-db" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-error", @@ -531,7 +531,7 @@ dependencies = [ [[package]] name = "ckb-db-migration" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-db", @@ -544,7 +544,7 @@ dependencies = [ [[package]] name = "ckb-error" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-occupied-capacity", "enum-display-derive", @@ -553,7 +553,7 @@ dependencies = [ [[package]] name = "ckb-fee-estimator" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-logger", "ckb-types", @@ -562,7 +562,7 @@ dependencies = [ [[package]] name = "ckb-fixed-hash" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-fixed-hash-core", "ckb-fixed-hash-macros", @@ -570,7 +570,7 @@ dependencies = [ [[package]] name = "ckb-fixed-hash-core" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "failure", "faster-hex 0.4.1", @@ -579,7 +579,7 @@ dependencies = [ [[package]] name = "ckb-fixed-hash-macros" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-fixed-hash-core", "proc-macro2 0.4.27", @@ -589,14 +589,14 @@ dependencies = [ [[package]] name = "ckb-hash" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "blake2b-rs", ] [[package]] name = "ckb-indexer" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-chain", @@ -615,7 +615,7 @@ dependencies = [ [[package]] name = "ckb-instrument" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-chain", "ckb-chain-iter", @@ -628,7 +628,7 @@ dependencies = [ [[package]] name = "ckb-jsonrpc-types" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-types", "faster-hex 0.4.1", @@ -653,21 +653,21 @@ dependencies = [ [[package]] name = "ckb-logger" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "log 0.4.11", ] [[package]] name = "ckb-logger-config" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "serde", ] [[package]] name = "ckb-logger-service" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ansi_term 0.12.1", "backtrace", @@ -684,7 +684,7 @@ dependencies = [ [[package]] name = "ckb-memory-tracker" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-db", "ckb-logger", @@ -697,14 +697,14 @@ dependencies = [ [[package]] name = "ckb-metrics" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "metrics", ] [[package]] name = "ckb-metrics-config" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "log 0.4.11", "serde", @@ -712,7 +712,7 @@ dependencies = [ [[package]] name = "ckb-metrics-service" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-async-runtime", "ckb-metrics-config", @@ -725,7 +725,7 @@ dependencies = [ [[package]] name = "ckb-miner" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-channel", @@ -750,7 +750,7 @@ dependencies = [ [[package]] name = "ckb-multisig" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-crypto", "ckb-logger", @@ -760,7 +760,7 @@ dependencies = [ [[package]] name = "ckb-network" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "bloom-filters", "bs58", @@ -793,7 +793,7 @@ dependencies = [ [[package]] name = "ckb-network-alert" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-crypto", @@ -812,7 +812,7 @@ dependencies = [ [[package]] name = "ckb-notify" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-channel", @@ -823,7 +823,7 @@ dependencies = [ [[package]] name = "ckb-occupied-capacity" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-occupied-capacity-core", "ckb-occupied-capacity-macros", @@ -831,14 +831,14 @@ dependencies = [ [[package]] name = "ckb-occupied-capacity-core" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "serde", ] [[package]] name = "ckb-occupied-capacity-macros" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-occupied-capacity-core", "quote 0.6.11", @@ -847,7 +847,7 @@ dependencies = [ [[package]] name = "ckb-pow" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "byteorder", "ckb-hash", @@ -859,7 +859,7 @@ dependencies = [ [[package]] name = "ckb-proposal-table" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-chain-spec", "ckb-logger", @@ -868,7 +868,7 @@ dependencies = [ [[package]] name = "ckb-rational" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "numext-fixed-uint", "proptest", @@ -876,7 +876,7 @@ dependencies = [ [[package]] name = "ckb-resource" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-system-scripts", "ckb-types", @@ -890,7 +890,7 @@ dependencies = [ [[package]] name = "ckb-reward-calculator" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-chain-spec", "ckb-dao", @@ -915,7 +915,7 @@ dependencies = [ [[package]] name = "ckb-rpc" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-chain", @@ -964,14 +964,14 @@ dependencies = [ [[package]] name = "ckb-rust-unstable-port" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "is_sorted", ] [[package]] name = "ckb-script" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "byteorder", "ckb-chain-spec", @@ -996,7 +996,7 @@ dependencies = [ [[package]] name = "ckb-shared" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "arc-swap", "ckb-app-config", @@ -1016,7 +1016,7 @@ dependencies = [ [[package]] name = "ckb-snapshot" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "arc-swap", "ckb-chain-spec", @@ -1031,7 +1031,7 @@ dependencies = [ [[package]] name = "ckb-stop-handler" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-channel", "ckb-logger", @@ -1042,7 +1042,7 @@ dependencies = [ [[package]] name = "ckb-store" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-chain-spec", @@ -1056,7 +1056,7 @@ dependencies = [ [[package]] name = "ckb-sync" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "bitflags", "ckb-app-config", @@ -1104,7 +1104,7 @@ dependencies = [ [[package]] name = "ckb-test-chain-utils" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-chain-spec", "ckb-dao-utils", @@ -1120,14 +1120,14 @@ dependencies = [ [[package]] name = "ckb-traits" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-types", ] [[package]] name = "ckb-tx-pool" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-app-config", "ckb-async-runtime", @@ -1153,7 +1153,7 @@ dependencies = [ [[package]] name = "ckb-types" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "bit-vec", "bytes 0.5.6", @@ -1173,7 +1173,7 @@ dependencies = [ [[package]] name = "ckb-util" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-fixed-hash", "linked-hash-map", @@ -1183,7 +1183,7 @@ dependencies = [ [[package]] name = "ckb-verification" -version = "0.37.0" +version = "0.38.0-pre" dependencies = [ "ckb-async-runtime", "ckb-chain", @@ -1571,11 +1571,11 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.1.6" +version = "3.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0b676fa23f995faf587496dcd1c80fead847ed58d2da52ac1caca9a72790dd2" +checksum = "b57a92e9749e10f25a171adcebfafe72991d45e7ec2dcb853e8f83d9dafaeb08" dependencies = [ - "nix", + "nix 0.18.0", "winapi 0.3.8", ] @@ -2096,7 +2096,7 @@ dependencies = [ "lazy_static", "libc", "mach", - "nix", + "nix 0.17.0", "pin-utils", "uom", "winapi 0.3.8", @@ -2178,7 +2178,7 @@ dependencies = [ "hex", "libc", "macaddr", - "nix", + "nix 0.17.0", ] [[package]] @@ -2674,9 +2674,9 @@ checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" [[package]] name = "libc" -version = "0.2.77" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235" +checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" [[package]] name = "linked-hash-map" @@ -3048,6 +3048,18 @@ dependencies = [ "void", ] +[[package]] +name = "nix" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83450fe6a6142ddd95fb064b746083fc4ef1705fe81f64a64e1d4b39f54a1055" +dependencies = [ + "bitflags", + "cc", + "cfg-if", + "libc", +] + [[package]] name = "nodrop" version = "0.1.13" @@ -3873,9 +3885,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.3.9" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" +checksum = "8963b85b8ce3074fecffde43b4b0dded83ce2f367dc8d363afc56679f3ee820b" dependencies = [ "aho-corasick 0.7.9", "memchr", @@ -3894,9 +3906,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" +checksum = "8cab7a364d15cde1e505267766a2d3c4e22a843e1a601f0fa7564c0f82ced11c" [[package]] name = "remove_dir_all" @@ -4823,9 +4835,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a" +checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645" dependencies = [ "serde", ] diff --git a/Cargo.toml b/Cargo.toml index 33efda6e9b5..aebfa6cff85 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -10,11 +10,11 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [build-dependencies] -ckb-build-info = { path = "util/build-info", version = "= 0.37.0" } +ckb-build-info = { path = "util/build-info", version = "= 0.38.0-pre" } [dependencies] -ckb-build-info = { path = "util/build-info", version = "= 0.37.0" } -ckb-bin = { path = "ckb-bin", version = "= 0.37.0" } +ckb-build-info = { path = "util/build-info", version = "= 0.38.0-pre" } +ckb-bin = { path = "ckb-bin", version = "= 0.38.0-pre" } [dev-dependencies] diff --git a/Makefile b/Makefile index 4970c92bdb7..c1aa1d79e60 100644 --- a/Makefile +++ b/Makefile @@ -123,18 +123,16 @@ clippy: setup-ckb-test ## Run linter to examine Rust source codes. cd test && cargo clippy ${VERBOSE} --all --all-targets --all-features -- ${CLIPPY_OPTS} .PHONY: security-audit -security-audit: ## Use cargo-audit to audit Cargo.lock for crates with security vulnerabilities. - # https://rustsec.org/advisories/RUSTSEC-2019-0031: spin is no longer actively maintained, it's not a problem - # https://rustsec.org/advisories/RUSTSEC-2020-0016: net2 has been deprecated, but still a lot of required crates are dependent on it - # https://rustsec.org/advisories/RUSTSEC-2020-0036: failure is officially deprecated/unmaintained, but still a lot of required crates are dependent on it - # https://rustsec.org/advisories/RUSTSEC-2020-0043: ws allows remote attacker to run the process out of memory, since it is no longer actively maintained, we couldn't fix it in the short term - cargo audit \ - --ignore RUSTSEC-2019-0031 \ - --ignore RUSTSEC-2020-0016 \ - --ignore RUSTSEC-2020-0036 \ - --ignore RUSTSEC-2020-0043 \ - --deny-warnings - # expecting to see "Success No vulnerable packages found" +security-audit: ## Use cargo-deny to audit Cargo.lock for crates with security vulnerabilities. + cargo deny check --hide-inclusion-graph --show-stats advisories sources + +.PHONY: check-crates +check-crates: ## Use cargo-deny to check specific crates, detect and handle multiple versions of the same crate and wildcards version requirement. + cargo deny check --hide-inclusion-graph --show-stats bans + +.PHONY: check-licenses +check-licenses: ## Use cargo-deny to check licenses for all dependencies. + cargo deny check --hide-inclusion-graph --show-stats licenses .PHONY: bench-test bench-test: @@ -144,7 +142,7 @@ bench-test: .PHONY: ci ci: ## Run recipes for CI. -ci: fmt clippy test bench-test check-cargotoml check-whitespaces check-dirty-rpc-doc security-audit +ci: fmt clippy test bench-test check-cargotoml check-whitespaces check-dirty-rpc-doc security-audit check-crates check-licenses git diff --exit-code Cargo.lock .PHONY: check-cargotoml diff --git a/README.md b/README.md index 40a599d07ab..22dbfb7989e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [Nervos CKB](https://www.nervos.org/) - The Common Knowledge Base -[![Version](https://img.shields.io/badge/version-0.37.0-orange.svg)](https://github.com/nervosnetwork/ckb/releases) +[![Version](https://img.shields.io/badge/version-0.38.0--pre-orange.svg)](https://github.com/nervosnetwork/ckb/releases) [![Telegram Group](https://cdn.jsdelivr.net/gh/Patrolavia/telegram-badge@8fe3382b3fd3a1c533ba270e608035a27e430c2e/chat.svg)](https://t.me/nervosnetwork) [![Nervos Talk](https://img.shields.io/badge/discuss-on%20Nervos%20Talk-3CC68A.svg)](https://talk.nervos.org/) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4ce96344e61..3bdcf3f483c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -27,7 +27,7 @@ jobs: steps: - template: devtools/azure/windows-dependencies.yml parameters: - rustup_toolchain: '1.45.2-x86_64-pc-windows-msvc' + rustup_toolchain: '1.46.0-x86_64-pc-windows-msvc' - pwsh: devtools/windows/make test displayName: Run unit tests env: @@ -49,7 +49,7 @@ jobs: steps: - template: devtools/azure/windows-dependencies.yml parameters: - rustup_toolchain: '1.45.2-x86_64-pc-windows-msvc' + rustup_toolchain: '1.46.0-x86_64-pc-windows-msvc' - pwsh: devtools/windows/make CKB_TEST_SEC_COEFFICIENT=5 CKB_TEST_ARGS="--max-time 1200 -c 4" integration displayName: Run integration tests env: @@ -63,7 +63,7 @@ jobs: steps: - template: devtools/azure/windows-dependencies.yml parameters: - rustup_toolchain: '1.45.2-x86_64-pc-windows-msvc' + rustup_toolchain: '1.46.0-x86_64-pc-windows-msvc' - pwsh: devtools/windows/make prod displayName: Build - script: | diff --git a/benches/Cargo.toml b/benches/Cargo.toml index dbec216a2e8..5d915213d07 100644 --- a/benches/Cargo.toml +++ b/benches/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-benches" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -13,24 +13,24 @@ repository = "https://github.com/nervosnetwork/ckb" [dev-dependencies] criterion = "0.3" -ckb-chain = { path = "../chain", version = "= 0.37.0" } -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-shared = { path = "../shared", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } +ckb-chain = { path = "../chain", version = "= 0.38.0-pre" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-shared = { path = "../shared", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } rand = "0.6" -ckb-hash = {path = "../util/hash", version = "= 0.37.0"} -ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.37.0" } -ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.37.0" } -ckb-dao = { path = "../util/dao", version = "= 0.37.0" } +ckb-hash = {path = "../util/hash", version = "= 0.38.0-pre"} +ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.38.0-pre" } +ckb-dao = { path = "../util/dao", version = "= 0.38.0-pre" } ckb-system-scripts = { version = "= 0.5.1" } lazy_static = "1.3.0" -ckb-crypto = { path = "../util/crypto", version = "= 0.37.0" } +ckb-crypto = { path = "../util/crypto", version = "= 0.38.0-pre" } faketime = "0.2.0" -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } -ckb-verification = { path = "../verification", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.37.0" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } +ckb-verification = { path = "../verification", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.38.0-pre" } [[bench]] name = "bench_main" diff --git a/chain/Cargo.toml b/chain/Cargo.toml index cdaf016ed3c..91ecc94426c 100644 --- a/chain/Cargo.toml +++ b/chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-chain" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,26 +9,26 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-metrics = { path = "../util/metrics", version = "= 0.37.0" } -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-shared = { path = "../shared", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-verification = { path = "../verification", version = "= 0.37.0" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-metrics = { path = "../util/metrics", version = "= 0.38.0-pre" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-shared = { path = "../shared", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-verification = { path = "../verification", version = "= 0.38.0-pre" } faketime = "0.2.0" -ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.37.0" } -ckb-dao = { path = "../util/dao", version = "= 0.37.0" } -ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.37.0" } -ckb-error = { path = "../error", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } +ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.38.0-pre" } +ckb-dao = { path = "../util/dao", version = "= 0.38.0-pre" } +ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.38.0-pre" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } bitflags = "1.0" -ckb-rust-unstable-port = { path = "../util/rust-unstable-port", version = "= 0.37.0" } -ckb-channel = { path = "../util/channel", version = "= 0.37.0" } +ckb-rust-unstable-port = { path = "../util/rust-unstable-port", version = "= 0.38.0-pre" } +ckb-channel = { path = "../util/channel", version = "= 0.38.0-pre" } [dev-dependencies] -ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.37.0" } -ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.37.0" } -ckb-tx-pool = { path = "../tx-pool", version = "= 0.37.0" } -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } +ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.38.0-pre" } +ckb-tx-pool = { path = "../tx-pool", version = "= 0.38.0-pre" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } lazy_static = "1.4" diff --git a/ckb-bin/Cargo.toml b/ckb-bin/Cargo.toml index ca93237874e..34f73674d80 100644 --- a/ckb-bin/Cargo.toml +++ b/ckb-bin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-bin" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -13,30 +13,30 @@ clap = { version = "2" } serde = { version = "1.0", features = ["derive"] } serde_plain = "0.3.0" toml = "0.5" -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-logger-service = { path = "../util/logger-service", version = "= 0.37.0" } -ckb-metrics-service = { path = "../util/metrics-service", version = "= 0.37.0" } -ckb-util = { path = "../util", version = "= 0.37.0" } -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-channel = { path = "../util/channel", version = "= 0.37.0" } -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } -ckb-chain = { path = "../chain", version = "= 0.37.0" } -ckb-shared = { path = "../shared", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-chain-spec = {path = "../spec", version = "= 0.37.0"} -ckb-miner = { path = "../miner", version = "= 0.37.0" } -ckb-network = { path = "../network", version = "= 0.37.0"} -ckb-rpc = { path = "../rpc", version = "= 0.37.0"} -ckb-resource = { path = "../resource", version = "= 0.37.0"} -ckb-network-alert = { path = "../util/network-alert", version = "= 0.37.0" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-logger-service = { path = "../util/logger-service", version = "= 0.38.0-pre" } +ckb-metrics-service = { path = "../util/metrics-service", version = "= 0.38.0-pre" } +ckb-util = { path = "../util", version = "= 0.38.0-pre" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-channel = { path = "../util/channel", version = "= 0.38.0-pre" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } +ckb-chain = { path = "../chain", version = "= 0.38.0-pre" } +ckb-shared = { path = "../shared", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-chain-spec = {path = "../spec", version = "= 0.38.0-pre"} +ckb-miner = { path = "../miner", version = "= 0.38.0-pre" } +ckb-network = { path = "../network", version = "= 0.38.0-pre"} +ckb-rpc = { path = "../rpc", version = "= 0.38.0-pre"} +ckb-resource = { path = "../resource", version = "= 0.38.0-pre"} +ckb-network-alert = { path = "../util/network-alert", version = "= 0.38.0-pre" } ctrlc = { version = "3.1", features = ["termination"] } -ckb-sync = { path = "../sync", version = "= 0.37.0"} -ckb-instrument = { path = "../util/instrument", version = "= 0.37.0", features = ["progress_bar"] } -ckb-build-info = { path = "../util/build-info", version = "= 0.37.0" } -ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.37.0" } -ckb-chain-iter = { path = "../util/chain-iter", version = "= 0.37.0" } -ckb-verification = { path = "../verification", version = "= 0.37.0" } +ckb-sync = { path = "../sync", version = "= 0.38.0-pre"} +ckb-instrument = { path = "../util/instrument", version = "= 0.38.0-pre", features = ["progress_bar"] } +ckb-build-info = { path = "../util/build-info", version = "= 0.38.0-pre" } +ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.38.0-pre" } +ckb-chain-iter = { path = "../util/chain-iter", version = "= 0.38.0-pre" } +ckb-verification = { path = "../verification", version = "= 0.38.0-pre" } base64 = "0.10.1" tempfile = "3.0" rayon = "1.0" diff --git a/ckb-bin/src/lib.rs b/ckb-bin/src/lib.rs index 67a23f89960..60eb9833ceb 100644 --- a/ckb-bin/src/lib.rs +++ b/ckb-bin/src/lib.rs @@ -47,6 +47,7 @@ pub fn run_app(version: Version) -> Result<(), ExitCode> { (cli::CMD_IMPORT, Some(matches)) => subcommand::import(setup.import(&matches)?), (cli::CMD_STATS, Some(matches)) => subcommand::stats(setup.stats(&matches)?), (cli::CMD_RESET_DATA, Some(matches)) => subcommand::reset_data(setup.reset_data(&matches)?), + (cli::CMD_MIGRATE, Some(matches)) => subcommand::migrate(setup.migrate(&matches)?), _ => unreachable!(), } } diff --git a/ckb-bin/src/subcommand/migrate.rs b/ckb-bin/src/subcommand/migrate.rs new file mode 100644 index 00000000000..51864a66caa --- /dev/null +++ b/ckb-bin/src/subcommand/migrate.rs @@ -0,0 +1,12 @@ +use ckb_app_config::{ExitCode, MigrateArgs}; +use ckb_shared::shared::SharedBuilder; + +pub fn migrate(args: MigrateArgs) -> Result<(), ExitCode> { + let (_shared, _table) = SharedBuilder::with_db_config(&args.config.db) + .build() + .map_err(|err| { + eprintln!("Run error: {:?}", err); + ExitCode::Failure + })?; + Ok(()) +} diff --git a/ckb-bin/src/subcommand/mod.rs b/ckb-bin/src/subcommand/mod.rs index cf2d53bf655..6940ac17045 100644 --- a/ckb-bin/src/subcommand/mod.rs +++ b/ckb-bin/src/subcommand/mod.rs @@ -2,6 +2,7 @@ mod export; mod import; mod init; mod list_hashes; +mod migrate; mod miner; mod peer_id; mod replay; @@ -13,6 +14,7 @@ pub use self::export::export; pub use self::import::import; pub use self::init::init; pub use self::list_hashes::list_hashes; +pub use self::migrate::migrate; pub use self::miner::miner; pub use self::peer_id::peer_id; pub use self::replay::replay; diff --git a/db-migration/Cargo.toml b/db-migration/Cargo.toml index 6b04ec6ee41..b83bb5ea8d8 100644 --- a/db-migration/Cargo.toml +++ b/db-migration/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-db-migration" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -11,12 +11,12 @@ repository = "https://github.com/nervosnetwork/ckb" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ckb-db = { path = "../db", version = "= 0.37.0" } -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-error = { path = "../error", version = "= 0.37.0" } +ckb-db = { path = "../db", version = "= 0.38.0-pre" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } indicatif = "0.15" console = "0.12" [dev-dependencies] tempfile = "3.0" -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } diff --git a/db/Cargo.toml b/db/Cargo.toml index 8e2d83e5533..d04d7a8b69d 100644 --- a/db/Cargo.toml +++ b/db/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-db" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,9 +9,9 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-error = { path = "../error", version = "= 0.37.0" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } tempfile = "3.0" libc = "0.2" rocksdb = { package = "ckb-rocksdb", version = "=0.14.1", features = ["snappy"] } diff --git a/deny.toml b/deny.toml new file mode 100644 index 00000000000..165be2be1b6 --- /dev/null +++ b/deny.toml @@ -0,0 +1,49 @@ +[advisories] +vulnerability = "deny" +unmaintained = "deny" +yanked = "deny" +notice = "deny" +ignore = [ + "RUSTSEC-2020-0016", # TODO net2 has been deprecated, but still a lot of required crates are dependent on it + "RUSTSEC-2020-0036", # TODO failure is officially deprecated/unmaintained, but still a lot of required crates are dependent on it + "RUSTSEC-2020-0043", # TODO ws allows remote attacker to run the process out of memory, since it is no longer actively maintained, we couldn't fix it in the short term +] + +[licenses] +unlicensed = "deny" +allow = [ + "Apache-2.0", + "BSD-2-Clause", + "BSD-3-Clause", + "CC0-1.0", + "ISC", + "MIT", +] +copyleft = "deny" +default = "deny" +exceptions = [ + { allow = ["BSD-3-Clause", "Zlib"], name = "adler32", version = "*" }, + { allow = ["MPL-2.0"], name = "attohttpc", version = "*" }, + { allow = ["MIT", "ISC", "OpenSSL"], name = "ring", version = "*" }, +] + +[[licenses.clarify]] +name = "ring" +version = "*" +expression = "MIT AND ISC AND OpenSSL" +license-files = [ + { path = "LICENSE", hash = 0xbd0eed23 } +] + +[bans] +multiple-versions = "warn" +wildcards = "deny" + +[sources] +unknown-registry = "deny" +unknown-git = "deny" +allow-git = [ + # TODO fix RUSTSEC-2020-0041 temporarily + "https://github.com/nervosnetwork/metrics-rs", + "https://github.com/nervosnetwork/sentry-rust", +] diff --git a/devtools/doc/rpc.py b/devtools/doc/rpc.py index 90b1aa4f5df..c8967512fdb 100755 --- a/devtools/doc/rpc.py +++ b/devtools/doc/rpc.py @@ -263,7 +263,7 @@ def handle_starttag(self, tag, attrs): if self.ty == 'https://doc.rust-lang.org/nightly/core/option/enum.Option.html': self.ty = '{} `|` `null`'.format(self.children[0].ty) elif self.ty == 'https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html': - self.ty = '`Array<`{}`>`'.format(self.children[0].ty) + self.ty = '`Array<` {} `>`'.format(self.children[0].ty) elif self.ty == '../../ckb_jsonrpc_types/enum.ResponseFormat.html': molecule_name = self.children[1].ty.split( '`](')[0][2:] @@ -278,6 +278,10 @@ def handle_endtag(self, tag): def handle_data(self, data): if self.ty is None: self.name = self.sanitize_name(data) + if self.name.endswith(': U256'): + parts = self.name.split(': ') + self.name = parts[0] + self.ty = '[`U256`](#type-u256)' def completed(self): return self.ty is not None and (len(self.children) == 0 or self.children[-1].completed()) @@ -595,13 +599,33 @@ def write(self, file): file.write('\n') +class DummyRPCType(): + def __init__(self, name, module_doc): + super().__init__() + self.name = name + self.module_doc = module_doc + + def write(self, file): + file.write('\n') + file.write(self.module_doc) + file.write('\n') + + class RPCDoc(object): def __init__(self): self.modules = [] - self.types = [] self.errors = RPCErrorParser() self.parsed_types = set() + self.types = [ + DummyRPCType( + "SerializedHeader", "This is a 0x-prefix hex string. It is the block header serialized by molecule using the schema `table Header`."), + DummyRPCType( + "SerializedBlock", "This is a 0x-prefix hex string. It is the block serialized by molecule using the schema `table Block`."), + DummyRPCType( + "U256", "The 256-bit unsigned integer type encoded as the 0x-prefixed hex string in JSON.") + ] + def collect(self): for path in sorted(glob.glob("target/doc/ckb_rpc/module/trait.*Rpc.html")): module_name = path.split('.')[1][:-3] @@ -663,10 +687,6 @@ def write(self, file): for t in self.types: file.write( " * [Type `{}`](#type-{})\n".format(t.name, t.name.lower())) - file.write( - " * [Type `SerializedHeader`](#type-serializedheader)\n") - file.write( - " * [Type `SerializedBlock`](#type-serializedblock)\n") file.write("\n## RPC Methods\n\n") @@ -682,13 +702,6 @@ def write(self, file): file.write("\n### Type `{}`\n".format(ty.name)) ty.write(file) - file.write("\n### Type `SerializedHeader`\n\n") - file.write( - "This is a 0x-prefix hex string. It is the block header serialized by molecule using the schema `table Header`.\n") - file.write("\n### Type `SerializedBlock`\n\n") - file.write( - "This is a 0x-prefix hex string. It is the block serialized by molecule using the schema `table Block`.\n") - def main(): if not os.path.exists("target/doc/ckb_rpc/module/index.html"): diff --git a/docker/hub/Dockerfile b/docker/hub/Dockerfile index 52e7c62fb85..f66df69358c 100644 --- a/docker/hub/Dockerfile +++ b/docker/hub/Dockerfile @@ -1,4 +1,4 @@ -FROM nervos/ckb-docker-builder:bionic-rust-1.45.2 as ckb-docker-builder +FROM nervos/ckb-docker-builder:bionic-rust-1.46.0 as ckb-docker-builder WORKDIR /ckb COPY ./ . diff --git a/error/Cargo.toml b/error/Cargo.toml index 61bac0ceef7..58ac266b890 100644 --- a/error/Cargo.toml +++ b/error/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-error" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -12,5 +12,5 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] failure = "0.1.5" -ckb-occupied-capacity = { path = "../util/occupied-capacity", version = "= 0.37.0" } +ckb-occupied-capacity = { path = "../util/occupied-capacity", version = "= 0.38.0-pre" } enum-display-derive = "0.1.0" diff --git a/indexer/Cargo.toml b/indexer/Cargo.toml index 23805d732b9..9223c019c91 100644 --- a/indexer/Cargo.toml +++ b/indexer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-indexer" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,18 +9,18 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-db = { path = "../db", version = "= 0.37.0" } -ckb-shared = { path = "../shared", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-util = { path = "../util", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-db-migration = { path = "../db-migration", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-db = { path = "../db", version = "= 0.38.0-pre" } +ckb-shared = { path = "../shared", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-util = { path = "../util", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-db-migration = { path = "../db-migration", version = "= 0.38.0-pre" } [dev-dependencies] tempfile = "3.0" -ckb-chain = { path = "../chain", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-resource = { path = "../resource", version = "= 0.37.0" } +ckb-chain = { path = "../chain", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-resource = { path = "../resource", version = "= 0.38.0-pre" } diff --git a/miner/Cargo.toml b/miner/Cargo.toml index ffecf1683c5..4ce01d6f389 100644 --- a/miner/Cargo.toml +++ b/miner/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-miner" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,21 +9,21 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-channel = { path = "../util/channel", version = "= 0.37.0" } -ckb-hash = { path = "../util/hash", version = "= 0.37.0" } -ckb-pow = { path = "../pow", version = "= 0.37.0" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-channel = { path = "../util/channel", version = "= 0.38.0-pre" } +ckb-hash = { path = "../util/hash", version = "= 0.38.0-pre" } +ckb-pow = { path = "../pow", version = "= 0.38.0-pre" } rand = "0.6" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } hyper = "0.12" hyper-tls = "0.3" futures = "0.1" lru = "0.6.0" -ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.37.0" } +ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.38.0-pre" } failure = "0.1.5" indicatif = "0.15" console = "0.8.0" diff --git a/network/Cargo.toml b/network/Cargo.toml index 6a4a229f300..4476ceebbbc 100644 --- a/network/Cargo.toml +++ b/network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-network" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -11,10 +11,10 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] rand = "0.6" serde = { version = "1.0", features = ["derive"] } -ckb-util = { path = "../util", version = "= 0.37.0" } -ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.37.0" } -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } +ckb-util = { path = "../util", version = "= 0.38.0-pre" } +ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.38.0-pre" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } tokio = { version = "0.2.11", features = ["time", "io-util", "tcp", "dns", "rt-threaded", "blocking", "stream"] } tokio-util = { version = "0.3.0", features = ["codec"] } futures = "0.3" @@ -24,12 +24,12 @@ lazy_static = "1.3.0" bs58 = "0.3.0" sentry = "0.17.0" faster-hex = "0.4" -ckb-hash = {path = "../util/hash", version = "= 0.37.0"} +ckb-hash = {path = "../util/hash", version = "= 0.38.0-pre"} secp256k1 = {version = "0.17", features = ["recovery"] } resolve = "0.2.0" num_cpus = "1.10" snap = "1" -ckb-types = { path = "../util/types", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } ipnetwork = "0.14" serde_json = "1.0" bloom-filters = "0.1" diff --git a/network/src/protocols/mod.rs b/network/src/protocols/mod.rs index c64cede38fd..987a8368864 100644 --- a/network/src/protocols/mod.rs +++ b/network/src/protocols/mod.rs @@ -174,6 +174,8 @@ impl CKBProtocol { protocol_name: format!("/ckb/{}", protocol_name), supported_versions: { let mut versions: Vec<_> = versions.to_vec(); + // TODO: https://github.com/rust-lang/rust-clippy/issues/6001 + #[allow(clippy::unnecessary_sort_by)] versions.sort_by(|a, b| b.cmp(a)); versions.to_vec() }, diff --git a/network/src/protocols/ping.rs b/network/src/protocols/ping.rs index f1fc212585b..f0884f2dfb3 100644 --- a/network/src/protocols/ping.rs +++ b/network/src/protocols/ping.rs @@ -127,7 +127,7 @@ impl PingStatus { /// Time duration since we last send ping. fn elapsed(&self) -> Duration { - self.last_ping.elapsed().unwrap_or(Duration::from_secs(0)) + self.last_ping.elapsed().unwrap_or_default() } } diff --git a/network/src/services/outbound_peer.rs b/network/src/services/outbound_peer.rs index 0b4033ac8b6..004d25b5829 100644 --- a/network/src/services/outbound_peer.rs +++ b/network/src/services/outbound_peer.rs @@ -112,7 +112,7 @@ impl Future for OutboundPeerService { let last_connect = self .last_connect .map(|time| time.elapsed()) - .unwrap_or(Duration::from_secs(std::u64::MAX)); + .unwrap_or_else(|| Duration::from_secs(std::u64::MAX)); if last_connect > self.try_connect_interval { let status = self.network_state.connection_status(); let new_outbound = status diff --git a/notify/Cargo.toml b/notify/Cargo.toml index 688ebb0e097..58c5fd513bf 100644 --- a/notify/Cargo.toml +++ b/notify/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-notify" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -9,10 +9,10 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-logger = { path = "../util/logger", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-channel = { path = "../util/channel", version = "= 0.37.0" } -ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.37.0" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-channel = { path = "../util/channel", version = "= 0.38.0-pre" } +ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.38.0-pre" } [dev-dependencies] diff --git a/pow/Cargo.toml b/pow/Cargo.toml index 062b9c2ee81..e66e3d559d2 100644 --- a/pow/Cargo.toml +++ b/pow/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-pow" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -10,8 +10,8 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] byteorder = "1.3.1" -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-hash = { path = "../util/hash", version = "= 0.37.0"} +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-hash = { path = "../util/hash", version = "= 0.38.0-pre"} serde = { version = "1.0", features = ["derive"] } eaglesong = "0.1" log = "0.4" diff --git a/resource/Cargo.toml b/resource/Cargo.toml index fb3337ae18c..1ba03c945aa 100644 --- a/resource/Cargo.toml +++ b/resource/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-resource" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -14,11 +14,11 @@ phf = "0.7.21" includedir = "0.5.0" tempfile = "3.0" serde = { version = "1.0", features = ["derive"] } -ckb-types = { path = "../util/types", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } ckb-system-scripts = { version = "= 0.5.1" } [build-dependencies] includedir_codegen = "0.5.0" walkdir = "2.1.4" -ckb-types = { path = "../util/types", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } ckb-system-scripts = { version = "= 0.5.1" } diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 2da5559dd01..1786c094ea1 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-rpc" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,21 +9,21 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-network = { path = "../network", version = "= 0.37.0" } -ckb-notify = { path = "../notify", version = "= 0.37.0" } -ckb-indexer = { path = "../indexer", version = "= 0.37.0" } -ckb-shared = { path = "../shared", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-sync = { path = "../sync", version = "= 0.37.0" } -ckb-chain = { path = "../chain", version = "= 0.37.0" } -ckb-logger = { path = "../util/logger", version = "= 0.37.0"} -ckb-channel = { path = "../util/channel", version = "= 0.37.0" } -ckb-logger-service = { path = "../util/logger-service", version = "= 0.37.0"} -ckb-network-alert = { path = "../util/network-alert", version = "= 0.37.0" } -ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-network = { path = "../network", version = "= 0.38.0-pre" } +ckb-notify = { path = "../notify", version = "= 0.38.0-pre" } +ckb-indexer = { path = "../indexer", version = "= 0.38.0-pre" } +ckb-shared = { path = "../shared", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-sync = { path = "../sync", version = "= 0.38.0-pre" } +ckb-chain = { path = "../chain", version = "= 0.38.0-pre" } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre"} +ckb-channel = { path = "../util/channel", version = "= 0.38.0-pre" } +ckb-logger-service = { path = "../util/logger-service", version = "= 0.38.0-pre"} +ckb-network-alert = { path = "../util/network-alert", version = "= 0.38.0-pre" } +ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } jsonrpc-core = "~14.1" jsonrpc-derive = "14.0" # quote requirement conflict jsonrpc-http-server = "~14.1" @@ -34,23 +34,23 @@ jsonrpc-pubsub = "~14.1" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" num_cpus = "1.10" -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } -ckb-verification = { path = "../verification", version = "= 0.37.0" } -ckb-traits = { path = "../traits", version = "= 0.37.0" } -ckb-util = { path = "../util", version = "= 0.37.0" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } +ckb-verification = { path = "../verification", version = "= 0.38.0-pre" } +ckb-traits = { path = "../traits", version = "= 0.38.0-pre" } +ckb-util = { path = "../util", version = "= 0.38.0-pre" } faketime = "0.2.0" -ckb-dao = { path = "../util/dao", version = "= 0.37.0" } +ckb-dao = { path = "../util/dao", version = "= 0.38.0-pre" } futures = "0.1" -ckb-error = { path = "../error", version = "= 0.37.0" } -ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.37.0" } -ckb-tx-pool = { path = "../tx-pool", version = "= 0.37.0" } -ckb-script = { path = "../script", version = "= 0.37.0" } -ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.37.0" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } +ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.38.0-pre" } +ckb-tx-pool = { path = "../tx-pool", version = "= 0.38.0-pre" } +ckb-script = { path = "../script", version = "= 0.38.0-pre" } +ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.38.0-pre" } failure = "0.1.5" [dev-dependencies] reqwest = "0.9.16" -ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.37.0" } +ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.38.0-pre" } tempfile = "3.0" pretty_assertions = "0.6.1" -ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.37.0" } +ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.38.0-pre" } diff --git a/rpc/README.md b/rpc/README.md index 4b8a50c4d0c..4d2dcd9974f 100644 --- a/rpc/README.md +++ b/rpc/README.md @@ -137,6 +137,8 @@ For example, a method is marked as deprecated in 0.35.0, it can be disabled in 0 * [Type `RemoteNodeProtocol`](#type-remotenodeprotocol) * [Type `Script`](#type-script) * [Type `ScriptHashType`](#type-scripthashtype) + * [Type `SerializedBlock`](#type-serializedblock) + * [Type `SerializedHeader`](#type-serializedheader) * [Type `Status`](#type-status) * [Type `SyncState`](#type-syncstate) * [Type `Timestamp`](#type-timestamp) @@ -148,6 +150,7 @@ For example, a method is marked as deprecated in 0.35.0, it can be disabled in 0 * [Type `TransactionWithStatus`](#type-transactionwithstatus) * [Type `TxPoolInfo`](#type-txpoolinfo) * [Type `TxStatus`](#type-txstatus) + * [Type `U256`](#type-u256) * [Type `Uint128`](#type-uint128) * [Type `Uint32`](#type-uint32) * [Type `Uint64`](#type-uint64) @@ -155,8 +158,6 @@ For example, a method is marked as deprecated in 0.35.0, it can be disabled in 0 * [Type `UncleBlockView`](#type-uncleblockview) * [Type `UncleTemplate`](#type-uncletemplate) * [Type `Version`](#type-version) - * [Type `SerializedHeader`](#type-serializedheader) - * [Type `SerializedBlock`](#type-serializedblock) ## RPC Methods @@ -820,7 +821,7 @@ The response looks like below when `verbosity` is 0. * `lock_hash`: [`H256`](#type-h256) * `from`: [`BlockNumber`](#type-blocknumber) * `to`: [`BlockNumber`](#type-blocknumber) -* result: `Array<`[`CellOutputWithOutPoint`](#type-celloutputwithoutpoint)`>` +* result: `Array<` [`CellOutputWithOutPoint`](#type-celloutputwithoutpoint) `>` 👎 Deprecated since 0.36.0: (Disabled since 0.36.0) This method is deprecated for reasons of flexibility. Please use [ckb-indexer](https://github.com/nervosnetwork/ckb-indexer) as an alternate solution @@ -1133,7 +1134,7 @@ Response #### Method `get_transaction_proof` * `get_transaction_proof(tx_hashes, block_hash)` - * `tx_hashes`: `Array<`[`H256`](#type-h256)`>` + * `tx_hashes`: `Array<` [`H256`](#type-h256) `>` * `block_hash`: [`H256`](#type-h256) `|` `null` * result: [`TransactionProof`](#type-transactionproof) @@ -1180,7 +1181,7 @@ Response #### Method `verify_transaction_proof` * `verify_transaction_proof(tx_proof)` * `tx_proof`: [`TransactionProof`](#type-transactionproof) -* result: `Array<`[`H256`](#type-h256)`>` +* result: `Array<` [`H256`](#type-h256) `>` Verifies that a proof points to transactions in a block, returning the transaction hashes it commits to. @@ -1507,7 +1508,7 @@ The index is disabled by default, which **must** be enabled by calling [`index_l * `page`: [`Uint64`](#type-uint64) * `per_page`: [`Uint64`](#type-uint64) * `reverse_order`: `boolean` `|` `null` -* result: `Array<`[`LiveCell`](#type-livecell)`>` +* result: `Array<` [`LiveCell`](#type-livecell) `>` 👎 Deprecated since 0.36.0: Please use [ckb-indexer](https://github.com/nervosnetwork/ckb-indexer) as an alternate solution. @@ -1814,7 +1815,7 @@ Response * `page`: [`Uint64`](#type-uint64) * `per_page`: [`Uint64`](#type-uint64) * `reverse_order`: `boolean` `|` `null` -* result: `Array<`[`CellTransaction`](#type-celltransaction)`>` +* result: `Array<` [`CellTransaction`](#type-celltransaction) `>` 👎 Deprecated since 0.36.0: Please use [ckb-indexer](https://github.com/nervosnetwork/ckb-indexer) as an alternate solution. @@ -2071,7 +2072,7 @@ Response #### Method `get_lock_hash_index_states` * `get_lock_hash_index_states()` -* result: `Array<`[`LockHashIndexState`](#type-lockhashindexstate)`>` +* result: `Array<` [`LockHashIndexState`](#type-lockhashindexstate) `>` 👎 Deprecated since 0.36.0: Please use [ckb-indexer](https://github.com/nervosnetwork/ckb-indexer) as an alternate solution. @@ -2415,7 +2416,7 @@ Response #### Method `get_peers` * `get_peers()` -* result: `Array<`[`RemoteNode`](#type-remotenode)`>` +* result: `Array<` [`RemoteNode`](#type-remotenode) `>` Returns the connected peers' information. @@ -2561,7 +2562,7 @@ Response #### Method `get_banned_addresses` * `get_banned_addresses()` -* result: `Array<`[`BannedAddr`](#type-bannedaddr)`>` +* result: `Array<` [`BannedAddr`](#type-bannedaddr) `>` Returns all banned IPs/Subnets. @@ -3112,7 +3113,7 @@ Response #### Method `get_peers_state` * `get_peers_state()` -* result: `Array<`[`PeerState`](#type-peerstate)`>` +* result: `Array<` [`PeerState`](#type-peerstate) `>` 👎 Deprecated since 0.12.0: Please use RPC [`get_peers`](#method-get_peers) instead @@ -3485,7 +3486,7 @@ An example in JSON * `message`: `string` - Alert message. -* `signatures`: `Array<`[`JsonBytes`](#type-jsonbytes)`>` - The list of required signatures. +* `signatures`: `Array<` [`JsonBytes`](#type-jsonbytes) `>` - The list of required signatures. ### Type `AlertId` @@ -3546,11 +3547,11 @@ The JSON view of a Block used as a parameter in the RPC. * `header`: [`Header`](#type-header) - The block header. -* `uncles`: `Array<`[`UncleBlock`](#type-uncleblock)`>` - The uncles blocks in the block body. +* `uncles`: `Array<` [`UncleBlock`](#type-uncleblock) `>` - The uncles blocks in the block body. -* `transactions`: `Array<`[`Transaction`](#type-transaction)`>` - The transactions in the block body. +* `transactions`: `Array<` [`Transaction`](#type-transaction) `>` - The transactions in the block body. -* `proposals`: `Array<`[`ProposalShortId`](#type-proposalshortid)`>` - The proposal IDs in the block body. +* `proposals`: `Array<` [`ProposalShortId`](#type-proposalshortid) `>` - The proposal IDs in the block body. ### Type `BlockEconomicState` @@ -3668,15 +3669,15 @@ Miners optional pick transactions and then assemble the final block. Miners must keep the uncles count below this limit, otherwise, the CKB node will reject the block submission. -* `uncles`: `Array<`[`UncleTemplate`](#type-uncletemplate)`>` - Provided valid uncle blocks candidates for the new block. +* `uncles`: `Array<` [`UncleTemplate`](#type-uncletemplate) `>` - Provided valid uncle blocks candidates for the new block. Miners must include the uncles marked as `required` in the assembled new block. -* `transactions`: `Array<`[`TransactionTemplate`](#type-transactiontemplate)`>` - Provided valid transactions which can be committed in the new block. +* `transactions`: `Array<` [`TransactionTemplate`](#type-transactiontemplate) `>` - Provided valid transactions which can be committed in the new block. Miners must include the transactions marked as `required` in the assembled new block. -* `proposals`: `Array<`[`ProposalShortId`](#type-proposalshortid)`>` - Provided proposal ids list of transactions for the new block. +* `proposals`: `Array<` [`ProposalShortId`](#type-proposalshortid) `>` - Provided proposal ids list of transactions for the new block. * `cellbase`: [`CellbaseTemplate`](#type-cellbasetemplate) - Provided cellbase transaction template. @@ -3705,11 +3706,11 @@ The JSON view of a Block including header and body. * `header`: [`HeaderView`](#type-headerview) - The block header. -* `uncles`: `Array<`[`UncleBlockView`](#type-uncleblockview)`>` - The uncles blocks in the block body. +* `uncles`: `Array<` [`UncleBlockView`](#type-uncleblockview) `>` - The uncles blocks in the block body. -* `transactions`: `Array<`[`TransactionView`](#type-transactionview)`>` - The transactions in the block body. +* `transactions`: `Array<` [`TransactionView`](#type-transactionview) `>` - The transactions in the block body. -* `proposals`: `Array<`[`ProposalShortId`](#type-proposalshortid)`>` - The proposal IDs in the block body. +* `proposals`: `Array<` [`ProposalShortId`](#type-proposalshortid) `>` - The proposal IDs in the block body. ### Type `Byte32` @@ -4051,13 +4052,17 @@ Chain information. * `epoch`: [`EpochNumber`](#type-epochnumber) - Current epoch number. -* `difficulty`: `boolean` - Whether the local node is in IBD, Initial Block Download. +* `difficulty`: [`U256`](#type-u256) - Current difficulty. + + Decoded from the epoch `compact_target`. + +* `is_initial_block_download`: `boolean` - Whether the local node is in IBD, Initial Block Download. When a node starts and its chain tip timestamp is far behind the wall clock, it will enter the IBD until it catches up the synchronization. During IBD, the local node only synchronizes the chain with one selected remote node and stops responding the most P2P requests. -* `alerts`: `Array<`[`AlertMessage`](#type-alertmessage)`>` - Active alerts stored in the local node. +* `alerts`: `Array<` [`AlertMessage`](#type-alertmessage) `>` - Active alerts stored in the local node. ### Type `Cycle` @@ -4361,11 +4366,11 @@ The information of the node itself. An inactive node ignores incoming p2p messages and drops outgoing messages. -* `addresses`: `Array<`[`NodeAddress`](#type-nodeaddress)`>` - P2P addresses of this node. +* `addresses`: `Array<` [`NodeAddress`](#type-nodeaddress) `>` - P2P addresses of this node. A node can have multiple addresses. -* `protocols`: `Array<`[`LocalNodeProtocol`](#type-localnodeprotocol)`>` - Supported protocols. +* `protocols`: `Array<` [`LocalNodeProtocol`](#type-localnodeprotocol) `>` - Supported protocols. * `connections`: [`Uint64`](#type-uint64) - Count of currently connected peers. @@ -4382,7 +4387,7 @@ The information of a P2P protocol that is supported by the local node. * `name`: `string` - Readable protocol name. -* `support_versions`: `Array<``string``>` - Supported versions. +* `support_versions`: `Array<` `string` `>` - Supported versions. See [Semantic Version](https://semver.org/) about how to specify a version. @@ -4429,11 +4434,11 @@ CKB Merkle Tree is a [CBMT](https://github.com/nervosnetwork/rfcs/blob/master/rf `MerkleProof` is a JSON object with the following fields. -* `indices`: `Array<`[`Uint32`](#type-uint32)`>` - Leaves indices in the CBMT that are proved present in the block. +* `indices`: `Array<` [`Uint32`](#type-uint32) `>` - Leaves indices in the CBMT that are proved present in the block. These are indices in the CBMT tree not the transaction indices in the block. -* `lemmas`: `Array<`[`H256`](#type-h256)`>` - Hashes of all siblings along the paths to root. +* `lemmas`: `Array<` [`H256`](#type-h256) `>` - Hashes of all siblings along the paths to root. ### Type `MinerReward` @@ -4651,7 +4656,7 @@ A remote node connects to the local node via the P2P network. It is often called * `node_id`: `string` - The remote node ID which is derived from its P2P private key. -* `addresses`: `Array<`[`NodeAddress`](#type-nodeaddress)`>` - The remote node addresses. +* `addresses`: `Array<` [`NodeAddress`](#type-nodeaddress) `>` - The remote node addresses. * `is_outbound`: `boolean` - Whether this is an outbound remote node. @@ -4667,7 +4672,7 @@ A remote node connects to the local node via the P2P network. It is often called Null means chain sync has not started with this remote node yet. -* `protocols`: `Array<`[`RemoteNodeProtocol`](#type-remotenodeprotocol)`>` - Active protocols. +* `protocols`: `Array<` [`RemoteNodeProtocol`](#type-remotenodeprotocol) `>` - Active protocols. CKB uses Tentacle multiplexed network framework. Multiple protocols are running simultaneously in the connection. @@ -4726,6 +4731,14 @@ Refer to the section [Code Locating](https://github.com/nervosnetwork/rfcs/blob/ * Type "type" matches script code via cell type script hash. +### Type `SerializedBlock` + +This is a 0x-prefix hex string. It is the block serialized by molecule using the schema `table Block`. + +### Type `SerializedHeader` + +This is a 0x-prefix hex string. It is the block header serialized by molecule using the schema `table Header`. + ### Type `Status` Status for transaction @@ -4794,29 +4807,29 @@ Refer to RFC [CKB Transaction Structure](https://github.com/nervosnetwork/rfcs/b * `version`: [`Version`](#type-version) - Reserved for future usage. It must equal 0 in current version. -* `cell_deps`: `Array<`[`CellDep`](#type-celldep)`>` - An array of cell deps. +* `cell_deps`: `Array<` [`CellDep`](#type-celldep) `>` - An array of cell deps. CKB locates lock script and type script code via cell deps. The script also can uses syscalls to read the cells here. Unlike inputs, the live cells can be used as cell deps in multiple transactions. -* `header_deps`: `Array<`[`H256`](#type-h256)`>` - An array of header deps. +* `header_deps`: `Array<` [`H256`](#type-h256) `>` - An array of header deps. The block must already be in the canonical chain. Lock script and type script can read the header information of blocks listed here. -* `inputs`: `Array<`[`CellInput`](#type-cellinput)`>` - An array of input cells. +* `inputs`: `Array<` [`CellInput`](#type-cellinput) `>` - An array of input cells. In the canonical chain, any cell can only appear as an input once. -* `outputs`: `Array<`[`CellOutput`](#type-celloutput)`>` - An array of output cells. +* `outputs`: `Array<` [`CellOutput`](#type-celloutput) `>` - An array of output cells. -* `outputs_data`: `Array<`[`JsonBytes`](#type-jsonbytes)`>` - Output cells data. +* `outputs_data`: `Array<` [`JsonBytes`](#type-jsonbytes) `>` - Output cells data. This is a parallel array of outputs. The cell capacity, lock, and type of the output i is`outputs[i]` and its data is `outputs_data[i]`. -* `witnesses`: `Array<`[`JsonBytes`](#type-jsonbytes)`>` - An array of variable-length binaries. +* `witnesses`: `Array<` [`JsonBytes`](#type-jsonbytes) `>` - An array of variable-length binaries. Lock script and type script can read data here to verify the transaction. @@ -4869,7 +4882,7 @@ Transaction template which is ready to be committed in the new block. Miners can utilize this field to ensure that the total cycles do not exceed the limit while selecting transactions. -* `depends`: `Array<`[`Uint64`](#type-uint64)`>` `|` `null` - Transaction dependencies. +* `depends`: `Array<` [`Uint64`](#type-uint64) `>` `|` `null` - Transaction dependencies. This is a hint to help miners selecting transactions. @@ -5009,6 +5022,10 @@ Transaction status and the block hash if it is committed. * `block_hash`: [`H256`](#type-h256) `|` `null` - The block hash of the block which has committed this transaction in the canonical chain. +### Type `U256` + +The 256-bit unsigned integer type encoded as the 0x-prefixed hex string in JSON. + ### Type `Uint128` The 128-bit unsigned integer type encoded as the 0x-prefixed hex string in JSON. @@ -5070,7 +5087,7 @@ A block B1 is considered to be the uncle of another block B2 if all the followin * `header`: [`Header`](#type-header) - The uncle block header. -* `proposals`: `Array<`[`ProposalShortId`](#type-proposalshortid)`>` - Proposal IDs in the uncle block body. +* `proposals`: `Array<` [`ProposalShortId`](#type-proposalshortid) `>` - Proposal IDs in the uncle block body. ### Type `UncleBlockView` @@ -5095,7 +5112,7 @@ A block B1 is considered to be the uncle of another block B2 if all the followin * `header`: [`HeaderView`](#type-headerview) - The uncle block header. -* `proposals`: `Array<`[`ProposalShortId`](#type-proposalshortid)`>` - Proposal IDs in the uncle block body. +* `proposals`: `Array<` [`ProposalShortId`](#type-proposalshortid) `>` - Proposal IDs in the uncle block body. ### Type `UncleTemplate` @@ -5110,7 +5127,7 @@ The uncle block template of the new block for miners. * `required`: `boolean` - Whether miners must include this uncle in the submit block. -* `proposals`: `Array<`[`ProposalShortId`](#type-proposalshortid)`>` - The proposals of the uncle block. +* `proposals`: `Array<` [`ProposalShortId`](#type-proposalshortid) `>` - The proposals of the uncle block. Miners must keep this unchanged when including this uncle in the new block. @@ -5124,11 +5141,3 @@ The uncle block template of the new block for miners. The simple increasing integer version. This is a 32-bit unsigned integer type encoded as the 0x-prefixed hex string in JSON. See examples of [Uint32](#type-uint32). - -### Type `SerializedHeader` - -This is a 0x-prefix hex string. It is the block header serialized by molecule using the schema `table Header`. - -### Type `SerializedBlock` - -This is a 0x-prefix hex string. It is the block serialized by molecule using the schema `table Block`. diff --git a/rust-toolchain b/rust-toolchain index 0fb53d6a6a2..0a3db35b241 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -1.45.2 +1.46.0 diff --git a/script/Cargo.toml b/script/Cargo.toml index 8a0a9677038..dcad806e6b6 100644 --- a/script/Cargo.toml +++ b/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-script" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -17,24 +17,24 @@ detect-asm = ["ckb-vm/detect-asm"] logging = ["ckb-logger"] [dependencies] -ckb-traits = { path = "../traits", version = "= 0.37.0" } +ckb-traits = { path = "../traits", version = "= 0.38.0-pre" } byteorder = "1.3.1" -ckb-types = {path = "../util/types", version = "= 0.37.0"} -ckb-hash = {path = "../util/hash", version = "= 0.37.0"} +ckb-types = {path = "../util/types", version = "= 0.38.0-pre"} +ckb-hash = {path = "../util/hash", version = "= 0.38.0-pre"} ckb-vm = { version = "0.19.2", default-features = false } faster-hex = "0.4" -ckb-logger = { path = "../util/logger", version = "= 0.37.0", optional = true } +ckb-logger = { path = "../util/logger", version = "= 0.38.0-pre", optional = true } serde = { version = "1.0", features = ["derive"] } -ckb-error = { path = "../error", version = "= 0.37.0" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } failure = "0.1.5" -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } goblin = "0.2" ckb-vm-definitions = "0.19.1" [dev-dependencies] proptest = "0.9" -ckb-db = { path = "../db", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.37.0" } +ckb-db = { path = "../db", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.38.0-pre" } tiny-keccak = "1.4" -ckb-crypto = { path = "../util/crypto", version = "= 0.37.0"} +ckb-crypto = { path = "../util/crypto", version = "= 0.38.0-pre"} diff --git a/shared/Cargo.toml b/shared/Cargo.toml index 3624de4b9d4..d05ab448f8c 100644 --- a/shared/Cargo.toml +++ b/shared/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-shared" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -9,17 +9,17 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-db = { path = "../db", version = "= 0.37.0" } -ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-db = { path = "../db", version = "= 0.38.0-pre" } +ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.38.0-pre" } arc-swap = "0.4" -ckb-error = { path = "../error", version = "= 0.37.0" } -ckb-snapshot = { path = "../util/snapshot", version = "= 0.37.0" } -ckb-tx-pool = { path = "../tx-pool", version = "= 0.37.0" } -ckb-verification = { path = "../verification", version = "= 0.37.0" } -ckb-notify = { path = "../notify", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-db-migration = { path = "../db-migration", version = "= 0.37.0" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } +ckb-snapshot = { path = "../util/snapshot", version = "= 0.38.0-pre" } +ckb-tx-pool = { path = "../tx-pool", version = "= 0.38.0-pre" } +ckb-verification = { path = "../verification", version = "= 0.38.0-pre" } +ckb-notify = { path = "../notify", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-db-migration = { path = "../db-migration", version = "= 0.38.0-pre" } num_cpus = "1.10" diff --git a/spec/Cargo.toml b/spec/Cargo.toml index 066f57b781e..df1b2d547b8 100644 --- a/spec/Cargo.toml +++ b/spec/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-chain-spec" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -11,13 +11,13 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] serde = { version = "1.0", features = ["derive"] } toml = "0.5" -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-pow = { path = "../pow", version = "= 0.37.0" } -ckb-resource = { path = "../resource", version = "= 0.37.0" } -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } -ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.37.0" } -ckb-rational = { path = "../util/rational", version = "= 0.37.0" } -ckb-crypto = { path = "../util/crypto", version = "= 0.37.0"} -ckb-hash = { path = "../util/hash", version = "= 0.37.0"} +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-pow = { path = "../pow", version = "= 0.38.0-pre" } +ckb-resource = { path = "../resource", version = "= 0.38.0-pre" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.38.0-pre" } +ckb-rational = { path = "../util/rational", version = "= 0.38.0-pre" } +ckb-crypto = { path = "../util/crypto", version = "= 0.38.0-pre"} +ckb-hash = { path = "../util/hash", version = "= 0.38.0-pre"} failure = "0.1.5" -ckb-error = { path = "../error", version = "= 0.37.0" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } diff --git a/spec/src/consensus.rs b/spec/src/consensus.rs index 365b7a53bde..49e17e4cd4a 100644 --- a/spec/src/consensus.rs +++ b/spec/src/consensus.rs @@ -70,7 +70,7 @@ pub(crate) const DEFAULT_PRIMARY_EPOCH_REWARD_HALVING_INTERVAL: EpochNumber = pub const MAX_BLOCK_BYTES: u64 = TWO_IN_TWO_OUT_BYTES * TWO_IN_TWO_OUT_COUNT; pub(crate) const MAX_BLOCK_CYCLES: u64 = TWO_IN_TWO_OUT_CYCLES * TWO_IN_TWO_OUT_COUNT; // 1.5 * TWO_IN_TWO_OUT_COUNT -const MAX_BLOCK_PROPOSALS_LIMIT: u64 = 1_500; +pub const MAX_BLOCK_PROPOSALS_LIMIT: u64 = 1_500; const PROPOSER_REWARD_RATIO: Ratio = Ratio(4, 10); // Satoshi's pubkey hash in Bitcoin genesis. @@ -422,10 +422,18 @@ impl ConsensusBuilder { } /// TODO(doc): @zhangsoledad + #[must_use] pub fn permanent_difficulty_in_dummy(mut self, permanent: bool) -> Self { self.inner.permanent_difficulty_in_dummy = permanent; self } + + /// TODO(doc): @zhangsoledad + #[must_use] + pub fn max_block_proposals_limit(mut self, max_block_proposals_limit: u64) -> Self { + self.inner.max_block_proposals_limit = max_block_proposals_limit; + self + } } /// TODO(doc): @zhangsoledad diff --git a/spec/src/lib.rs b/spec/src/lib.rs index 0ead2d94f89..c259e2c2436 100644 --- a/spec/src/lib.rs +++ b/spec/src/lib.rs @@ -76,6 +76,7 @@ pub mod default_params { CELLBASE_MATURITY, DEFAULT_EPOCH_DURATION_TARGET, DEFAULT_PRIMARY_EPOCH_REWARD_HALVING_INTERVAL, DEFAULT_SECONDARY_EPOCH_REWARD, GENESIS_EPOCH_LENGTH, INITIAL_PRIMARY_EPOCH_REWARD, MAX_BLOCK_BYTES, MAX_BLOCK_CYCLES, + MAX_BLOCK_PROPOSALS_LIMIT, }; use ckb_types::core::{Capacity, Cycle, EpochNumber}; @@ -118,6 +119,10 @@ pub mod default_params { pub fn genesis_epoch_length() -> u64 { GENESIS_EPOCH_LENGTH } + + pub fn max_block_proposals_limit() -> u64 { + MAX_BLOCK_PROPOSALS_LIMIT + } } /// TODO(doc): @zhangsoledad @@ -150,6 +155,8 @@ pub struct Params { /// TODO(doc): @zhangsoledad #[serde(default)] pub permanent_difficulty_in_dummy: bool, + #[serde(default = "default_params::max_block_proposals_limit")] + pub max_block_proposals_limit: u64, } impl Default for Params { @@ -165,6 +172,7 @@ impl Default for Params { epoch_duration_target: default_params::epoch_duration_target(), genesis_epoch_length: default_params::genesis_epoch_length(), permanent_difficulty_in_dummy: false, + max_block_proposals_limit: default_params::max_block_proposals_limit(), } } } @@ -361,6 +369,7 @@ impl ChainSpec { .initial_primary_epoch_reward(self.params.initial_primary_epoch_reward) .epoch_duration_target(self.params.epoch_duration_target) .permanent_difficulty_in_dummy(self.params.permanent_difficulty_in_dummy) + .max_block_proposals_limit(self.params.max_block_proposals_limit) .build(); Ok(consensus) @@ -965,5 +974,15 @@ pub mod test { expected.max_block_bytes = 100; assert_eq!(params, expected); + + let test_params: &str = r#" + max_block_proposals_limit = 100 + "#; + + let params: Params = toml::from_str(&test_params).unwrap(); + let mut expected = Params::default(); + expected.max_block_proposals_limit = 100; + + assert_eq!(params, expected); } } diff --git a/store/Cargo.toml b/store/Cargo.toml index 2143c6e3d3f..ef654bc3996 100644 --- a/store/Cargo.toml +++ b/store/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-store" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -9,11 +9,11 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-db = { path = "../db", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-db = { path = "../db", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } lru = "0.6.0" -ckb-traits = { path = "../traits", version = "= 0.37.0" } -ckb-util = { path = "../util", version = "= 0.37.0" } -ckb-error = { path = "../error", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } +ckb-traits = { path = "../traits", version = "= 0.38.0-pre" } +ckb-util = { path = "../util", version = "= 0.38.0-pre" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } diff --git a/sync/Cargo.toml b/sync/Cargo.toml index bd60cfb99db..f19d78cc1e5 100644 --- a/sync/Cargo.toml +++ b/sync/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-sync" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,37 +9,37 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-chain = { path = "../chain", version = "= 0.37.0" } -ckb-shared = { path = "../shared", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-db = { path = "../db", version = "= 0.37.0" } -ckb-app-config = {path = "../util/app-config", version = "= 0.37.0"} -ckb-types = {path = "../util/types", version = "= 0.37.0"} -ckb-network = { path = "../network", version = "= 0.37.0" } -ckb-logger = {path = "../util/logger", version = "= 0.37.0"} -ckb-metrics = {path = "../util/metrics", version = "= 0.37.0"} -ckb-util = { path = "../util", version = "= 0.37.0" } +ckb-chain = { path = "../chain", version = "= 0.38.0-pre" } +ckb-shared = { path = "../shared", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-db = { path = "../db", version = "= 0.38.0-pre" } +ckb-app-config = {path = "../util/app-config", version = "= 0.38.0-pre"} +ckb-types = {path = "../util/types", version = "= 0.38.0-pre"} +ckb-network = { path = "../network", version = "= 0.38.0-pre" } +ckb-logger = {path = "../util/logger", version = "= 0.38.0-pre"} +ckb-metrics = {path = "../util/metrics", version = "= 0.38.0-pre"} +ckb-util = { path = "../util", version = "= 0.38.0-pre" } faketime = "0.2.0" bitflags = "1.0" -ckb-verification = { path = "../verification", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-channel = { path = "../util/channel", version = "= 0.37.0" } -ckb-traits = { path = "../traits", version = "= 0.37.0" } +ckb-verification = { path = "../verification", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-channel = { path = "../util/channel", version = "= 0.38.0-pre" } +ckb-traits = { path = "../traits", version = "= 0.38.0-pre" } failure = "0.1.5" lru = "0.6.0" sentry = "0.17.0" futures = "0.3" -ckb-error = {path = "../error", version = "= 0.37.0"} -ckb-tx-pool = { path = "../tx-pool", version = "= 0.37.0" } -ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.37.0" } +ckb-error = {path = "../error", version = "= 0.38.0-pre"} +ckb-tx-pool = { path = "../tx-pool", version = "= 0.38.0-pre" } +ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.38.0-pre" } ratelimit_meter = "5.0" tempfile = "3.0" [dev-dependencies] -ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.37.0" } +ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.38.0-pre" } rand = "0.6" -ckb-dao = { path = "../util/dao", version = "= 0.37.0" } -ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.37.0" } +ckb-dao = { path = "../util/dao", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.38.0-pre" } [features] default = [] diff --git a/test/Cargo.toml b/test/Cargo.toml index 03163967c4a..21fa1c524c2 100644 --- a/test/Cargo.toml +++ b/test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-test" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -11,21 +11,21 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] clap = { version = "2" } toml = "0.5.0" -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-network = { path = "../network", version = "= 0.37.0" } -ckb-channel = { path = "../util/channel", version = "= 0.37.0" } -ckb-sync = { path = "../sync", version = "= 0.37.0" } -ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.37.0" } -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-hash = { path = "../util/hash", version = "= 0.37.0" } -ckb-util = { path = "../util", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-crypto = { path = "../util/crypto", version = "= 0.37.0" } -ckb-dao = { path = "../util/dao", version = "= 0.37.0" } -ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.37.0" } -ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.37.0" } -ckb-resource = { path = "../resource", version = "= 0.37.0" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-network = { path = "../network", version = "= 0.38.0-pre" } +ckb-channel = { path = "../util/channel", version = "= 0.38.0-pre" } +ckb-sync = { path = "../sync", version = "= 0.38.0-pre" } +ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.38.0-pre" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-hash = { path = "../util/hash", version = "= 0.38.0-pre" } +ckb-util = { path = "../util", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-crypto = { path = "../util/crypto", version = "= 0.38.0-pre" } +ckb-dao = { path = "../util/dao", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.38.0-pre" } +ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.38.0-pre" } +ckb-resource = { path = "../resource", version = "= 0.38.0-pre" } tempfile = "3.0" reqwest = "0.9" rand = "0.6" diff --git a/traits/Cargo.toml b/traits/Cargo.toml index 59b1b8ed296..284f0b691b5 100644 --- a/traits/Cargo.toml +++ b/traits/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-traits" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -9,4 +9,4 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../util/types", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } diff --git a/tx-pool/Cargo.toml b/tx-pool/Cargo.toml index d392479b122..4b51427f1f9 100644 --- a/tx-pool/Cargo.toml +++ b/tx-pool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-tx-pool" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -11,23 +11,23 @@ repository = "https://github.com/nervosnetwork/ckb" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-logger = {path = "../util/logger", version = "= 0.37.0"} -ckb-verification = { path = "../verification", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-logger = {path = "../util/logger", version = "= 0.38.0-pre"} +ckb-verification = { path = "../verification", version = "= 0.38.0-pre" } failure = "0.1.5" faketime = "0.2" lru = "0.6.0" -ckb-dao = { path = "../util/dao", version = "= 0.37.0" } -ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-util = { path = "../util", version = "= 0.37.0" } -ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-snapshot = { path = "../util/snapshot", version = "= 0.37.0" } -ckb-error = { path = "../error", version = "= 0.37.0" } +ckb-dao = { path = "../util/dao", version = "= 0.38.0-pre" } +ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-util = { path = "../util", version = "= 0.38.0-pre" } +ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-snapshot = { path = "../util/snapshot", version = "= 0.38.0-pre" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } tokio = { version = "0.2", features = ["sync", "blocking", "rt-threaded", "macros"] } -ckb-async-runtime = { path = "../util/runtime", version = "= 0.37.0" } -ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.37.0" } -ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.37.0" } -ckb-app-config = { path = "../util/app-config", version = "= 0.37.0" } -ckb-notify = { path = "../notify", version = "= 0.37.0" } +ckb-async-runtime = { path = "../util/runtime", version = "= 0.38.0-pre" } +ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.38.0-pre" } +ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.38.0-pre" } +ckb-app-config = { path = "../util/app-config", version = "= 0.38.0-pre" } +ckb-notify = { path = "../notify", version = "= 0.38.0-pre" } diff --git a/util/Cargo.toml b/util/Cargo.toml index d1bdd903d7d..8f9fd955e6c 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-util" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -14,7 +14,7 @@ linked-hash-map = "0.5" regex = "1.1.6" [dev-dependencies] -ckb-fixed-hash = { path = "fixed-hash", version = "= 0.37.0" } +ckb-fixed-hash = { path = "fixed-hash", version = "= 0.38.0-pre" } [features] deadlock_detection = ["parking_lot/deadlock_detection"] diff --git a/util/app-config/Cargo.toml b/util/app-config/Cargo.toml index ffef8ecb6d2..7fdb7888e0f 100644 --- a/util/app-config/Cargo.toml +++ b/util/app-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-app-config" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -14,17 +14,17 @@ serde = { version = "1.0", features = ["derive"] } serde_plain = "0.3.0" toml = "0.5" path-clean = "0.1.0" -ckb-logger = { path = "../../util/logger", version = "= 0.37.0" } -ckb-logger-config = { path = "../../util/logger-config", version = "= 0.37.0" } -ckb-metrics-config = { path = "../../util/metrics-config", version = "= 0.37.0" } +ckb-logger = { path = "../../util/logger", version = "= 0.38.0-pre" } +ckb-logger-config = { path = "../../util/logger-config", version = "= 0.38.0-pre" } +ckb-metrics-config = { path = "../../util/metrics-config", version = "= 0.38.0-pre" } sentry = "0.17.0" -ckb-chain-spec = {path = "../../spec", version = "= 0.37.0"} -ckb-jsonrpc-types = {path = "../jsonrpc-types", version = "= 0.37.0"} -ckb-pow = { path = "../../pow", version = "= 0.37.0" } -ckb-resource = { path = "../../resource", version = "= 0.37.0"} -ckb-build-info = { path = "../build-info", version = "= 0.37.0" } -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-fee-estimator = { path = "../fee-estimator", version = "= 0.37.0" } +ckb-chain-spec = {path = "../../spec", version = "= 0.38.0-pre"} +ckb-jsonrpc-types = {path = "../jsonrpc-types", version = "= 0.38.0-pre"} +ckb-pow = { path = "../../pow", version = "= 0.38.0-pre" } +ckb-resource = { path = "../../resource", version = "= 0.38.0-pre"} +ckb-build-info = { path = "../build-info", version = "= 0.38.0-pre" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-fee-estimator = { path = "../fee-estimator", version = "= 0.38.0-pre" } secio = { version="= 0.4.0", features = ["molc"], package="tentacle-secio" } multiaddr = { version="0.1.0", package="tentacle-multiaddr" } rand = "0.6" diff --git a/util/app-config/src/args.rs b/util/app-config/src/args.rs index 66c17a22277..1af2347a810 100644 --- a/util/app-config/src/args.rs +++ b/util/app-config/src/args.rs @@ -147,3 +147,7 @@ pub struct PeerIDArgs { /// TODO(doc): @doitian pub peer_id: secio::PeerId, } + +pub struct MigrateArgs { + pub config: Box, +} diff --git a/util/app-config/src/cli.rs b/util/app-config/src/cli.rs index 156ad0a1504..a98875fcfeb 100644 --- a/util/app-config/src/cli.rs +++ b/util/app-config/src/cli.rs @@ -27,6 +27,7 @@ pub const CMD_PEERID: &str = "peer-id"; pub const CMD_GEN_SECRET: &str = "gen"; /// TODO(doc): @doitian pub const CMD_FROM_SECRET: &str = "from-secret"; +pub const CMD_MIGRATE: &str = "migrate"; /// TODO(doc): @doitian pub const ARG_CONFIG_DIR: &str = "config-dir"; @@ -125,6 +126,7 @@ fn basic_app<'b>() -> App<'static, 'b> { .subcommand(stats()) .subcommand(reset_data()) .subcommand(peer_id()) + .subcommand(migrate()) } /// TODO(doc): @doitian @@ -291,6 +293,10 @@ fn import() -> App<'static, 'static> { ) } +fn migrate() -> App<'static, 'static> { + SubCommand::with_name(CMD_MIGRATE).about("Runs ckb migration") +} + fn list_hashes() -> App<'static, 'static> { SubCommand::with_name(CMD_LIST_HASHES) .about("Lists well known hashes") diff --git a/util/app-config/src/lib.rs b/util/app-config/src/lib.rs index 02154d6ce27..9791b7eadd4 100644 --- a/util/app-config/src/lib.rs +++ b/util/app-config/src/lib.rs @@ -8,8 +8,8 @@ mod sentry_config; pub use app_config::{AppConfig, CKBAppConfig, MinerAppConfig}; pub use args::{ - ExportArgs, ImportArgs, InitArgs, MinerArgs, PeerIDArgs, ReplayArgs, ResetDataArgs, RunArgs, - StatsArgs, + ExportArgs, ImportArgs, InitArgs, MigrateArgs, MinerArgs, PeerIDArgs, ReplayArgs, + ResetDataArgs, RunArgs, StatsArgs, }; pub use configs::*; pub use exit_code::ExitCode; @@ -63,6 +63,13 @@ impl Setup { }) } + /// TODO(doc): @doitian + pub fn migrate<'m>(self, _matches: &ArgMatches<'m>) -> Result { + let config = self.config.into_ckb()?; + + Ok(MigrateArgs { config }) + } + /// TODO(doc): @doitian pub fn miner<'m>(self, matches: &ArgMatches<'m>) -> Result { let spec = self.chain_spec()?; diff --git a/util/app-config/src/sentry_config.rs b/util/app-config/src/sentry_config.rs index e24ad5f2dfa..bd3a1a0519e 100644 --- a/util/app-config/src/sentry_config.rs +++ b/util/app-config/src/sentry_config.rs @@ -68,8 +68,7 @@ fn before_send(mut event: Event<'static>) -> Option> { let ex = match event .exception .values - .iter() - .next() + .get(0) .and_then(|ex| ex.value.as_ref()) { Some(ex) => ex, diff --git a/util/build-info/Cargo.toml b/util/build-info/Cargo.toml index 9d19df5dd79..fb55a85c2e8 100644 --- a/util/build-info/Cargo.toml +++ b/util/build-info/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-build-info" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" diff --git a/util/chain-iter/Cargo.toml b/util/chain-iter/Cargo.toml index afa4ebb56e9..1e99336b4f1 100644 --- a/util/chain-iter/Cargo.toml +++ b/util/chain-iter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-chain-iter" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -11,5 +11,5 @@ repository = "https://github.com/nervosnetwork/ckb" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-store = { path = "../../store", version = "= 0.37.0" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-store = { path = "../../store", version = "= 0.38.0-pre" } diff --git a/util/channel/Cargo.toml b/util/channel/Cargo.toml index f786c2079ae..75b4430add1 100644 --- a/util/channel/Cargo.toml +++ b/util/channel/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-channel" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" diff --git a/util/crypto/Cargo.toml b/util/crypto/Cargo.toml index ef1376d89f0..ee78f2ab4f8 100644 --- a/util/crypto/Cargo.toml +++ b/util/crypto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-crypto" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,7 +9,7 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.37.0" } +ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.38.0-pre" } lazy_static = "1.3" secp256k1 = { version = "0.17", features = ["recovery"], optional = true } failure = "0.1.5" diff --git a/util/dao/Cargo.toml b/util/dao/Cargo.toml index 944549d15d8..884a48206a3 100644 --- a/util/dao/Cargo.toml +++ b/util/dao/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-dao" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -10,12 +10,12 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] byteorder = "1.3.1" -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-chain-spec = { path = "../../spec", version = "= 0.37.0" } -ckb-store = { path = "../../store", version = "= 0.37.0" } -ckb-dao-utils = { path = "./utils", version = "= 0.37.0" } -ckb-error = { path = "../../error", version = "= 0.37.0" } -ckb-traits = { path = "../../traits", version = "= 0.37.0" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../../spec", version = "= 0.38.0-pre" } +ckb-store = { path = "../../store", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "./utils", version = "= 0.38.0-pre" } +ckb-error = { path = "../../error", version = "= 0.38.0-pre" } +ckb-traits = { path = "../../traits", version = "= 0.38.0-pre" } [dev-dependencies] -ckb-db = { path = "../../db", version = "= 0.37.0" } +ckb-db = { path = "../../db", version = "= 0.38.0-pre" } diff --git a/util/dao/utils/Cargo.toml b/util/dao/utils/Cargo.toml index 586963d5804..57aa8cdf1d0 100644 --- a/util/dao/utils/Cargo.toml +++ b/util/dao/utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-dao-utils" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -10,7 +10,7 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] byteorder = "1.3.1" -ckb-types = { path = "../../types", version = "= 0.37.0" } -ckb-error = { path = "../../../error", version = "= 0.37.0" } +ckb-types = { path = "../../types", version = "= 0.38.0-pre" } +ckb-error = { path = "../../../error", version = "= 0.38.0-pre" } failure = "0.1.5" enum-display-derive = "0.1.0" diff --git a/util/fee-estimator/Cargo.toml b/util/fee-estimator/Cargo.toml index dbc021ec674..84a139aa259 100644 --- a/util/fee-estimator/Cargo.toml +++ b/util/fee-estimator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-fee-estimator" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -11,6 +11,6 @@ repository = "https://github.com/nervosnetwork/ckb" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-logger = { path = "../logger", version = "= 0.37.0" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-logger = { path = "../logger", version = "= 0.38.0-pre" } serde = { version = "1.0", features = ["derive"] } diff --git a/util/fixed-hash/Cargo.toml b/util/fixed-hash/Cargo.toml index ff8dd31fe4a..cf20e33c2bc 100644 --- a/util/fixed-hash/Cargo.toml +++ b/util/fixed-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-fixed-hash" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" @@ -9,5 +9,5 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-fixed-hash-core = { path = "core", version = "= 0.37.0" } -ckb-fixed-hash-macros = { path = "macros", version = "= 0.37.0" } +ckb-fixed-hash-core = { path = "core", version = "= 0.38.0-pre" } +ckb-fixed-hash-macros = { path = "macros", version = "= 0.38.0-pre" } diff --git a/util/fixed-hash/core/Cargo.toml b/util/fixed-hash/core/Cargo.toml index 074620134db..7465878b3d8 100644 --- a/util/fixed-hash/core/Cargo.toml +++ b/util/fixed-hash/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-fixed-hash-core" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" diff --git a/util/fixed-hash/macros/Cargo.toml b/util/fixed-hash/macros/Cargo.toml index b4c8eba1fb8..31380c9048c 100644 --- a/util/fixed-hash/macros/Cargo.toml +++ b/util/fixed-hash/macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-fixed-hash-macros" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" @@ -12,7 +12,7 @@ repository = "https://github.com/nervosnetwork/ckb" proc-macro = true [dependencies] -ckb-fixed-hash-core = { path = "../core", version = "= 0.37.0" } +ckb-fixed-hash-core = { path = "../core", version = "= 0.38.0-pre" } quote = "0.6" syn = "0.15" proc-macro2 = "0.4" diff --git a/util/hash/Cargo.toml b/util/hash/Cargo.toml index 31b253c9914..0d10a13d224 100644 --- a/util/hash/Cargo.toml +++ b/util/hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-hash" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" diff --git a/util/instrument/Cargo.toml b/util/instrument/Cargo.toml index f15e651459b..e6c0be5e403 100644 --- a/util/instrument/Cargo.toml +++ b/util/instrument/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-instrument" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,11 +9,11 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-chain = { path = "../../chain", version = "= 0.37.0" } -ckb-chain-iter = { path = "../chain-iter", version = "= 0.37.0" } -ckb-shared = { path = "../../shared", version = "= 0.37.0" } -ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.37.0" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-chain = { path = "../../chain", version = "= 0.38.0-pre" } +ckb-chain-iter = { path = "../chain-iter", version = "= 0.38.0-pre" } +ckb-shared = { path = "../../shared", version = "= 0.38.0-pre" } +ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.38.0-pre" } serde_json = "1.0" indicatif = { version = "0.15", optional = true } diff --git a/util/jsonrpc-types/Cargo.toml b/util/jsonrpc-types/Cargo.toml index d8d289e9850..8a7630450b7 100644 --- a/util/jsonrpc-types/Cargo.toml +++ b/util/jsonrpc-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-jsonrpc-types" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,7 +9,7 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../types", version = "= 0.37.0" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" faster-hex = "0.4" diff --git a/util/jsonrpc-types/src/chain_info.rs b/util/jsonrpc-types/src/chain_info.rs index a5997c6832f..2225e715bde 100644 --- a/util/jsonrpc-types/src/chain_info.rs +++ b/util/jsonrpc-types/src/chain_info.rs @@ -18,7 +18,7 @@ pub struct ChainInfo { pub epoch: EpochNumber, /// Current difficulty. /// - /// The 256-bit unsigned integer type encoded as the 0x-prefixed hex string in JSON. + /// Decoded from the epoch `compact_target`. pub difficulty: U256, /// Whether the local node is in IBD, Initial Block Download. /// diff --git a/util/logger-config/Cargo.toml b/util/logger-config/Cargo.toml index 4b68884af05..262750fd611 100644 --- a/util/logger-config/Cargo.toml +++ b/util/logger-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-logger-config" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" diff --git a/util/logger-service/Cargo.toml b/util/logger-service/Cargo.toml index 580d87ab3f9..b86b2ab471d 100644 --- a/util/logger-service/Cargo.toml +++ b/util/logger-service/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-logger-service" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" @@ -9,9 +9,9 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-util = { path = "..", version = "= 0.37.0" } -ckb-logger-config = { path = "../logger-config", version = "= 0.37.0" } -ckb-channel = { path = "../channel", version = "= 0.37.0" } +ckb-util = { path = "..", version = "= 0.38.0-pre" } +ckb-logger-config = { path = "../logger-config", version = "= 0.38.0-pre" } +ckb-channel = { path = "../channel", version = "= 0.38.0-pre" } ansi_term = "0.12" log = "0.4" env_logger = "0.6" diff --git a/util/logger/Cargo.toml b/util/logger/Cargo.toml index 245a0706da7..e7487fdf0ef 100644 --- a/util/logger/Cargo.toml +++ b/util/logger/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-logger" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" diff --git a/util/memory-tracker/Cargo.toml b/util/memory-tracker/Cargo.toml index a2a56724b37..71ba26756bd 100644 --- a/util/memory-tracker/Cargo.toml +++ b/util/memory-tracker/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-memory-tracker" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -9,9 +9,9 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-logger = { path = "../logger", version = "= 0.37.0" } -ckb-metrics = { path = "../metrics", version = "= 0.37.0" } -ckb-db = { path = "../../db", version = "= 0.37.0" } +ckb-logger = { path = "../logger", version = "= 0.38.0-pre" } +ckb-metrics = { path = "../metrics", version = "= 0.38.0-pre" } +ckb-db = { path = "../../db", version = "= 0.38.0-pre" } [target.'cfg(all(not(target_env = "msvc"), not(target_os="macos")))'.dependencies] heim = "0.0.10" diff --git a/util/metrics-config/Cargo.toml b/util/metrics-config/Cargo.toml index 9b2b50fe892..1e5fe01c53d 100644 --- a/util/metrics-config/Cargo.toml +++ b/util/metrics-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-metrics-config" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" diff --git a/util/metrics-service/Cargo.toml b/util/metrics-service/Cargo.toml index 1c08ce077cb..3dc3dc0711c 100644 --- a/util/metrics-service/Cargo.toml +++ b/util/metrics-service/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-metrics-service" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" @@ -9,10 +9,10 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-metrics-config = { path = "../metrics-config", version = "= 0.37.0" } -ckb-async-runtime = { path = "../runtime", version = "= 0.37.0" } -ckb-stop-handler = { path = "../stop-handler", version = "= 0.37.0" } -ckb-util = { path = "..", version = "= 0.37.0" } +ckb-metrics-config = { path = "../metrics-config", version = "= 0.38.0-pre" } +ckb-async-runtime = { path = "../runtime", version = "= 0.38.0-pre" } +ckb-stop-handler = { path = "../stop-handler", version = "= 0.38.0-pre" } +ckb-util = { path = "..", version = "= 0.38.0-pre" } metrics-runtime = "~0.13.1" metrics-core = "~0.5.2" tokio = { version = "0.2", features = ["sync", "blocking", "rt-threaded", "time", "io-driver", "macros"] } diff --git a/util/metrics/Cargo.toml b/util/metrics/Cargo.toml index 5c5cdc7ae89..edc80b27a57 100644 --- a/util/metrics/Cargo.toml +++ b/util/metrics/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-metrics" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos "] edition = "2018" diff --git a/util/multisig/Cargo.toml b/util/multisig/Cargo.toml index d51e2e293db..8f19ad7813e 100644 --- a/util/multisig/Cargo.toml +++ b/util/multisig/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-multisig" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,8 +9,8 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-logger = { path = "../logger", version = "= 0.37.0" } -ckb-crypto = { path = "../crypto", version = "= 0.37.0" } +ckb-logger = { path = "../logger", version = "= 0.38.0-pre" } +ckb-crypto = { path = "../crypto", version = "= 0.38.0-pre" } failure = "0.1.5" [dev-dependencies] diff --git a/util/network-alert/Cargo.toml b/util/network-alert/Cargo.toml index 15f40d5897a..b9b25ca3d2b 100644 --- a/util/network-alert/Cargo.toml +++ b/util/network-alert/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-network-alert" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,18 +9,18 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-multisig = { path = "../multisig", version = "= 0.37.0" } -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-util = { path = "..", version = "= 0.37.0" } -ckb-network = { path = "../../network", version = "= 0.37.0" } -ckb-notify = { path = "../../notify", version = "= 0.37.0"} -ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.37.0" } -ckb-logger = { path = "../logger", version = "= 0.37.0"} -ckb-app-config = { path = "../app-config", version = "= 0.37.0" } +ckb-multisig = { path = "../multisig", version = "= 0.38.0-pre" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-util = { path = "..", version = "= 0.38.0-pre" } +ckb-network = { path = "../../network", version = "= 0.38.0-pre" } +ckb-notify = { path = "../../notify", version = "= 0.38.0-pre"} +ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.38.0-pre" } +ckb-logger = { path = "../logger", version = "= 0.38.0-pre"} +ckb-app-config = { path = "../app-config", version = "= 0.38.0-pre" } faketime = "0.2.0" failure = "0.1.5" lru = "0.6" semver = "0.9" [dev-dependencies] -ckb-crypto = { path = "../crypto", version = "= 0.37.0" } +ckb-crypto = { path = "../crypto", version = "= 0.38.0-pre" } diff --git a/util/occupied-capacity/Cargo.toml b/util/occupied-capacity/Cargo.toml index e62b2971f33..4a8415b90c8 100644 --- a/util/occupied-capacity/Cargo.toml +++ b/util/occupied-capacity/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-occupied-capacity" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,5 +9,5 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-occupied-capacity-macros = { path = "macros", version = "= 0.37.0" } -ckb-occupied-capacity-core = { path = "core", version = "= 0.37.0" } +ckb-occupied-capacity-macros = { path = "macros", version = "= 0.38.0-pre" } +ckb-occupied-capacity-core = { path = "core", version = "= 0.38.0-pre" } diff --git a/util/occupied-capacity/core/Cargo.toml b/util/occupied-capacity/core/Cargo.toml index eab02112901..61777d4f450 100644 --- a/util/occupied-capacity/core/Cargo.toml +++ b/util/occupied-capacity/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-occupied-capacity-core" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" diff --git a/util/occupied-capacity/macros/Cargo.toml b/util/occupied-capacity/macros/Cargo.toml index cb536094602..16292bf3e84 100644 --- a/util/occupied-capacity/macros/Cargo.toml +++ b/util/occupied-capacity/macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-occupied-capacity-macros" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -14,4 +14,4 @@ proc-macro = true [dependencies] quote = "0.6" syn = "0.15" -ckb-occupied-capacity-core = { path = "../core", version = "= 0.37.0" } +ckb-occupied-capacity-core = { path = "../core", version = "= 0.38.0-pre" } diff --git a/util/proposal-table/Cargo.toml b/util/proposal-table/Cargo.toml index 61f70bfbdf9..01c2d9740e5 100644 --- a/util/proposal-table/Cargo.toml +++ b/util/proposal-table/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-proposal-table" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -10,6 +10,6 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-logger = { path = "../logger", version = "= 0.37.0" } -ckb-chain-spec = { path = "../../spec", version = "= 0.37.0" } -ckb-types = { path = "../types", version = "= 0.37.0" } +ckb-logger = { path = "../logger", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../../spec", version = "= 0.38.0-pre" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } diff --git a/util/rational/Cargo.toml b/util/rational/Cargo.toml index 5be6e65fc29..b4d1d40188f 100644 --- a/util/rational/Cargo.toml +++ b/util/rational/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-rational" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" diff --git a/util/reward-calculator/Cargo.toml b/util/reward-calculator/Cargo.toml index b64f1671ea7..072b4f2c1f0 100644 --- a/util/reward-calculator/Cargo.toml +++ b/util/reward-calculator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-reward-calculator" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,13 +9,13 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-store = { path = "../../store", version = "= 0.37.0" } -ckb-dao = { path = "../dao", version = "= 0.37.0" } -ckb-logger = { path = "../logger", version = "= 0.37.0" } -ckb-chain-spec = {path = "../../spec", version = "= 0.37.0"} -ckb-error = { path = "../../error", version = "= 0.37.0" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-store = { path = "../../store", version = "= 0.38.0-pre" } +ckb-dao = { path = "../dao", version = "= 0.38.0-pre" } +ckb-logger = { path = "../logger", version = "= 0.38.0-pre" } +ckb-chain-spec = {path = "../../spec", version = "= 0.38.0-pre"} +ckb-error = { path = "../../error", version = "= 0.38.0-pre" } [dev-dependencies] -ckb-db = { path = "../../db", version = "= 0.37.0" } -ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.37.0" } +ckb-db = { path = "../../db", version = "= 0.38.0-pre" } +ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.38.0-pre" } diff --git a/util/runtime/Cargo.toml b/util/runtime/Cargo.toml index 146f339501b..2d97042b083 100644 --- a/util/runtime/Cargo.toml +++ b/util/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-async-runtime" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" diff --git a/util/rust-unstable-port/Cargo.toml b/util/rust-unstable-port/Cargo.toml index d2bcb7649ad..92ac2e685aa 100644 --- a/util/rust-unstable-port/Cargo.toml +++ b/util/rust-unstable-port/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-rust-unstable-port" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" diff --git a/util/snapshot/Cargo.toml b/util/snapshot/Cargo.toml index 48f7e390313..07867ed69b2 100644 --- a/util/snapshot/Cargo.toml +++ b/util/snapshot/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-snapshot" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -11,12 +11,12 @@ repository = "https://github.com/nervosnetwork/ckb" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ckb-types = { path = "../types", version = "= 0.37.0" } -ckb-chain-spec = { path = "../../spec", version = "= 0.37.0" } -ckb-store = { path = "../../store", version = "= 0.37.0" } -ckb-db = { path = "../../db", version = "= 0.37.0" } -ckb-traits = { path = "../../traits", version = "= 0.37.0" } -ckb-error = { path = "../../error", version = "= 0.37.0" } -ckb-proposal-table = { path = "../proposal-table", version = "= 0.37.0" } +ckb-types = { path = "../types", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../../spec", version = "= 0.38.0-pre" } +ckb-store = { path = "../../store", version = "= 0.38.0-pre" } +ckb-db = { path = "../../db", version = "= 0.38.0-pre" } +ckb-traits = { path = "../../traits", version = "= 0.38.0-pre" } +ckb-error = { path = "../../error", version = "= 0.38.0-pre" } +ckb-proposal-table = { path = "../proposal-table", version = "= 0.38.0-pre" } arc-swap = "0.4" -ckb-reward-calculator = { path = "../reward-calculator", version = "= 0.37.0" } +ckb-reward-calculator = { path = "../reward-calculator", version = "= 0.38.0-pre" } diff --git a/util/stop-handler/Cargo.toml b/util/stop-handler/Cargo.toml index b8ed5834b13..329db40f7fc 100644 --- a/util/stop-handler/Cargo.toml +++ b/util/stop-handler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-stop-handler" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -10,7 +10,7 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] parking_lot = "=0.7.1" -ckb-logger = { path = "../logger", version = "= 0.37.0" } +ckb-logger = { path = "../logger", version = "= 0.38.0-pre" } futures = "0.1" tokio = { version = "0.2", features = ["sync", "blocking", "rt-threaded"] } -ckb-channel = { path = "../channel", version = "= 0.37.0" } +ckb-channel = { path = "../channel", version = "= 0.38.0-pre" } diff --git a/util/test-chain-utils/Cargo.toml b/util/test-chain-utils/Cargo.toml index 8218899ffa1..8dc6bbdc241 100644 --- a/util/test-chain-utils/Cargo.toml +++ b/util/test-chain-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-test-chain-utils" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -9,13 +9,13 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = {path = "../types", version = "= 0.37.0"} -ckb-db = { path = "../../db", version = "= 0.37.0" } -ckb-store = { path = "../../store", version = "= 0.37.0" } -ckb-chain-spec = { path = "../../spec", version = "= 0.37.0" } -ckb-dao-utils = { path = "../dao/utils", version = "= 0.37.0" } -ckb-traits = { path = "../../traits", version = "= 0.37.0" } -ckb-error = { path = "../../error", version = "= 0.37.0" } +ckb-types = {path = "../types", version = "= 0.38.0-pre"} +ckb-db = { path = "../../db", version = "= 0.38.0-pre" } +ckb-store = { path = "../../store", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../../spec", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "../dao/utils", version = "= 0.38.0-pre" } +ckb-traits = { path = "../../traits", version = "= 0.38.0-pre" } +ckb-error = { path = "../../error", version = "= 0.38.0-pre" } lazy_static = "1.3.0" faketime = "0.2.0" -ckb-resource = { path = "../../resource", version = "= 0.37.0" } +ckb-resource = { path = "../../resource", version = "= 0.38.0-pre" } diff --git a/util/types/Cargo.toml b/util/types/Cargo.toml index 874db7e721e..076c0e66f5a 100644 --- a/util/types/Cargo.toml +++ b/util/types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-types" -version = "0.37.0" +version = "0.38.0-pre" authors = ["Nervos Core Dev "] edition = "2018" license = "MIT" @@ -10,17 +10,17 @@ repository = "https://github.com/nervosnetwork/ckb" [dependencies] molecule = "=0.6.0" -ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.37.0" } +ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.38.0-pre" } numext-fixed-uint = { version = "0.1", features = ["support_rand", "support_heapsize", "support_serde"] } bytes = { version="0.5.4", features = ["serde"] } merkle-cbt = "0.3" -ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.37.0" } -ckb-hash = { path = "../hash", version = "= 0.37.0" } -ckb-channel = { path = "../channel", version = "= 0.37.0" } +ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.38.0-pre" } +ckb-hash = { path = "../hash", version = "= 0.38.0-pre" } +ckb-channel = { path = "../channel", version = "= 0.38.0-pre" } bit-vec = "0.5.1" failure = "0.1.5" -ckb-error = { path = "../../error", version = "= 0.37.0" } -ckb-rational = { path = "../rational", version = "= 0.37.0" } +ckb-error = { path = "../../error", version = "= 0.38.0-pre" } +ckb-rational = { path = "../rational", version = "= 0.38.0-pre" } once_cell = "1.3.1" [dev-dependencies] diff --git a/verification/Cargo.toml b/verification/Cargo.toml index cf75e2cff60..c0c2ca69fbf 100644 --- a/verification/Cargo.toml +++ b/verification/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-verification" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,28 +9,28 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-store = { path = "../store", version = "= 0.37.0" } -ckb-script = { path = "../script", version = "= 0.37.0" } -ckb-pow = { path = "../pow", version = "= 0.37.0" } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-store = { path = "../store", version = "= 0.38.0-pre" } +ckb-script = { path = "../script", version = "= 0.38.0-pre" } +ckb-pow = { path = "../pow", version = "= 0.38.0-pre" } faketime = "0.2.0" rayon = "1.0" lru = "0.6.0" -ckb-traits = { path = "../traits", version = "= 0.37.0" } -ckb-chain-spec = { path = "../spec", version = "= 0.37.0" } -ckb-dao = { path = "../util/dao", version = "= 0.37.0" } -ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.37.0" } -ckb-logger = {path = "../util/logger", version = "= 0.37.0"} -ckb-reward-calculator= { path = "../util/reward-calculator", version = "= 0.37.0" } +ckb-traits = { path = "../traits", version = "= 0.38.0-pre" } +ckb-chain-spec = { path = "../spec", version = "= 0.38.0-pre" } +ckb-dao = { path = "../util/dao", version = "= 0.38.0-pre" } +ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.38.0-pre" } +ckb-logger = {path = "../util/logger", version = "= 0.38.0-pre"} +ckb-reward-calculator= { path = "../util/reward-calculator", version = "= 0.38.0-pre" } failure = "0.1.5" -ckb-error = { path = "../error", version = "= 0.37.0" } +ckb-error = { path = "../error", version = "= 0.38.0-pre" } enum-display-derive = "0.1.0" tokio = { version = "0.2", features = ["sync", "blocking", "rt-threaded"] } -ckb-async-runtime = { path = "../util/runtime", version = "= 0.37.0" } +ckb-async-runtime = { path = "../util/runtime", version = "= 0.38.0-pre" } [dev-dependencies] -ckb-chain = { path = "../chain", version = "= 0.37.0" } -ckb-shared = { path = "../shared", version = "= 0.37.0" } -ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.37.0" } -ckb-resource = { path = "../resource", version = "= 0.37.0" } +ckb-chain = { path = "../chain", version = "= 0.38.0-pre" } +ckb-shared = { path = "../shared", version = "= 0.38.0-pre" } +ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.38.0-pre" } +ckb-resource = { path = "../resource", version = "= 0.38.0-pre" } rand = "0.6" diff --git a/wasm-build-test/Cargo.toml b/wasm-build-test/Cargo.toml index da262927a7d..b81d940368d 100644 --- a/wasm-build-test/Cargo.toml +++ b/wasm-build-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ckb-wasm-test" -version = "0.37.0" +version = "0.38.0-pre" license = "MIT" authors = ["Nervos Core Dev "] edition = "2018" @@ -9,8 +9,8 @@ homepage = "https://github.com/nervosnetwork/ckb" repository = "https://github.com/nervosnetwork/ckb" [dependencies] -ckb-types = { path = "../util/types", version = "= 0.37.0" } -ckb-script = { path = "../script", version = "= 0.37.0", default-features = false, features = [] } +ckb-types = { path = "../util/types", version = "= 0.38.0-pre" } +ckb-script = { path = "../script", version = "= 0.38.0-pre", default-features = false, features = [] } # Prevent this from interfering with workspaces [workspace]