From b3ec3b8b026f18928266e43c722feb7746c2667a Mon Sep 17 00:00:00 2001 From: Boyu Yang Date: Wed, 27 Sep 2023 21:33:14 +0800 Subject: [PATCH] chore(deps): bump ckb-related crates from 0.110.2 to 0.111.0-rc8 --- Cargo.lock | 327 +++++++++++++++++------------ Cargo.toml | 40 ++-- src/service.rs | 6 +- src/storage.rs | 22 +- src/tests/service.rs | 2 +- src/tests/specs/dummy_pow.toml | 11 +- src/tests/utils/network_context.rs | 4 + src/tests/verify.rs | 12 +- src/verify.rs | 35 +-- 9 files changed, 271 insertions(+), 188 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1743bd7..3931e4f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -413,9 +413,9 @@ dependencies = [ [[package]] name = "ckb-app-config" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1d022d0832ec8e4b7a087a9894c2600777f105b793710cbbf4785cca1dd5545" +checksum = "a5404b72d3e01c608c07a8b0a344d26c841827b07ba165d4aad08335f6b49349" dependencies = [ "ckb-build-info", "ckb-chain-spec", @@ -428,7 +428,6 @@ dependencies = [ "ckb-systemtime", "ckb-types", "clap 4.3.24", - "clap_lex", "path-clean", "rand 0.7.3", "serde", @@ -443,9 +442,9 @@ dependencies = [ [[package]] name = "ckb-async-runtime" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1ef4392be1a22b20778580b6396ca840200ab128de79e5cc5ebf2300131201f" +checksum = "86064175a5993d182ab890bac9a4af8a0138692b776dcc1ad176fb7fde3c3d86" dependencies = [ "ckb-logger", "ckb-spawn", @@ -455,9 +454,9 @@ dependencies = [ [[package]] name = "ckb-block-filter" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "407599b13b753da44839b0b700879015332627bb7a8a62e44ba7bd52cfe981cf" +checksum = "eb2d55d527e677f4501777570c964c62763967bc6d747753b91b0c54eda8cdc5" dependencies = [ "ckb-async-runtime", "ckb-logger", @@ -469,15 +468,15 @@ dependencies = [ [[package]] name = "ckb-build-info" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24fc8f4e1005dc91e81b7013f3bd7fbc0d33e162001716afa2c2f830b33dfb9" +checksum = "816e9e391e610011dd8668f880601abf0756e5f9a17aedf0da006484e4f764c1" [[package]] name = "ckb-chain" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd100c14add250c9dd583fca4fce9d6772356336d86817ef7749847ef1209a8" +checksum = "b42bdfd3f784dec364f2e5b25302c89bbca3c7fb975a83866c05e4724b355767" dependencies = [ "ckb-app-config", "ckb-chain-spec", @@ -501,9 +500,9 @@ dependencies = [ [[package]] name = "ckb-chain-spec" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbfaa8d081d50fcefbf9cb60e9e86ea5dfe2a246471b98a439dde6f0e873771a" +checksum = "5581d1578e3a0bc6f48f7e932974367769f9a19aa16bc9f1161120597ad0d572" dependencies = [ "ckb-constant", "ckb-crypto", @@ -523,24 +522,24 @@ dependencies = [ [[package]] name = "ckb-channel" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2444cccfa7f40b4e3dcee36a01dc5e9b861e7b07a842f85250bde26ffbcc87d7" +checksum = "764d1ccbd8dcab0ab439d3024daa88f360730c9226a55af827696c933043ba5f" dependencies = [ "crossbeam-channel", ] [[package]] name = "ckb-constant" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84538dcfc160bf82de679025de8ba034cfe0f5aca26c37be4c7dcace57cdd143" +checksum = "86674aaa6bafbf7b276c6b5daeb2831a78ab2f3581a5c06ecce1ea0f66c7187c" [[package]] name = "ckb-crypto" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6bf4758a4ead6de3e6cdc6eda4354197e83976f50d01ac7a834cb9dd9ac667" +checksum = "6ad1f5f2cf38dcb74536079f6215ce858ebf383a1a48872e8792061c5b27dce8" dependencies = [ "ckb-fixed-hash", "faster-hex", @@ -552,9 +551,9 @@ dependencies = [ [[package]] name = "ckb-dao" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "546adca74721413a64bdea8f7af60cf528187731f4ffa35b6af4dbaa632333fd" +checksum = "fb58c063b0155c858ced36ab171645bfcd96d2e9db34171c2578d29fdea73035" dependencies = [ "byteorder", "ckb-chain-spec", @@ -565,9 +564,9 @@ dependencies = [ [[package]] name = "ckb-dao-utils" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3517a271c0ab337d2e3e4dc9cf868fc936e52fe7afc4598e2d940d601a10d361" +checksum = "931a1d2894abae60530bd9eed81aca34045c7690a61c307491cbd696ab8239f1" dependencies = [ "byteorder", "ckb-error", @@ -576,9 +575,9 @@ dependencies = [ [[package]] name = "ckb-db" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82bc2effbc8b1fcc7e86913e32a0fd793ba5df4a2227280383f9fb3837f502d5" +checksum = "883a4fc286f86f6ce481afdd662bd2bc9fed0416308f92c1559536f5b4de9d6b" dependencies = [ "ckb-app-config", "ckb-db-schema", @@ -590,9 +589,9 @@ dependencies = [ [[package]] name = "ckb-db-migration" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc7b0f8e806ea2c934c16428904b272c0c06b43ffbdfb2cb12d3b197d17828b" +checksum = "a1eed4af9ed2ec6897415e51d427eafc03780fa2750cf82c48a711032c5291fd" dependencies = [ "ckb-db", "ckb-db-schema", @@ -604,15 +603,15 @@ dependencies = [ [[package]] name = "ckb-db-schema" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c502cd3392eb7f91ecc3393615fe6baa5f5a72d3ef012eb982eb192af1e14ea" +checksum = "e71e72b02b83037daee4dd9a7af0b64aa237125cd6329d312e726630ac72beb1" [[package]] name = "ckb-error" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb50dd16603673f0da5d4f13ff5bbc63a34a120eb086f50031556e62a3edd06d" +checksum = "0d58be6e890d6b8c68b1a126b1476b228cb307ea2c39ec3cff7e68f7b27023e4" dependencies = [ "anyhow", "ckb-occupied-capacity", @@ -622,9 +621,9 @@ dependencies = [ [[package]] name = "ckb-fixed-hash" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "720f5b9bb4eb1a4b4f62cbe237ff896480e1ec41e910083f95ed419a5a864c9a" +checksum = "999568008a3c4ade53fb034daae13b22b0b16229c48b87679ddf8c7a0c766743" dependencies = [ "ckb-fixed-hash-core", "ckb-fixed-hash-macros", @@ -632,9 +631,9 @@ dependencies = [ [[package]] name = "ckb-fixed-hash-core" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de5631b7f013f05e0f2e1c2ad5e5ef5586d8b67bde9ab7b5a500236e5023039" +checksum = "5035bf7533976ffb1e70984ed8048733d12ba32f41edd32916870dea7eaec0b5" dependencies = [ "faster-hex", "serde", @@ -643,9 +642,9 @@ dependencies = [ [[package]] name = "ckb-fixed-hash-macros" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a3cb93f699648a5b0981b2da4a5d8e8c944f501adedb47b165d3fb92f357a2" +checksum = "dff2f25b239190314a7cbb463db17365f29a89ecb6978d0237e850fec270f578" dependencies = [ "ckb-fixed-hash-core", "proc-macro2", @@ -655,9 +654,9 @@ dependencies = [ [[package]] name = "ckb-freezer" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfd37a247dda259ae0d7a0d5d1af56ed49b2dfb6560bd728ba71272c19e6216a" +checksum = "e1c12a8f57462565331b52d6121ba9df3447f26b8122a93e799747fc7db440f5" dependencies = [ "ckb-error", "ckb-logger", @@ -672,9 +671,9 @@ dependencies = [ [[package]] name = "ckb-hash" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad33c4bee4f3a9494e81fa719602b6d440931b3ce35b8b87fb5789848807f05a" +checksum = "6dc5566890c8e2a43f87c3ee093c20321fdb3fb3081e0bc394c647ef718e0a0b" dependencies = [ "blake2b-ref", "blake2b-rs", @@ -682,9 +681,9 @@ dependencies = [ [[package]] name = "ckb-indexer" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7542cd9a3033e9b83a1a9492163261fd132d2546c41a4315f59d69fb7671cb" +checksum = "826bf6c2cf92f7a289809f8c014ecbf6bfe4d0b47692374adaf3d878afaf8982" dependencies = [ "ckb-app-config", "ckb-async-runtime", @@ -704,9 +703,9 @@ dependencies = [ [[package]] name = "ckb-jsonrpc-types" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c269efeced3e0aedd74cbd82f4216a050bec73034cbb765b0907f7482d33c84" +checksum = "7e9b05336ec8f108c5a2a926c83d1a8b1bae24563ed8440ff3c8e94708f4f2c7" dependencies = [ "ckb-types", "faster-hex", @@ -716,9 +715,9 @@ dependencies = [ [[package]] name = "ckb-launcher" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1b34d01e53e3e6b1d13d9285d9fa0e9c69929882a763aebf4cc5df55280403" +checksum = "d4fa8513d8d2917bb209995d95c245b362a76940e8a33b7f10db0fb183ad7a8e" dependencies = [ "ckb-app-config", "ckb-async-runtime", @@ -759,9 +758,9 @@ dependencies = [ [[package]] name = "ckb-librocksdb-sys" -version = "7.7.3" +version = "8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb64bb11f8d53b9abb526b7e9d3c5fb437a8101e4210d540d2bcee0d18055313" +checksum = "5d9bc1ea9ab886ecbf48bc4ade6d383ba56cf3da198b6a51620736daf74b683c" dependencies = [ "bindgen", "cc", @@ -823,9 +822,9 @@ dependencies = [ [[package]] name = "ckb-light-client-protocol-server" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51e4b790fe0b6d10a650cf951fdfaed6529a91179c361fbb55a878c5dd5f90e" +checksum = "392e17b7ec361caa30ef986f4cd08719abecad48dcf9e52411a2a74390676a25" dependencies = [ "ckb-logger", "ckb-merkle-mountain-range", @@ -838,27 +837,27 @@ dependencies = [ [[package]] name = "ckb-logger" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfe71eaf190c1fb2ee737edec709bbada170ab9795aa2d5e306235d58ce066e6" +checksum = "fba08d0db98d1f636ecb93260af14a15365ec42e4db68f9940a82e9d42f4d984" dependencies = [ "log", ] [[package]] name = "ckb-logger-config" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b7083128e766fd7cef625b5fc17962610fc42711e889d6127e17704d8b391c" +checksum = "61a51c7d36e04b8c1314c4ab414ec9f74bd939bdc44716483bde6f151b0d45e7" dependencies = [ "serde", ] [[package]] name = "ckb-logger-service" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c481f10f528428119f85e2fe53a5ee938a9bcb4a4ae66cb70a9976cf8ca038ef" +checksum = "623d2645bcb7452f5ac609a93d3042db3f6733cd0a12e26d190dcf1d045dee7b" dependencies = [ "backtrace", "ckb-channel", @@ -874,9 +873,9 @@ dependencies = [ [[package]] name = "ckb-memory-tracker" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4237dbc2e8adf5fa5957cacd2a28ec60038dc435f9dae67de63afe4e221fb0c5" +checksum = "b173196c81551a54c9b84c6c4814f0cc465786749b84e3f05f5c7411b03ecc9e" dependencies = [ "ckb-db", "ckb-logger", @@ -898,9 +897,9 @@ dependencies = [ [[package]] name = "ckb-metrics" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488f707a5fd28ad89ad48fe43c432d3acfc16008d9a29318ef5d08c03ca7d0a5" +checksum = "06bf52577eaf98fa8cc028f3614d28ce0e36bfe13b8f1d404d455e724bf6b227" dependencies = [ "once_cell", "prometheus", @@ -909,18 +908,18 @@ dependencies = [ [[package]] name = "ckb-metrics-config" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31faf8231dcb48cbda83e676f2869735affacc6b5ce3a2f5c70d1cd8735e50e5" +checksum = "088ff9a74b89269b5e7d08b95ec6137c793091687ad7d83b024e6a585a70c0fe" dependencies = [ "serde", ] [[package]] name = "ckb-migration-template" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e3239b43ab443722df9fa32e04098867d9571ee15f71f6e71a83ddfa2c5380" +checksum = "90903137fd995aa03fd999177ea2418d752f3e14b2a6482612ab363c44ea5735" dependencies = [ "quote", "syn", @@ -928,9 +927,9 @@ dependencies = [ [[package]] name = "ckb-multisig" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f494df6ec688b89ab560e53e525bca6a5d73138724fefed3e59a0e00c48f8f3" +checksum = "ab046a79e7f89c2d85cf0667f2a2ceb20fe282d6259a14a062f41715339bba90" dependencies = [ "ckb-crypto", "ckb-error", @@ -939,9 +938,9 @@ dependencies = [ [[package]] name = "ckb-network" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c2a9bf5dfff4156338b546b947ab07ffa1e18b8de8d2db1ea7a051f9c57f52" +checksum = "0468f0e732f8025898a1bed86bc924bb320226149080948521a3643731e6efc1" dependencies = [ "bitflags 1.3.2", "bloom-filters", @@ -968,9 +967,9 @@ dependencies = [ [[package]] name = "ckb-network-alert" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685a905dc307a013e3a8ff8b92859ea300cd37f876399704213d99d111454e34" +checksum = "e496a65e1d2ddf8ac67f7d8d3e4c22c28d2746cc92bcdf126cb58ea6e5887267" dependencies = [ "ckb-app-config", "ckb-error", @@ -988,9 +987,9 @@ dependencies = [ [[package]] name = "ckb-notify" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f8f4634a605861f998fac4e8475d3d6be656bc0f2e46f98f6877acc2ec9f9b" +checksum = "e38c3fb3fbe912b38765fb86c08e2ed66e57fa56e668dc01f54941a3f526f988" dependencies = [ "ckb-app-config", "ckb-async-runtime", @@ -1002,9 +1001,9 @@ dependencies = [ [[package]] name = "ckb-occupied-capacity" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1399a84907db0737f642e4b4882d7c31e1502ef108ce40728e16e9eb4ab3482a" +checksum = "00e960d041bb35dbc3dd382279d3b21787d543a5513184e2861249379c7fc8db" dependencies = [ "ckb-occupied-capacity-core", "ckb-occupied-capacity-macros", @@ -1012,18 +1011,18 @@ dependencies = [ [[package]] name = "ckb-occupied-capacity-core" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dfed4d080d1445c52521ff833c19fe384546d23e15d81c1fcb25a0bc1f723b" +checksum = "0d7de6492bfb72f0e28342f765dd73c8d54a799bf7ffee0f15515c162b20edae" dependencies = [ "serde", ] [[package]] name = "ckb-occupied-capacity-macros" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a57af10f13dd3506609d5e601986b4f89be7111b810481970810566423704" +checksum = "37c84bf32eddc68ae9b70b2d13577eb107572e7dce6b42126798e865bca5587a" dependencies = [ "ckb-occupied-capacity-core", "quote", @@ -1032,9 +1031,9 @@ dependencies = [ [[package]] name = "ckb-pow" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3f3f4c46a525253689246ac3b655bdf3e20f71ee9e916ca144fc0d0f26a2622" +checksum = "ecb43c6f62b574eb6f7e59caae8d3061846a96e72713dd373ed56a2e21c7326e" dependencies = [ "byteorder", "ckb-hash", @@ -1046,9 +1045,9 @@ dependencies = [ [[package]] name = "ckb-proposal-table" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a6f41e3a43e1fe7edbfbd5d20c06775ac7935df0e0d7c4829ae891fe1762358" +checksum = "aeaab932520512a6cc6039cf4d10f5bf4e359e2f7c72a5276bcc51a97d4de998" dependencies = [ "ckb-chain-spec", "ckb-logger", @@ -1057,9 +1056,9 @@ dependencies = [ [[package]] name = "ckb-rational" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff36c60c2bc58285448b28ca57d74b00d0aca57b103090c20632db2f64fc729a" +checksum = "190a827525739bc45ffe7cd672802d0c67848c5c647ae66fa24cb4f3a09fb951" dependencies = [ "numext-fixed-uint", "serde", @@ -1067,9 +1066,9 @@ dependencies = [ [[package]] name = "ckb-resource" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d506a464ca30f0a54389cdc3d7678dd3585273103474ee3bfe14d4b1b47d98" +checksum = "3a3c63fe7b27bc03c6eb08c11309f3d59de7620a1972f591e2f93989e3ef5806" dependencies = [ "ckb-system-scripts", "ckb-types", @@ -1082,9 +1081,9 @@ dependencies = [ [[package]] name = "ckb-reward-calculator" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08e431a3106c0358e0747dbd0f0740f113b2075079154dacc4a8f963782d85f5" +checksum = "a3cbdaf5337f2e45991c67edf99a95196380700a805a393252f992d040806152" dependencies = [ "ckb-chain-spec", "ckb-dao", @@ -1096,9 +1095,9 @@ dependencies = [ [[package]] name = "ckb-rocksdb" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9d412caf8a7fe9080bf2c66209e1b6d9aab336c417b336adde47e184c78c41" +checksum = "c2331a8580072e2991e77277d2c3e999c8df0d00b16188a77e561e45a4597769" dependencies = [ "ckb-librocksdb-sys", "libc", @@ -1107,9 +1106,9 @@ dependencies = [ [[package]] name = "ckb-rpc" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602c2e1939292c1761f19e806c38b9d0dd029aabec09281475a33e7761e123bc" +checksum = "b307fc9d424c34c66d6b248ebc828db29d7c0e98fda4d1064564ac42e697cea1" dependencies = [ "ckb-app-config", "ckb-chain", @@ -1151,18 +1150,18 @@ dependencies = [ [[package]] name = "ckb-rust-unstable-port" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e769e49d58d0ac75ebb27d5f5ad4d87fe3f100859c4996e40258217622f5f13" +checksum = "6d0150d02d54c5753b9d1c11c0bd0843747b3a1086d487a83f58dcb0ff823559" dependencies = [ "is_sorted", ] [[package]] name = "ckb-script" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "432c916f310b8dba0251fa7dfceeb512a59cc69528a931389446eea98c65ba10" +checksum = "eb09cac8d0c7f7e9c4b29dea60a5cc0f445329096520a6ca08bb3df257a7a3af" dependencies = [ "byteorder", "ckb-chain-spec", @@ -1178,9 +1177,9 @@ dependencies = [ [[package]] name = "ckb-shared" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0fa31e7d9ec9b427371000099aad8c3848a723a549f1a91513be473a29bb85" +checksum = "b3837150734b376c4be477960a5ec1fa1564b10efb513afb216507103193de1e" dependencies = [ "arc-swap", "ckb-async-runtime", @@ -1204,9 +1203,9 @@ dependencies = [ [[package]] name = "ckb-snapshot" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a31e461aae67f5db30c836abd83725230274a605224eb5de54839fe595cef5e" +checksum = "7d6fc23071a4f9207de4394f8898bb959fdba5e7f8fac53ccda172836e442ad5" dependencies = [ "arc-swap", "ckb-chain-spec", @@ -1222,15 +1221,15 @@ dependencies = [ [[package]] name = "ckb-spawn" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd32e4c4184c28512e288fd0c0b0adf80d2883b515b2707bc67d12bf999d7051" +checksum = "5c63cfe988d3894b01938b6d71e52f27078f8447137a2cf515044b2943789114" [[package]] name = "ckb-stop-handler" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecffe3a31c34cace5f8d53c13cbc55777072619b23834375e41b2e96de6f9361" +checksum = "cbe52648658956c86653ecf94ae92cd8af4c04bec6412e67a46d61bcde09d0ff" dependencies = [ "ckb-channel", "ckb-logger", @@ -1240,9 +1239,9 @@ dependencies = [ [[package]] name = "ckb-store" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd77d4e027e3a9e88b2c5abb8ac5ea94153894fd257ed377aec8122a8fcb34f1" +checksum = "ad7e69f8ad401a32b024adbe0ad8a4ae9295f3ae894c9dd281cb962ce2e4c699" dependencies = [ "ckb-app-config", "ckb-chain-spec", @@ -1259,9 +1258,9 @@ dependencies = [ [[package]] name = "ckb-sync" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae5256c0c859aca11cb9733c11ef90ffd280fb3acf98fdabd254889e6c66b33a" +checksum = "cfb49626894d1866a5b4427a94a70e0508d322342b4d0cd26c00f29cfff825da" dependencies = [ "bitflags 1.3.2", "ckb-app-config", @@ -1287,7 +1286,6 @@ dependencies = [ "dashmap 4.0.2", "futures", "governor", - "itertools", "keyed_priority_queue", "lru", "sled", @@ -1310,24 +1308,24 @@ dependencies = [ [[package]] name = "ckb-systemtime" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d8657035892630396f6495c938d6175ce520035416488e180c8fc3a46b89432" +checksum = "23ed5bd38515eb15c2ab9657ef736f169d2588d5e2988e1f3f87b0beabe06ecf" [[package]] name = "ckb-traits" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "580ca7547cafbe61a7a17ca6731b536356544aa4babc31be7d966e2880bdbcf1" +checksum = "e61bc797d736c06de7090f35c144a98acb351d5f713ec4ad84177f388ede8740" dependencies = [ "ckb-types", ] [[package]] name = "ckb-tx-pool" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f1a27a4a0859ec533677a0565b4b822329412fa6939fc2c378f1c493139345" +checksum = "ceabfd1ca5ed0aaaeb4dbf666acdcfc1443ed4c5aa7ddcfa231571ec875a6b01" dependencies = [ "ckb-app-config", "ckb-async-runtime", @@ -1350,20 +1348,24 @@ dependencies = [ "ckb-verification", "hyper", "lru", + "multi_index_map", "rand 0.8.5", + "rustc-hash", "serde_json", + "slab", "tokio", ] [[package]] name = "ckb-types" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f069948b0b67ac9860262f6b701bf15ccdf54d2eb1cbbd9c3d9449fd8cf54d96" +checksum = "f805202ac80736928b61d1d7fd9e71b3fecf6b08ce3ce3571dd47faaefd3ec20" dependencies = [ "bit-vec", "bytes 1.1.0", "ckb-channel", + "ckb-constant", "ckb-error", "ckb-fixed-hash", "ckb-hash", @@ -1376,13 +1378,14 @@ dependencies = [ "molecule", "numext-fixed-uint", "once_cell", + "paste", ] [[package]] name = "ckb-util" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964095273cdc12e1c95af90e33d74f3f9af09d73ae7612efd481206dba74a6ba" +checksum = "842c927ba2bea1bbca88476ec09ada66eea153e2e77fc613bb72b1b95fae5192" dependencies = [ "linked-hash-map", "once_cell", @@ -1392,9 +1395,9 @@ dependencies = [ [[package]] name = "ckb-verification" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56918a73191b510d4e92439e5772d48125f3e9b0b7d863c62ba4b8519c2743b1" +checksum = "e54491e0e88de476593159c4459ba1ada1caf1d54f2810e0824418335867a6f0" dependencies = [ "ckb-chain-spec", "ckb-dao", @@ -1412,9 +1415,9 @@ dependencies = [ [[package]] name = "ckb-verification-contextual" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755951d5048285bbfbf1d74ec71858784bb7be51680faa51b7e54b6d741f5293" +checksum = "630e46db7116d95f6d397939a5e998e61331faafe8350c44cb4098e1e5559f6c" dependencies = [ "ckb-async-runtime", "ckb-chain-spec", @@ -1436,9 +1439,9 @@ dependencies = [ [[package]] name = "ckb-verification-traits" -version = "0.110.2" +version = "0.111.0-rc8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a61d67b984ecb00c2df26c424ca35b09f28767f7a91d0c7bb9f51054bafcbfd0" +checksum = "7055f47746d86efec4e8589f3fea6d29898e6db0298cbe729d51e8bda102ea5b" dependencies = [ "bitflags 1.3.2", "ckb-error", @@ -1446,9 +1449,9 @@ dependencies = [ [[package]] name = "ckb-vm" -version = "0.23.2" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fee7eb8d6525a0d3a4f113414c1b51dd3aaf75ef7b54fe7ce306e545c87cdd" +checksum = "d77a1ce8d1ed8b18041d194ffe0d647c3a707af9347f49b5f543317c73943634" dependencies = [ "byteorder", "bytes 1.1.0", @@ -1464,9 +1467,9 @@ dependencies = [ [[package]] name = "ckb-vm-definitions" -version = "0.23.2" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9403cda7180a8203facf05e96537f0038d188b2efdcef13c84538bfbdfcbcbf" +checksum = "328c7a6b5664483d5c02fae7b0ada0c407660e7064b2f1505ee6f5d07a4dbf2b" [[package]] name = "clang-sys" @@ -1557,6 +1560,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cpufeatures" version = "0.2.2" @@ -1688,7 +1700,7 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", + "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version", @@ -2379,9 +2391,9 @@ checksum = "357376465c37db3372ef6a00585d336ed3d0f11d4345eef77ebcb05865392b21" [[package]] name = "itertools" -version = "0.11.0" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] @@ -2706,15 +2718,30 @@ dependencies = [ [[package]] name = "molecule" -version = "0.7.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc8276c02a006bddad7d1c28c1a88f30421e1b5f0ba0ca96ceb8077c7d20c01" +checksum = "d4fd9767ab5e5f2ea40f71ff4c8bdb633c50509052e093c2fdd0e390a749dfa3" dependencies = [ "bytes 1.1.0", "cfg-if 1.0.0", "faster-hex", ] +[[package]] +name = "multi_index_map" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a58eea8dbf91e7420e0e843535f585491046d6017e669d36cb8342cfa4861e2" +dependencies = [ + "convert_case 0.6.0", + "proc-macro-error", + "proc-macro2", + "quote", + "rustc-hash", + "slab", + "syn", +] + [[package]] name = "net2" version = "0.2.37" @@ -3102,6 +3129,30 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.51" @@ -4116,6 +4167,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + [[package]] name = "unicode-width" version = "0.1.9" diff --git a/Cargo.toml b/Cargo.toml index fa1e2e3..84635f6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,23 +9,23 @@ homepage = "https://github.com/nervosnetwork/ckb-light-client" repository = "https://github.com/nervosnetwork/ckb-light-client" [dependencies] -ckb-app-config = "0.110.2" -ckb-async-runtime = "0.110.2" -ckb-constant = "0.110.2" -ckb-types = "0.110.2" -ckb-network = "0.110.2" -ckb-jsonrpc-types = "0.110.2" -ckb-error = "0.110.2" -ckb-script = "0.110.2" -ckb-chain-spec = "0.110.2" -ckb-traits = "0.110.2" -ckb-resource = "0.110.2" -ckb-verification = "0.110.2" -ckb-systemtime = "0.110.2" -ckb-hash = "0.110.2" +ckb-app-config = "=0.111.0-rc8" +ckb-async-runtime = "=0.111.0-rc8" +ckb-constant = "=0.111.0-rc8" +ckb-types = "=0.111.0-rc8" +ckb-network = "=0.111.0-rc8" +ckb-jsonrpc-types = "=0.111.0-rc8" +ckb-error = "=0.111.0-rc8" +ckb-script = "=0.111.0-rc8" +ckb-chain-spec = "=0.111.0-rc8" +ckb-traits = "=0.111.0-rc8" +ckb-resource = "=0.111.0-rc8" +ckb-verification = "=0.111.0-rc8" +ckb-systemtime = "=0.111.0-rc8" +ckb-hash = "=0.111.0-rc8" ckb-merkle-mountain-range = "0.5.1" golomb-coded-set = "0.2.0" -rocksdb = { package = "ckb-rocksdb", version ="=0.19.0", features = ["snappy"], default-features = false } +rocksdb = { package = "ckb-rocksdb", version ="=0.20.0", features = ["snappy"], default-features = false } numext-fixed-uint = { version = "0.1", features = ["support_rand", "support_heapsize", "support_serde"] } anyhow = "1.0.56" thiserror = "1.0.30" @@ -45,11 +45,11 @@ jsonrpc-http-server = "18.0" jsonrpc-server-utils = "18.0" [dev-dependencies] -ckb-launcher = "0.110.2" -ckb-shared = "0.110.2" -ckb-chain = "0.110.2" -ckb-tx-pool = "0.110.2" -ckb-store = "0.110.2" +ckb-launcher = "=0.111.0-rc8" +ckb-shared = "=0.111.0-rc8" +ckb-chain = "=0.111.0-rc8" +ckb-tx-pool = "=0.111.0-rc8" +ckb-store = "=0.111.0-rc8" tempfile = "3.0" rand = "0.6" serde_json = "1.0" diff --git a/src/service.rs b/src/service.rs index e0e6219..42f2321 100644 --- a/src/service.rs +++ b/src/service.rs @@ -382,7 +382,7 @@ pub struct BlockFilterRpcImpl { pub struct TransactionRpcImpl { pub(crate) pending_txs: Arc>, pub(crate) swc: StorageWithChainData, - pub(crate) consensus: Consensus, + pub(crate) consensus: Arc, } pub struct ChainRpcImpl { @@ -1171,7 +1171,7 @@ impl TransactionRpc for TransactionRpcImpl { fn send_transaction(&self, tx: Transaction) -> Result { let tx: packed::Transaction = tx.into(); let tx = tx.into_view(); - let cycles = verify_tx(tx.clone(), &self.swc, &self.consensus) + let cycles = verify_tx(tx.clone(), &self.swc, Arc::clone(&self.consensus)) .map_err(|e| Error::invalid_params(format!("invalid transaction: {:?}", e)))?; self.pending_txs .write() @@ -1325,7 +1325,7 @@ impl Service { let transaction_rpc_impl = TransactionRpcImpl { pending_txs, swc, - consensus, + consensus: Arc::new(consensus), }; let net_rpc_impl = NetRpcImpl { network_controller, diff --git a/src/storage.rs b/src/storage.rs index 453f053..19c1afb 100644 --- a/src/storage.rs +++ b/src/storage.rs @@ -5,7 +5,9 @@ use std::{ sync::Arc, }; -use ckb_traits::{CellDataProvider, HeaderProvider}; +use ckb_traits::{ + CellDataProvider, ExtensionProvider, HeaderFields, HeaderFieldsProvider, HeaderProvider, +}; use ckb_types::{ bytes::Bytes, core::{ @@ -1136,6 +1138,18 @@ impl HeaderProvider for StorageWithChainData { } } +impl HeaderFieldsProvider for StorageWithChainData { + fn get_header_fields(&self, hash: &Byte32) -> Option { + self.get_header(hash).map(|header| HeaderFields { + hash: header.hash(), + number: header.number(), + epoch: header.epoch(), + timestamp: header.timestamp(), + parent_hash: header.parent_hash(), + }) + } +} + impl CellDataProvider for StorageWithChainData { fn get_cell_data(&self, out_point: &OutPoint) -> Option { self.storage.get_cell_data(out_point) @@ -1152,6 +1166,12 @@ impl CellProvider for StorageWithChainData { } } +impl ExtensionProvider for StorageWithChainData { + fn get_block_extension(&self, _hash: &Byte32) -> Option { + todo!("New feature in CKB2023, introduced from \"RFC 0050: VM Syscalls 3\"") + } +} + pub struct Batch { db: Arc, wb: WriteBatch, diff --git a/src/tests/service.rs b/src/tests/service.rs index f8d9e4a..2217adb 100644 --- a/src/tests/service.rs +++ b/src/tests/service.rs @@ -935,7 +935,7 @@ fn rpc() { let rpc = TransactionRpcImpl { pending_txs: Arc::new(RwLock::new(PendingTxs::new(10))), swc, - consensus: Consensus::default(), + consensus: Arc::new(Consensus::default()), }; let fetched_txs: Vec = [h256!("0xbb11"), h256!("0xbb77"), h256!("0xbb88")] .into_iter() diff --git a/src/tests/specs/dummy_pow.toml b/src/tests/specs/dummy_pow.toml index ea2a25f..cf2c948 100644 --- a/src/tests/specs/dummy_pow.toml +++ b/src/tests/specs/dummy_pow.toml @@ -90,20 +90,15 @@ secondary_epoch_reward = 613_698_63013698 max_block_cycles = 10_000_000_000 cellbase_maturity = 0 primary_epoch_reward_halving_interval = 8760 -epoch_duration_target = 14400 +epoch_duration_target = 80 genesis_epoch_length = 10 # For development and testing purposes only. # Keep difficulty be permanent if the pow is Dummy. (default: false) permanent_difficulty_in_dummy = true [params.hardfork] -rfc_0028 = 0 -rfc_0029 = 0 -rfc_0030 = 0 -rfc_0031 = 0 -rfc_0032 = 0 -rfc_0036 = 0 -rfc_0038 = 0 +# TODO Enable CKB2023 later. +ckb2023 = 4294967296 # 2^32 [pow] func = "Dummy" diff --git a/src/tests/utils/network_context.rs b/src/tests/utils/network_context.rs index 6f2a819..31ee220 100644 --- a/src/tests/utils/network_context.rs +++ b/src/tests/utils/network_context.rs @@ -223,4 +223,8 @@ impl CKBProtocolContext for MockProtocolContext { fn protocol_id(&self) -> ProtocolId { self.protocol.protocol_id() } + + fn ckb2023(&self) -> bool { + unimplemented!(); + } } diff --git a/src/tests/verify.rs b/src/tests/verify.rs index 4dcebf8..e87129a 100644 --- a/src/tests/verify.rs +++ b/src/tests/verify.rs @@ -1,3 +1,5 @@ +use std::sync::Arc; + use ckb_jsonrpc_types::{Block, Script, Transaction}; use ckb_types::packed; @@ -11,7 +13,7 @@ use crate::{ fn verify_valid_transaction() { let chain = MockChain::new_with_default_pow("verify_valid_transaction"); let storage = chain.client_storage(); - let consensus = chain.consensus(); + let consensus = Arc::new(chain.consensus().clone()); // https://pudge.explorer.nervos.org/address/ckt1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsq0l2z2v9305wm7rs5gqrpsf507ey8wj3tggtl4sj let script: packed::Script = serde_json::from_str::