diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b474a0a3d..e491cf202 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,6 +42,8 @@ build:
variables:
DOCKER_HUB_PARACHAIN: "kiltprotocol/kilt-node"
DOCKER_HUB_STANDALONE: "kiltprotocol/standalone-node"
+ DOCKER_HUB_DIP_PROVIDER_TEMPLATE: "kiltprotocol/dip-provider-node-template"
+ DOCKER_HUB_DIP_CONSUMER_TEMPLATE: "kiltprotocol/dip-consumer-node-template"
before_script:
- aws --version
- docker --version
diff --git a/.maintain/build-image.sh b/.maintain/build-image.sh
index 222248273..b179b7928 100755
--- a/.maintain/build-image.sh
+++ b/.maintain/build-image.sh
@@ -22,3 +22,19 @@ docker build \
--build-arg NODE_TYPE=standalone-node \
-t local/standalone-node:$target_tag \
.
+
+# build DIP provider and consumer templates
+PROVIDER_BIN_NAME="dip-provider-node-template"
+docker build \
+ --cache-from $AWS_REGISTRY/kilt-parachain/collator:builder \
+ --cache-from $AWS_REGISTRY/$PROVIDER_BIN_NAME:$target_tag \
+ --build-arg NODE_TYPE=$PROVIDER_BIN_NAME \
+ -t local/$PROVIDER_BIN_NAME:$target_tag \
+ .
+CONSUMER_BIN_NAME="dip-consumer-node-template"
+docker build \
+ --cache-from $AWS_REGISTRY/kilt-parachain/collator:builder \
+ --cache-from $AWS_REGISTRY/$CONSUMER_BIN_NAME:$target_tag \
+ --build-arg NODE_TYPE=$CONSUMER_BIN_NAME \
+ -t local/$CONSUMER_BIN_NAME:$target_tag \
+ .
diff --git a/.maintain/push-image.sh b/.maintain/push-image.sh
index 4bb38e5e8..ba46da0ea 100755
--- a/.maintain/push-image.sh
+++ b/.maintain/push-image.sh
@@ -3,16 +3,27 @@
source_tag=$1
target_tag=$2
+PROVIDER_BIN_NAME="dip-provider-node-template"
+CONSUMER_BIN_NAME="dip-consumer-node-template"
+
# publish to docker hub
docker tag local/standalone-node:$source_tag ${DOCKER_HUB_STANDALONE}:$target_tag
docker tag local/kilt-node:$source_tag ${DOCKER_HUB_PARACHAIN}:$target_tag
+docker tag local/$PROVIDER_BIN_NAME:$source_tag ${DOCKER_HUB_DIP_PROVIDER_TEMPLATE}:$target_tag
+docker tag local/$CONSUMER_BIN_NAME:$source_tag ${DOCKER_HUB_DIP_CONSUMER_TEMPLATE}:$target_tag
docker push ${DOCKER_HUB_STANDALONE}:$target_tag
docker push ${DOCKER_HUB_PARACHAIN}:$target_tag
+docker push ${DOCKER_HUB_DIP_PROVIDER_TEMPLATE}:$target_tag
+docker push ${DOCKER_HUB_DIP_CONSUMER_TEMPLATE}:$target_tag
# publish to AWS
docker tag local/standalone-node:$source_tag $AWS_REGISTRY/kilt/prototype-chain:$target_tag
docker tag local/kilt-node:$source_tag $AWS_REGISTRY/kilt-parachain/collator:$target_tag
+docker tag local/$PROVIDER_BIN_NAME:$source_tag $AWS_REGISTRY/$PROVIDER_BIN_NAME:$target_tag
+docker tag local/$CONSUMER_BIN_NAME:$source_tag $AWS_REGISTRY/$CONSUMER_BIN_NAME:$target_tag
docker push $AWS_REGISTRY/kilt/prototype-chain:$target_tag
docker push $AWS_REGISTRY/kilt-parachain/collator:$target_tag
+docker push $AWS_REGISTRY/$PROVIDER_BIN_NAME:$target_tag
+docker push $AWS_REGISTRY/$CONSUMER_BIN_NAME:$target_tag
diff --git a/Cargo.lock b/Cargo.lock
index 9d87fcf32..d0dd8e894 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -149,25 +149,26 @@ dependencies = [
[[package]]
name = "ahash"
-version = "0.7.6"
+version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
dependencies = [
- "getrandom 0.2.10",
+ "getrandom 0.2.11",
"once_cell",
"version_check",
]
[[package]]
name = "ahash"
-version = "0.8.3"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
dependencies = [
"cfg-if",
- "getrandom 0.2.10",
+ "getrandom 0.2.11",
"once_cell",
"version_check",
+ "zerocopy",
]
[[package]]
@@ -280,9 +281,9 @@ checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
[[package]]
name = "array-bytes"
-version = "6.1.0"
+version = "6.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b1c5a481ec30a5abd8dfbd94ab5cf1bb4e9a66be7f1b3b322f2f1170c200fd"
+checksum = "de17a919934ad8c5cc99a1a74de4e2dab95d6121a8f27f94755ff525b630382c"
[[package]]
name = "arrayref"
@@ -382,28 +383,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
dependencies = [
"concurrent-queue",
- "event-listener",
+ "event-listener 2.5.3",
"futures-core",
]
[[package]]
name = "async-io"
-version = "1.13.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
+checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997"
dependencies = [
- "async-lock",
- "autocfg",
+ "async-lock 3.1.1",
"cfg-if",
"concurrent-queue",
+ "futures-io",
"futures-lite",
- "log",
"parking",
"polling",
- "rustix 0.37.24",
+ "rustix 0.38.25",
"slab",
- "socket2 0.4.9",
+ "tracing",
"waker-fn",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -412,7 +413,18 @@ version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "655b9c7fe787d3b25cc0f804a1a8401790f0c5bc395beb5a64dc77d8de079105"
+dependencies = [
+ "event-listener 3.1.0",
+ "event-listener-strategy",
+ "pin-project-lite 0.2.13",
]
[[package]]
@@ -423,18 +435,18 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "async-trait"
-version = "0.1.73"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -541,9 +553,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "base64"
-version = "0.21.4"
+version = "0.21.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
[[package]]
name = "base64ct"
@@ -596,7 +608,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -607,9 +619,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.4.0"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
[[package]]
name = "bitvec"
@@ -751,9 +763,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
[[package]]
name = "bstr"
-version = "1.7.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019"
+checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
dependencies = [
"memchr",
"serde",
@@ -826,9 +838,9 @@ dependencies = [
[[package]]
name = "cargo-platform"
-version = "0.1.4"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36"
+checksum = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff"
dependencies = [
"serde",
]
@@ -900,25 +912,24 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
[[package]]
name = "chacha20"
-version = "0.8.2"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6"
+checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
dependencies = [
"cfg-if",
- "cipher 0.3.0",
+ "cipher 0.4.4",
"cpufeatures",
- "zeroize",
]
[[package]]
name = "chacha20poly1305"
-version = "0.9.1"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5"
+checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
dependencies = [
- "aead 0.4.3",
+ "aead 0.5.2",
"chacha20",
- "cipher 0.3.0",
+ "cipher 0.4.4",
"poly1305",
"zeroize",
]
@@ -976,6 +987,7 @@ checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
"crypto-common",
"inout",
+ "zeroize",
]
[[package]]
@@ -1000,9 +1012,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.4.6"
+version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
+checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
dependencies = [
"clap_builder",
"clap_derive",
@@ -1010,9 +1022,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.4.6"
+version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
+checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
dependencies = [
"anstream",
"anstyle",
@@ -1022,27 +1034,27 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.4.2"
+version = "4.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "clap_lex"
-version = "0.5.1"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
[[package]]
name = "coarsetime"
-version = "0.1.29"
+version = "0.1.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a73ef0d00d14301df35d0f13f5ea32344de6b00837485c358458f1e7f2d27db4"
+checksum = "71367d3385c716342014ad17e3d19f7788ae514885a1f4c24f500260fb365e1a"
dependencies = [
"libc",
"once_cell",
@@ -1068,12 +1080,12 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "comfy-table"
-version = "7.0.1"
+version = "7.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b"
+checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686"
dependencies = [
- "strum",
- "strum_macros",
+ "strum 0.25.0",
+ "strum_macros 0.25.3",
"unicode-width",
]
@@ -1113,23 +1125,21 @@ checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
[[package]]
name = "const-random"
-version = "0.1.15"
+version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e"
+checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a"
dependencies = [
"const-random-macro",
- "proc-macro-hack",
]
[[package]]
name = "const-random-macro"
-version = "0.1.15"
+version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb"
+checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
dependencies = [
- "getrandom 0.2.10",
+ "getrandom 0.2.11",
"once_cell",
- "proc-macro-hack",
"tiny-keccak",
]
@@ -1191,9 +1201,9 @@ dependencies = [
[[package]]
name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
dependencies = [
"libc",
]
@@ -1307,9 +1317,9 @@ dependencies = [
[[package]]
name = "crc-catalog"
-version = "2.2.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
name = "crc32fast"
@@ -1383,9 +1393,9 @@ dependencies = [
[[package]]
name = "crypto-bigint"
-version = "0.5.3"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
dependencies = [
"generic-array 0.14.7",
"rand_core 0.6.4",
@@ -1737,7 +1747,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2044,20 +2054,20 @@ dependencies = [
[[package]]
name = "curve25519-dalek-derive"
-version = "0.1.0"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "cxx"
-version = "1.0.108"
+version = "1.0.110"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "292b4841d939b20ba44fff686a35808b0ab31a3256e3629917d9aedd43eb7b3a"
+checksum = "7129e341034ecb940c9072817cd9007974ea696844fc4dd582dc1653a7fbe2e8"
dependencies = [
"cc",
"cxxbridge-flags",
@@ -2067,9 +2077,9 @@ dependencies = [
[[package]]
name = "cxx-build"
-version = "1.0.108"
+version = "1.0.110"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e7e35cf85fd4e90dcaba251f3ee95e08fb6f9d66e5c0588816f16a6ab939b40"
+checksum = "a2a24f3f5f8eed71936f21e570436f024f5c2e25628f7496aa7ccd03b90109d5"
dependencies = [
"cc",
"codespan-reporting",
@@ -2077,24 +2087,24 @@ dependencies = [
"proc-macro2",
"quote",
"scratch",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "cxxbridge-flags"
-version = "1.0.108"
+version = "1.0.110"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7030aff1908ba2b7eb639466df50792b2a3fdf02bea9557c4ee1a531975554b"
+checksum = "06fdd177fc61050d63f67f5bd6351fac6ab5526694ea8e359cd9cd3b75857f44"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.108"
+version = "1.0.110"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79418ecb0c2322a7926a5fa5a9660535432b5b3588b947e1eb484cc509edbe3c"
+checksum = "587663dd5fb3d10932c8aecfe7c844db1bcf0aee93eeab08fac13dc1212c2e7f"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2134,15 +2144,15 @@ dependencies = [
[[package]]
name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
[[package]]
name = "data-encoding-macro"
-version = "0.1.13"
+version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99"
+checksum = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e"
dependencies = [
"data-encoding",
"data-encoding-macro-internal",
@@ -2150,9 +2160,9 @@ dependencies = [
[[package]]
name = "data-encoding-macro-internal"
-version = "0.1.11"
+version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fdf3fce3ce863539ec1d7fd1b6dcc3c645663376b43ed376bbf887733e4f772"
+checksum = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3"
dependencies = [
"data-encoding",
"syn 1.0.109",
@@ -2232,9 +2242,12 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+dependencies = [
+ "powerfmt",
+]
[[package]]
name = "derivative"
@@ -2307,7 +2320,7 @@ name = "did"
version = "1.12.0-dev"
dependencies = [
"ctype",
- "env_logger 0.10.0",
+ "env_logger 0.10.1",
"fluent-uri",
"frame-benchmarking",
"frame-support",
@@ -2361,6 +2374,220 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "dip-consumer-node-template"
+version = "1.12.0-dev"
+dependencies = [
+ "clap",
+ "cumulus-client-cli",
+ "cumulus-client-consensus-aura",
+ "cumulus-client-consensus-common",
+ "cumulus-client-service",
+ "cumulus-primitives-core",
+ "cumulus-primitives-parachain-inherent",
+ "cumulus-relay-chain-interface",
+ "dip-consumer-runtime-template",
+ "frame-benchmarking",
+ "frame-benchmarking-cli",
+ "futures",
+ "jsonrpsee",
+ "log",
+ "pallet-transaction-payment-rpc",
+ "parity-scale-codec",
+ "polkadot-cli",
+ "polkadot-primitives",
+ "sc-basic-authorship",
+ "sc-chain-spec",
+ "sc-cli",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-executor",
+ "sc-network",
+ "sc-network-sync",
+ "sc-offchain",
+ "sc-rpc-api",
+ "sc-service",
+ "sc-sysinfo",
+ "sc-telemetry",
+ "sc-tracing",
+ "sc-transaction-pool",
+ "sc-transaction-pool-api",
+ "serde",
+ "sp-api",
+ "sp-block-builder",
+ "sp-blockchain",
+ "sp-consensus-aura",
+ "sp-core",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-timestamp",
+ "substrate-build-script-utils",
+ "substrate-frame-rpc-system",
+ "substrate-prometheus-endpoint",
+]
+
+[[package]]
+name = "dip-consumer-runtime-template"
+version = "1.12.0-dev"
+dependencies = [
+ "cumulus-pallet-aura-ext",
+ "cumulus-pallet-dmp-queue",
+ "cumulus-pallet-parachain-system",
+ "cumulus-primitives-core",
+ "cumulus-primitives-timestamp",
+ "cumulus-primitives-utility",
+ "did",
+ "dip-provider-runtime-template",
+ "frame-benchmarking",
+ "frame-executive",
+ "frame-support",
+ "frame-system",
+ "frame-system-benchmarking",
+ "frame-system-rpc-runtime-api",
+ "hex-literal 0.3.4",
+ "kilt-dip-primitives",
+ "pallet-aura",
+ "pallet-authorship",
+ "pallet-balances",
+ "pallet-collator-selection",
+ "pallet-did-lookup",
+ "pallet-dip-consumer",
+ "pallet-postit",
+ "pallet-relay-store",
+ "pallet-session",
+ "pallet-sudo",
+ "pallet-timestamp",
+ "pallet-transaction-payment",
+ "pallet-transaction-payment-rpc-runtime-api",
+ "pallet-utility",
+ "parachain-info",
+ "parity-scale-codec",
+ "polkadot-parachain",
+ "runtime-common",
+ "scale-info",
+ "sp-api",
+ "sp-block-builder",
+ "sp-consensus-aura",
+ "sp-core",
+ "sp-inherents",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-session",
+ "sp-std",
+ "sp-transaction-pool",
+ "sp-version",
+ "sp-weights",
+ "substrate-wasm-builder",
+]
+
+[[package]]
+name = "dip-provider-node-template"
+version = "1.12.0-dev"
+dependencies = [
+ "clap",
+ "cumulus-client-cli",
+ "cumulus-client-consensus-aura",
+ "cumulus-client-consensus-common",
+ "cumulus-client-service",
+ "cumulus-primitives-core",
+ "cumulus-primitives-parachain-inherent",
+ "cumulus-relay-chain-interface",
+ "dip-provider-runtime-template",
+ "frame-benchmarking",
+ "frame-benchmarking-cli",
+ "futures",
+ "jsonrpsee",
+ "log",
+ "pallet-transaction-payment-rpc",
+ "parity-scale-codec",
+ "polkadot-cli",
+ "polkadot-primitives",
+ "sc-basic-authorship",
+ "sc-chain-spec",
+ "sc-cli",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-executor",
+ "sc-network",
+ "sc-network-sync",
+ "sc-offchain",
+ "sc-rpc-api",
+ "sc-service",
+ "sc-sysinfo",
+ "sc-telemetry",
+ "sc-tracing",
+ "sc-transaction-pool",
+ "sc-transaction-pool-api",
+ "serde",
+ "sp-api",
+ "sp-block-builder",
+ "sp-blockchain",
+ "sp-consensus-aura",
+ "sp-core",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-timestamp",
+ "substrate-build-script-utils",
+ "substrate-frame-rpc-system",
+ "substrate-prometheus-endpoint",
+]
+
+[[package]]
+name = "dip-provider-runtime-template"
+version = "1.12.0-dev"
+dependencies = [
+ "cumulus-pallet-aura-ext",
+ "cumulus-pallet-dmp-queue",
+ "cumulus-pallet-parachain-system",
+ "cumulus-primitives-core",
+ "cumulus-primitives-timestamp",
+ "cumulus-primitives-utility",
+ "did",
+ "frame-benchmarking",
+ "frame-executive",
+ "frame-support",
+ "frame-system",
+ "frame-system-benchmarking",
+ "frame-system-rpc-runtime-api",
+ "hex-literal 0.3.4",
+ "kilt-dip-primitives",
+ "kilt-runtime-api-did",
+ "kilt-runtime-api-dip-provider",
+ "kilt-support",
+ "log",
+ "pallet-aura",
+ "pallet-authorship",
+ "pallet-balances",
+ "pallet-collator-selection",
+ "pallet-deposit-storage",
+ "pallet-did-lookup",
+ "pallet-dip-provider",
+ "pallet-session",
+ "pallet-sudo",
+ "pallet-timestamp",
+ "pallet-transaction-payment",
+ "pallet-transaction-payment-rpc-runtime-api",
+ "pallet-utility",
+ "pallet-web3-names",
+ "parachain-info",
+ "parity-scale-codec",
+ "runtime-common",
+ "scale-info",
+ "sp-api",
+ "sp-block-builder",
+ "sp-consensus-aura",
+ "sp-core",
+ "sp-inherents",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-session",
+ "sp-std",
+ "sp-transaction-pool",
+ "sp-version",
+ "sp-weights",
+ "substrate-wasm-builder",
+]
+
[[package]]
name = "directories"
version = "4.0.1"
@@ -2410,7 +2637,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2434,7 +2661,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
- "syn 2.0.38",
+ "syn 2.0.39",
"termcolor",
"walkdir",
]
@@ -2474,9 +2701,9 @@ dependencies = [
[[package]]
name = "dyn-clone"
-version = "1.0.14"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23d2f3407d9a573d666de4b5bdf10569d73ca9478087346697dcbae6244bfbcd"
+checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
[[package]]
name = "ecdsa"
@@ -2492,15 +2719,15 @@ dependencies = [
[[package]]
name = "ecdsa"
-version = "0.16.8"
+version = "0.16.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
+checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
dependencies = [
"der 0.7.8",
"digest 0.10.7",
- "elliptic-curve 0.13.6",
+ "elliptic-curve 0.13.8",
"rfc6979 0.4.0",
- "signature 2.1.0",
+ "signature 2.2.0",
"spki 0.7.2",
]
@@ -2515,12 +2742,12 @@ dependencies = [
[[package]]
name = "ed25519"
-version = "2.2.2"
+version = "2.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
dependencies = [
"pkcs8 0.10.2",
- "signature 2.1.0",
+ "signature 2.2.0",
]
[[package]]
@@ -2537,15 +2764,16 @@ dependencies = [
[[package]]
name = "ed25519-dalek"
-version = "2.0.0"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
dependencies = [
"curve25519-dalek 4.1.1",
- "ed25519 2.2.2",
+ "ed25519 2.2.3",
"rand_core 0.6.4",
"serde",
"sha2 0.10.8",
+ "subtle",
"zeroize",
]
@@ -2593,12 +2821,12 @@ dependencies = [
[[package]]
name = "elliptic-curve"
-version = "0.13.6"
+version = "0.13.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
dependencies = [
"base16ct 0.2.0",
- "crypto-bigint 0.5.3",
+ "crypto-bigint 0.5.5",
"digest 0.10.7",
"ff 0.13.0",
"generic-array 0.14.7",
@@ -2645,7 +2873,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2656,7 +2884,7 @@ checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2674,9 +2902,9 @@ dependencies = [
[[package]]
name = "env_logger"
-version = "0.10.0"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
dependencies = [
"humantime",
"is-terminal",
@@ -2699,9 +2927,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno"
-version = "0.3.5"
+version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
dependencies = [
"libc",
"windows-sys 0.48.0",
@@ -2713,6 +2941,27 @@ version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+[[package]]
+name = "event-listener"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite 0.2.13",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160"
+dependencies = [
+ "event-listener 3.1.0",
+ "pin-project-lite 0.2.13",
+]
+
[[package]]
name = "exit-future"
version = "0.2.0"
@@ -2756,7 +3005,7 @@ dependencies = [
"fs-err",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2771,15 +3020,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
-[[package]]
-name = "fastrand"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
-
[[package]]
name = "fastrand"
version = "2.0.1"
@@ -2842,9 +3082,9 @@ dependencies = [
[[package]]
name = "fiat-crypto"
-version = "0.2.1"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d"
+checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
[[package]]
name = "file-per-thread-logger"
@@ -2852,7 +3092,7 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866"
dependencies = [
- "env_logger 0.10.0",
+ "env_logger 0.10.1",
"log",
]
@@ -2904,9 +3144,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
[[package]]
name = "flate2"
-version = "1.0.27"
+version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
dependencies = [
"crc32fast",
"libz-sys",
@@ -3041,7 +3281,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -3160,7 +3400,7 @@ dependencies = [
"proc-macro-warning",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -3172,7 +3412,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -3182,7 +3422,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v1.0.0#948
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -3242,9 +3482,12 @@ dependencies = [
[[package]]
name = "fs-err"
-version = "2.9.0"
+version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541"
+checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
+dependencies = [
+ "autocfg",
+]
[[package]]
name = "fs2"
@@ -3262,7 +3505,7 @@ version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47"
dependencies = [
- "rustix 0.38.18",
+ "rustix 0.38.25",
"windows-sys 0.48.0",
]
@@ -3274,9 +3517,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "futures"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
dependencies = [
"futures-channel",
"futures-core",
@@ -3289,9 +3532,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
dependencies = [
"futures-core",
"futures-sink",
@@ -3299,15 +3542,15 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
[[package]]
name = "futures-executor"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
dependencies = [
"futures-core",
"futures-task",
@@ -3317,34 +3560,29 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
[[package]]
name = "futures-lite"
-version = "1.13.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
+checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb"
dependencies = [
- "fastrand 1.9.0",
"futures-core",
- "futures-io",
- "memchr",
- "parking",
"pin-project-lite 0.2.13",
- "waker-fn",
]
[[package]]
name = "futures-macro"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -3360,15 +3598,15 @@ dependencies = [
[[package]]
name = "futures-sink"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
[[package]]
name = "futures-task"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
[[package]]
name = "futures-timer"
@@ -3378,9 +3616,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
[[package]]
name = "futures-util"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
dependencies = [
"futures-channel",
"futures-core",
@@ -3446,9 +3684,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
dependencies = [
"cfg-if",
"libc",
@@ -3535,9 +3773,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.3.21"
+version = "0.3.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
dependencies = [
"bytes",
"fnv",
@@ -3545,7 +3783,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http",
- "indexmap 1.9.3",
+ "indexmap 2.1.0",
"slab",
"tokio",
"tokio-util",
@@ -3554,9 +3792,9 @@ dependencies = [
[[package]]
name = "handlebars"
-version = "4.4.0"
+version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c39b3bc2a8f715298032cf5087e58573809374b08160aa7d750582bdb82d2683"
+checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225"
dependencies = [
"log",
"pest",
@@ -3587,7 +3825,7 @@ version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
dependencies = [
- "ahash 0.7.6",
+ "ahash 0.7.7",
]
[[package]]
@@ -3596,14 +3834,14 @@ version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.6",
]
[[package]]
name = "hashbrown"
-version = "0.14.1"
+version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
+checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
[[package]]
name = "heck"
@@ -3715,9 +3953,9 @@ dependencies = [
[[package]]
name = "http"
-version = "0.2.9"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
dependencies = [
"bytes",
"fnv",
@@ -3776,7 +4014,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite 0.2.13",
- "socket2 0.4.9",
+ "socket2 0.4.10",
"tokio",
"tower-service",
"tracing",
@@ -3785,33 +4023,33 @@ dependencies = [
[[package]]
name = "hyper-rustls"
-version = "0.24.1"
+version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
"http",
"hyper",
"log",
- "rustls 0.21.7",
+ "rustls 0.21.9",
"rustls-native-certs",
"tokio",
"tokio-rustls",
- "webpki-roots 0.23.1",
+ "webpki-roots 0.25.2",
]
[[package]]
name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "windows 0.48.0",
+ "windows-core",
]
[[package]]
@@ -3852,19 +4090,19 @@ dependencies = [
[[package]]
name = "if-addrs"
-version = "0.7.0"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9"
+checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a"
dependencies = [
"libc",
- "winapi",
+ "windows-sys 0.48.0",
]
[[package]]
name = "if-watch"
-version = "3.0.1"
+version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9465340214b296cd17a0009acdb890d6160010b8adf8f78a00d0d7ab270f79f"
+checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e"
dependencies = [
"async-io",
"core-foundation",
@@ -3876,7 +4114,7 @@ dependencies = [
"rtnetlink",
"system-configuration",
"tokio",
- "windows 0.34.0",
+ "windows",
]
[[package]]
@@ -3921,12 +4159,12 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.0.2"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
dependencies = [
"equivalent",
- "hashbrown 0.14.1",
+ "hashbrown 0.14.2",
]
[[package]]
@@ -4017,7 +4255,7 @@ version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
dependencies = [
- "socket2 0.5.4",
+ "socket2 0.5.5",
"widestring",
"windows-sys 0.48.0",
"winreg",
@@ -4025,9 +4263,9 @@ dependencies = [
[[package]]
name = "ipnet"
-version = "2.8.0"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
[[package]]
name = "is-terminal"
@@ -4036,7 +4274,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi 0.3.3",
- "rustix 0.38.18",
+ "rustix 0.38.25",
"windows-sys 0.48.0",
]
@@ -4075,9 +4313,9 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.64"
+version = "0.3.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
dependencies = [
"wasm-bindgen",
]
@@ -4126,7 +4364,7 @@ checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803"
dependencies = [
"anyhow",
"arrayvec 0.7.4",
- "async-lock",
+ "async-lock 2.8.0",
"async-trait",
"beef",
"futures-channel",
@@ -4228,13 +4466,13 @@ dependencies = [
[[package]]
name = "k256"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc"
+checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b"
dependencies = [
"cfg-if",
- "ecdsa 0.16.8",
- "elliptic-curve 0.13.6",
+ "ecdsa 0.16.9",
+ "elliptic-curve 0.13.8",
"once_cell",
"sha2 0.10.8",
]
@@ -4316,6 +4554,39 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "kilt-dip-primitives"
+version = "1.12.0-dev"
+dependencies = [
+ "cfg-if",
+ "cumulus-pallet-parachain-system",
+ "cumulus-primitives-core",
+ "did",
+ "frame-support",
+ "frame-system",
+ "hash-db",
+ "hex-literal 0.3.4",
+ "kilt-support",
+ "log",
+ "pallet-did-lookup",
+ "pallet-dip-consumer",
+ "pallet-dip-provider",
+ "pallet-relay-store",
+ "pallet-web3-names",
+ "parachain-info",
+ "parity-scale-codec",
+ "rococo-runtime",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-state-machine",
+ "sp-std",
+ "sp-trie",
+ "xcm",
+ "xcm-executor",
+]
+
[[package]]
name = "kilt-parachain"
version = "1.12.0-dev"
@@ -4392,6 +4663,14 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "kilt-runtime-api-dip-provider"
+version = "1.12.0-dev"
+dependencies = [
+ "parity-scale-codec",
+ "sp-api",
+]
+
[[package]]
name = "kilt-runtime-api-public-credentials"
version = "1.12.0-dev"
@@ -4600,9 +4879,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "libc"
-version = "0.2.149"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
name = "libloading"
@@ -4623,7 +4902,7 @@ dependencies = [
"bytes",
"futures",
"futures-timer",
- "getrandom 0.2.10",
+ "getrandom 0.2.11",
"instant",
"libp2p-allow-block-list",
"libp2p-connection-limits",
@@ -4743,7 +5022,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce"
dependencies = [
"bs58",
- "ed25519-dalek 2.0.0",
+ "ed25519-dalek 2.1.0",
"log",
"multiaddr",
"multihash",
@@ -4797,7 +5076,7 @@ dependencies = [
"log",
"rand 0.8.5",
"smallvec",
- "socket2 0.4.9",
+ "socket2 0.4.10",
"tokio",
"trust-dns-proto",
"void",
@@ -4939,7 +5218,7 @@ dependencies = [
"libc",
"libp2p-core",
"log",
- "socket2 0.4.9",
+ "socket2 0.4.10",
"tokio",
]
@@ -5039,6 +5318,17 @@ dependencies = [
"yamux",
]
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
[[package]]
name = "librocksdb-sys"
version = "0.11.0+8.1.1"
@@ -5154,21 +5444,15 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
[[package]]
name = "linux-raw-sys"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
dependencies = [
"autocfg",
"scopeguard",
@@ -5245,7 +5529,7 @@ dependencies = [
"macro_magic_core",
"macro_magic_macros",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -5259,7 +5543,7 @@ dependencies = [
"macro_magic_core_macros",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -5270,7 +5554,7 @@ checksum = "d710e1214dffbab3b5dacb21475dde7d6ed84c69ff722b3a47a782668d44fbac"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -5281,7 +5565,7 @@ checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a"
dependencies = [
"macro_magic_core",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -5343,7 +5627,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
dependencies = [
- "rustix 0.38.18",
+ "rustix 0.38.25",
]
[[package]]
@@ -5431,9 +5715,9 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
@@ -6113,6 +6397,25 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "pallet-collator-selection"
+version = "3.0.0"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v1.0.0#0d17cf6bef320f156f2859d6d2b0abd4154ae1d5"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "log",
+ "pallet-authorship",
+ "pallet-session",
+ "parity-scale-codec",
+ "rand 0.8.5",
+ "scale-info",
+ "sp-runtime",
+ "sp-staking",
+ "sp-std",
+]
+
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
@@ -6184,13 +6487,32 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "pallet-deposit-storage"
+version = "1.12.0-dev"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "kilt-support",
+ "log",
+ "pallet-balances",
+ "pallet-dip-provider",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-io",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-std",
+]
+
[[package]]
name = "pallet-did-lookup"
version = "1.12.0-dev"
dependencies = [
"base58",
"blake2",
- "env_logger 0.10.0",
+ "env_logger 0.10.1",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -6211,6 +6533,42 @@ dependencies = [
"test-log",
]
+[[package]]
+name = "pallet-dip-consumer"
+version = "1.12.0-dev"
+dependencies = [
+ "cfg-if",
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "kilt-support",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
+name = "pallet-dip-provider"
+version = "1.12.0-dev"
+dependencies = [
+ "did",
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "kilt-support",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-std",
+]
+
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
@@ -6231,7 +6589,7 @@ dependencies = [
"sp-npos-elections",
"sp-runtime",
"sp-std",
- "strum",
+ "strum 0.24.1",
]
[[package]]
@@ -6421,7 +6779,7 @@ dependencies = [
"ctype",
"delegation",
"did",
- "env_logger 0.10.0",
+ "env_logger 0.10.1",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -6583,6 +6941,18 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "pallet-postit"
+version = "1.12.0-dev"
+dependencies = [
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-runtime",
+ "sp-std",
+]
+
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
@@ -6667,6 +7037,25 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "pallet-relay-store"
+version = "1.12.0-dev"
+dependencies = [
+ "cumulus-pallet-parachain-system",
+ "cumulus-primitives-core",
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-std",
+]
+
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
@@ -6771,7 +7160,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -7069,9 +7458,9 @@ dependencies = [
[[package]]
name = "parity-db"
-version = "0.4.11"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab512a34b3c2c5e465731cc7668edf79208bbe520be03484eeb05e63ed221735"
+checksum = "59e9ab494af9e6e813c72170f0d3c1de1500990d62c97cc05cc7576f91aa402f"
dependencies = [
"blake2",
"crc32fast",
@@ -7128,9 +7517,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304"
[[package]]
name = "parking"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
[[package]]
name = "parking_lot"
@@ -7150,7 +7539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
- "parking_lot_core 0.9.8",
+ "parking_lot_core 0.9.9",
]
[[package]]
@@ -7169,13 +7558,13 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.3.5",
+ "redox_syscall 0.4.1",
"smallvec",
"windows-targets 0.48.5",
]
@@ -7266,6 +7655,7 @@ dependencies = [
"frame-try-runtime",
"hex-literal 0.3.4",
"kilt-runtime-api-did",
+ "kilt-runtime-api-dip-provider",
"kilt-runtime-api-public-credentials",
"kilt-runtime-api-staking",
"kilt-support",
@@ -7276,7 +7666,9 @@ dependencies = [
"pallet-collective",
"pallet-configuration",
"pallet-democracy",
+ "pallet-deposit-storage",
"pallet-did-lookup",
+ "pallet-dip-provider",
"pallet-indices",
"pallet-inflation",
"pallet-membership",
@@ -7323,9 +7715,9 @@ dependencies = [
[[package]]
name = "pest"
-version = "2.7.4"
+version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c022f1e7b65d6a24c0dbbd5fb344c66881bc01f3e5ae74a1c8100f2f985d98a4"
+checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
dependencies = [
"memchr",
"thiserror",
@@ -7334,9 +7726,9 @@ dependencies = [
[[package]]
name = "pest_derive"
-version = "2.7.4"
+version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35513f630d46400a977c4cb58f78e1bfbe01434316e60c37d27b9ad6139c66d8"
+checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
dependencies = [
"pest",
"pest_generator",
@@ -7344,22 +7736,22 @@ dependencies = [
[[package]]
name = "pest_generator"
-version = "2.7.4"
+version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc9fc1b9e7057baba189b5c626e2d6f40681ae5b6eb064dc7c7834101ec8123a"
+checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "pest_meta"
-version = "2.7.4"
+version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df74e9e7ec4053ceb980e7c0c8bd3594e977fde1af91daba9c928e8e8c6708d"
+checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
dependencies = [
"once_cell",
"pest",
@@ -7373,7 +7765,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
dependencies = [
"fixedbitset",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
]
[[package]]
@@ -7393,7 +7785,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -7442,9 +7834,9 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
[[package]]
name = "platforms"
-version = "3.1.2"
+version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
[[package]]
name = "polkadot-approval-distribution"
@@ -8061,7 +8453,7 @@ dependencies = [
"rand 0.8.5",
"sc-authority-discovery",
"sc-network",
- "strum",
+ "strum 0.24.1",
"thiserror",
"tracing-gum",
]
@@ -8634,29 +9026,27 @@ dependencies = [
[[package]]
name = "polling"
-version = "2.8.0"
+version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
+checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531"
dependencies = [
- "autocfg",
- "bitflags 1.3.2",
"cfg-if",
"concurrent-queue",
- "libc",
- "log",
"pin-project-lite 0.2.13",
+ "rustix 0.38.25",
+ "tracing",
"windows-sys 0.48.0",
]
[[package]]
name = "poly1305"
-version = "0.7.2"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede"
+checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
dependencies = [
"cpufeatures",
"opaque-debug 0.3.0",
- "universal-hash 0.4.1",
+ "universal-hash 0.5.1",
]
[[package]]
@@ -8685,9 +9075,15 @@ dependencies = [
[[package]]
name = "portable-atomic"
-version = "1.4.3"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "ppv-lite86"
@@ -8742,7 +9138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
dependencies = [
"proc-macro2",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -8808,12 +9204,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
[[package]]
name = "proc-macro-warning"
version = "0.4.2"
@@ -8822,7 +9212,7 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -8868,7 +9258,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -9085,7 +9475,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.10",
+ "getrandom 0.2.11",
]
[[package]]
@@ -9175,14 +9565,23 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
dependencies = [
- "getrandom 0.2.10",
- "redox_syscall 0.2.16",
+ "getrandom 0.2.11",
+ "libredox",
"thiserror",
]
@@ -9216,7 +9615,7 @@ checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -9233,14 +9632,14 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.10.0"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d119d7c7ca818f8a53c300863d4f87566aac09943aef5b355bb83969dae75d87"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
- "regex-automata 0.4.1",
- "regex-syntax 0.8.0",
+ "regex-automata 0.4.3",
+ "regex-syntax 0.8.2",
]
[[package]]
@@ -9254,13 +9653,13 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.1"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "465c6fc0621e4abc4187a2bda0937bfd4f722c2730b29562e19689ea796c9a4b"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
- "regex-syntax 0.8.0",
+ "regex-syntax 0.8.2",
]
[[package]]
@@ -9271,9 +9670,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
-version = "0.8.0"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3cbb081b9784b07cceb8824c8583f86db4814d172ab043f3c23f7dc600bf83d"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "resolv-conf"
@@ -9323,12 +9722,12 @@ dependencies = [
[[package]]
name = "ring"
-version = "0.17.3"
+version = "0.17.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e"
+checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
dependencies = [
"cc",
- "getrandom 0.2.10",
+ "getrandom 0.2.11",
"libc",
"spin 0.9.8",
"untrusted 0.9.0",
@@ -9448,13 +9847,13 @@ dependencies = [
[[package]]
name = "rpassword"
-version = "7.2.0"
+version = "7.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322"
+checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f"
dependencies = [
"libc",
"rtoolbox",
- "winapi",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -9485,12 +9884,12 @@ dependencies = [
[[package]]
name = "rtoolbox"
-version = "0.0.1"
+version = "0.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a"
+checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e"
dependencies = [
"libc",
- "winapi",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -9516,18 +9915,24 @@ dependencies = [
"cumulus-pallet-parachain-system",
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-core",
+ "did",
+ "frame-benchmarking",
"frame-support",
"frame-system",
"kilt-asset-dids",
+ "kilt-dip-primitives",
"kilt-support",
"log",
"pallet-authorship",
"pallet-balances",
+ "pallet-did-lookup",
+ "pallet-dip-provider",
"pallet-membership",
"pallet-multisig",
"pallet-tips",
"pallet-transaction-payment",
"pallet-treasury",
+ "pallet-web3-names",
"parachain-staking",
"parity-scale-codec",
"polkadot-parachain",
@@ -9539,6 +9944,7 @@ dependencies = [
"sp-io",
"sp-runtime",
"sp-std",
+ "sp-trie",
"xcm",
"xcm-builder",
"xcm-executor",
@@ -9582,9 +9988,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.36.15"
+version = "0.36.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941"
+checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed"
dependencies = [
"bitflags 1.3.2",
"errno",
@@ -9596,28 +10002,14 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.37.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4279d76516df406a8bd37e7dff53fd37d1a093f997a3c34a5c21658c126db06d"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys 0.3.8",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.18"
+version = "0.38.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a74ee2d7c2581cd139b42447d7d9389b889bdaad3a73f1ebb16f2a3237bb19c"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.1",
"errno",
"libc",
- "linux-raw-sys 0.4.10",
+ "linux-raw-sys 0.4.11",
"windows-sys 0.48.0",
]
@@ -9642,20 +10034,20 @@ checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99"
dependencies = [
"log",
"ring 0.16.20",
- "sct 0.7.0",
+ "sct 0.7.1",
"webpki 0.22.4",
]
[[package]]
name = "rustls"
-version = "0.21.7"
+version = "0.21.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
+checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
dependencies = [
"log",
- "ring 0.16.20",
- "rustls-webpki 0.101.6",
- "sct 0.7.0",
+ "ring 0.17.5",
+ "rustls-webpki",
+ "sct 0.7.1",
]
[[package]]
@@ -9672,31 +10064,21 @@ dependencies = [
[[package]]
name = "rustls-pemfile"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
-dependencies = [
- "base64 0.21.4",
-]
-
-[[package]]
-name = "rustls-webpki"
-version = "0.100.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f6a5fc258f1c1276dfe3016516945546e2d5383911efc0fc4f1cdc5df3a4ae3"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
- "ring 0.16.20",
- "untrusted 0.7.1",
+ "base64 0.21.5",
]
[[package]]
name = "rustls-webpki"
-version = "0.101.6"
+version = "0.101.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
dependencies = [
- "ring 0.16.20",
- "untrusted 0.7.1",
+ "ring 0.17.5",
+ "untrusted 0.9.0",
]
[[package]]
@@ -9844,7 +10226,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -10121,7 +10503,7 @@ name = "sc-consensus-grandpa"
version = "0.10.0-dev"
source = "git+https://github.com/paritytech/substrate?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d"
dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.6",
"array-bytes",
"async-trait",
"dyn-clone",
@@ -10243,7 +10625,7 @@ dependencies = [
"cfg-if",
"libc",
"log",
- "rustix 0.36.15",
+ "rustix 0.36.17",
"sc-allocator",
"sc-executor-common",
"sp-runtime-interface",
@@ -10364,7 +10746,7 @@ name = "sc-network-gossip"
version = "0.10.0-dev"
source = "git+https://github.com/paritytech/substrate?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d"
dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.6",
"futures",
"futures-timer",
"libp2p",
@@ -10767,7 +11149,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -10829,9 +11211,9 @@ dependencies = [
[[package]]
name = "scale-info"
-version = "2.9.0"
+version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782"
+checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60"
dependencies = [
"bitvec",
"cfg-if",
@@ -10843,9 +11225,9 @@ dependencies = [
[[package]]
name = "scale-info-derive"
-version = "2.9.0"
+version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29"
+checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -10868,7 +11250,7 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d"
dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.6",
"cfg-if",
"hashbrown 0.13.2",
]
@@ -10915,12 +11297,12 @@ dependencies = [
[[package]]
name = "sct"
-version = "0.7.0"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
dependencies = [
- "ring 0.16.20",
- "untrusted 0.7.1",
+ "ring 0.17.5",
+ "untrusted 0.9.0",
]
[[package]]
@@ -11039,29 +11421,29 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
-version = "1.0.188"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.188"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.107"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -11070,9 +11452,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
dependencies = [
"serde",
]
@@ -11183,9 +11565,9 @@ dependencies = [
[[package]]
name = "signature"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"digest 0.10.7",
"rand_core 0.6.4",
@@ -11248,9 +11630,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
[[package]]
name = "snap"
@@ -11260,16 +11642,16 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831"
[[package]]
name = "snow"
-version = "0.9.3"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c9d1425eb528a21de2755c75af4c9b5d57f50a0d4c3b7f1828a4cd03f8ba155"
+checksum = "58021967fd0a5eeeb23b08df6cc244a4d4a5b4aec1d27c9e02fad1a58b4cd74e"
dependencies = [
- "aes-gcm 0.9.4",
+ "aes-gcm 0.10.3",
"blake2",
"chacha20poly1305",
"curve25519-dalek 4.1.1",
"rand_core 0.6.4",
- "ring 0.16.20",
+ "ring 0.17.5",
"rustc_version",
"sha2 0.10.8",
"subtle",
@@ -11277,9 +11659,9 @@ dependencies = [
[[package]]
name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
dependencies = [
"libc",
"winapi",
@@ -11287,9 +11669,9 @@ dependencies = [
[[package]]
name = "socket2"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
dependencies = [
"libc",
"windows-sys 0.48.0",
@@ -11344,7 +11726,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -11483,7 +11865,7 @@ dependencies = [
"sp-mmr-primitives",
"sp-runtime",
"sp-std",
- "strum",
+ "strum 0.24.1",
]
[[package]]
@@ -11581,7 +11963,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v1.0.0#948
dependencies = [
"quote",
"sp-core-hashing",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -11600,7 +11982,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v1.0.0#948
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -11661,7 +12043,7 @@ dependencies = [
"lazy_static",
"sp-core",
"sp-runtime",
- "strum",
+ "strum 0.24.1",
]
[[package]]
@@ -11807,7 +12189,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -11949,7 +12331,7 @@ name = "sp-trie"
version = "22.0.0"
source = "git+https://github.com/paritytech/substrate?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d"
dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.6",
"hash-db",
"hashbrown 0.13.2",
"lazy_static",
@@ -11992,7 +12374,7 @@ dependencies = [
"parity-scale-codec",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -12037,13 +12419,13 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
[[package]]
name = "spinners"
-version = "4.1.0"
+version = "4.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08615eea740067d9899969bc2891c68a19c315cb1f66640af9a9ecb91b13bcab"
+checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82"
dependencies = [
"lazy_static",
"maplit",
- "strum",
+ "strum 0.24.1",
]
[[package]]
@@ -12147,9 +12529,9 @@ dependencies = [
[[package]]
name = "ss58-registry"
-version = "1.43.0"
+version = "1.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e6915280e2d0db8911e5032a5c275571af6bdded2916abd691a659be25d3439"
+checksum = "35935738370302d5e33963665b77541e4b990a3e919ec904c837a56cfc891de1"
dependencies = [
"Inflector",
"num-format",
@@ -12258,9 +12640,15 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
dependencies = [
- "strum_macros",
+ "strum_macros 0.24.3",
]
+[[package]]
+name = "strum"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
+
[[package]]
name = "strum_macros"
version = "0.24.3"
@@ -12274,6 +12662,19 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "strum_macros"
+version = "0.25.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.39",
+]
+
[[package]]
name = "stun"
version = "0.4.4"
@@ -12295,9 +12696,9 @@ dependencies = [
[[package]]
name = "substrate-bip39"
-version = "0.4.4"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c"
+checksum = "e620c7098893ba667438b47169c00aacdd9e7c10e042250ce2b60b087ec97328"
dependencies = [
"hmac 0.11.0",
"pbkdf2 0.8.0",
@@ -12383,7 +12784,7 @@ dependencies = [
"filetime",
"parity-wasm",
"sp-maybe-compressed-blob",
- "strum",
+ "strum 0.24.1",
"tempfile",
"toml 0.7.8",
"walkdir",
@@ -12418,9 +12819,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.38"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -12468,28 +12869,28 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "target-lexicon"
-version = "0.12.11"
+version = "0.12.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
[[package]]
name = "tempfile"
-version = "3.8.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
- "fastrand 2.0.1",
- "redox_syscall 0.3.5",
- "rustix 0.38.18",
+ "fastrand",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.25",
"windows-sys 0.48.0",
]
[[package]]
name = "termcolor"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
dependencies = [
"winapi-util",
]
@@ -12502,33 +12903,33 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
[[package]]
name = "test-log"
-version = "0.2.12"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9601d162c1d77e62c1ea0bc8116cd1caf143ce3af947536c3c9052a1677fe0c"
+checksum = "f66edd6b6cd810743c0c71e1d085e92b01ce6a72782032e3f794c8284fe4bcdd"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn 2.0.39",
]
[[package]]
name = "thiserror"
-version = "1.0.49"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.49"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -12592,12 +12993,13 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.29"
+version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
+checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
dependencies = [
"deranged",
"itoa",
+ "powerfmt",
"serde",
"time-core",
"time-macros",
@@ -12673,9 +13075,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.33.0"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
"backtrace",
"bytes",
@@ -12685,20 +13087,20 @@ dependencies = [
"parking_lot 0.12.1",
"pin-project-lite 0.2.13",
"signal-hook-registry",
- "socket2 0.5.4",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys 0.48.0",
]
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -12718,7 +13120,7 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
- "rustls 0.21.7",
+ "rustls 0.21.9",
"tokio",
]
@@ -12736,9 +13138,9 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.9"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
dependencies = [
"bytes",
"futures-core",
@@ -12772,9 +13174,9 @@ dependencies = [
[[package]]
name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
dependencies = [
"serde",
]
@@ -12785,7 +13187,7 @@ version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
"serde",
"serde_spanned",
"toml_datetime",
@@ -12809,7 +13211,7 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.1",
"bytes",
"futures-core",
"futures-util",
@@ -12835,11 +13237,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
[[package]]
name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
- "cfg-if",
"log",
"pin-project-lite 0.2.13",
"tracing-attributes",
@@ -12848,20 +13249,20 @@ dependencies = [
[[package]]
name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
dependencies = [
"once_cell",
"valuable",
@@ -12897,17 +13298,17 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
name = "tracing-log"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
dependencies = [
- "lazy_static",
"log",
+ "once_cell",
"tracing-core",
]
@@ -12984,7 +13385,7 @@ dependencies = [
"lazy_static",
"rand 0.8.5",
"smallvec",
- "socket2 0.4.9",
+ "socket2 0.4.10",
"thiserror",
"tinyvec",
"tokio",
@@ -13211,11 +13612,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "uuid"
-version = "1.4.1"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
dependencies = [
- "getrandom 0.2.10",
+ "getrandom 0.2.11",
]
[[package]]
@@ -13290,9 +13691,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -13300,24 +13701,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.37"
+version = "0.4.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
dependencies = [
"cfg-if",
"js-sys",
@@ -13327,9 +13728,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -13337,22 +13738,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
[[package]]
name = "wasm-instrument"
@@ -13371,8 +13772,8 @@ checksum = "87fef6d0d508f08334e0ab0e6877feb4c0ecb3956bcf2cb950699b22fedf3e9c"
dependencies = [
"anyhow",
"libc",
- "strum",
- "strum_macros",
+ "strum 0.24.1",
+ "strum_macros 0.24.3",
"tempfile",
"thiserror",
"wasm-opt-cxx-sys",
@@ -13472,12 +13873,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213"
dependencies = [
"anyhow",
- "base64 0.21.4",
+ "base64 0.21.5",
"bincode",
"directories-next",
"file-per-thread-logger",
"log",
- "rustix 0.36.15",
+ "rustix 0.36.17",
"serde",
"sha2 0.10.8",
"toml 0.5.11",
@@ -13573,7 +13974,7 @@ checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846"
dependencies = [
"object 0.30.4",
"once_cell",
- "rustix 0.36.15",
+ "rustix 0.36.17",
]
[[package]]
@@ -13604,7 +14005,7 @@ dependencies = [
"memoffset 0.8.0",
"paste",
"rand 0.8.5",
- "rustix 0.36.15",
+ "rustix 0.36.17",
"wasmtime-asm-macros",
"wasmtime-environ",
"wasmtime-jit-debug",
@@ -13625,9 +14026,9 @@ dependencies = [
[[package]]
name = "web-sys"
-version = "0.3.64"
+version = "0.3.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -13649,7 +14050,7 @@ version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
dependencies = [
- "ring 0.17.3",
+ "ring 0.17.5",
"untrusted 0.9.0",
]
@@ -13662,15 +14063,6 @@ dependencies = [
"webpki 0.22.4",
]
-[[package]]
-name = "webpki-roots"
-version = "0.23.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338"
-dependencies = [
- "rustls-webpki 0.100.3",
-]
-
[[package]]
name = "webpki-roots"
version = "0.25.2"
@@ -13804,7 +14196,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106"
dependencies = [
"log",
- "socket2 0.4.9",
+ "socket2 0.4.10",
"thiserror",
"tokio",
"webrtc-util",
@@ -14001,14 +14393,14 @@ dependencies = [
"either",
"home",
"once_cell",
- "rustix 0.38.18",
+ "rustix 0.38.25",
]
[[package]]
name = "wide"
-version = "0.7.12"
+version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebecebefc38ff1860b4bc47550bbfa63af5746061cf0d29fcd7fa63171602598"
+checksum = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242"
dependencies = [
"bytemuck",
"safe_arch",
@@ -14053,22 +14445,19 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
-version = "0.34.0"
+version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
dependencies = [
- "windows_aarch64_msvc 0.34.0",
- "windows_i686_gnu 0.34.0",
- "windows_i686_msvc 0.34.0",
- "windows_x86_64_gnu 0.34.0",
- "windows_x86_64_msvc 0.34.0",
+ "windows-core",
+ "windows-targets 0.48.5",
]
[[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows-core"
+version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
dependencies = [
"windows-targets 0.48.5",
]
@@ -14133,12 +14522,6 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.42.2"
@@ -14151,12 +14534,6 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-[[package]]
-name = "windows_i686_gnu"
-version = "0.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed"
-
[[package]]
name = "windows_i686_gnu"
version = "0.42.2"
@@ -14169,12 +14546,6 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-[[package]]
-name = "windows_i686_msvc"
-version = "0.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956"
-
[[package]]
name = "windows_i686_msvc"
version = "0.42.2"
@@ -14187,12 +14558,6 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4"
-
[[package]]
name = "windows_x86_64_gnu"
version = "0.42.2"
@@ -14217,12 +14582,6 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9"
-
[[package]]
name = "windows_x86_64_msvc"
version = "0.42.2"
@@ -14237,9 +14596,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winnow"
-version = "0.5.16"
+version = "0.5.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037711d82167854aff2018dfd193aa0fef5370f456732f0d5a0c59b0f1b4b907"
+checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
dependencies = [
"memchr",
]
@@ -14389,7 +14748,7 @@ dependencies = [
"Inflector",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -14415,11 +14774,31 @@ dependencies = [
"time",
]
+[[package]]
+name = "zerocopy"
+version = "0.7.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
dependencies = [
"zeroize_derive",
]
@@ -14432,7 +14811,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -14475,11 +14854,10 @@ dependencies = [
[[package]]
name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
+version = "2.0.9+zstd.1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
dependencies = [
"cc",
- "libc",
"pkg-config",
]
diff --git a/Cargo.toml b/Cargo.toml
index c42eedb08..402d2dea5 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,6 +11,9 @@ version = "1.12.0-dev"
[workspace]
members = [
"crates/*",
+ "dip-template/nodes/*",
+ "dip-template/pallets/*",
+ "dip-template/runtimes/*",
"nodes/*",
"pallets/*",
"runtime-api/*",
@@ -29,10 +32,12 @@ substrate-wasm-builder = {git = "https://github.com/paritytech/substrate", branc
# External (without extra features and with default disabled if necessary)
base58 = {version = "0.2.0", default-features = false}
bitflags = {version = "1.3.2", default-features = false}
+cfg-if = "1.0"
clap = "4.1.6"
env_logger = "0.10.0"
fluent-uri = { version = "0.1.4", default-features = false }
futures = {version = "0.3.21", default-features = false}
+hash-db = { version = "0.16.0", default-features = false }
hex = {version = "0.4.0", default-features = false}
hex-literal = "0.3.4"
jsonrpsee = "0.16.2"
@@ -51,8 +56,12 @@ ctype = {path = "pallets/ctype", default-features = false}
delegation = {path = "pallets/delegation", default-features = false}
did = {path = "pallets/did", default-features = false}
pallet-configuration = {path = "pallets/pallet-configuration", default-features = false}
+pallet-deposit-storage = {path = "pallets/pallet-deposit-storage", default-features = false}
+pallet-dip-consumer = {path = "pallets/pallet-dip-consumer", default-features = false}
+pallet-dip-provider = {path = "pallets/pallet-dip-provider", default-features = false}
pallet-did-lookup = {path = "pallets/pallet-did-lookup", default-features = false}
pallet-inflation = {path = "pallets/pallet-inflation", default-features = false}
+pallet-relay-store = {path = "pallets/pallet-relay-store", default-features = false}
pallet-web3-names = {path = "pallets/pallet-web3-names", default-features = false}
parachain-staking = {path = "pallets/parachain-staking", default-features = false}
public-credentials = {path = "pallets/public-credentials", default-features = false}
@@ -60,11 +69,18 @@ pallet-migration = {path = "pallets/pallet-migration", default-features = false}
# Internal support (with default disabled)
kilt-asset-dids = {path = "crates/assets", default-features = false}
+kilt-dip-primitives = {path = "crates/kilt-dip-primitives", default-features = false}
kilt-support = {path = "support", default-features = false}
runtime-common = {path = "runtimes/common", default-features = false}
+# Templates
+dip-consumer-runtime-template = {path = "dip-template/runtimes/dip-consumer", default-features = false}
+dip-provider-runtime-template = {path = "dip-template/runtimes/dip-provider", default-features = false}
+pallet-postit = {path = "dip-template/pallets/pallet-postit", default-features = false}
+
# Internal runtime API (with default disabled)
kilt-runtime-api-did = {path = "runtime-api/did", default-features = false}
+kilt-runtime-api-dip-provider = {path = "runtime-api/dip-provider", default-features = false}
kilt-runtime-api-public-credentials = {path = "runtime-api/public-credentials", default-features = false}
kilt-runtime-api-staking = {path = "runtime-api/staking", default-features = false}
@@ -128,8 +144,10 @@ sp-offchain = {git = "https://github.com/paritytech/substrate", default-features
sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
sp-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
sp-staking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
+sp-state-machine = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
sp-std = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
+sp-trie = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
sp-weights = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0"}
@@ -137,6 +155,7 @@ try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-feat
# Polkadot (with default disabled)
pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v1.0.0"}
polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v1.0.0"}
+rococo-runtime = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v1.0.0"}
xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v1.0.0"}
xcm-builder = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v1.0.0"}
xcm-executor = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v1.0.0"}
diff --git a/crates/kilt-dip-primitives/Cargo.toml b/crates/kilt-dip-primitives/Cargo.toml
new file mode 100644
index 000000000..2afec4987
--- /dev/null
+++ b/crates/kilt-dip-primitives/Cargo.toml
@@ -0,0 +1,90 @@
+[package]
+authors.workspace = true
+description = "Primitive types, traits, and functions for the KILT Decentralized Identity Provider (DIP) functionality as implemented by the KILT blockchain."
+documentation.workspace = true
+edition.workspace = true
+homepage.workspace = true
+license-file.workspace = true
+name = "kilt-dip-primitives"
+readme.workspace = true
+repository.workspace = true
+version.workspace = true
+
+[dependencies]
+# External dependencies
+hash-db.workspace = true
+log.workspace = true
+cfg-if.workspace = true
+
+# Internal dependencies
+did.workspace = true
+kilt-support = {workspace = true, optional = true}
+pallet-did-lookup.workspace = true
+pallet-dip-consumer.workspace = true
+pallet-dip-provider.workspace = true
+pallet-relay-store.workspace = true
+pallet-web3-names.workspace = true
+
+# Parity dependencies
+parity-scale-codec = {workspace = true, features = ["derive"]}
+scale-info = {workspace = true, features = ["derive"]}
+
+# Substrate dependencies
+frame-system.workspace = true
+frame-support.workspace = true
+sp-core.workspace = true
+sp-io.workspace = true
+sp-runtime.workspace = true
+sp-state-machine.workspace = true
+sp-std.workspace = true
+sp-trie.workspace = true
+
+# Polkadot dependencies
+rococo-runtime.workspace = true
+xcm.workspace = true
+xcm-executor.workspace = true
+
+# Cumulus dependencies
+cumulus-pallet-parachain-system.workspace = true
+cumulus-primitives-core.workspace = true
+parachain-info.workspace = true
+
+[dev-dependencies]
+hex-literal.workspace = true
+sp-io = { workspace = true, features = ["std"] }
+
+[features]
+default = ["std"]
+std = [
+ "hash-db/std",
+ "log/std",
+ "did/std",
+ "kilt-support?/std",
+ "pallet-did-lookup/std",
+ "pallet-dip-consumer/std",
+ "pallet-dip-provider/std",
+ "pallet-relay-store/std",
+ "pallet-web3-names/std",
+ "parity-scale-codec/std",
+ "scale-info/std",
+ "frame-system/std",
+ "frame-support/std",
+ "sp-core/std",
+ "sp-io/std",
+ "sp-runtime/std",
+ "sp-state-machine/std",
+ "sp-std/std",
+ "sp-trie/std",
+ "rococo-runtime/std",
+ "xcm/std",
+ "xcm-executor/std",
+ "cumulus-pallet-parachain-system/std",
+ "cumulus-primitives-core/std",
+ "parachain-info/std",
+]
+runtime-benchmarks = [
+ "kilt-support/runtime-benchmarks",
+ "pallet-dip-consumer/runtime-benchmarks",
+ "pallet-dip-provider/runtime-benchmarks",
+ "rococo-runtime/runtime-benchmarks"
+]
diff --git a/crates/kilt-dip-primitives/src/did.rs b/crates/kilt-dip-primitives/src/did.rs
new file mode 100644
index 000000000..683e95228
--- /dev/null
+++ b/crates/kilt-dip-primitives/src/did.rs
@@ -0,0 +1,223 @@
+// KILT Blockchain – https://botlabs.org
+// Copyright (C) 2019-2023 BOTLabs GmbH
+
+// The KILT Blockchain is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The KILT Blockchain is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+// If you feel like getting in touch with us, you can do so at info@botlabs.org
+
+//! Module to deal with cross-chain KILT DIDs.
+
+use did::{
+ did_details::{DidPublicKey, DidPublicKeyDetails, DidVerificationKey},
+ DidSignature, DidVerificationKeyRelationship,
+};
+use parity_scale_codec::{Decode, Encode};
+use scale_info::TypeInfo;
+use sp_core::RuntimeDebug;
+use sp_runtime::traits::CheckedSub;
+use sp_std::vec::Vec;
+
+use crate::{
+ merkle::RevealedDidKey,
+ traits::{DidSignatureVerifierContext, DipCallOriginFilter, Incrementable},
+};
+
+/// Type returned by the Merkle proof verifier component of the DIP consumer
+/// after verifying a DIP Merkle proof.
+#[derive(Encode, Decode, RuntimeDebug, Clone, Eq, PartialEq, TypeInfo)]
+pub(crate) struct RevealedDidKeysAndSignature {
+ /// The keys revelaed in the Merkle proof.
+ pub merkle_leaves: RevealedDidKeys,
+ /// The [`DIDSignature`] + consumer chain block number to which the DID
+ /// signature is anchored.
+ pub did_signature: TimeBoundDidSignature,
+}
+
+/// A DID signature anchored to a specific block height.
+#[derive(Encode, Decode, RuntimeDebug, Clone, Eq, PartialEq, TypeInfo)]
+pub struct TimeBoundDidSignature {
+ /// The signature.
+ pub signature: DidSignature,
+ /// The block number, in the context of the local executor, to which the
+ /// signature is anchored.
+ pub block_number: BlockNumber,
+}
+
+#[cfg(feature = "runtime-benchmarks")]
+impl kilt_support::traits::GetWorstCase for TimeBoundDidSignature
+where
+ DidSignature: kilt_support::traits::GetWorstCase,
+ BlockNumber: Default,
+{
+ fn worst_case(context: Context) -> Self {
+ Self {
+ signature: DidSignature::worst_case(context),
+ block_number: BlockNumber::default(),
+ }
+ }
+}
+
+pub enum RevealedDidKeysSignatureAndCallVerifierError {
+ SignatureNotFresh,
+ SignatureUnverifiable,
+ OriginCheckFailed,
+ Internal,
+}
+
+impl From for u8 {
+ fn from(value: RevealedDidKeysSignatureAndCallVerifierError) -> Self {
+ match value {
+ RevealedDidKeysSignatureAndCallVerifierError::SignatureNotFresh => 0,
+ RevealedDidKeysSignatureAndCallVerifierError::SignatureUnverifiable => 1,
+ RevealedDidKeysSignatureAndCallVerifierError::OriginCheckFailed => 2,
+ RevealedDidKeysSignatureAndCallVerifierError::Internal => u8::MAX,
+ }
+ }
+}
+
+/// Function that tries to verify a DID signature over a given payload by
+/// using one of the DID keys revealed in the Merkle proof. This verifier is
+/// typically used in conjunction with a verifier that takes a user-provided
+/// input Merkle proof, verifies it, and transforms it into a struct that this
+/// and other verifiers can easily consume, e.g., a list of DID keys.
+/// The generic types are the following:
+/// * `Call`: The call to be dispatched on the local chain after verifying the
+/// DID signature.
+/// * `Submitter`: The blockchain account (**not** the identity subject)
+/// submitting the cross-chain transaction (and paying for its execution
+/// fees).
+/// * `DidLocalDetails`: Any information associated to the identity subject that
+/// is stored locally, e.g., under the `IdentityEntries` map of the
+/// `pallet-dip-consumer` pallet.
+/// * `MerkleProofEntries`: The type returned by the Merkle proof verifier that
+/// includes the identity parts revealed in the Merkle proof.
+/// * `ContextProvider`: Provides additional local context (e.g., current block
+/// number) to verify the DID signature.
+/// * `RemoteKeyId`: Definition of a DID key ID as specified by the provider.
+/// * `RemoteAccountId`: Definition of a linked account ID as specified by the
+/// provider.
+/// * `RemoteBlockNumber`: Definition of a block number on the provider chain.
+/// * `CallVerifier`: A type specifying whether the provided `Call` can be
+/// dispatched with the information provided in the DIP proof.
+pub(crate) fn verify_did_signature_for_call<
+ Call,
+ Submitter,
+ DidLocalDetails,
+ MerkleProofEntries,
+ ContextProvider,
+ RemoteKeyId,
+ RemoteAccountId,
+ RemoteBlockNumber,
+ CallVerifier,
+>(
+ call: &Call,
+ submitter: &Submitter,
+ local_details: &mut Option,
+ merkle_revealed_did_signature: RevealedDidKeysAndSignature,
+) -> Result<
+ (DidVerificationKey, DidVerificationKeyRelationship),
+ RevealedDidKeysSignatureAndCallVerifierError,
+>
+where
+ Call: Encode,
+ Submitter: Encode,
+ ContextProvider: DidSignatureVerifierContext,
+ ContextProvider::BlockNumber: Encode + CheckedSub + From + PartialOrd,
+ ContextProvider::Hash: Encode,
+ ContextProvider::SignedExtra: Encode,
+ DidLocalDetails: Incrementable + Default + Encode,
+ RemoteAccountId: Clone,
+ MerkleProofEntries: sp_std::borrow::Borrow<[RevealedDidKey]>,
+ CallVerifier:
+ DipCallOriginFilter, DidVerificationKeyRelationship)>,
+{
+ cfg_if::cfg_if! {
+ if #[cfg(feature = "runtime-benchmarks")] {
+ {}
+ } else {
+ let block_number = ContextProvider::current_block_number();
+ let is_signature_fresh = if let Some(blocks_ago_from_now) =
+ block_number.checked_sub(&merkle_revealed_did_signature.did_signature.block_number)
+ {
+ // False if the signature is too old.
+ blocks_ago_from_now <= ContextProvider::SIGNATURE_VALIDITY.into()
+ } else {
+ // Signature generated at a future time, not possible to verify.
+ false
+ };
+ frame_support::ensure!(
+ is_signature_fresh,
+ RevealedDidKeysSignatureAndCallVerifierError::SignatureNotFresh,
+ );
+ }
+ }
+ let encoded_payload = (
+ call,
+ &local_details,
+ submitter,
+ &merkle_revealed_did_signature.did_signature.block_number,
+ ContextProvider::genesis_hash(),
+ ContextProvider::signed_extra(),
+ )
+ .encode();
+ // Only consider verification keys from the set of revealed keys.
+ let proof_verification_keys: Vec<(DidVerificationKey, DidVerificationKeyRelationship)> = merkle_revealed_did_signature.merkle_leaves.borrow().iter().filter_map(|RevealedDidKey {
+ relationship, details: DidPublicKeyDetails { key, .. }, .. } | {
+ let DidPublicKey::PublicVerificationKey(key) = key else { return None };
+ if let Ok(vr) = DidVerificationKeyRelationship::try_from(*relationship) {
+ // TODO: Fix this logic to avoid cloning
+ Some(Ok((key.clone(), vr)))
+ } else {
+ cfg_if::cfg_if! {
+ if #[cfg(feature = "runtime-benchmarks")] {
+ None
+ } else {
+ log::error!("Should never fail to build a VerificationRelationship from the given DidKeyRelationship because we have already made sure the conditions hold.");
+ Some(Err(RevealedDidKeysSignatureAndCallVerifierError::Internal))
+ }
+ }
+ }
+ }).collect::>()?;
+ let valid_signing_key = proof_verification_keys.iter().find(|(verification_key, _)| {
+ verification_key
+ .verify_signature(&encoded_payload, &merkle_revealed_did_signature.did_signature.signature)
+ .is_ok()
+ });
+ cfg_if::cfg_if! {
+ if #[cfg(feature = "runtime-benchmarks")] {
+ let default = (
+ DidVerificationKey::Ed25519(sp_core::ed25519::Public::from_raw([0u8; 32])),
+ DidVerificationKeyRelationship::Authentication,
+ );
+ let (key, relationship) = valid_signing_key.unwrap_or(&default);
+ } else {
+ let (key, relationship) = valid_signing_key.ok_or(RevealedDidKeysSignatureAndCallVerifierError::SignatureUnverifiable)?;
+ }
+ }
+
+ if let Some(details) = local_details {
+ details.increment();
+ } else {
+ *local_details = Some(DidLocalDetails::default());
+ };
+ let res = CallVerifier::check_call_origin_info(call, &(key.clone(), *relationship));
+ cfg_if::cfg_if! {
+ if #[cfg(feature = "runtime-benchmarks")] {
+ drop(res);
+ } else {
+ res.map_err(|_| RevealedDidKeysSignatureAndCallVerifierError::OriginCheckFailed)?;
+ }
+ }
+ Ok((key.clone(), *relationship))
+}
diff --git a/crates/kilt-dip-primitives/src/lib.rs b/crates/kilt-dip-primitives/src/lib.rs
new file mode 100644
index 000000000..f8abdd6aa
--- /dev/null
+++ b/crates/kilt-dip-primitives/src/lib.rs
@@ -0,0 +1,39 @@
+// KILT Blockchain – https://botlabs.org
+// Copyright (C) 2019-2023 BOTLabs GmbH
+
+// The KILT Blockchain is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The KILT Blockchain is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+// If you feel like getting in touch with us, you can do so at info@botlabs.org
+
+//! Collection of support traits, types, and functions for integrating KILT as
+//! an identity provider following the Decentralized Identity Provider (DIP)
+//! protocol.
+//!
+//! Consumers of KILT identities should prefer directly using
+//! [`KiltVersionedRelaychainVerifier`] for consumer relaychains and
+//! [`KiltVersionedParachainVerifier`] for consumer sibling parachains.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+pub mod did;
+pub mod merkle;
+pub mod state_proofs;
+pub mod traits;
+pub mod utils;
+pub mod verifier;
+
+pub use state_proofs::relaychain::RelayStateRootsViaRelayStorePallet;
+pub use traits::{FrameSystemDidSignatureContext, ProviderParachainStateInfoViaProviderPallet};
+pub use utils::BoundedBlindedValue;
+pub use verifier::*;
diff --git a/crates/kilt-dip-primitives/src/merkle.rs b/crates/kilt-dip-primitives/src/merkle.rs
new file mode 100644
index 000000000..6d744777f
--- /dev/null
+++ b/crates/kilt-dip-primitives/src/merkle.rs
@@ -0,0 +1,416 @@
+// KILT Blockchain – https://botlabs.org
+// Copyright (C) 2019-2023 BOTLabs GmbH
+
+// The KILT Blockchain is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The KILT Blockchain is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+// If you feel like getting in touch with us, you can do so at info@botlabs.org
+
+//! Module to deal with cross-chain Merkle proof as generated by the KILT chain.
+
+use did::{did_details::DidPublicKeyDetails, DidVerificationKeyRelationship};
+use frame_support::{traits::ConstU32, DefaultNoBound, RuntimeDebug};
+use parity_scale_codec::{Decode, Encode, MaxEncodedLen};
+use scale_info::TypeInfo;
+use sp_runtime::{BoundedVec, SaturatedConversion};
+use sp_std::{fmt::Debug, vec::Vec};
+use sp_trie::{verify_trie_proof, LayoutV1};
+
+/// Type of a Merkle proof containing DID-related information.
+#[derive(Encode, Decode, RuntimeDebug, Clone, Eq, PartialEq, Default, TypeInfo)]
+pub struct DidMerkleProof {
+ pub blinded: BlindedValues,
+ // TODO: Probably replace with a different data structure for better lookup capabilities
+ pub revealed: Vec,
+}
+
+#[cfg(feature = "runtime-benchmarks")]
+impl kilt_support::traits::GetWorstCase for DidMerkleProof
+where
+ BlindedValues: kilt_support::traits::GetWorstCase,
+ Leaf: Default + Clone,
+{
+ fn worst_case(context: Context) -> Self {
+ Self {
+ blinded: BlindedValues::worst_case(context),
+ revealed: sp_std::vec![Leaf::default(); 64],
+ }
+ }
+}
+
+/// Relationship of a key to a DID Document.
+#[derive(Clone, Copy, RuntimeDebug, Encode, Decode, PartialEq, Eq, TypeInfo, PartialOrd, Ord, MaxEncodedLen)]
+pub enum DidKeyRelationship {
+ Encryption,
+ Verification(DidVerificationKeyRelationship),
+}
+
+impl From for DidKeyRelationship {
+ fn from(value: DidVerificationKeyRelationship) -> Self {
+ Self::Verification(value)
+ }
+}
+
+impl TryFrom for DidVerificationKeyRelationship {
+ type Error = ();
+
+ fn try_from(value: DidKeyRelationship) -> Result {
+ if let DidKeyRelationship::Verification(rel) = value {
+ Ok(rel)
+ } else {
+ Err(())
+ }
+ }
+}
+
+/// The key of a Merkle leaf revealing a DID key for a DID Document.
+#[derive(Clone, Encode, Decode, PartialEq, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct DidKeyMerkleKey(pub KeyId, pub DidKeyRelationship);
+
+impl From<(KeyId, DidKeyRelationship)> for DidKeyMerkleKey {
+ fn from(value: (KeyId, DidKeyRelationship)) -> Self {
+ Self(value.0, value.1)
+ }
+}
+/// The value of a Merkle leaf revealing a DID key for a DID Document.
+#[derive(Clone, Encode, Decode, PartialEq, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct DidKeyMerkleValue(pub DidPublicKeyDetails);
+
+impl From>
+ for DidKeyMerkleValue
+{
+ fn from(value: DidPublicKeyDetails) -> Self {
+ Self(value)
+ }
+}
+
+/// The key of a Merkle leaf revealing the web3name linked to a DID Document.
+#[derive(Clone, Encode, Decode, PartialEq, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct Web3NameMerkleKey(pub Web3Name);
+
+impl From for Web3NameMerkleKey {
+ fn from(value: Web3Name) -> Self {
+ Self(value)
+ }
+}
+/// The value of a Merkle leaf revealing the web3name linked to a DID Document.
+#[derive(Clone, Encode, Decode, PartialEq, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct Web3NameMerkleValue(pub BlockNumber);
+
+impl From for Web3NameMerkleValue {
+ fn from(value: BlockNumber) -> Self {
+ Self(value)
+ }
+}
+
+/// The key of a Merkle leaf revealing an account linked to a DID Document.
+#[derive(Clone, Encode, Decode, PartialEq, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct LinkedAccountMerkleKey(pub AccountId);
+
+impl From for LinkedAccountMerkleKey {
+ fn from(value: AccountId) -> Self {
+ Self(value)
+ }
+}
+/// The value of a Merkle leaf revealing an account linked to a DID
+/// Document.
+#[derive(Clone, Encode, Decode, PartialEq, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct LinkedAccountMerkleValue;
+
+impl From<()> for LinkedAccountMerkleValue {
+ fn from(_value: ()) -> Self {
+ Self
+ }
+}
+
+/// All possible Merkle leaf types that can be revealed as part of a DIP
+/// identity Merkle proof.
+#[derive(Clone, Encode, Decode, PartialEq, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub enum RevealedDidMerkleProofLeaf {
+ DidKey(DidKeyMerkleKey, DidKeyMerkleValue),
+ Web3Name(Web3NameMerkleKey, Web3NameMerkleValue),
+ LinkedAccount(LinkedAccountMerkleKey, LinkedAccountMerkleValue),
+}
+
+#[cfg(feature = "runtime-benchmarks")]
+impl Default
+ for RevealedDidMerkleProofLeaf
+where
+ KeyId: Default,
+ BlockNumber: Default,
+{
+ fn default() -> Self {
+ Self::DidKey(
+ (KeyId::default(), DidVerificationKeyRelationship::Authentication.into()).into(),
+ DidPublicKeyDetails {
+ key: did::did_details::DidVerificationKey::Ed25519(sp_core::ed25519::Public::from_raw([0u8; 32]))
+ .into(),
+ block_number: BlockNumber::default(),
+ }
+ .into(),
+ )
+ }
+}
+
+impl
+ RevealedDidMerkleProofLeaf
+where
+ KeyId: Encode,
+ Web3Name: Encode,
+ LinkedAccountId: Encode,
+{
+ pub fn encoded_key(&self) -> Vec {
+ match self {
+ RevealedDidMerkleProofLeaf::DidKey(key, _) => key.encode(),
+ RevealedDidMerkleProofLeaf::Web3Name(key, _) => key.encode(),
+ RevealedDidMerkleProofLeaf::LinkedAccount(key, _) => key.encode(),
+ }
+ }
+}
+
+impl
+ RevealedDidMerkleProofLeaf
+where
+ AccountId: Encode,
+ BlockNumber: Encode,
+{
+ pub fn encoded_value(&self) -> Vec {
+ match self {
+ RevealedDidMerkleProofLeaf::DidKey(_, value) => value.encode(),
+ RevealedDidMerkleProofLeaf::Web3Name(_, value) => value.encode(),
+ RevealedDidMerkleProofLeaf::LinkedAccount(_, value) => value.encode(),
+ }
+ }
+}
+
+/// The details of a DID key after it has been successfully verified in a Merkle
+/// proof.
+#[derive(Clone, Encode, Decode, PartialEq, MaxEncodedLen, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct RevealedDidKey {
+ /// The key ID, according to the provider's definition.
+ pub id: KeyId,
+ /// The key relationship to the subject's DID Document.
+ pub relationship: DidKeyRelationship,
+ /// The details of the DID Key, including its creation block number on the
+ /// provider chain.
+ pub details: DidPublicKeyDetails,
+}
+
+/// The details of a web3name after it has been successfully verified in a
+/// Merkle proof.
+#[derive(Clone, Encode, Decode, PartialEq, MaxEncodedLen, Eq, PartialOrd, Ord, RuntimeDebug, TypeInfo)]
+pub struct RevealedWeb3Name {
+ /// The web3name.
+ pub web3_name: Web3Name,
+ /// The block number on the provider chain in which it was linked to the DID
+ /// subject.
+ pub claimed_at: BlockNumber,
+}
+
+/// The complete set of information that is provided by the DIP Merkle proof
+/// verifier upon successful verification of a DIP Merkle proof.
+#[derive(Clone, Debug, PartialEq, Eq, TypeInfo, MaxEncodedLen, Encode, Decode, DefaultNoBound)]
+pub struct RevealedDidMerkleProofLeaves<
+ KeyId,
+ AccountId,
+ BlockNumber,
+ Web3Name,
+ LinkedAccountId,
+ const MAX_REVEALED_KEYS_COUNT: u32,
+ const MAX_REVEALED_ACCOUNTS_COUNT: u32,
+> {
+ /// The list of [`RevealedDidKey`]s revealed in the Merkle proof, up to a
+ /// maximum of `MAX_REVEALED_KEYS_COUNT`.
+ pub did_keys: BoundedVec, ConstU32>,
+ /// The optional [`RevealedWeb3Name`] revealed in the Merkle proof.
+ pub web3_name: Option>,
+ /// The list of linked accounts revealed in the Merkle proof, up to a
+ /// maximum of `MAX_REVEALED_ACCOUNTS_COUNT`.
+ pub linked_accounts: BoundedVec>,
+}
+
+impl<
+ KeyId,
+ AccountId,
+ BlockNumber,
+ Web3Name,
+ LinkedAccountId,
+ const MAX_REVEALED_KEYS_COUNT: u32,
+ const MAX_REVEALED_ACCOUNTS_COUNT: u32,
+ > sp_std::borrow::Borrow<[RevealedDidKey]>
+ for RevealedDidMerkleProofLeaves<
+ KeyId,
+ AccountId,
+ BlockNumber,
+ Web3Name,
+ LinkedAccountId,
+ MAX_REVEALED_KEYS_COUNT,
+ MAX_REVEALED_ACCOUNTS_COUNT,
+ >
+{
+ fn borrow(&self) -> &[RevealedDidKey] {
+ self.did_keys.borrow()
+ }
+}
+
+pub enum DidMerkleProofVerifierError {
+ InvalidMerkleProof,
+ TooManyRevealedKeys,
+ TooManyRevealedAccounts,
+}
+
+impl From for u8 {
+ fn from(value: DidMerkleProofVerifierError) -> Self {
+ match value {
+ DidMerkleProofVerifierError::InvalidMerkleProof => 0,
+ DidMerkleProofVerifierError::TooManyRevealedKeys => 1,
+ DidMerkleProofVerifierError::TooManyRevealedAccounts => 2,
+ }
+ }
+}
+
+/// A function that verifies a DIP Merkle proof revealing some leaves
+/// representing parts of a KILT DID identity stored on the KILT chain.
+/// If cross-chain DID signatures are not required for the specific use case,
+/// this verifier can also be used on its own, without any DID signature
+/// verification.
+/// The Merkle proof is assumed to have been generated using one of the
+/// versioned identity commitment generators, as shown in the [KILT runtime
+/// definitions](../../../runtimes/common/src/dip/README.md).
+/// The generic types are the following:
+/// * `Hasher`: The hasher used by the producer to hash the Merkle leaves and
+/// produce the identity commitment.
+/// * `KeyId`: The type of a DID key ID according to the producer's definition.
+/// * `AccountId`: The type of an account ID according to the producer's
+/// definition.
+/// * `BlockNumber`: The type of a block number according to the producer's
+/// definition.
+/// * `Web3Name`: The type of a web3names according to the producer's
+/// definition.
+/// * `LinkedAccountId`: The type of a DID-linked account ID according to the
+/// producer's definition.
+/// * `MAX_REVEALED_KEYS_COUNT`: The maximum number of DID keys that are
+/// supported when verifying the Merkle proof.
+/// * `MAX_REVEALED_ACCOUNTS_COUNT`: The maximum number of linked accounts that
+/// are supported when verifying the Merkle proof.
+pub(crate) fn verify_dip_merkle_proof<
+ Hasher,
+ KeyId,
+ AccountId,
+ BlockNumber,
+ Web3Name,
+ LinkedAccountId,
+ const MAX_REVEALED_KEYS_COUNT: u32,
+ const MAX_REVEALED_ACCOUNTS_COUNT: u32,
+>(
+ identity_commitment: &Hasher::Out,
+ proof: DidMerkleProof<
+ crate::BoundedBlindedValue,
+ RevealedDidMerkleProofLeaf,
+ >,
+) -> Result<
+ RevealedDidMerkleProofLeaves<
+ KeyId,
+ AccountId,
+ BlockNumber,
+ Web3Name,
+ LinkedAccountId,
+ MAX_REVEALED_KEYS_COUNT,
+ MAX_REVEALED_ACCOUNTS_COUNT,
+ >,
+ DidMerkleProofVerifierError,
+>
+where
+ BlockNumber: Encode + Clone,
+ Hasher: sp_core::Hasher,
+ KeyId: Encode + Clone,
+ AccountId: Encode + Clone,
+ LinkedAccountId: Encode + Clone,
+ Web3Name: Encode + Clone,
+{
+ // TODO: more efficient by removing cloning and/or collecting.
+ // Did not find another way of mapping a Vec<(Vec, Vec)> to a
+ // Vec<(Vec, Option>)>.
+ let proof_leaves = proof
+ .revealed
+ .iter()
+ .map(|leaf| (leaf.encoded_key(), Some(leaf.encoded_value())))
+ .collect::, Option>)>>();
+ let res = verify_trie_proof::, _, _, _>(identity_commitment, &proof.blinded, &proof_leaves);
+ cfg_if::cfg_if! {
+ if #[cfg(feature = "runtime-benchmarks")] {
+ drop(res);
+ } else {
+ res.map_err(|_| DidMerkleProofVerifierError::InvalidMerkleProof)?;
+ }
+ }
+
+ // At this point, we know the proof is valid. We just need to map the revealed
+ // leaves to something the consumer can easily operate on.
+ #[allow(clippy::type_complexity)]
+ let (did_keys, web3_name, linked_accounts): (
+ BoundedVec, ConstU32>,
+ Option>,
+ BoundedVec>,
+ ) = proof.revealed.into_iter().try_fold(
+ (
+ BoundedVec::with_bounded_capacity(MAX_REVEALED_KEYS_COUNT.saturated_into()),
+ None,
+ BoundedVec::with_bounded_capacity(MAX_REVEALED_ACCOUNTS_COUNT.saturated_into()),
+ ),
+ |(mut keys, web3_name, mut linked_accounts), leaf| match leaf {
+ RevealedDidMerkleProofLeaf::DidKey(key_id, key_value) => {
+ let res = keys.try_push(RevealedDidKey {
+ id: key_id.0,
+ relationship: key_id.1,
+ details: key_value.0,
+ });
+ cfg_if::cfg_if! {
+ if #[cfg(feature = "runtime-benchmarks")] {
+ drop(res);
+ } else {
+ res.map_err(|_| DidMerkleProofVerifierError::TooManyRevealedKeys)?;
+ }
+ }
+
+ Ok::<_, DidMerkleProofVerifierError>((keys, web3_name, linked_accounts))
+ }
+ RevealedDidMerkleProofLeaf::Web3Name(revealed_web3_name, details) => Ok((
+ keys,
+ Some(RevealedWeb3Name {
+ web3_name: revealed_web3_name.0,
+ claimed_at: details.0,
+ }),
+ linked_accounts,
+ )),
+ RevealedDidMerkleProofLeaf::LinkedAccount(account_id, _) => {
+ let res = linked_accounts.try_push(account_id.0);
+ cfg_if::cfg_if! {
+ if #[cfg(feature = "runtime-benchmarks")] {
+ drop(res);
+ } else {
+ res.map_err(|_| DidMerkleProofVerifierError::TooManyRevealedAccounts)?;
+ }
+ }
+
+ Ok::<_, DidMerkleProofVerifierError>((keys, web3_name, linked_accounts))
+ }
+ },
+ )?;
+
+ Ok(RevealedDidMerkleProofLeaves {
+ did_keys,
+ web3_name,
+ linked_accounts,
+ })
+}
diff --git a/crates/kilt-dip-primitives/src/state_proofs/mod.rs b/crates/kilt-dip-primitives/src/state_proofs/mod.rs
new file mode 100644
index 000000000..f21a27b14
--- /dev/null
+++ b/crates/kilt-dip-primitives/src/state_proofs/mod.rs
@@ -0,0 +1,81 @@
+// KILT Blockchain – https://botlabs.org
+// Copyright (C) 2019-2023 BOTLabs GmbH
+
+// The KILT Blockchain is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The KILT Blockchain is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+// If you feel like getting in touch with us, you can do so at info@botlabs.org
+
+//! Module to deal with cross-chain state proofs.
+
+/// Parachain-related state proof logic.
+pub(crate) mod parachain;
+/// Relaychain-related state proof logic.
+pub(crate) mod relaychain;
+
+// Ported from https://github.com/paritytech/substrate/blob/b27c470eaff379f512d1dec052aff5d551ed3b03/primitives/state-machine/src/lib.rs#L1076
+// Needs to be replaced with its runtime-friendly version when available, or be
+// kept up-to-date with upstream.
+mod substrate_no_std_port {
+ use hash_db::EMPTY_PREFIX;
+ use parity_scale_codec::Codec;
+ use sp_core::Hasher;
+ use sp_state_machine::{Backend, TrieBackend, TrieBackendBuilder};
+ use sp_std::{collections::btree_map::BTreeMap, vec::Vec};
+ use sp_trie::{HashDBT, MemoryDB, StorageProof};
+
+ pub(super) fn read_proof_check(
+ root: H::Out,
+ proof: StorageProof,
+ keys: I,
+ ) -> Result, Option>>, ()>
+ where
+ H: Hasher,
+ H::Out: Ord + Codec,
+ I: IntoIterator,
+ I::Item: AsRef<[u8]>,
+ {
+ let proving_backend = create_proof_check_backend::(root, proof)?;
+ let mut result = BTreeMap::new();
+ for key in keys.into_iter() {
+ let value = read_proof_check_on_proving_backend(&proving_backend, key.as_ref())?;
+ result.insert(key.as_ref().to_vec(), value);
+ }
+ Ok(result)
+ }
+
+ fn read_proof_check_on_proving_backend(
+ proving_backend: &TrieBackend, H>,
+ key: &[u8],
+ ) -> Result