diff --git a/Cargo.lock b/Cargo.lock index 1bd928393c..6f31f592a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -44,21 +44,6 @@ version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - [[package]] name = "ansi_term" version = "0.12.1" @@ -92,7 +77,7 @@ dependencies = [ "ic-cdk-macros 0.13.2", "ic-cdk-timers", "ic-metrics-encoder", - "ic-stable-structures 0.6.4", + "ic-stable-structures", "internet_identity_interface", "pocket-ic", "regex", @@ -112,12 +97,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - [[package]] name = "ascii-canvas" version = "3.0.0" @@ -141,7 +120,7 @@ dependencies = [ "candid", "ic-cdk 0.13.5", "ic-cdk-macros 0.13.2", - "ic-certification 2.5.0", + "ic-certification", "ic-representation-independent-hash", "include_dir", "internet_identity_interface", @@ -221,12 +200,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base32" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa" - [[package]] name = "base64" version = "0.13.1" @@ -257,15 +230,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "binread" version = "2.2.0" @@ -385,16 +349,6 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "byte-unit" -version = "4.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" -dependencies = [ - "serde", - "utf8-width", -] - [[package]] name = "bytemuck" version = "1.16.0" @@ -413,18 +367,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" -[[package]] -name = "cached" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec6d20b3d24b6c74e2c5331d2d3d8d1976a9883c7da179aa851afa4c90d62e36" -dependencies = [ - "hashbrown 0.12.3", - "instant", - "once_cell", - "thiserror", -] - [[package]] name = "cached" version = "0.47.0" @@ -446,7 +388,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c878c71c2821aa2058722038a59a67583a4240524687c6028571c9b395ded61f" dependencies = [ - "darling 0.14.4", + "darling", "proc-macro2", "quote", "syn 1.0.109", @@ -511,7 +453,7 @@ dependencies = [ "anyhow", "candid", "codespan-reporting", - "convert_case 0.6.0", + "convert_case", "hex", "lalrpop", "lalrpop-util", @@ -612,19 +554,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "num-traits", - "serde", - "windows-targets 0.52.5", -] - [[package]] name = "clap" version = "3.2.25" @@ -689,54 +618,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" -[[package]] -name = "comparable" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb513ee8037bf08c5270ecefa48da249f4c58e57a71ccfce0a5b0877d2a20eb2" -dependencies = [ - "comparable_derive", - "comparable_helper", - "pretty_assertions", - "serde", -] - -[[package]] -name = "comparable_derive" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a54b9c40054eb8999c5d1d36fdc90e4e5f7ff0d1d9621706f360b3cbc8beb828" -dependencies = [ - "convert_case 0.4.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "comparable_helper" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5437e327e861081c91270becff184859f706e3e50f5301a9d4dc8eb50752c3" -dependencies = [ - "convert_case 0.6.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "const-oid" version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "convert_case" version = "0.6.0" @@ -844,73 +731,14 @@ dependencies = [ "memchr", ] -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-ng" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.6.4", - "subtle-ng", - "zeroize", -] - -[[package]] -name = "cvt" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ae9bf77fbf2d39ef573205d554d87e86c12f1994e9ea335b0651b9b278bcf1" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - [[package]] name = "darling" version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -927,24 +755,13 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "darling_macro" version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ - "darling_core 0.14.4", + "darling_core", "quote", "syn 1.0.109", ] @@ -982,7 +799,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", - "pem-rfc7468", "zeroize", ] @@ -996,16 +812,6 @@ dependencies = [ "serde", ] -[[package]] -name = "derive_more" -version = "0.99.8-alpha.0" -source = "git+https://github.com/dfinity-lab/derive_more?rev=9f1b894e6fde640da4e9ea71a8fc0e4dd98d01da#9f1b894e6fde640da4e9ea71a8fc0e4dd98d01da" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "did_url_parser" version = "0.2.0" @@ -1016,12 +822,6 @@ dependencies = [ "serde", ] -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - [[package]] name = "digest" version = "0.9.0" @@ -1090,21 +890,6 @@ dependencies = [ "spki", ] -[[package]] -name = "ed25519-consensus" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" -dependencies = [ - "curve25519-dalek-ng", - "hex", - "rand_core 0.6.4", - "serde", - "sha2 0.9.9", - "thiserror", - "zeroize", -] - [[package]] name = "either" version = "1.12.0" @@ -1123,7 +908,6 @@ dependencies = [ "ff 0.13.0", "generic-array", "group 0.13.0", - "pem-rfc7468", "pkcs8", "rand_core 0.6.4", "sec1", @@ -1159,15 +943,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "erased-serde" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" -dependencies = [ - "serde", -] - [[package]] name = "fallible_collections" version = "0.4.9" @@ -1369,17 +1144,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - [[package]] name = "getrandom" version = "0.2.15" @@ -1388,7 +1152,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -1657,73 +1421,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ic-base-types" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base32", - "byte-unit", - "bytes", - "candid", - "comparable", - "crc32fast", - "ic-crypto-sha2", - "ic-protobuf", - "ic-stable-structures 0.5.6", - "phantom_newtype", - "prost", - "serde", - "strum", - "strum_macros", -] - -[[package]] -name = "ic-btc-interface" -version = "0.1.0" -source = "git+https://github.com/dfinity/bitcoin-canister?rev=9b239d1d67253eb14a35be6061e3967d5ec9db9d#9b239d1d67253eb14a35be6061e3967d5ec9db9d" -dependencies = [ - "candid", - "serde", - "serde_bytes", -] - -[[package]] -name = "ic-btc-types-internal" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "candid", - "ic-btc-interface", - "ic-error-types", - "ic-protobuf", - "serde", - "serde_bytes", -] - [[package]] name = "ic-canister-sig-creation" version = "1.1.0" @@ -1733,7 +1430,7 @@ dependencies = [ "candid", "hex", "ic-cdk 0.14.1", - "ic-certification 2.5.0", + "ic-certification", "ic-representation-independent-hash", "lazy_static", "serde", @@ -1750,7 +1447,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07bc917070b8fc4bd88e3199746372e44d507f54c93a9b191787e1caefca1eba" dependencies = [ "candid", - "ic-certification 2.5.0", + "ic-certification", "leb128", "nom", "thiserror", @@ -1830,10 +1527,10 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "769142849e241e6cf7f5611f9b04983e958729495ea67d2de95e5d9a9c687d9b" dependencies = [ - "cached 0.47.0", + "cached", "candid", "ic-cbor", - "ic-certification 2.5.0", + "ic-certification", "lazy_static", "leb128", "miracl_core_bls12381", @@ -1843,21 +1540,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "ic-certification" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "hex", - "ic-crypto-tree-hash", - "ic-crypto-utils-threshold-sig", - "ic-crypto-utils-threshold-sig-der", - "ic-types", - "serde", - "serde_cbor", - "tree-deserializer", -] - [[package]] name = "ic-certification" version = "2.5.0" @@ -1870,353 +1552,6 @@ dependencies = [ "sha2 0.10.8", ] -[[package]] -name = "ic-constants" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" - -[[package]] -name = "ic-crypto-ecdsa-secp256k1" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "k256", - "lazy_static", - "num-bigint", - "pem", - "rand 0.8.5", - "simple_asn1", - "zeroize", -] - -[[package]] -name = "ic-crypto-ecdsa-secp256r1" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-crypto-getrandom-for-wasm", - "lazy_static", - "num-bigint", - "p256", - "pem", - "rand 0.8.5", - "rand_chacha 0.3.1", - "simple_asn1", - "zeroize", -] - -[[package]] -name = "ic-crypto-getrandom-for-wasm" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "ic-crypto-iccsa" -version = "0.1.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-crypto-internal-basic-sig-iccsa", -] - -[[package]] -name = "ic-crypto-internal-basic-sig-cose" -version = "0.1.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-crypto-internal-basic-sig-der-utils", - "ic-crypto-internal-basic-sig-ecdsa-secp256r1", - "ic-crypto-internal-basic-sig-rsa-pkcs1", - "ic-types", - "serde", - "serde_cbor", - "simple_asn1", -] - -[[package]] -name = "ic-crypto-internal-basic-sig-der-utils" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "hex", - "ic-types", - "simple_asn1", - "zeroize", -] - -[[package]] -name = "ic-crypto-internal-basic-sig-ecdsa-secp256k1" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "ic-crypto-ecdsa-secp256k1", - "ic-crypto-internal-basic-sig-der-utils", - "ic-crypto-internal-types", - "ic-crypto-secrets-containers", - "ic-types", - "serde", - "serde_bytes", - "simple_asn1", - "zeroize", -] - -[[package]] -name = "ic-crypto-internal-basic-sig-ecdsa-secp256r1" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "ic-crypto-ecdsa-secp256r1", - "ic-crypto-internal-basic-sig-der-utils", - "ic-crypto-internal-types", - "ic-crypto-secrets-containers", - "ic-types", - "p256", - "rand 0.8.5", - "serde", - "serde_bytes", - "simple_asn1", - "zeroize", -] - -[[package]] -name = "ic-crypto-internal-basic-sig-ed25519" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "curve25519-dalek", - "ed25519-consensus", - "hex", - "ic-crypto-internal-basic-sig-der-utils", - "ic-crypto-internal-seed", - "ic-crypto-internal-types", - "ic-crypto-secrets-containers", - "ic-protobuf", - "ic-types", - "rand 0.8.5", - "rand_chacha 0.3.1", - "serde", - "simple_asn1", - "zeroize", -] - -[[package]] -name = "ic-crypto-internal-basic-sig-iccsa" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "hex", - "ic-certification 0.9.0", - "ic-crypto-internal-basic-sig-der-utils", - "ic-crypto-internal-types", - "ic-crypto-sha2", - "ic-crypto-tree-hash", - "ic-types", - "serde", - "serde_bytes", - "serde_cbor", - "simple_asn1", -] - -[[package]] -name = "ic-crypto-internal-basic-sig-rsa-pkcs1" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-crypto-getrandom-for-wasm", - "ic-crypto-internal-basic-sig-der-utils", - "ic-crypto-sha2", - "ic-types", - "num-bigint", - "num-traits", - "pkcs8", - "rsa", - "serde", - "sha2 0.10.8", - "simple_asn1", -] - -[[package]] -name = "ic-crypto-internal-bls12-381-type" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "hex", - "ic-crypto-getrandom-for-wasm", - "ic_bls12_381", - "itertools 0.12.1", - "lazy_static", - "pairing 0.22.0", - "paste", - "rand 0.8.5", - "rand_chacha 0.3.1", - "sha2 0.9.9", - "subtle", - "zeroize", -] - -[[package]] -name = "ic-crypto-internal-seed" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "hex", - "ic-crypto-sha2", - "ic-types", - "rand 0.8.5", - "rand_chacha 0.3.1", - "serde", - "zeroize", -] - -[[package]] -name = "ic-crypto-internal-sha2" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "sha2 0.10.8", -] - -[[package]] -name = "ic-crypto-internal-threshold-sig-bls12381" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "cached 0.41.0", - "hex", - "ic-crypto-internal-bls12-381-type", - "ic-crypto-internal-seed", - "ic-crypto-internal-threshold-sig-bls12381-der", - "ic-crypto-internal-types", - "ic-crypto-secrets-containers", - "ic-crypto-sha2", - "ic-types", - "lazy_static", - "parking_lot", - "rand 0.8.5", - "rand_chacha 0.3.1", - "serde", - "serde_bytes", - "serde_cbor", - "strum_macros", - "subtle", - "zeroize", -] - -[[package]] -name = "ic-crypto-internal-threshold-sig-bls12381-der" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "simple_asn1", -] - -[[package]] -name = "ic-crypto-internal-types" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "arrayvec 0.7.4", - "hex", - "ic-protobuf", - "phantom_newtype", - "serde", - "serde_cbor", - "strum", - "strum_macros", - "thiserror", - "zeroize", -] - -[[package]] -name = "ic-crypto-secrets-containers" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "serde", - "zeroize", -] - -[[package]] -name = "ic-crypto-sha2" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-crypto-internal-sha2", -] - -[[package]] -name = "ic-crypto-standalone-sig-verifier" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-crypto-iccsa", - "ic-crypto-internal-basic-sig-cose", - "ic-crypto-internal-basic-sig-der-utils", - "ic-crypto-internal-basic-sig-ecdsa-secp256k1", - "ic-crypto-internal-basic-sig-ecdsa-secp256r1", - "ic-crypto-internal-basic-sig-ed25519", - "ic-crypto-internal-basic-sig-iccsa", - "ic-crypto-internal-basic-sig-rsa-pkcs1", - "ic-crypto-internal-types", - "ic-crypto-sha2", - "ic-types", -] - -[[package]] -name = "ic-crypto-tree-hash" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "assert_matches", - "ic-crypto-internal-types", - "ic-crypto-sha2", - "ic-protobuf", - "serde", - "serde_bytes", - "thiserror", -] - -[[package]] -name = "ic-crypto-utils-threshold-sig" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "ic-crypto-internal-threshold-sig-bls12381", - "ic-crypto-internal-types", - "ic-types", -] - -[[package]] -name = "ic-crypto-utils-threshold-sig-der" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "ic-crypto-internal-threshold-sig-bls12381", - "ic-crypto-internal-threshold-sig-bls12381-der", - "ic-crypto-internal-types", - "ic-types", -] - -[[package]] -name = "ic-error-types" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-utils", - "serde", - "strum", - "strum_macros", -] - [[package]] name = "ic-http-certification" version = "2.5.0" @@ -2225,53 +1560,19 @@ checksum = "7ddb96501529c2380e087fa9f4552fd0d416f5784bb1e48142d746e9b3d6ae13" dependencies = [ "candid", "http 0.2.12", - "ic-certification 2.5.0", + "ic-certification", "ic-representation-independent-hash", "serde", "thiserror", "urlencoding", ] -[[package]] -name = "ic-ic00-types" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "candid", - "ic-base-types", - "ic-btc-interface", - "ic-btc-types-internal", - "ic-error-types", - "ic-protobuf", - "num-traits", - "serde", - "serde_bytes", - "serde_cbor", - "strum", - "strum_macros", -] - [[package]] name = "ic-metrics-encoder" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b5c7628eac357aecda461130f8074468be5aa4d258a002032d82d817f79f1f8" -[[package]] -name = "ic-protobuf" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "bincode", - "candid", - "erased-serde", - "maplit", - "prost", - "serde", - "serde_json", - "slog", -] - [[package]] name = "ic-representation-independent-hash" version = "2.5.0" @@ -2295,7 +1596,7 @@ dependencies = [ "http 0.2.12", "ic-cbor", "ic-certificate-verification", - "ic-certification 2.5.0", + "ic-certification", "ic-http-certification", "ic-representation-independent-hash", "leb128", @@ -2313,8 +1614,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d8a8115bcd1bfa672e2213a66326b3c93483d3a7a29e33dff6e381c7786c091" dependencies = [ "ic-canister-sig-creation", - "ic-certification 2.5.0", - "ic-verify-bls-signature", + "ic-certification", + "ic-verify-bls-signature 0.2.0", "ic_principal", "serde", "serde_bytes", @@ -2323,86 +1624,28 @@ dependencies = [ ] [[package]] -name = "ic-stable-structures" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95dce29e3ceb0e6da3e78b305d95365530f2efd2146ca18590c0ef3aa6038568" - -[[package]] -name = "ic-stable-structures" -version = "0.6.4" +name = "ic-signature-verification" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e2282054c8ddf0cb2a7abf5c174c373917b4345c9a096ae4aa7f7185cdcdc7" +checksum = "f9de5065430a9b1a61934f7e4a65474a7a11658db84a8b5b0c42baced6c33752" dependencies = [ - "ic_principal", -] - -[[package]] -name = "ic-sys" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "hex", - "ic-crypto-sha2", - "lazy_static", - "libc", - "nix", - "phantom_newtype", - "tokio", - "wsl", -] - -[[package]] -name = "ic-types" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "base64 0.13.1", - "bincode", - "candid", - "chrono", - "derive_more", - "hex", - "ic-base-types", - "ic-btc-types-internal", - "ic-constants", - "ic-crypto-internal-types", - "ic-crypto-sha2", - "ic-crypto-tree-hash", - "ic-error-types", - "ic-ic00-types", - "ic-protobuf", - "ic-utils", - "maplit", - "once_cell", - "phantom_newtype", - "prost", + "ic-canister-sig-creation", + "ic-certification", + "ic-verify-bls-signature 0.6.0", + "ic_principal", "serde", "serde_bytes", "serde_cbor", - "serde_json", - "serde_with", - "strum", - "strum_macros", - "thiserror", - "thousands", + "sha2 0.10.8", ] [[package]] -name = "ic-utils" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" +name = "ic-stable-structures" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e2282054c8ddf0cb2a7abf5c174c373917b4345c9a096ae4aa7f7185cdcdc7" dependencies = [ - "cvt", - "hex", - "ic-sys", - "libc", - "nix", - "prost", - "rand 0.8.5", - "scoped_threadpool", - "serde", - "thiserror", + "ic_principal", ] [[package]] @@ -2412,8 +1655,8 @@ source = "git+https://github.com/dfinity/verifiable-credentials-sdk?rev=2bc90b2c dependencies = [ "candid", "ic-canister-sig-creation", - "ic-certification 2.5.0", - "ic-signature-verification", + "ic-certification", + "ic-signature-verification 0.1.0", "identity_core", "identity_credential", "identity_jose", @@ -2438,6 +1681,19 @@ dependencies = [ "sha2 0.9.9", ] +[[package]] +name = "ic-verify-bls-signature" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6c4261586eb473fe1219de63186a98e554985d5fd6f3488036c8fb82452e27" +dependencies = [ + "hex", + "ic_bls12_381", + "lazy_static", + "pairing 0.23.0", + "sha2 0.10.8", +] + [[package]] name = "ic0" version = "0.21.1" @@ -2452,17 +1708,16 @@ checksum = "8de254dd67bbd58073e23dc1c8553ba12fa1dc610a19de94ad2bbcd0460c067f" [[package]] name = "ic_bls12_381" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c682cb199cd8fcb582a6023325d571a6464edda26c8063fe04b6f6082a1a363c" +checksum = "22c65787944f32af084dffd0c68c1e544237b76e215654ddea8cd9f527dd8b69" dependencies = [ - "digest 0.9.0", - "ff 0.12.1", - "group 0.12.1", - "pairing 0.22.0", + "digest 0.10.7", + "ff 0.13.0", + "group 0.13.0", + "pairing 0.23.0", "rand_core 0.6.4", "subtle", - "zeroize", ] [[package]] @@ -2513,7 +1768,7 @@ dependencies = [ "identity_document", "identity_verification", "indexmap 2.2.6", - "itertools 0.11.0", + "itertools", "once_cell", "serde", "serde-aux", @@ -2664,17 +1919,17 @@ dependencies = [ "candid_parser", "canister_tests", "captcha", - "getrandom 0.2.15", + "getrandom", "hex", "hex-literal", "ic-canister-sig-creation", "ic-cdk 0.13.5", "ic-cdk-macros 0.13.2", - "ic-certification 2.5.0", + "ic-certification", "ic-http-certification", "ic-metrics-encoder", "ic-response-verification", - "ic-stable-structures 0.6.4", + "ic-stable-structures", "ic-verifiable-credentials", "identity_jose", "include_dir", @@ -2742,15 +1997,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.11" @@ -2825,7 +2071,7 @@ dependencies = [ "ascii-canvas", "bit-set", "ena", - "itertools 0.11.0", + "itertools", "lalrpop-util", "petgraph", "pico-args", @@ -2852,9 +2098,6 @@ name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -dependencies = [ - "spin 0.5.2", -] [[package]] name = "leb128" @@ -2868,12 +2111,6 @@ version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - [[package]] name = "libredox" version = "0.1.3" @@ -2945,12 +2182,6 @@ dependencies = [ "logos-codegen", ] -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - [[package]] name = "matchers" version = "0.1.0" @@ -2966,15 +2197,6 @@ version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg 1.3.0", -] - [[package]] name = "mime" version = "0.3.17" @@ -3015,7 +2237,7 @@ checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.52.0", ] @@ -3042,18 +2264,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", -] - [[package]] name = "nom" version = "7.1.3" @@ -3085,23 +2295,6 @@ dependencies = [ "serde", ] -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - [[package]] name = "num-conv" version = "0.1.0" @@ -3117,17 +2310,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg 1.3.0", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -3135,7 +2317,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg 1.3.0", - "libm", ] [[package]] @@ -3177,18 +2358,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2 0.10.8", -] - [[package]] name = "pairing" version = "0.22.0" @@ -3236,24 +2405,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pem" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" -dependencies = [ - "base64 0.13.1", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" version = "2.3.1" @@ -3270,16 +2421,6 @@ dependencies = [ "indexmap 2.2.6", ] -[[package]] -name = "phantom_newtype" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "candid", - "serde", - "slog", -] - [[package]] name = "phf_shared" version = "0.10.0" @@ -3327,17 +2468,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - [[package]] name = "pkcs8" version = "0.10.2" @@ -3407,30 +2537,11 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b55c4d17d994b637e2f4daf6e5dc5d660d209d5642377d675d7a1c3ab69fa579" dependencies = [ - "arrayvec 0.5.2", + "arrayvec", "typed-arena", "unicode-width", ] -[[package]] -name = "pretty_assertions" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve", -] - [[package]] name = "proc-macro-error" version = "1.0.4" @@ -3464,29 +2575,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "psm" version = "0.1.21" @@ -3624,22 +2712,13 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - [[package]] name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom", ] [[package]] @@ -3728,7 +2807,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.15", + "getrandom", "libredox", "thiserror", ] @@ -3853,34 +2932,13 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom", "libc", - "spin 0.9.8", + "spin", "untrusted", "windows-sys 0.52.0", ] -[[package]] -name = "rsa" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" -dependencies = [ - "const-oid", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "sha2 0.10.8", - "signature", - "spki", - "subtle", - "zeroize", -] - [[package]] name = "rustc-demangle" version = "0.1.24" @@ -4001,12 +3059,6 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "scoped_threadpool" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" - [[package]] name = "scopeguard" version = "1.2.0" @@ -4177,28 +3229,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_with" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" -dependencies = [ - "serde", - "serde_with_macros", -] - -[[package]] -name = "serde_with_macros" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" -dependencies = [ - "darling 0.13.4", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "sha2" version = "0.9.9" @@ -4250,8 +3280,7 @@ dependencies = [ "candid", "hex", "ic-canister-sig-creation", - "ic-crypto-standalone-sig-verifier", - "ic-types", + "ic-signature-verification 0.2.0", "serde", "serde_json", "wasm-bindgen", @@ -4282,18 +3311,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simple_asn1" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -dependencies = [ - "num-bigint", - "num-traits", - "thiserror", - "time", -] - [[package]] name = "siphasher" version = "0.3.11" @@ -4309,15 +3326,6 @@ dependencies = [ "autocfg 1.3.0", ] -[[package]] -name = "slog" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" -dependencies = [ - "erased-serde", -] - [[package]] name = "slotmap" version = "1.0.7" @@ -4343,12 +3351,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -4425,12 +3427,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -[[package]] -name = "subtle-ng" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" - [[package]] name = "syn" version = "1.0.109" @@ -4511,12 +3507,6 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "thousands" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" - [[package]] name = "thread_local" version = "1.1.8" @@ -4769,16 +3759,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "tree-deserializer" -version = "0.9.0" -source = "git+https://github.com/dfinity/ic?rev=e69bcc7b319cbb3ebc22ec55af35287741244db6#e69bcc7b319cbb3ebc22ec55af35287741244db6" -dependencies = [ - "ic-crypto-tree-hash", - "leb128", - "serde", -] - [[package]] name = "try-lock" version = "0.2.5" @@ -4869,12 +3849,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf8-width" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" - [[package]] name = "valuable" version = "0.1.0" @@ -4906,12 +3880,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -5047,15 +4015,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.5", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -5205,12 +4164,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "wsl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dab7ac864710bdea6594becbea5b5050333cf34fefb0dc319567eb347950d4" - [[package]] name = "wyz" version = "0.5.1" @@ -5220,12 +4173,6 @@ dependencies = [ "tap", ] -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "zerocopy" version = "0.7.34" diff --git a/Cargo.toml b/Cargo.toml index c16cf75c1f..d8eb68f325 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,9 +34,7 @@ ic-representation-independent-hash = "2.2" ic-response-verification = "2.2" ic-stable-structures = "0.6" ic-verifiable-credentials = {git = "https://github.com/dfinity/verifiable-credentials-sdk", rev = "2bc90b2ce7355ba68001fcc484bdc31f2fe8e820"} -ic-crypto-standalone-sig-verifier = { git = "https://github.com/dfinity/ic", rev = "e69bcc7b319cbb3ebc22ec55af35287741244db6" } ic-canister-sig-creation = "1.1" -ic-types = { git = "https://github.com/dfinity/ic", rev = "e69bcc7b319cbb3ebc22ec55af35287741244db6" } pocket-ic = "4.0" # other dependencies diff --git a/src/sig-verifier-js/Cargo.toml b/src/sig-verifier-js/Cargo.toml index ef73684add..9f889d53dc 100644 --- a/src/sig-verifier-js/Cargo.toml +++ b/src/sig-verifier-js/Cargo.toml @@ -9,8 +9,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] ic-canister-sig-creation.workspace = true -ic-crypto-standalone-sig-verifier.workspace = true -ic-types.workspace = true +ic-signature-verification = "0.2" candid = "0.10" hex = { version = "0.4", features = ["serde"] } serde = { version = "1.0", features = ["derive"] } diff --git a/src/sig-verifier-js/src/lib.rs b/src/sig-verifier-js/src/lib.rs index 5818ad6e01..c9aed4dd8e 100644 --- a/src/sig-verifier-js/src/lib.rs +++ b/src/sig-verifier-js/src/lib.rs @@ -2,33 +2,8 @@ use candid::Principal; use ic_canister_sig_creation::{ delegation_signature_msg, hash_bytes, CanisterSigPublicKey, DELEGATION_SIG_DOMAIN, }; -use ic_crypto_standalone_sig_verifier as ic_sig_ver; -use ic_crypto_standalone_sig_verifier::KeyBytesContentType; -use ic_types::crypto::threshold_sig::IcRootOfTrust; use serde::{Deserialize, Serialize}; use wasm_bindgen::prelude::wasm_bindgen; -use KeyBytesContentType::IcCanisterSignatureAlgPublicKeyDer; - -/// Verifies a basic (i.e. not a canister signature) IC supported signature. -/// Supported signature schemes: https://internetcomputer.org/docs/current/references/ic-interface-spec/#signatures -/// -/// Throws an error if the signature verification fails. -#[wasm_bindgen(js_name = verifyBasicSignature)] -pub fn verify_basic_sig_by_public_key( - msg: &[u8], - signature: &[u8], - public_key: &[u8], -) -> Result<(), String> { - let (public_key, _) = - ic_sig_ver::user_public_key_from_bytes(public_key).map_err(|e| e.to_string())?; - ic_sig_ver::verify_basic_sig_by_public_key( - public_key.algorithm_id, - msg, - signature, - &public_key.key, - ) - .map_err(|e| e.to_string()) -} /// Verifies an IC canister signature. /// More details: https://internetcomputer.org/docs/current/references/ic-interface-spec/#canister-signatures @@ -39,39 +14,15 @@ pub fn verify_canister_sig( message: &[u8], signature: &[u8], public_key: &[u8], - ic_root_public_key: &[u8], -) -> Result<(), String> { - let root_of_trust = root_public_key_from_bytes(ic_root_public_key)?; - ic_sig_ver::verify_canister_sig(message, signature, public_key, root_of_trust) - .map_err(|e| e.to_string()) -} - -/// Verifies any IC supported signature. -/// Supported signature schemes: https://internetcomputer.org/docs/current/references/ic-interface-spec/#signatures -/// -/// Throws an error if the signature verification fails. -#[wasm_bindgen(js_name = verifyIcSignature)] -pub fn verify_ic_signature( - message: &[u8], - signature: &[u8], - public_key: &[u8], - ic_root_public_key: &[u8], + ic_root_public_key_raw: &[u8], ) -> Result<(), String> { - let (public_key, content_type) = - ic_sig_ver::user_public_key_from_bytes(public_key).map_err(|e| e.to_string())?; - let result = match content_type { - IcCanisterSignatureAlgPublicKeyDer => { - let root_of_trust = root_public_key_from_bytes(ic_root_public_key)?; - ic_sig_ver::verify_canister_sig(message, signature, &public_key.key, root_of_trust) - } - _ => ic_sig_ver::verify_basic_sig_by_public_key( - public_key.algorithm_id, - message, - signature, - &public_key.key, - ), - }; - result.map_err(|e| e.to_string()) + ic_signature_verification::verify_canister_sig( + message, + signature, + public_key, + ic_root_public_key_raw, + ) + .map_err(|e| e.to_string()) } /// Verifies the validity of the given signed delegation chain wrt. the challenge, and the other parameters. @@ -137,7 +88,6 @@ pub fn validate_delegation_and_get_principal( // `delegations[0].signature` is a valid canister signature on a representation-independent hash of `delegations[0]`, // wrt. `signed_delegation_chain.publicKey` and `ic_root_public_key_raw`. - let root_of_trust = root_public_key_from_bytes(ic_root_public_key_raw)?; let message = msg_with_domain( DELEGATION_SIG_DOMAIN, &delegation_signature_msg( @@ -151,11 +101,11 @@ pub fn validate_delegation_and_get_principal( "hash of signed bytes: {}", hex::encode(hash_bytes(message.as_slice()).as_slice()) ); - ic_sig_ver::verify_canister_sig( + ic_signature_verification::verify_canister_sig( message.as_slice(), signed_delegation.signature.as_slice(), - cs_pk.to_raw().as_slice(), - root_of_trust, + &cs_pk.to_der(), + ic_root_public_key_raw, ) .map_err(|e| format!("Invalid canister signature: {}", e))?; @@ -201,16 +151,6 @@ impl Delegation { } } -fn root_public_key_from_bytes(ic_root_public_key: &[u8]) -> Result { - let root_key_bytes: [u8; 96] = ic_root_public_key.try_into().map_err(|_| { - format!( - "Invalid length of ic root public key: expected 96 bytes, got {}", - ic_root_public_key.len() - ) - })?; - Ok(IcRootOfTrust::from(root_key_bytes)) -} - #[cfg(test)] mod tests { use super::*; @@ -324,6 +264,6 @@ mod tests { II_CANISTER_ID, wrong_ic_root_pk.as_slice(), ); - assert_matches!(result, Err(msg) if msg.contains("signature could not be verified")); + assert_matches!(result, Err(msg) if msg.contains("Invalid canister signature")); } } diff --git a/src/sig-verifier-js/tests.ts b/src/sig-verifier-js/tests.ts index d71e85851f..eb6bc662b0 100644 --- a/src/sig-verifier-js/tests.ts +++ b/src/sig-verifier-js/tests.ts @@ -130,6 +130,6 @@ test("Should fail validateDelegationAndGetPrincipal with wrong IC root public ke BAD_ROOT_PK ); expect(call).toThrow( - expect.stringContaining("signature could not be verified") + expect.stringContaining("Invalid canister signature: invalid BLS signature") ); });