diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a6e51d7f8f..d649cc21bc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,7 +91,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install yarn 2 run: sudo npm install -g yarn && yarn set version berry - name: Download core-blockchain binaries diff --git a/Cargo.lock b/Cargo.lock index 6514cf474c..ceede6475b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,7 +72,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6" dependencies = [ - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -187,8 +187,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f270541caec49c15673b0af0e9a00143421ad4f118d2df7edcb68b627632f56" dependencies = [ "actix-router", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -226,6 +226,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + [[package]] name = "aead-io" version = "0.1.4" @@ -298,6 +308,20 @@ dependencies = [ "subtle", ] +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead 0.5.2", + "aes 0.8.1", + "cipher 0.4.3", + "ctr 0.9.2", + "ghash 0.5.0", + "subtle", +] + [[package]] name = "aes-soft" version = "0.6.4" @@ -324,7 +348,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.11", "once_cell", "version_check", ] @@ -336,7 +360,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ "cfg-if", - "getrandom 0.2.7", + "getrandom 0.2.11", "once_cell", "version_check", ] @@ -560,8 +584,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", "synstructure 0.12.6", ] @@ -572,8 +596,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", "synstructure 0.12.6", ] @@ -584,8 +608,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -685,9 +709,9 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -733,8 +757,8 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -750,9 +774,9 @@ version = "0.1.71" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -821,8 +845,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -889,9 +913,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdca6a10ecad987bda04e95606ef85a5417dcaac1a78455242d72e031e2b6b62" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -1027,8 +1051,8 @@ dependencies = [ "lazycell", "log", "peeking_take_while", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "regex", "rustc-hash", "shlex", @@ -1049,12 +1073,12 @@ dependencies = [ "lazycell", "peeking_take_while", "prettyplease 0.2.9", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "regex", "rustc-hash", "shlex", - "syn 2.0.26", + "syn 2.0.48", ] [[package]] @@ -1251,9 +1275,9 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a071c348a5ef6da1d3a87166b408170b46002382b1dda83992b5c2208cefb370" +checksum = "ca548b6163b872067dc5eb82fd130c56881435e30367d2073594a3d9744120dd" dependencies = [ "log", "parity-scale-codec", @@ -1356,8 +1380,8 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -1546,25 +1570,24 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chacha20" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +checksum = "c7fc89c7c5b9e7a02dfe45cd2367bae382f9ed31c61ca8debe5f827c420a2f08" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher 0.4.3", "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.3", "poly1305", "zeroize", ] @@ -1673,6 +1696,7 @@ checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" dependencies = [ "crypto-common", "inout", + "zeroize", ] [[package]] @@ -1751,9 +1775,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -1802,7 +1826,7 @@ dependencies = [ "bs58", "coins-core", "digest 0.10.7", - "getrandom 0.2.7", + "getrandom 0.2.11", "hmac 0.12.1", "k256", "lazy_static", @@ -1819,7 +1843,7 @@ checksum = "84f4d04ee18e58356accd644896aeb2094ddeafb6a713e056cef0c0a8e468c15" dependencies = [ "bitvec 0.17.4", "coins-bip32", - "getrandom 0.2.7", + "getrandom 0.2.11", "hmac 0.12.1", "once_cell", "pbkdf2 0.12.2", @@ -2002,9 +2026,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.2" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -2373,11 +2397,12 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ccfd8c0ee4cce11e45b3fd6f9d5e69e0cc62912aa6a0cb1bf4617b0eba5a12f" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", + "rand_core 0.6.4", "typenum", ] @@ -2417,7 +2442,7 @@ version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c" dependencies = [ - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -2476,18 +2501,31 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.1" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d4ba9852b42210c7538b75484f9daa0655e9a3ac04f693747bb0f02cf3cfe16" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", "fiat-crypto", - "packed_simd_2", "platforms 3.0.2", + "rustc_version 0.4.0", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", +] + [[package]] name = "cxx" version = "1.0.83" @@ -2509,8 +2547,8 @@ dependencies = [ "cc", "codespan-reporting", "once_cell", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "scratch", "syn 1.0.109", ] @@ -2527,8 +2565,8 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1362b0ddcfc4eb0a1f57b68bd77dd99f0e826958a96abd0ae9bd092e114ffed6" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -2570,8 +2608,8 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -2583,8 +2621,8 @@ checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "strsim", "syn 1.0.109", ] @@ -2597,10 +2635,10 @@ checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "strsim", - "syn 2.0.26", + "syn 2.0.48", ] [[package]] @@ -2610,7 +2648,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core 0.13.4", - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -2621,7 +2659,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core 0.14.4", - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -2632,8 +2670,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" dependencies = [ "darling_core 0.20.1", - "quote 1.0.31", - "syn 2.0.26", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -2760,8 +2798,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -2771,8 +2809,8 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -2792,8 +2830,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" dependencies = [ "darling 0.14.4", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -2813,8 +2851,8 @@ version = "0.99.17" source = "git+https://github.com/JelteF/derive_more#3ab6fcc0ce82d53508e904103b5e70bb280e2f76" dependencies = [ "convert_case", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "rustc_version 0.4.0", "syn 1.0.109", "unicode-xid 0.2.3", @@ -2853,7 +2891,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8cf4b8dd484ede80fd5c547592c46c3745a617c8af278e2b72bea86b2dfed6" dependencies = [ "devise_core", - "quote 1.0.31", + "quote 1.0.35", ] [[package]] @@ -2863,10 +2901,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35b50dba0afdca80b187392b24f2499a88c336d5a8493e4b4ccfb608708be56a" dependencies = [ "bitflags 2.0.2", - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", "proc-macro2-diagnostics 0.10.0", - "quote 1.0.31", - "syn 2.0.26", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -2983,8 +3021,8 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -3055,8 +3093,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -3076,8 +3114,8 @@ dependencies = [ "byteorder", "lazy_static", "proc-macro-error", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -3250,8 +3288,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -3270,8 +3308,8 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -3290,9 +3328,9 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -3311,8 +3349,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea83a3fbdc1d999ccfbcbee717eab36f8edf2d71693a23ce0d7cca19e085304c" dependencies = [ "darling 0.13.4", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -3526,13 +3564,13 @@ dependencies = [ "eyre", "hex", "prettyplease 0.2.9", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "regex", "reqwest", "serde", "serde_json", - "syn 2.0.26", + "syn 2.0.48", "toml 0.7.3", "walkdir", ] @@ -3547,10 +3585,10 @@ dependencies = [ "ethers-contract-abigen", "ethers-core", "hex", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "serde_json", - "syn 2.0.26", + "syn 2.0.48", ] [[package]] @@ -3576,7 +3614,7 @@ dependencies = [ "serde", "serde_json", "strum 0.25.0", - "syn 2.0.26", + "syn 2.0.48", "tempfile", "thiserror", "tiny-keccak", @@ -3734,8 +3772,8 @@ checksum = "f360349150728553f92e4c997a16af8915f418d3a0f21b440d34c5632f16ed84" dependencies = [ "blake2", "fs-err", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -3801,9 +3839,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.20" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" +checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" [[package]] name = "figment" @@ -3907,8 +3945,8 @@ dependencies = [ "fixed", "paste", "proc-macro-error", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -4081,9 +4119,9 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4198,9 +4236,9 @@ dependencies = [ "frame-support-procedural-tools", "itertools", "proc-macro-warning", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4210,9 +4248,9 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4220,9 +4258,9 @@ name = "frame-support-procedural-tools-derive" version = "3.0.0" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4453,9 +4491,9 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4574,9 +4612,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "js-sys", @@ -4605,6 +4643,16 @@ dependencies = [ "polyval 0.5.3", ] +[[package]] +name = "ghash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +dependencies = [ + "opaque-debug 0.3.0", + "polyval 0.6.1", +] + [[package]] name = "gimli" version = "0.26.2" @@ -4890,6 +4938,9 @@ name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] name = "hex-literal" @@ -5242,8 +5293,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -5352,11 +5403,11 @@ dependencies = [ "itertools", "log", "parity-scale-codec", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "serde", "serde_json", - "syn 2.0.26", + "syn 2.0.48", ] [[package]] @@ -5411,9 +5462,9 @@ dependencies = [ "blake2", "either", "itertools", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -5426,9 +5477,9 @@ dependencies = [ "ink_ir", "ink_primitives", "parity-scale-codec", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", "synstructure 0.13.0", ] @@ -5521,8 +5572,8 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87d00c17e264ce02be5bc23d7bff959188ec7137beddd06b8b6b05a7c680ea85" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -5776,8 +5827,8 @@ checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c" dependencies = [ "heck 0.4.1", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -5983,9 +6034,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" [[package]] name = "libloading" @@ -5997,12 +6048,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "libm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" - [[package]] name = "libm" version = "0.2.2" @@ -6018,7 +6063,7 @@ dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.7", + "getrandom 0.2.11", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -6320,7 +6365,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" dependencies = [ "heck 0.4.1", - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -6645,7 +6690,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fbfc88337168279f2e9ae06e157cfed4efd3316e14dc96ed074d4f2e6c5952" dependencies = [ - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -6925,8 +6970,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" dependencies = [ "cfg-if", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -7060,8 +7105,8 @@ checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" dependencies = [ "proc-macro-crate", "proc-macro-error", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", "synstructure 0.12.6", ] @@ -7111,8 +7156,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d232c68884c0c99810a5a4d333ef7e47689cfd0edc85efc9e54e1e6bf5212766" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -7461,8 +7506,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -7473,9 +7518,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -7576,8 +7621,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ "bytes", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -7602,9 +7647,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -7662,16 +7707,6 @@ dependencies = [ "sha2 0.10.7", ] -[[package]] -name = "packed_simd_2" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" -dependencies = [ - "cfg-if", - "libm 0.1.4", -] - [[package]] name = "page_size" version = "0.4.2" @@ -7930,9 +7965,9 @@ name = "pallet-contracts-proc-macro" version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -8453,9 +8488,9 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -8659,8 +8694,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b6937b5e67bfba3351b87b040d48352a2fcb6ad72f81855412ce97b45c8f110" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -8816,9 +8851,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82a5ca643c2303ecb740d506539deba189e16f2754040a42901cd8105d0282d0" dependencies = [ - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", "proc-macro2-diagnostics 0.9.1", - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -8879,8 +8914,8 @@ checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -8990,6 +9025,7 @@ dependencies = [ "ethers", "frame-system", "hex", + "hex-literal", "im", "insta", "log", @@ -9006,6 +9042,7 @@ dependencies = [ "prpc-build", "reqwest", "scale-info", + "secp256k1 0.28.0", "serde", "serde_json", "sp-application-crypto", @@ -9591,9 +9628,9 @@ checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ "phf_generator 0.11.2", "phf_shared 0.11.2", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -9630,9 +9667,9 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -9740,10 +9777,10 @@ dependencies = [ "ink_ir", "insta", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "rustfmt-snippet 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 2.0.26", + "syn 2.0.48", "unzip3", ] @@ -9752,7 +9789,7 @@ name = "pink-extension-runtime" version = "0.4.4" dependencies = [ "futures", - "getrandom 0.2.7", + "getrandom 0.2.11", "hex_fmt", "log", "once_cell", @@ -9789,7 +9826,7 @@ dependencies = [ "heck 0.4.1", "insta", "proc-macro-crate", - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", "rustfmt-snippet 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.109", ] @@ -9945,13 +9982,13 @@ dependencies = [ [[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", + "universal-hash 0.5.1", ] [[package]] @@ -9962,7 +9999,7 @@ checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" dependencies = [ "cpuid-bool", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] @@ -9974,7 +10011,19 @@ dependencies = [ "cfg-if", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", +] + +[[package]] +name = "polyval" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug 0.3.0", + "universal-hash 0.5.1", ] [[package]] @@ -10103,7 +10152,7 @@ version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51" dependencies = [ - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", "syn 1.0.109", ] @@ -10113,8 +10162,8 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9825a04601d60621feed79c4e6b56d65db77cdca55cef43b46b0de1096d1c282" dependencies = [ - "proc-macro2 1.0.66", - "syn 2.0.26", + "proc-macro2 1.0.75", + "syn 2.0.48", ] [[package]] @@ -10148,8 +10197,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", "version_check", ] @@ -10160,8 +10209,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "version_check", ] @@ -10177,9 +10226,9 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e99670bafb56b9a106419397343bdbc8b8742c3cc449fec6345f86173f47cd4" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -10193,9 +10242,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "907a61bd0f64c2f29cd1cf1dc34d05176426a3f504a78010f08416ddb7b13708" dependencies = [ "unicode-ident", ] @@ -10206,8 +10255,8 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", "version_check", "yansi", @@ -10219,9 +10268,9 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "606c4ba35817e2922a308af55ad51bab3645b59eae5c570d4a6cf07e36bd493b" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", "version_check", "yansi", ] @@ -10258,8 +10307,8 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b6a5217beb0ad503ee7fa752d451c905113d70721b937126158f3106a48cc1" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -10333,8 +10382,8 @@ checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -10346,8 +10395,8 @@ checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -10392,12 +10441,12 @@ dependencies = [ "itertools", "log", "multimap", - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", "prost 0.11.8", "prost-build 0.11.8", "prost-build 0.9.0", "prost-types 0.11.8", - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -10425,8 +10474,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -10536,11 +10585,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.31" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", ] [[package]] @@ -10642,7 +10691,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.11", ] [[package]] @@ -10773,7 +10822,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.11", "redox_syscall 0.2.13", "thiserror", ] @@ -10793,8 +10842,8 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a043824e29c94169374ac5183ac0ed43f5724dc4556b19568007486bd840fa1f" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -11024,6 +11073,20 @@ dependencies = [ "winapi", ] +[[package]] +name = "ring" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e" +dependencies = [ + "cc", + "getrandom 0.2.11", + "libc", + "spin 0.9.3", + "untrusted 0.9.0", + "windows-sys 0.48.0", +] + [[package]] name = "ripemd" version = "0.1.3" @@ -11057,8 +11120,8 @@ version = "0.7.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -11085,8 +11148,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -11175,10 +11238,10 @@ dependencies = [ "devise", "glob", "indexmap 1.9.1", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "rocket_http", - "syn 2.0.26", + "syn 2.0.48", "unicode-xid 0.2.3", ] @@ -11295,7 +11358,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a66b1273014079e4cf2b04aad1f3a2849e26e9a106f0411be2b1c15c23a791a" dependencies = [ - "quote 1.0.31", + "quote 1.0.35", "syn 1.0.109", ] @@ -11350,7 +11413,7 @@ dependencies = [ name = "rustfmt-snippet" version = "0.1.0" dependencies = [ - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", ] [[package]] @@ -11359,7 +11422,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f5e687f088721017e263dedd91e4c7f45f54d5b37afa6eea95fdc34a8b80c80" dependencies = [ - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", ] [[package]] @@ -11653,9 +11716,9 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -12575,9 +12638,9 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -12683,8 +12746,8 @@ checksum = "b38741b2f78e4391b94eac6b102af0f6ea2b0f7fe65adb55d7f4004f507854db" dependencies = [ "darling 0.14.4", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -12696,8 +12759,8 @@ checksum = "4391f0dfbb6690f035f6d2a15d6a12f88cc5395c36bcc056db07ffa2a90870ec" dependencies = [ "darling 0.14.4", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -12737,8 +12800,8 @@ checksum = "dd983cf0a9effd76138554ead18a6de542d1af175ac12fd5e91836c5c0268082" dependencies = [ "darling 0.14.4", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -12750,16 +12813,16 @@ checksum = "316e0fb10ec0fee266822bd641bab5e332a4ab80ef8c5b5ff35e5401a394f5a6" dependencies = [ "darling 0.14.4", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] [[package]] name = "scale-info" -version = "2.8.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad560913365790f17cbf12479491169f01b9d46d29cfc7422bf8c64bdc61b731" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" dependencies = [ "bitvec 1.0.1", "cfg-if", @@ -12771,13 +12834,13 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.8.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19df9bd9ace6cc2fe19387c96ce677e823e07d017ceed253e7bb3d1d1bd9c73b" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -12983,6 +13046,15 @@ dependencies = [ "secp256k1-sys 0.8.1", ] +[[package]] +name = "secp256k1" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acea373acb8c21ecb5a23741452acd2593ed44ee3d343e72baaa143bc89d0d5" +dependencies = [ + "secp256k1-sys 0.9.1", +] + [[package]] name = "secp256k1-sys" version = "0.6.0" @@ -13001,6 +13073,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dd97a086ec737e30053fd5c46f097465d25bb81dd3608825f65298c4c98be83" +dependencies = [ + "cc", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -13080,9 +13161,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.164" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" dependencies = [ "serde_derive", ] @@ -13110,13 +13191,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.164" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -13141,9 +13222,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.1" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -13409,7 +13490,7 @@ dependencies = [ "heck 0.4.1", "insta", "proc-macro-crate", - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", "rustfmt-snippet 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.109", ] @@ -13522,9 +13603,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "snap" @@ -13534,16 +13615,16 @@ checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" [[package]] name = "snow" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ccba027ba85743e09d15c03296797cad56395089b832b48b5a5217880f57733" +checksum = "58021967fd0a5eeeb23b08df6cc244a4d4a5b4aec1d27c9e02fad1a58b4cd74e" dependencies = [ - "aes-gcm 0.9.4", + "aes-gcm 0.10.3", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.1", + "curve25519-dalek 4.1.1", "rand_core 0.6.4", - "ring 0.16.20", + "ring 0.17.3", "rustc_version 0.4.0", "sha2 0.10.7", "subtle", @@ -13619,9 +13700,9 @@ dependencies = [ "blake2", "expander", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -13860,10 +13941,10 @@ name = "sp-core-hashing-proc-macro" version = "5.0.0" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "sp-core-hashing", - "syn 2.0.26", + "syn 2.0.48", ] [[package]] @@ -13880,9 +13961,9 @@ name = "sp-debug-derive" version = "5.0.0" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -14091,9 +14172,9 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e dependencies = [ "Inflector", "proc-macro-crate", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -14277,9 +14358,9 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40" dependencies = [ "parity-scale-codec", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -14440,8 +14521,8 @@ dependencies = [ "either", "heck 0.4.1", "once_cell", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "sha2 0.10.7", "sqlx-core", "sqlx-rt", @@ -14468,8 +14549,8 @@ checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "serde", "serde_json", "unicode-xid 0.2.3", @@ -14537,8 +14618,8 @@ checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" dependencies = [ "cfg_aliases", "memchr", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -14562,8 +14643,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "serde", "serde_derive", "syn 1.0.109", @@ -14576,8 +14657,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" dependencies = [ "base-x", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "serde", "serde_derive", "serde_json", @@ -14645,8 +14726,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "rustversion", "syn 1.0.109", ] @@ -14658,10 +14739,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6069ca09d878a33f883cc06aaa9718ede171841d3832450354410b718b097232" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "rustversion", - "syn 2.0.26", + "syn 2.0.48", ] [[package]] @@ -14897,7 +14978,7 @@ dependencies = [ "either", "frame-metadata", "futures", - "getrandom 0.2.7", + "getrandom 0.2.11", "hex", "impl-serde", "jsonrpsee", @@ -14928,11 +15009,11 @@ dependencies = [ "hex", "jsonrpsee", "parity-scale-codec", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "scale-info", "subxt-metadata", - "syn 2.0.26", + "syn 2.0.48", "thiserror", "tokio", ] @@ -14944,7 +15025,7 @@ dependencies = [ "darling 0.20.1", "proc-macro-error", "subxt-codegen", - "syn 2.0.26", + "syn 2.0.48", ] [[package]] @@ -14995,19 +15076,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.26" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "unicode-ident", ] @@ -15023,8 +15104,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", "unicode-xid 0.2.3", ] @@ -15035,9 +15116,9 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", "unicode-xid 0.2.3", ] @@ -15184,22 +15265,22 @@ version = "0.1.0" [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -15298,8 +15379,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" dependencies = [ "proc-macro-hack", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "standback", "syn 1.0.109", ] @@ -15382,9 +15463,9 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -15542,9 +15623,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ "serde", ] @@ -15627,16 +15708,16 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[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", @@ -16021,9 +16102,9 @@ checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] @@ -16079,6 +16160,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "unsafe-libyaml" version = "0.2.9" @@ -16144,7 +16235,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.11", "serde", ] @@ -16155,7 +16246,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" dependencies = [ "atomic", - "getrandom 0.2.7", + "getrandom 0.2.11", "serde", "sha1_smol", ] @@ -16241,7 +16332,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdeeb5c1170246de8425a3e123e7ef260dc05ba2b522a1d369fe2315376efea4" dependencies = [ - "proc-macro2 1.0.66", + "proc-macro2 1.0.75", "syn 1.0.109", "wai-bindgen-gen-core", "wai-bindgen-gen-rust-wasm", @@ -16342,9 +16433,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", "wasm-bindgen-shared", ] @@ -16366,8 +16457,8 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5020cfa87c7cecefef118055d44e3c1fc122c7ec25701d528ee458a0b45f38f" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -16389,7 +16480,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.31", + "quote 1.0.35", "wasm-bindgen-macro-support", ] @@ -16399,9 +16490,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -16614,8 +16705,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97901fdbaae383dbb90ea162cc3a76a9fa58ac39aec7948b4c0b9bbef9307738" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", ] @@ -16748,7 +16839,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", - "libm 0.2.2", + "libm", "memory_units", "num-rational", "num-traits", @@ -16761,7 +16852,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624e6333e861ef49095d2d678b76ebf30b06bf37effca845be7e5b87c90071b7" dependencies = [ "downcast-rs", - "libm 0.2.2", + "libm", "num-traits", "paste", ] @@ -17778,9 +17869,9 @@ version = "0.9.43" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25" dependencies = [ "Inflector", - "proc-macro2 1.0.66", - "quote 1.0.31", - "syn 2.0.26", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -17848,8 +17939,8 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" dependencies = [ - "proc-macro2 1.0.66", - "quote 1.0.31", + "proc-macro2 1.0.75", + "quote 1.0.35", "syn 1.0.109", "synstructure 0.12.6", ] diff --git a/crates/phactory/api/Cargo.toml b/crates/phactory/api/Cargo.toml index 4b40dcb523..285fcc0900 100644 --- a/crates/phactory/api/Cargo.toml +++ b/crates/phactory/api/Cargo.toml @@ -37,6 +37,10 @@ serde_json = "1.0.79" im = "15" ethers = "2.0.8" +hex-literal = "0.4.1" +secp256k1 = "0.28.0" +hex = { version = "0.4", default-features = false, features = ["alloc", "serde"] } + [dev-dependencies] insta = "1.13.0" hex = "0.4.3" diff --git a/crates/phactory/api/build.rs b/crates/phactory/api/build.rs index 1cbc9c0f13..29d7f46a06 100644 --- a/crates/phactory/api/build.rs +++ b/crates/phactory/api/build.rs @@ -33,6 +33,13 @@ fn main() { ] { builder = builder.field_attribute(field, "#[serde(default)]"); } + for field in [ + "AllowHandoverToRequest.measurement", + "SigInfo.pubkey", + "SigInfo.signature", + ] { + builder = builder.field_attribute(field, "#[serde(with=\"hex::serde\")]"); + } builder .compile(&["pruntime_rpc.proto"], &[render_dir]) .unwrap(); diff --git a/crates/phactory/api/proto b/crates/phactory/api/proto index 21d5484f21..5405cef6bc 160000 --- a/crates/phactory/api/proto +++ b/crates/phactory/api/proto @@ -1 +1 @@ -Subproject commit 21d5484f2126cbe0191eeae1d6a9248da57da7d5 +Subproject commit 5405cef6bc4d47844663804304270ae97b4e97c3 diff --git a/crates/phactory/api/src/crypto.rs b/crates/phactory/api/src/crypto.rs index 3466e2e11a..464f364f28 100644 --- a/crates/phactory/api/src/crypto.rs +++ b/crates/phactory/api/src/crypto.rs @@ -3,6 +3,8 @@ use std::convert::TryFrom; use alloc::vec; use alloc::vec::Vec; use parity_scale_codec::{Decode, Encode, Error as CodecError}; +use sp_core::{H160, H256}; +use sp_runtime::AccountId32; use crate::prpc::{Signature, SignatureType}; pub use phala_crypto::{aead, ecdh, CryptoError}; @@ -59,8 +61,10 @@ impl From for SignatureVerifyError { } } +#[derive(Default, Clone, Encode, Decode, Debug)] pub enum MessageType { Certificate { ttl: u32 }, + #[default] ContractQuery, } @@ -72,7 +76,7 @@ impl Signature { msg_type: MessageType, current_block: u32, max_depth: u32, - ) -> Result>, SignatureVerifyError> { + ) -> Result, SignatureVerifyError> { if max_depth == 0 { return Err(SignatureVerifyError::TooLongCertificateChain); } @@ -92,21 +96,21 @@ impl Signature { return Err(SignatureVerifyError::CertificateExpired); } - let pubkey = body.recover(msg, msg_type, sig_type, &self.signature)?; + let body_signer = body.recover(msg, msg_type, sig_type, &self.signature)?; - let key_chain = if let Some(cert_sig) = &cert.signature { - let mut key_chain = cert_sig.verify( + let signers = if let Some(cert_sig) = &cert.signature { + let mut signers = cert_sig.verify( &body.encode(), MessageType::Certificate { ttl: body.ttl }, current_block, max_depth - 1, )?; - key_chain.push(pubkey); - key_chain + signers.push(body_signer); + signers } else { - vec![pubkey] + vec![body_signer] }; - Ok(key_chain) + Ok(signers) } None => Err(SignatureVerifyError::CertificateMissing), } @@ -129,14 +133,17 @@ where } /// Dummy "recover" function to verify the Substrate signatures and return the public key -fn recover(pubkey: &[u8], sig: &[u8], msg: &[u8]) -> Result, SignatureVerifyError> +fn recover(pubkey: &[u8], sig: &[u8], msg: &[u8]) -> Result where T: sp_core::crypto::Pair, T::Public: for<'a> TryFrom<&'a [u8]>, T::Signature: for<'a> TryFrom<&'a [u8]>, { + let Ok(public) = T::Public::try_from(pubkey) else { + return Err(SignatureVerifyError::InvalidPublicKey); + }; verify::(pubkey, sig, msg) - .then_some(pubkey.to_vec()) + .then_some(public) .ok_or(SignatureVerifyError::InvalidSignature) } @@ -153,7 +160,7 @@ fn wrap_bytes(msg: &[u8]) -> Vec { fn evm_ecdsa_recover( mut signature: [u8; 65], message_hash: [u8; 32], -) -> Result, SignatureVerifyError> { +) -> Result { if signature[64] >= 27 { signature[64] -= 27; } @@ -161,7 +168,39 @@ fn evm_ecdsa_recover( let recovered_pubkey = signature .recover_prehashed(&message_hash) .ok_or(SignatureVerifyError::InvalidSignature)?; - Ok(recovered_pubkey.as_ref().to_vec()) + Ok(recovered_pubkey) +} + +/// Convert EVM public key to Substrate account ID. +/// +/// account_id = keccak256(pubkey)[12..] + b"@evm_address" +fn account_id_from_evm_pubkey(pubkey: sp_core::ecdsa::Public) -> AccountId32 { + let pubkey = + secp256k1::PublicKey::from_slice(pubkey.as_ref()).expect("Should always be a valid pubkey"); + let h32 = H256(sp_core::hashing::keccak_256( + &pubkey.serialize_uncompressed()[1..], + )); + let h20 = H160::from(h32); + let mut raw_account: [u8; 32] = [0; 32]; + let postfix = b"@evm_address"; + raw_account[..20].copy_from_slice(h20.as_bytes()); + raw_account[20..].copy_from_slice(postfix); + AccountId32::from(raw_account) +} + +#[test] +fn test_account_id_from_evm_pubkey() { + let pubkey = sp_core::ecdsa::Public(hex_literal::hex!( + "029df1e69b8b7c2da2efe0069dc141c2cec0317bf3fd135abaeb69ee33801f5970" + )); + let account_id = account_id_from_evm_pubkey(pubkey); + assert_eq!( + hex::encode(account_id), + format!( + "77bb3d64ea13e4f0beafdd5d92508d4643bb09cb{}", + hex::encode(b"@evm_address") + ) + ); } #[derive(Clone, Encode, Decode, Debug)] @@ -178,28 +217,51 @@ impl CertificateBody { msg_type: MessageType, sig_type: SignatureType, signature: &[u8], - ) -> Result, SignatureVerifyError> { - match sig_type { - SignatureType::Ed25519 => { - recover::(&self.pubkey, signature, msg) - } - SignatureType::Sr25519 => { - recover::(&self.pubkey, signature, msg) - } - SignatureType::Ecdsa => recover::(&self.pubkey, signature, msg), - SignatureType::Ed25519WrapBytes => { - let wrapped = wrap_bytes(msg); - recover::(&self.pubkey, signature, &wrapped) - } - SignatureType::Sr25519WrapBytes => { - let wrapped = wrap_bytes(msg); - recover::(&self.pubkey, signature, &wrapped) - } - SignatureType::EcdsaWrapBytes => { - let wrapped = wrap_bytes(msg); - recover::(&self.pubkey, signature, &wrapped) - } - SignatureType::Eip712 => eip712::recover(&self.pubkey, signature, msg, msg_type), - } + ) -> Result { + recover_signer_account(&self.pubkey, msg, msg_type, sig_type, signature) } } + +pub fn recover_signer_account( + pubkey: &[u8], + msg: &[u8], + msg_type: MessageType, + sig_type: SignatureType, + signature: &[u8], +) -> Result { + use account_id_from_evm_pubkey as evm_account; + let signer = match sig_type { + SignatureType::Ed25519 => recover::(pubkey, signature, msg)?.into(), + SignatureType::Sr25519 => recover::(pubkey, signature, msg)?.into(), + SignatureType::Ecdsa => { + sp_core::blake2_256(recover::(pubkey, signature, msg)?.as_ref()) + .into() + } + SignatureType::Ed25519WrapBytes => { + let wrapped = wrap_bytes(msg); + recover::(pubkey, signature, &wrapped)?.into() + } + SignatureType::Sr25519WrapBytes => { + let wrapped = wrap_bytes(msg); + recover::(pubkey, signature, &wrapped)?.into() + } + SignatureType::EcdsaWrapBytes => { + let wrapped = wrap_bytes(msg); + sp_core::blake2_256( + recover::(pubkey, signature, &wrapped)?.as_ref(), + ) + .into() + } + SignatureType::Eip712 => evm_account(eip712::recover(pubkey, signature, msg, msg_type)?), + SignatureType::EvmEcdsa => { + evm_account(recover::(pubkey, signature, msg)?) + } + SignatureType::EvmEcdsaWrapBytes => { + let wrapped = wrap_bytes(msg); + evm_account(recover::( + pubkey, signature, &wrapped, + )?) + } + }; + Ok(signer) +} diff --git a/crates/phactory/api/src/crypto/eip712.rs b/crates/phactory/api/src/crypto/eip712.rs index 2c7b28e8b2..8372a454e7 100644 --- a/crates/phactory/api/src/crypto/eip712.rs +++ b/crates/phactory/api/src/crypto/eip712.rs @@ -6,6 +6,7 @@ use ethers::{ contract::{Eip712, EthAbiType}, types::{transaction::eip712::Eip712, Bytes}, }; +use sp_core::ecdsa::Public; #[derive(Debug, Clone, Eip712, EthAbiType)] #[eip712( @@ -57,7 +58,7 @@ pub(crate) fn recover( signature: &[u8], msg: &[u8], msg_type: MessageType, -) -> Result, SignatureVerifyError> { +) -> Result { let signature = signature .try_into() .or(Err(SignatureVerifyError::InvalidSignature))?; @@ -70,10 +71,10 @@ pub(crate) fn recover( } .or(Err(SignatureVerifyError::Eip712EncodingError))?; let recovered_pubkey = evm_ecdsa_recover(signature, message_hash)?; - if recovered_pubkey != pubkey { + if recovered_pubkey.as_ref() != pubkey { return Err(SignatureVerifyError::InvalidSignature); } - Ok(sp_core::blake2_256(&recovered_pubkey).to_vec()) + Ok(recovered_pubkey) } #[test] diff --git a/crates/phactory/src/lib.rs b/crates/phactory/src/lib.rs index 2af7a306a3..b9217890d4 100644 --- a/crates/phactory/src/lib.rs +++ b/crates/phactory/src/lib.rs @@ -270,6 +270,10 @@ pub struct Phactory { #[serde(skip)] pub(crate) cluster_state_to_apply: Option>, + + /// The pRuntime measurement that allowed by the Council. + #[serde(skip)] + allow_handover_to: Option>, } #[derive(Serialize, Deserialize, Clone)] @@ -310,6 +314,7 @@ impl Phactory { pending_effects: Vec::new(), started_at: Instant::now(), cluster_state_to_apply: None, + allow_handover_to: None, } } diff --git a/crates/phactory/src/prpc_service.rs b/crates/phactory/src/prpc_service.rs index a3dab947fc..c1b4f6d802 100644 --- a/crates/phactory/src/prpc_service.rs +++ b/crates/phactory/src/prpc_service.rs @@ -1,5 +1,4 @@ use std::borrow::Cow; -use std::convert::TryFrom; use std::future::Future; use std::io::Read; use std::str::FromStr; @@ -259,6 +258,9 @@ impl Phactory ), "dispatch_block", ); + + self.allow_handover_to = None; + let counters = self.runtime_state()?.storage_synchronizer.counters(); blocks.retain(|b| b.block_header.number >= counters.next_block_number); @@ -382,7 +384,7 @@ impl Phactory let chain_storage = ChainStorage::from_pairs(genesis_state.into_iter()); let para_id = chain_storage.para_id(); info!( - "Genesis state loaded: root={:?}, para_id={para_id}", + "Genesis state loaded: root={:?}, para_id={para_id}, genesis_hash={genesis_block_hash:?}", chain_storage.root() ); @@ -636,16 +638,6 @@ impl Phactory let head = contract::ContractQueryHead::decode(&mut data_cursor)?; let rest = data_cursor.len(); - // Origin - let accid_origin = match origin { - Some(origin) => { - let accid = chain::AccountId::try_from(origin.as_slice()) - .map_err(|_| from_display("Bad account id"))?; - Some(accid) - } - None => None, - }; - let query_scheduler = self.query_scheduler.clone(); // Dispatch let query_future = self @@ -655,7 +647,7 @@ impl Phactory .make_query( req_id, &AccountId::unchecked_from(head.id), - accid_origin.as_ref(), + origin.as_ref(), data[data.len() - rest..].to_vec(), query_scheduler, &self @@ -1585,24 +1577,7 @@ impl PhactoryApi for Rpc } // 5. verify pruntime launch date, never handover to old pruntime if !dev_mode && in_sgx { - let my_la_report = { - // target_info and reportdata not important, we just need the report metadata - let target_info = - sgx_api_lite::target_info().expect("should not fail in SGX; qed."); - sgx_api_lite::report(&target_info, &[0; 64]) - .map_err(|_| from_display("Cannot read server pRuntime info"))? - }; - let my_runtime_hash = { - let ias_fields = IasFields { - mr_enclave: my_la_report.body.mr_enclave.m, - mr_signer: my_la_report.body.mr_signer.m, - isv_prod_id: my_la_report.body.isv_prod_id.to_ne_bytes(), - isv_svn: my_la_report.body.isv_svn.to_ne_bytes(), - report_data: [0; 64], - confidence_level: 0, - }; - ias_fields.extend_mrenclave() - }; + let my_runtime_hash = my_measurement()?; let runtime_state = phactory.runtime_state()?; let my_runtime_timestamp = runtime_state .chain_storage @@ -1622,13 +1597,15 @@ impl PhactoryApi for Rpc ias_fields.extend_mrenclave() } }; - let req_runtime_timestamp = runtime_state + if let Some(req_runtime_timestamp) = runtime_state .chain_storage .get_pruntime_added_at(&runtime_hash) - .ok_or_else(|| from_display("Client pRuntime not allowed on chain"))?; - - if my_runtime_timestamp >= req_runtime_timestamp { - return Err(from_display("No handover for old pRuntime")); + { + if my_runtime_timestamp >= req_runtime_timestamp { + return Err(from_display("No handover for old pRuntime")); + } + } else if phactory.allow_handover_to != Some(runtime_hash) { + return Err(from_display("Client pRuntime not allowed on chain")); } } else { info!("Skip pRuntime timestamp check in dev mode"); @@ -2015,4 +1992,69 @@ impl PhactoryApi for Rpc .load_cluster_state(&req.filename) .map_err(from_debug) } + + async fn allow_handover_to( + &mut self, + request: pb::AllowHandoverToRequest, + ) -> Result<(), prpc::server::Error> { + let mut phactory = self.lock_phactory(false, true)?; + let runtime_state = phactory.runtime_state()?; + let council_members = runtime_state.chain_storage.council_members(); + if request.signatures.len() > council_members.len() { + return Err(from_display("Too many signatures")); + } + let genesis_hash = hex::encode(runtime_state.genesis_block_hash); + let mr_to = hex::encode(&request.measurement); + let mr_from = hex::encode(my_measurement()?); + let signed_message = format!("Allow pRuntime to handover\n from: 0x{mr_from}\n to: 0x{mr_to}\n genesis: 0x{genesis_hash}").into_bytes(); + debug!("Signed message: {:?}", hex::encode(&signed_message)); + let mut signers = std::collections::BTreeSet::new(); + for sig in &request.signatures { + let sig_type = pb::SignatureType::from_i32(sig.signature_type) + .ok_or_else(|| from_display("Invalid signature type"))?; + let signer = crypto::recover_signer_account( + &sig.pubkey, + &signed_message, + Default::default(), + sig_type, + &sig.signature, + ) + .map_err(|_| from_display("Invalid signature"))?; + if !council_members.contains(&signer) { + return Err(from_display("Not a council member")); + } + debug!("Signed by {signer:?}"); + signers.insert(signer); + } + let percent = signers.len() * 100 / council_members.len(); + // At least 7 of 8 members. 6/8 = 75%, 7/8 = 87.5%. + let threshold = 80; + if percent < threshold { + return Err(from_display("Not enough signatures")); + } + phactory.allow_handover_to = Some(request.measurement); + Ok(()) + } +} + +fn my_measurement() -> Result, RpcError> { + let my_la_report = { + // target_info and reportdata not important, we just need the report metadata + let target_info = + sgx_api_lite::target_info().or(Err(from_display("Failed to get SGX info")))?; + sgx_api_lite::report(&target_info, &[0; 64]) + .or(Err(from_display("Cannot read server pRuntime info")))? + }; + let mrenclave = { + let ias_fields = IasFields { + mr_enclave: my_la_report.body.mr_enclave.m, + mr_signer: my_la_report.body.mr_signer.m, + isv_prod_id: my_la_report.body.isv_prod_id.to_ne_bytes(), + isv_svn: my_la_report.body.isv_svn.to_ne_bytes(), + report_data: [0; 64], + confidence_level: 0, + }; + ias_fields.extend_mrenclave() + }; + Ok(mrenclave) } diff --git a/crates/phactory/src/storage.rs b/crates/phactory/src/storage.rs index d6fd9592fb..4d3b8d4c20 100644 --- a/crates/phactory/src/storage.rs +++ b/crates/phactory/src/storage.rs @@ -36,7 +36,7 @@ impl BlockValidator for LightValidation { mod storage_ext { use crate::{chain, light_validation::utils::storage_prefix}; - use chain::{pallet_computation, pallet_mq, pallet_phat, pallet_registry}; + use chain::{pallet_computation, pallet_mq, pallet_phat, pallet_registry, AccountId}; use log::error; use parity_scale_codec::{Decode, Error}; use phala_mq::{ContractClusterId, Message, MessageOrigin}; @@ -207,5 +207,9 @@ mod storage_ext { ) -> Option { self.execute_with(|| pallet_phat::ClusterByWorkers::::get(worker)) } + + pub(crate) fn council_members(&self) -> Vec { + self.execute_with(chain::Council::members) + } } } diff --git a/docs/pruntime-handover-by-council.md b/docs/pruntime-handover-by-council.md new file mode 100644 index 0000000000..111618d738 --- /dev/null +++ b/docs/pruntime-handover-by-council.md @@ -0,0 +1,45 @@ +PR https://github.com/Phala-Network/phala-blockchain/pull/1500 + +Suppose we have two version of pRuntime A and B, where A is stucked, and we want to force handover to B. + +SGX MR of A: 0x10c24c0e6bf8a86634417fcd8f934e62439c62907a6f1bc726906a50b054ddf10000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e +SGX MR of B: 0xf42f7e095735702d1d3c6ac5fa3b4581d3c3673d3c5ce261a43fe782ccb3e1dc0000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e +Genisis block hash: 0x0a15d23307d533d581291ff6dedca9ca10927c7dff6f4df9e8c3bf00bc5a6ded (Can be found in prpc::get_info) + +Then the steps would be: + +1. Ask at least half of the council members to sign a message as below: +``` +Allow pRuntime to handover + from: 0x10c24c0e6bf8a86634417fcd8f934e62439c62907a6f1bc726906a50b054ddf10000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e + to: 0xf42f7e095735702d1d3c6ac5fa3b4581d3c3673d3c5ce261a43fe782ccb3e1dc0000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e + genesis: 0x0a15d23307d533d581291ff6dedca9ca10927c7dff6f4df9e8c3bf00bc5a6ded +``` + See https://files.kvin.wang:8443/signit/ for an example + +2. Collect the signatures and assamble them into a rpc request like this: + ``` + $ cat sigs.json + { + "measurement": "f42f7e095735702d1d3c6ac5fa3b4581d3c3673d3c5ce261a43fe782ccb3e1dc0000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e", + "signatures": [ + { + "signature": "fe6eeb25c088975df9bd136cc29c01a1b0bec3c4a58027efd7ca2908b233983c908a7159b81e265948a45e2c9129560f96aef24b93612f1dd4fc9aa40880ff88", + "signature_type": 4, + "pubkey": "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" + }, + { + "signature": "22591a9f308e9d1a2af2ad103334cf8ab3674a2dab9e9a6372cf1e09c8671066668ed90af1c88ad7c5c280b8e5dfb043402774cf59e38d312ee107bd8aee2f8c", + "signature_type": 4, + "pubkey": "8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48" + } + ] + } + ``` +3. Load the sigs.json to pruntime A + ``` + $ curl -d @sigs.json localhost:8000/prpc/PhactoryAPI.AllowHandoverTo?json + ``` + **Note**: Don't sync any chain state to the pruntime A after this step, otherwise the handover will be rejected. +4. Run a new pruntime B instance to start the handover + `$ ./gramine-sgx pruntime --request-handover-from http://localhost:8000` \ No newline at end of file diff --git a/e2e/src/fullstack.js b/e2e/src/fullstack.js index 163b23c1b0..9a6d9e2899 100644 --- a/e2e/src/fullstack.js +++ b/e2e/src/fullstack.js @@ -1227,7 +1227,7 @@ class Cluster { await waitRelayerOutput(cluster.relayer.processRelayer); cluster.workers.forEach(w => { - w.api = new PRuntimeApi(`http://localhost:${w.port}`); + w.api = new PRuntimeApi(`http://127.0.0.1:${w.port}`); }) } @@ -1274,12 +1274,12 @@ class Cluster { async _createApi() { this.api = await ApiPromise.create({ - provider: new WsProvider(`ws://localhost:${this.wsPort}`), + provider: new WsProvider(`ws://127.0.0.1:${this.wsPort}`), types: { ...types, ...typeDefinitions, ...Phala.types, ...typeOverrides }, typeAlias }); this.workers.forEach(w => { - w.api = new PRuntimeApi(`http://localhost:${w.port}`); + w.api = new PRuntimeApi(`http://127.0.0.1:${w.port}`); }) } @@ -1355,8 +1355,8 @@ function newRelayer(wsPort, teePort, tmpPath, gasAccountKey, key = '', name = 'r const args = [ '--no-wait', `--mnemonic=${gasAccountKey}`, - `--substrate-ws-endpoint=ws://localhost:${wsPort}`, - `--pruntime-endpoint=http://localhost:${teePort}`, + `--substrate-ws-endpoint=ws://127.0.0.1:${wsPort}`, + `--pruntime-endpoint=http://127.0.0.1:${teePort}`, '--dev-wait-block-ms=1000', '--attestation-provider', 'none', ]; @@ -1365,7 +1365,7 @@ function newRelayer(wsPort, teePort, tmpPath, gasAccountKey, key = '', name = 'r args.push(`--inject-key=${key}`); } if (keyClientPort) { - args.push(`--next-pruntime-endpoint=http://localhost:${keyClientPort}`); + args.push(`--next-pruntime-endpoint=http://127.0.0.1:${keyClientPort}`); } return new Process([ diff --git a/pallets/phala/src/utils/attestation.rs b/pallets/phala/src/utils/attestation.rs index 5b6b59126a..a2a5285886 100644 --- a/pallets/phala/src/utils/attestation.rs +++ b/pallets/phala/src/utils/attestation.rs @@ -194,6 +194,10 @@ pub fn validate_ias_report( return Err(Error::OutdatedIASReport); } + if (report_timestamp - now as i64) >= 3600 * 24 * 7 { + return Err(Error::OutdatedIASReport); + } + let commit = &ias_fields.report_data[..32]; if commit != user_data_hash { return Err(Error::InvalidUserDataHash); @@ -213,7 +217,7 @@ mod test { use frame_support::assert_ok; pub const ATTESTATION_SAMPLE: &[u8] = include_bytes!("../../sample/ias_attestation.json"); - pub const ATTESTATION_TIMESTAMP: u64 = 1631441180; // 2021-09-12T18:06:20.402478 + pub const ATTESTATION_TIMESTAMP: u64 = 1631469980; // 2021-09-12T18:06:20.402478 pub const PRUNTIME_HASH: &str = "518422fa769d2d55982015a0e0417c6a8521fdfc7308f5ec18aaa1b6924bd0f300000000815f42f11cf64430c30bab7816ba596a1da0130c3b028b673133a66cf9a3e0e6"; #[test] @@ -257,6 +261,29 @@ mod test { Err(Error::OutdatedIASReport) ); + assert_ok!(validate_ias_report( + commit, + report, + &signature, + &raw_signing_cert, + ATTESTATION_TIMESTAMP - 3600*24*7 + 1, + false, + vec![] + )); + + assert_eq!( + validate_ias_report( + commit, + report, + &signature, + &raw_signing_cert, + ATTESTATION_TIMESTAMP - 3600*24*7, + false, + vec![] + ), + Err(Error::OutdatedIASReport) + ); + assert_eq!( validate_ias_report( commit, diff --git a/standalone/pruntime/Cargo.lock b/standalone/pruntime/Cargo.lock index c42fd2a257..3cd86bf228 100644 --- a/standalone/pruntime/Cargo.lock +++ b/standalone/pruntime/Cargo.lock @@ -2850,6 +2850,9 @@ name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] name = "hex-literal" @@ -5204,6 +5207,8 @@ dependencies = [ "derive_more", "ethers", "frame-system", + "hex", + "hex-literal", "im", "log", "parity-scale-codec", @@ -5219,6 +5224,7 @@ dependencies = [ "prpc-build", "reqwest", "scale-info", + "secp256k1 0.28.0", "serde", "serde_json", "sp-application-crypto", @@ -7000,6 +7006,15 @@ dependencies = [ "secp256k1-sys 0.8.1", ] +[[package]] +name = "secp256k1" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acea373acb8c21ecb5a23741452acd2593ed44ee3d343e72baaa143bc89d0d5" +dependencies = [ + "secp256k1-sys 0.9.1", +] + [[package]] name = "secp256k1-sys" version = "0.6.0" @@ -7018,6 +7033,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dd97a086ec737e30053fd5c46f097465d25bb81dd3608825f65298c4c98be83" +dependencies = [ + "cc", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -8889,7 +8913,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.4.6", + "rand 0.8.5", "static_assertions", ] diff --git a/standalone/pruntime/gramine-build/.gitignore b/standalone/pruntime/gramine-build/.gitignore index 7f29bc21a2..430b6fc87c 100644 --- a/standalone/pruntime/gramine-build/.gitignore +++ b/standalone/pruntime/gramine-build/.gitignore @@ -4,6 +4,7 @@ /pruntime.manifest /pruntime.manifest.sgx /pruntime.sig +/pruntime.sig.txt /pruntime.token /bin /data diff --git a/standalone/pruntime/gramine-build/Makefile b/standalone/pruntime/gramine-build/Makefile index aa84f80f45..03df81c477 100644 --- a/standalone/pruntime/gramine-build/Makefile +++ b/standalone/pruntime/gramine-build/Makefile @@ -139,6 +139,8 @@ dist: pre-dist ${BIN_NAME}.manifest signed-sgx-artifacts cp ${BIN_NAME}.manifest.sgx ${PREFIX}/ cp ${BIN_NAME}.sig ${PREFIX}/ cp gramine-sgx ${PREFIX}/ + gramine-sgx-sigstruct-view ${BIN_NAME}.sig | ./parse-sigs.py | tee ${BIN_NAME}.sig.txt + cp ${BIN_NAME}.sig.txt ${PREFIX}/ else dist: pre-dist ${BIN_NAME}.manifest cp ${BIN_NAME}.manifest ${PREFIX}/ diff --git a/standalone/pruntime/gramine-build/parse-sigs.py b/standalone/pruntime/gramine-build/parse-sigs.py new file mode 100755 index 0000000000..8c57988435 --- /dev/null +++ b/standalone/pruntime/gramine-build/parse-sigs.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python + +import sys +import codecs + +attrs = {} +for line in sys.stdin: + print(line.rstrip()) + key, value = line.split(':', 1) + attrs[key.strip()] = value.strip() + +def hex16(n): + n = int(n) + l = n & 0xff + h = (n > 8 )& 0xff + return codecs.encode(bytes([l, h]), 'hex').decode() + +measurement = attrs['mr_enclave'] + hex16(attrs['isv_prod_id']) + hex16(attrs['isv_svn']) + attrs['mr_signer'] +print("pruntime_finger_print: " + measurement) diff --git a/standalone/pruntime/src/api_server.rs b/standalone/pruntime/src/api_server.rs index ab6efe0782..a9e36dab5f 100644 --- a/standalone/pruntime/src/api_server.rs +++ b/standalone/pruntime/src/api_server.rs @@ -206,6 +206,7 @@ fn rpc_type(method: &str) -> RpcType { GenerateClusterStateRequest => Private, SaveClusterState => Public, LoadClusterState => Private, + AllowHandoverTo => Private, }, } } @@ -250,6 +251,7 @@ fn default_payload_limit_for_method(method: PhactoryAPIMethod) -> ByteUnit { GenerateClusterStateRequest => 1.kibibytes(), SaveClusterState => 1.kibibytes(), LoadClusterState => 1.kibibytes(), + AllowHandoverTo => 64.kibibytes(), } }