From 54d32744e001b6672398742e235746941c0e0fa8 Mon Sep 17 00:00:00 2001 From: Jernej Kos Date: Wed, 8 May 2024 14:48:12 +0200 Subject: [PATCH 01/20] runtime: Bump Oasis SDK to 0.8.6 and prepare 0.7.3-testnet --- runtime/Cargo.lock | 815 +++++++++++++++++++++------------------------ runtime/Cargo.toml | 6 +- 2 files changed, 384 insertions(+), 437 deletions(-) diff --git a/runtime/Cargo.lock b/runtime/Cargo.lock index 6055497b..9688bc77 100644 --- a/runtime/Cargo.lock +++ b/runtime/Cargo.lock @@ -52,17 +52,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.12", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -101,9 +90,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.81" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "arbitrary" @@ -154,8 +143,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", "synstructure", ] @@ -166,20 +155,20 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "async-trait" -version = "0.1.79" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -188,16 +177,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" @@ -226,13 +215,19 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64-serde" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e964e3e0a930303c7c0bdb28ebf691dd98d9eee4b8b68019d2c995710b58a18" dependencies = [ - "base64", + "base64 0.13.1", "serde", ] @@ -248,6 +243,12 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "bech32" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" + [[package]] name = "bincode" version = "1.3.3" @@ -271,12 +272,12 @@ dependencies = [ "log", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "regex", "rustc-hash", "shlex", - "syn 2.0.55", + "syn 2.0.61", "which", ] @@ -327,9 +328,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.3" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ "arrayref", "arrayvec", @@ -359,9 +360,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.4" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byte-slice-cast" @@ -386,9 +387,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.90" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" [[package]] name = "cexpr" @@ -437,16 +438,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -488,9 +489,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "constant_time_eq" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "contracts" @@ -498,8 +499,8 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1d1429e3bd78171c65aa010eabcdf8f863ba3254728dbfb0ad4b1545beac15c" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -608,7 +609,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core 0.6.4", + "rand_core", "subtle", "zeroize", ] @@ -620,7 +621,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core 0.6.4", + "rand_core", "typenum", ] @@ -633,19 +634,6 @@ dependencies = [ "cipher", ] -[[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" version = "4.1.2" @@ -669,9 +657,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -682,7 +670,7 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ "byteorder", "digest 0.9.0", - "rand_core 0.6.4", + "rand_core", "subtle-ng", "zeroize", ] @@ -715,8 +703,8 @@ checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "strsim", "syn 1.0.109", ] @@ -729,10 +717,10 @@ checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "strsim", - "syn 2.0.55", + "syn 2.0.61", ] [[package]] @@ -742,7 +730,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core 0.14.4", - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] @@ -753,15 +741,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core 0.20.8", - "quote 1.0.35", - "syn 2.0.55", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "dcap-ql" @@ -793,9 +781,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "pem-rfc7468", @@ -811,7 +799,7 @@ dependencies = [ "asn1-rs", "displaydoc", "nom", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "rusticata-macros", ] @@ -831,9 +819,9 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -842,8 +830,8 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -874,9 +862,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -920,7 +908,7 @@ checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" dependencies = [ "curve25519-dalek-ng", "hex", - "rand_core 0.6.4", + "rand_core", "sha2 0.9.9", "zeroize", ] @@ -931,9 +919,9 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek", "ed25519 2.2.3", - "rand_core 0.6.4", + "rand_core", "serde", "sha2 0.10.8", "signature 2.2.0", @@ -943,9 +931,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "elliptic-curve" @@ -961,7 +949,7 @@ dependencies = [ "group", "pem-rfc7468", "pkcs8", - "rand_core 0.6.4", + "rand_core", "sec1", "subtle", "zeroize", @@ -1025,7 +1013,7 @@ checksum = "6a89fb87a9e103f71b903b80b670200b54cc67a07578f070681f1fffb7396fb7" dependencies = [ "bytes", "ethereum-types", - "hash-db", + "hash-db 0.15.2", "hash256-std-hasher", "parity-scale-codec", "rlp", @@ -1035,6 +1023,24 @@ dependencies = [ "triehash", ] +[[package]] +name = "ethereum" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e04d24d20b8ff2235cffbf242d5092de3aa45f77c5270ddbfadd2778ca13fea" +dependencies = [ + "bytes", + "ethereum-types", + "hash-db 0.16.0", + "hash256-std-hasher", + "parity-scale-codec", + "rlp", + "scale-info", + "serde", + "sha3", + "trie-root", +] + [[package]] name = "ethereum-types" version = "0.14.1" @@ -1057,7 +1063,7 @@ source = "git+https://github.com/oasisprotocol/evm?tag=v0.39.1-oasis#13a30bfc1a1 dependencies = [ "auto_impl", "environmental", - "ethereum", + "ethereum 0.14.0", "evm-core", "evm-gasometer", "evm-runtime", @@ -1130,8 +1136,8 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", "synstructure", ] @@ -1142,15 +1148,15 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle", ] [[package]] name = "fiat-crypto" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "38793c55593b33412e3ae40c2c9781ffaa6f438f6f8c10f24e71846fbd7ae01e" [[package]] name = "fixed-hash" @@ -1249,9 +1255,9 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -1297,25 +1303,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if 1.0.0", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] @@ -1326,7 +1321,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ "rand", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -1358,7 +1353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -1374,6 +1369,12 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" +[[package]] +name = "hash-db" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" + [[package]] name = "hash256-std-hasher" version = "0.15.2" @@ -1383,29 +1384,20 @@ dependencies = [ "crunchy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] - [[package]] name = "hashbrown" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.11", + "ahash", ] [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hermit-abi" @@ -1523,8 +1515,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -1541,7 +1533,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -1644,9 +1636,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libloading" @@ -1655,7 +1647,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if 1.0.0", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -1672,9 +1664,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -1686,15 +1678,6 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" -[[package]] -name = "lru" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" -dependencies = [ - "hashbrown 0.12.3", -] - [[package]] name = "lru" version = "0.9.0" @@ -1771,7 +1754,7 @@ dependencies = [ "cmake", "lazy_static", "libc", - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] @@ -1807,7 +1790,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core 0.6.4", + "rand_core", "zeroize", ] @@ -1833,7 +1816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.48.0", ] @@ -1863,15 +1846,15 @@ dependencies = [ [[package]] name = "num" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" dependencies = [ - "num-bigint 0.4.4", - "num-complex 0.4.5", + "num-bigint 0.4.5", + "num-complex 0.4.6", "num-integer", "num-iter", - "num-rational 0.4.1", + "num-rational 0.4.2", "num-traits", ] @@ -1888,11 +1871,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -1926,9 +1908,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -1956,8 +1938,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -1972,9 +1954,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -1995,21 +1977,20 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-integer", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -2047,8 +2028,8 @@ dependencies = [ "darling 0.14.4", "oasis-cbor-value", "proc-macro-crate 1.3.1", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -2061,16 +2042,16 @@ checksum = "5fe0d7f5a7c55eba7e8e845046c6c81332f4fa4997f0ed497b9f44db1d7f2050" [[package]] name = "oasis-core-keymanager" version = "0.0.0" -source = "git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1#2f17c41fa3154589a4db1b4073885c3bd761be7a" +source = "git+https://github.com/oasisprotocol/oasis-core?tag=runtime/v23.0.11-rt1#8b45ece6f7a060dfb2f5afdc820256e69e6efb04" dependencies = [ "anyhow", "async-trait", - "base64", + "base64 0.13.1", "futures", "lazy_static", - "lru 0.9.0", + "lru", "oasis-cbor", - "oasis-core-runtime 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1)", + "oasis-core-runtime 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=runtime/v23.0.11-rt1)", "rand", "rustc-hex", "sgx-isa", @@ -2078,23 +2059,23 @@ dependencies = [ "thiserror", "tiny-keccak 2.0.2", "tokio", - "x25519-dalek 2.0.1", + "x25519-dalek", "zeroize", ] [[package]] name = "oasis-core-keymanager" version = "0.0.0" -source = "git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.10#96bb870bfe54ff41c70dd828b0c518bf54aa6d8a" +source = "git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1#2f17c41fa3154589a4db1b4073885c3bd761be7a" dependencies = [ "anyhow", "async-trait", - "base64", + "base64 0.13.1", "futures", "lazy_static", - "lru 0.9.0", + "lru", "oasis-cbor", - "oasis-core-runtime 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.10)", + "oasis-core-runtime 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1)", "rand", "rustc-hex", "sgx-isa", @@ -2102,26 +2083,26 @@ dependencies = [ "thiserror", "tiny-keccak 2.0.2", "tokio", - "x25519-dalek 2.0.1", + "x25519-dalek", "zeroize", ] [[package]] name = "oasis-core-runtime" version = "0.0.0" -source = "git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1#2f17c41fa3154589a4db1b4073885c3bd761be7a" +source = "git+https://github.com/oasisprotocol/oasis-core?tag=runtime/v23.0.11-rt1#8b45ece6f7a060dfb2f5afdc820256e69e6efb04" dependencies = [ "anyhow", "arbitrary", "async-trait", - "base64", + "base64 0.13.1", "base64-serde", - "bech32", + "bech32 0.9.1", "bincode", "byteorder", "chrono", "crossbeam", - "curve25519-dalek 4.1.2", + "curve25519-dalek", "dcap-ql", "deoxysii", "ed25519-dalek", @@ -2132,9 +2113,9 @@ dependencies = [ "intrusive-collections", "lazy_static", "log", - "lru 0.9.0", + "lru", "mbedtls 0.8.4", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "oasis-cbor", "oid-registry", @@ -2159,7 +2140,8 @@ dependencies = [ "thiserror", "tiny-keccak 2.0.2", "tokio", - "x25519-dalek 2.0.1", + "tokio-retry", + "x25519-dalek", "x509-parser", "yasna 0.5.2", "zeroize", @@ -2168,19 +2150,19 @@ dependencies = [ [[package]] name = "oasis-core-runtime" version = "0.0.0" -source = "git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.10#96bb870bfe54ff41c70dd828b0c518bf54aa6d8a" +source = "git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1#2f17c41fa3154589a4db1b4073885c3bd761be7a" dependencies = [ "anyhow", "arbitrary", "async-trait", - "base64", + "base64 0.13.1", "base64-serde", - "bech32", + "bech32 0.9.1", "bincode", "byteorder", "chrono", "crossbeam", - "curve25519-dalek 4.1.2", + "curve25519-dalek", "dcap-ql", "deoxysii", "ed25519-dalek", @@ -2191,9 +2173,9 @@ dependencies = [ "intrusive-collections", "lazy_static", "log", - "lru 0.9.0", + "lru", "mbedtls 0.8.4", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "oasis-cbor", "oid-registry", @@ -2218,7 +2200,7 @@ dependencies = [ "thiserror", "tiny-keccak 2.0.2", "tokio", - "x25519-dalek 2.0.1", + "x25519-dalek", "x509-parser", "yasna 0.5.2", "zeroize", @@ -2226,31 +2208,31 @@ dependencies = [ [[package]] name = "oasis-runtime-sdk" -version = "0.8.5" -source = "git+https://github.com/oasisprotocol/oasis-sdk?tag=runtime-sdk/v0.8.5#a9c70cbf17cd8df87760bfcb35ed4f325864e57b" +version = "0.8.6" +source = "git+https://github.com/oasisprotocol/oasis-sdk?tag=runtime-sdk/v0.8.6#ab2358a0fcc0a81df12d6eda6e2a2ff718bed64b" dependencies = [ "anyhow", - "base64", - "bech32", + "base64 0.22.1", + "bech32 0.11.0", "byteorder", - "curve25519-dalek 3.2.0", + "curve25519-dalek", "digest 0.10.7", "ed25519-dalek", "hex", "hmac", "impl-trait-for-tuples", "k256", - "lru 0.8.1", + "lru", "merlin", "num-traits", "oasis-cbor", - "oasis-core-keymanager 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.10)", - "oasis-core-runtime 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.10)", + "oasis-core-keymanager 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=runtime/v23.0.11-rt1)", + "oasis-core-runtime 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=runtime/v23.0.11-rt1)", "oasis-runtime-sdk-macros", "once_cell", "p256", "p384", - "rand_core 0.6.4", + "rand_core", "schnorrkel", "sha2 0.10.8", "sha3", @@ -2259,51 +2241,51 @@ dependencies = [ "tiny-keccak 2.0.2", "tokio", "tokio-retry", - "x25519-dalek 2.0.1", + "x25519-dalek", "zeroize", ] [[package]] name = "oasis-runtime-sdk-evm" version = "0.5.0" -source = "git+https://github.com/oasisprotocol/oasis-sdk?tag=runtime-sdk/v0.8.5#a9c70cbf17cd8df87760bfcb35ed4f325864e57b" +source = "git+https://github.com/oasisprotocol/oasis-sdk?tag=runtime-sdk/v0.8.6#ab2358a0fcc0a81df12d6eda6e2a2ff718bed64b" dependencies = [ "anyhow", - "base64", + "base64 0.22.1", "blake3", "ethabi", - "ethereum", + "ethereum 0.15.0", "evm", "fixed-hash", "hex", "hmac", "honggfuzz", "k256", - "num 0.4.1", + "num 0.4.2", "oasis-cbor", "oasis-runtime-sdk", "once_cell", "primitive-types", - "rand_core 0.6.4", - "ripemd160", + "rand_core", + "ripemd", "rlp", "sha2 0.10.8", "sha3", "substrate-bn", "thiserror", "uint", - "x25519-dalek 1.1.1", + "x25519-dalek", ] [[package]] name = "oasis-runtime-sdk-macros" version = "0.3.0" -source = "git+https://github.com/oasisprotocol/oasis-sdk?tag=runtime-sdk/v0.8.5#a9c70cbf17cd8df87760bfcb35ed4f325864e57b" +source = "git+https://github.com/oasisprotocol/oasis-sdk?tag=runtime-sdk/v0.8.6#ab2358a0fcc0a81df12d6eda6e2a2ff718bed64b" dependencies = [ "darling 0.20.8", - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -2362,9 +2344,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec", "bitvec", @@ -2376,21 +2358,21 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 2.0.2", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro-crate 3.1.0", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", "parking_lot_core", @@ -2398,22 +2380,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "peeking_take_while" @@ -2438,8 +2420,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844c" dependencies = [ "peg-runtime", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", ] [[package]] @@ -2478,16 +2460,16 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -2559,12 +2541,12 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "prettyplease" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ - "proc-macro2 1.0.79", - "syn 2.0.55", + "proc-macro2 1.0.82", + "syn 2.0.61", ] [[package]] @@ -2602,12 +2584,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.2" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_datetime", - "toml_edit 0.20.2", + "toml_edit 0.21.1", ] [[package]] @@ -2621,9 +2602,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" dependencies = [ "unicode-ident", ] @@ -2646,8 +2627,8 @@ checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -2671,11 +2652,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ - "proc-macro2 1.0.79", + "proc-macro2 1.0.82", ] [[package]] @@ -2692,7 +2673,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -2702,16 +2683,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[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", + "rand_core", ] [[package]] @@ -2720,16 +2692,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.12", + "getrandom", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] @@ -2772,14 +2744,12 @@ dependencies = [ ] [[package]] -name = "ripemd160" -version = "0.9.1" +name = "ripemd" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "opaque-debug", + "digest 0.10.7", ] [[package]] @@ -2799,8 +2769,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -2827,7 +2797,7 @@ dependencies = [ "num-traits", "pkcs1", "pkcs8", - "rand_core 0.6.4", + "rand_core", "signature 2.2.0", "spki", "subtle", @@ -2836,9 +2806,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -2867,7 +2837,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.22", + "semver 1.0.23", ] [[package]] @@ -2881,9 +2851,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", @@ -2894,9 +2864,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -2909,7 +2879,7 @@ dependencies = [ [[package]] name = "sapphire-paratime" -version = "0.7.2-testnet" +version = "0.7.3-testnet" dependencies = [ "keymanager", "oasis-runtime-sdk", @@ -2919,9 +2889,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.1" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "788745a868b0e751750388f4e6546eb921ef714a4317fa6954f7cde114eb2eb7" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "bitvec", "cfg-if 1.0.0", @@ -2932,13 +2902,13 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.1" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dc2f4e8bc344b9fc3d5f74f72c2e55bfc38d28dc2ebc69c194a3df424e4d9ac" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro-crate 3.1.0", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", ] @@ -2951,10 +2921,10 @@ dependencies = [ "aead", "arrayref", "arrayvec", - "curve25519-dalek 4.1.2", + "curve25519-dalek", "getrandom_or_panic", "merlin", - "rand_core 0.6.4", + "rand_core", "serde_bytes", "sha2 0.10.8", "subtle", @@ -2992,9 +2962,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "semver-parser" @@ -3004,9 +2974,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] @@ -3032,20 +3002,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] name = "serde_json" -version = "1.0.115" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -3054,20 +3024,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] name = "sgx-isa" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f56e039650326c0a88890fc86369fdaa488f38eb507f3a7b5d80353dc8f0df" +checksum = "f0746ac51caf664e67fdb6643b27f0e29d4b9e1cea0b374644ab28bfa2b83fc9" dependencies = [ "bitflags 1.3.2", ] @@ -3114,9 +3084,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -3134,7 +3104,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -3201,8 +3171,8 @@ dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek 4.1.2", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", "rustc_version 0.4.0", "sha2 0.10.8", "subtle", @@ -3210,9 +3180,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -3307,19 +3277,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.55" +version = "2.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" +checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "unicode-ident", ] @@ -3329,8 +3299,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", + "proc-macro2 1.0.82", + "quote 1.0.36", "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -3444,7 +3414,7 @@ checksum = "d79bd426571d6a805be5c0b6749707ede6c6ee5e55dd45baef46857a1baa9f54" dependencies = [ "bytes", "flex-error", - "getrandom 0.2.12", + "getrandom", "peg", "pin-project", "serde", @@ -3463,29 +3433,29 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -3504,9 +3474,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -3547,9 +3517,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -3570,9 +3540,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -3597,9 +3567,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" @@ -3614,22 +3584,31 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap", "toml_datetime", "winnow", ] +[[package]] +name = "trie-root" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" +dependencies = [ + "hash-db 0.16.0", +] + [[package]] name = "triehash" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c" dependencies = [ - "hash-db", + "hash-db 0.15.2", "rlp", ] @@ -3727,12 +3706,6 @@ dependencies = [ "winapi-util", ] -[[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" @@ -3758,9 +3731,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", "wasm-bindgen-shared", ] @@ -3770,7 +3743,7 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ - "quote 1.0.35", + "quote 1.0.36", "wasm-bindgen-macro-support", ] @@ -3780,9 +3753,9 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3805,44 +3778,22 @@ dependencies = [ "rustix", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -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.4", + "windows-targets 0.52.5", ] [[package]] @@ -3860,7 +3811,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -3880,17 +3831,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -3901,9 +3853,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -3913,9 +3865,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -3925,9 +3877,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -3937,9 +3895,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -3949,9 +3907,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -3961,9 +3919,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -3973,9 +3931,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -3995,25 +3953,14 @@ dependencies = [ "tap", ] -[[package]] -name = "x25519-dalek" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" -dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.5.1", - "zeroize", -] - [[package]] name = "x25519-dalek" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.2", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", "serde", "zeroize", ] @@ -4061,27 +4008,27 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "num-bigint 0.4.4", + "num-bigint 0.4.5", ] [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] [[package]] @@ -4099,7 +4046,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.79", - "quote 1.0.35", - "syn 2.0.55", + "proc-macro2 1.0.82", + "quote 1.0.36", + "syn 2.0.61", ] diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index c7146572..628ab581 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sapphire-paratime" -version = "0.7.2-testnet" +version = "0.7.3-testnet" authors = ["Oasis Protocol Foundation "] edition = "2021" license = "Apache-2.0" @@ -21,8 +21,8 @@ debug = false keymanager = { git = "https://github.com/oasisprotocol/keymanager-paratime", tag = "v0.4.1-testnet" } # SDK. -module-evm = { git = "https://github.com/oasisprotocol/oasis-sdk", tag = "runtime-sdk/v0.8.5", package = "oasis-runtime-sdk-evm" } -oasis-runtime-sdk = { git = "https://github.com/oasisprotocol/oasis-sdk", tag = "runtime-sdk/v0.8.5" } +module-evm = { git = "https://github.com/oasisprotocol/oasis-sdk", tag = "runtime-sdk/v0.8.6", package = "oasis-runtime-sdk-evm" } +oasis-runtime-sdk = { git = "https://github.com/oasisprotocol/oasis-sdk", tag = "runtime-sdk/v0.8.6" } # Third party. once_cell = "1.8.0" From b4591f04c3443a653f56ab229a8242b1cb170a55 Mon Sep 17 00:00:00 2001 From: Jernej Kos Date: Wed, 8 May 2024 14:50:30 +0200 Subject: [PATCH 02/20] runtime: Bump Testnet trust root --- runtime/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 0b0bf757..a5f318d8 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -133,8 +133,8 @@ impl sdk::Runtime for Runtime { if is_testnet() { // Testnet. Some(TrustRoot { - height: 20398467, - hash: "1e3d05fa21e113a3dba76f24f1e93d41b418d214e0b2bb4cfa121170a08acf08".into(), + height: 21044750, + hash: "defbded6ddb4b9fda7dc6ed9d4c2b9b977a711495d7ba97028c4ba0b362326f8".into(), runtime_id: "000000000000000000000000000000000000000000000000a6d1e3ebf60dff6c" .into(), chain_context: "0b91b8e4e44b2003a7c5e23ddadb5e14ef5345c0ebcb3ddcae07fa2f244cab76" From 2153da28842d08c3829ae7ab5778507e9066daa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matev=C5=BE=20Jekovec?= Date: Tue, 2 Apr 2024 14:10:31 +0200 Subject: [PATCH 03/20] docs: Fix deposit ROSE link --- docs/guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide.mdx b/docs/guide.mdx index e31cbd08..7e79a076 100644 --- a/docs/guide.mdx +++ b/docs/guide.mdx @@ -38,7 +38,7 @@ ParaTime][how-to-deposit-rose] chapter to learn more. [overview chapter]: https://github.com/oasisprotocol/docs/blob/main/docs/general/oasis-network/README.mdx -[how-to-deposit-rose]: https://github.com/oasisprotocol/docs/blob/main/docs/general/manage-tokens/how-to-transfer-rose-into-paratime.mdx +[how-to-deposit-rose]: https://github.com/oasisprotocol/docs/blob/main/docs/general/manage-tokens/README.mdx [Testnet faucet]: https://faucet.testnet.oasis.io/ ## Testnet and Mainnet From 8e5de7d16791b26a73ace10d85e327c8253e8558 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 14:01:47 +0000 Subject: [PATCH 04/20] ci: bump golangci/golangci-lint-action from 5 to 6 Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5 to 6. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v5...v6) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/ci-lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-lint.yaml b/.github/workflows/ci-lint.yaml index c6bcb663..64196f63 100644 --- a/.github/workflows/ci-lint.yaml +++ b/.github/workflows/ci-lint.yaml @@ -117,7 +117,7 @@ jobs: # Always run this step so that all linting errors can be seen at once. if: always() - name: Lint Go - uses: golangci/golangci-lint-action@v5 + uses: golangci/golangci-lint-action@v6 with: version: v1.56.2 working-directory: ./clients/go From 5a165a4ae712aac42aa260c0bb1a2710f68023e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 14:01:44 +0000 Subject: [PATCH 05/20] ci: bump pnpm/action-setup from 3 to 4 Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 3 to 4. - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/compare/v3...v4) --- updated-dependencies: - dependency-name: pnpm/action-setup dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/ci-docs.yaml | 4 ++-- .github/workflows/ci-lint.yaml | 4 ++-- .github/workflows/ci-test.yaml | 6 +++--- .github/workflows/contracts-test.yaml | 2 +- .github/workflows/publish.yaml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci-docs.yaml b/.github/workflows/ci-docs.yaml index aa3f5fc7..a9b64c5c 100644 --- a/.github/workflows/ci-docs.yaml +++ b/.github/workflows/ci-docs.yaml @@ -29,7 +29,7 @@ jobs: with: node-version: 18 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: @@ -78,7 +78,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: diff --git a/.github/workflows/ci-lint.yaml b/.github/workflows/ci-lint.yaml index 64196f63..fc10bf6e 100644 --- a/.github/workflows/ci-lint.yaml +++ b/.github/workflows/ci-lint.yaml @@ -54,7 +54,7 @@ jobs: with: node-version: 18 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: @@ -136,7 +136,7 @@ jobs: with: node-version: 18 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: diff --git a/.github/workflows/ci-test.yaml b/.github/workflows/ci-test.yaml index 752387a0..9cd5631c 100644 --- a/.github/workflows/ci-test.yaml +++ b/.github/workflows/ci-test.yaml @@ -74,7 +74,7 @@ jobs: with: node-version: 18 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: @@ -134,7 +134,7 @@ jobs: with: node-version: 18 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: @@ -213,7 +213,7 @@ jobs: with: node-version: 18 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: diff --git a/.github/workflows/contracts-test.yaml b/.github/workflows/contracts-test.yaml index 159e0d60..cb60c995 100644 --- a/.github/workflows/contracts-test.yaml +++ b/.github/workflows/contracts-test.yaml @@ -37,7 +37,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: 18 - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 29d6334c..499c5ff0 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -15,7 +15,7 @@ jobs: - uses: actions/setup-node@v4 with: node-version: "18" - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: From e9a5a79e822d7512625d3020b42ed7cc1f54e783 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 May 2024 14:27:13 +0000 Subject: [PATCH 06/20] build(deps): bump github.com/ethereum/go-ethereum in /clients/go Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.13.12 to 1.13.15. - [Release notes](https://github.com/ethereum/go-ethereum/releases) - [Commits](https://github.com/ethereum/go-ethereum/compare/v1.13.12...v1.13.15) --- updated-dependencies: - dependency-name: github.com/ethereum/go-ethereum dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- clients/go/go.mod | 2 +- clients/go/go.sum | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/clients/go/go.mod b/clients/go/go.mod index 1028d719..8e58f1ff 100644 --- a/clients/go/go.mod +++ b/clients/go/go.mod @@ -3,7 +3,7 @@ module github.com/oasisprotocol/sapphire-paratime/clients/go go 1.22 require ( - github.com/ethereum/go-ethereum v1.13.12 + github.com/ethereum/go-ethereum v1.13.15 github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.7.2 ) diff --git a/clients/go/go.sum b/clients/go/go.sum index e4195cea..95cd0157 100644 --- a/clients/go/go.sum +++ b/clients/go/go.sum @@ -149,8 +149,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ethereum/c-kzg-4844 v0.4.2 h1:99hCflha4YhQ2cW9H/X3QFv7vs78cCvSxOteEsTvKnQ= github.com/ethereum/c-kzg-4844 v0.4.2/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= -github.com/ethereum/go-ethereum v1.13.12 h1:iDr9UM2JWkngBHGovRJEQn4Kor7mT4gt9rUZqB5M29Y= -github.com/ethereum/go-ethereum v1.13.12/go.mod h1:hKL2Qcj1OvStXNSEDbucexqnEt1Wh4Cz329XsjAalZY= +github.com/ethereum/go-ethereum v1.13.15 h1:U7sSGYGo4SPjP6iNIifNoyIAiNjrmQkz6EwQG+/EZWo= +github.com/ethereum/go-ethereum v1.13.15/go.mod h1:TN8ZiHrdJwSe8Cb6x+p0hs5CxhJZPbqB7hHkaUXcmIU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fjl/memsize v0.0.2 h1:27txuSD9or+NZlnOWdKUxeBzTAUkWCVh+4Gf2dWFOzA= @@ -285,8 +285,8 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb h1:b5rjCoWHc7eqmAS4/qyk21ZsHyb6Mxv/jykxvNTkU4M= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7 h1:3JQNjnMRil1yD0IfZKHF9GxxWKDJGj8I0IqOUol//sw= -github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc= +github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4 h1:X4egAf/gcS1zATw6wn4Ej8vjuVGxeHdan+bRb2ebyv4= +github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU= From 4638e13fbbfc9817acddedf74207d69ddcc96472 Mon Sep 17 00:00:00 2001 From: Xi Zhang <4441690+aefhm@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:35:02 -0500 Subject: [PATCH 07/20] Update addresses.md - Add Celer IM message executor --- docs/addresses.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/addresses.md b/docs/addresses.md index c0852bee..6390577f 100644 --- a/docs/addresses.md +++ b/docs/addresses.md @@ -8,6 +8,7 @@ description: List of Standard Contract Addresses |--------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------|---------------------------------| | [Multicall V3][multicall] | `0xcA11bde05977b3631167028862bE2a173976CA11` | - | [Mainnet][multicall-verify-mainnet] | [Multicall3.sol][multicall-source] | | [Wrapped ROSE][wrose-dapp] | `0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3` | `0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94` | [Mainnet][wrose-verify-mainnet], [Testnet][wrose-verify-testnet] | [WrappedROSE.sol][wrose-source] | +| [Celer IM Executor][message-executor] | - | `0x9C850D230FFFaCEf1E2D1741a00080856630e455` | [Testnet][message-executor-testnet] | [Message Executor][message-executor-source] | [multicall-source]: https://github.com/mds1/multicall/blob/main/src/Multicall3.sol [multicall-verify-mainnet]: https://sourcify.dev/#/lookup/0xcA11bde05977b3631167028862bE2a173976CA11 @@ -18,6 +19,10 @@ description: List of Standard Contract Addresses [wrose-verify-mainnet]: https://sourcify.dev/#/lookup/0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3 [wrose-verify-testnet]: https://sourcify.dev/#/lookup/0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94 +[message-executor]: https://im-docs.celer.network/developer/development-guide/message-executor +[message-executor-source]: https://github.com/celer-network/im-executor +[message-executor-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9C850D230FFFaCEf1E2D1741a00080856630e455 + # Celer cBridge Tokens (Mainnet) From f8f2a3b0db59cc746605c9b843afcf137d50cfb9 Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Wed, 3 Apr 2024 16:46:18 -0500 Subject: [PATCH 08/20] Move message executor into individual section --- docs/addresses.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/addresses.md b/docs/addresses.md index 6390577f..7f7ecff7 100644 --- a/docs/addresses.md +++ b/docs/addresses.md @@ -2,13 +2,14 @@ description: List of Standard Contract Addresses --- -# Standard Contract Addresses +# Contract Addresses and Deployments + +## Standard Contract Addresses | Name | Mainnet Address | Testnet Address | Verify | Source | |--------------|--------------------------------------------|--------------------------------------------|------------------------------------------------------------------|---------------------------------| | [Multicall V3][multicall] | `0xcA11bde05977b3631167028862bE2a173976CA11` | - | [Mainnet][multicall-verify-mainnet] | [Multicall3.sol][multicall-source] | | [Wrapped ROSE][wrose-dapp] | `0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3` | `0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94` | [Mainnet][wrose-verify-mainnet], [Testnet][wrose-verify-testnet] | [WrappedROSE.sol][wrose-source] | -| [Celer IM Executor][message-executor] | - | `0x9C850D230FFFaCEf1E2D1741a00080856630e455` | [Testnet][message-executor-testnet] | [Message Executor][message-executor-source] | [multicall-source]: https://github.com/mds1/multicall/blob/main/src/Multicall3.sol [multicall-verify-mainnet]: https://sourcify.dev/#/lookup/0xcA11bde05977b3631167028862bE2a173976CA11 @@ -19,10 +20,6 @@ description: List of Standard Contract Addresses [wrose-verify-mainnet]: https://sourcify.dev/#/lookup/0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3 [wrose-verify-testnet]: https://sourcify.dev/#/lookup/0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94 -[message-executor]: https://im-docs.celer.network/developer/development-guide/message-executor -[message-executor-source]: https://github.com/celer-network/im-executor -[message-executor-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9C850D230FFFaCEf1E2D1741a00080856630e455 - # Celer cBridge Tokens (Mainnet) @@ -45,3 +42,13 @@ description: List of Standard Contract Addresses | Goerli (5) | USDT | [`0xf4B2cbc3bA04c478F0dC824f4806aC39982Dce73`](https://goerli.etherscan.io/address/0xf4B2cbc3bA04c478F0dC824f4806aC39982Dce73) | Oasis Sapphire Testnet (23295) | [`0xa55C7E1274bE5db2275a0BDd055f81e8263b7954`](https://testnet.explorer.sapphire.oasis.dev/address/0xa55C7E1274bE5db2275a0BDd055f81e8263b7954) | | Oasis Sapphire Testnet (23295) | wROSE | [`0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94`](https://testnet.explorer.sapphire.oasis.dev/address/0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94) | BSC Testnet (97) | [`0x26a6f43BaEDD1767c283e2555A9E1236E5aE3A55`](https://testnet.bscscan.com/address/0x26a6f43BaEDD1767c283e2555A9E1236E5aE3A55) | | Oasis Sapphire Testnet (23295) | wROSE | [`0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94`](https://testnet.explorer.sapphire.oasis.dev/address/0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94) | Polygon Mumbai (80001) | [`0xE9533976C590200E32d95C53f06AE12d292cFc47`](https://mumbai.polygonscan.com/address/0xE9533976C590200E32d95C53f06AE12d292cFc47) | + +## Deployments + +| Name | Mainnet Address | Testnet Address | Documentation | Source | +| ---- | --------------- | --------------- | ------------- | ------ | +| [Celer IM Executor][message-executor] | - | `0x9C850D230FFFaCEf1E2D1741a00080856630e455` | [Testnet][message-executor-testnet] | [Message Executor][message-executor-source] | + +[message-executor]: https://im-docs.celer.network/developer/development-guide/message-executor +[message-executor-source]: https://github.com/celer-network/im-executor +[message-executor-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9C850D230FFFaCEf1E2D1741a00080856630e455 \ No newline at end of file From ad1263cef20b4d2a655471ffae2f9bc6acabb7c7 Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Wed, 3 Apr 2024 16:50:16 -0500 Subject: [PATCH 09/20] Fix cBridge token section header --- docs/_fetch-cbridge-tokens.py | 4 ++-- docs/addresses.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/_fetch-cbridge-tokens.py b/docs/_fetch-cbridge-tokens.py index aaae9ad9..01b28079 100644 --- a/docs/_fetch-cbridge-tokens.py +++ b/docs/_fetch-cbridge-tokens.py @@ -17,7 +17,7 @@ def format_result(data): dest_url = pegged_chain['explore_url'] + 'address/' + p["pegged_token"]["token"]["address"] print(f'| {org_chain["name"]} ({org_chain["id"]}) | {p["org_token"]["token"]["symbol"]} | [`{p["org_token"]["token"]["address"]}`]({src_url}) | {pegged_chain["name"]} ({pegged_chain["id"]}) | [`{p["pegged_token"]["token"]["address"]}`]({dest_url}) |') -print('# Celer cBridge Tokens (Mainnet)') +print('## Celer cBridge Tokens (Mainnet)') print(""" | Source Chain | Token Name | Source Address | Dest. Chain | Dest Address | @@ -27,7 +27,7 @@ def format_result(data): format_result(data) print() -print('# Testnet cBridge Tokens') +print('## Celer cBridge Tokens (Testnet)') print(""" | Source Chain | Token Name | Source Address | Dest. Chain | Dest Address | diff --git a/docs/addresses.md b/docs/addresses.md index 7f7ecff7..06ddc702 100644 --- a/docs/addresses.md +++ b/docs/addresses.md @@ -20,7 +20,7 @@ description: List of Standard Contract Addresses [wrose-verify-mainnet]: https://sourcify.dev/#/lookup/0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3 [wrose-verify-testnet]: https://sourcify.dev/#/lookup/0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94 -# Celer cBridge Tokens (Mainnet) +## Celer cBridge Tokens (Mainnet) | Source Chain | Token Name | Source Address | Dest. Chain | Dest Address | @@ -34,7 +34,7 @@ description: List of Standard Contract Addresses | Polygon PoS (137) | MATIC | [`0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270`](https://polygonscan.com/address/0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270) | Oasis Sapphire (23294) | [`0xa349005a68FA33e8DACAAa850c45175bbcD49B19`](https://explorer.oasis.io/mainnet/sapphire/address/0xa349005a68FA33e8DACAAa850c45175bbcD49B19) | | Oasis Sapphire (23294) | wROSE | [`0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3`](https://explorer.oasis.io/mainnet/sapphire/address/0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3) | BNB Chain (56) | [`0xF00600eBC7633462BC4F9C61eA2cE99F5AAEBd4a`](https://bscscan.com/address/0xF00600eBC7633462BC4F9C61eA2cE99F5AAEBd4a) | -# Testnet cBridge Tokens +## Celer cBridge Tokens (Testnet) | Source Chain | Token Name | Source Address | Dest. Chain | Dest Address | From c23bef56f559a177fc88fe9c9cb9d3aadad091e2 Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Wed, 3 Apr 2024 17:18:44 -0500 Subject: [PATCH 10/20] Add MessageBus info --- docs/addresses.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/addresses.md b/docs/addresses.md index 06ddc702..9eb409ff 100644 --- a/docs/addresses.md +++ b/docs/addresses.md @@ -45,10 +45,15 @@ description: List of Standard Contract Addresses ## Deployments -| Name | Mainnet Address | Testnet Address | Documentation | Source | -| ---- | --------------- | --------------- | ------------- | ------ | -| [Celer IM Executor][message-executor] | - | `0x9C850D230FFFaCEf1E2D1741a00080856630e455` | [Testnet][message-executor-testnet] | [Message Executor][message-executor-source] | +| Name | Mainnet Address | Testnet Address | Source | +| ---- | --------------- | --------------- | ------ | +| [Celer IM Executor][message-executor] | Multiple executors available | [`0x9C850D230FFFaCEf1E2D1741a00080856630e455`][message-executor-testnet] | [Message Executor][message-executor-source] | +| [Celer MessageBus][message-bus] | [`0x9Bb46D5100d2Db4608112026951c9C965b233f4D`][message-bus-mainnet] | [`0x9Bb46D5100d2Db4608112026951c9C965b233f4D`][message-bus-testnet] | [Message bus][message-bus-source] | [message-executor]: https://im-docs.celer.network/developer/development-guide/message-executor [message-executor-source]: https://github.com/celer-network/im-executor -[message-executor-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9C850D230FFFaCEf1E2D1741a00080856630e455 \ No newline at end of file +[message-executor-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9C850D230FFFaCEf1E2D1741a00080856630e455 +[message-bus]: https://im-docs.celer.network/developer/development-guide/message-executor +[message-bus-source]: https://github.com/celer-network/sgn-v2-contracts/blob/6af81b55a13a7aacab9a4d92a38d374d46c0fdbf/contracts/message/messagebus/MessageBus.sol +[message-bus-mainnet]: https://explorer.oasis.io/mainnet/sapphire/address/0x9Bb46D5100d2Db4608112026951c9C965b233f4D +[message-bus-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9Bb46D5100d2Db4608112026951c9C965b233f4D \ No newline at end of file From 5d2099d78527964e84d4c720f87000bc8a4788aa Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Fri, 26 Apr 2024 22:28:02 -0500 Subject: [PATCH 11/20] Add Safe Singleton Factory addresses --- docs/addresses.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/addresses.md b/docs/addresses.md index 9eb409ff..5e0532f6 100644 --- a/docs/addresses.md +++ b/docs/addresses.md @@ -49,6 +49,7 @@ description: List of Standard Contract Addresses | ---- | --------------- | --------------- | ------ | | [Celer IM Executor][message-executor] | Multiple executors available | [`0x9C850D230FFFaCEf1E2D1741a00080856630e455`][message-executor-testnet] | [Message Executor][message-executor-source] | | [Celer MessageBus][message-bus] | [`0x9Bb46D5100d2Db4608112026951c9C965b233f4D`][message-bus-mainnet] | [`0x9Bb46D5100d2Db4608112026951c9C965b233f4D`][message-bus-testnet] | [Message bus][message-bus-source] | +| [Safe Singleton Factory][singleton-factory] | [`0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7`][singleton-factory-mainnet] | [`0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7`][singleton-factory-testnet] | [Singleton Factory][singleton-factory] | [message-executor]: https://im-docs.celer.network/developer/development-guide/message-executor [message-executor-source]: https://github.com/celer-network/im-executor @@ -56,4 +57,7 @@ description: List of Standard Contract Addresses [message-bus]: https://im-docs.celer.network/developer/development-guide/message-executor [message-bus-source]: https://github.com/celer-network/sgn-v2-contracts/blob/6af81b55a13a7aacab9a4d92a38d374d46c0fdbf/contracts/message/messagebus/MessageBus.sol [message-bus-mainnet]: https://explorer.oasis.io/mainnet/sapphire/address/0x9Bb46D5100d2Db4608112026951c9C965b233f4D -[message-bus-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9Bb46D5100d2Db4608112026951c9C965b233f4D \ No newline at end of file +[message-bus-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x9Bb46D5100d2Db4608112026951c9C965b233f4D +[singleton-factory]: https://github.com/safe-global/safe-singleton-factory/ +[singleton-factory-mainnet]: https://explorer.oasis.io/mainnet/sapphire/address/0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7 +[singleton-factory-testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7 From a13bd4911be50b14be67256553c62e8769ee0b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matev=C5=BE=20Jekovec?= Date: Wed, 15 May 2024 11:44:59 +0200 Subject: [PATCH 12/20] docs: Bump diagrams for docusaurus 3.3.2 --- docs/diagrams/c10l-smart-contract-call.mmd.svg | 2 +- docs/diagrams/c10l-smart-contract-tx.mmd.svg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/diagrams/c10l-smart-contract-call.mmd.svg b/docs/diagrams/c10l-smart-contract-call.mmd.svg index d5e8ac97..030c019f 100644 --- a/docs/diagrams/c10l-smart-contract-call.mmd.svg +++ b/docs/diagrams/c10l-smart-contract-call.mmd.svg @@ -1 +1 @@ -Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)R is cacheduntil the endof epochopt[Encrypt Call]opt[Sign Call]opt[Encrypted Call]opt[EncryptedCall]opt[EncryptedCall]Create calldata1Get ephemeralpublic key R2Get ephemeralpublic key R3Get ephemeralpublic key R4Derive per-epochper-runtimekeypair R, R'5Ephemeral public key R6Ephemeralpublic key R7Ephemeralpublic key R8Generate X25519keypair C, C'9Derive shared keyK' = X25519(C', R)10Encrypt call datawith Deoxys-II usingshared key K'11Attach C12Sign callwith User'sSecp256k1/Ed25519key13eth_call14eth_call15Validate call16eth_call17Get ephemeralprivate key R'18Check runtimepolicy for caller19Derive per-epochper-runtimekeypair R, R'20Ephemeralprivate key R'21Derive shared keyK' = X25519(C, R')22Decrypt Deoxys-IIenvelope using K'23Get c10l contractstate keypair S, S'24Check runtimepolicy for caller25Derive per-contractper-runtimekeypair S, S'26Contract statekeypair S, S'27Fetch contract code28C10l contract executionusing S, S' to readstorage29Encrypt callresult with K'30Call result31Call result32Call result33Decrypt call resultusing K'34 \ No newline at end of file +Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)R is cacheduntil the endof epochopt[Encrypt Call]opt[Sign Call]opt[Encrypted Call]opt[EncryptedCall]opt[EncryptedCall]Create calldata1Get ephemeralpublic key R2Get ephemeralpublic key R3Get ephemeralpublic key R4Derive per-epochper-runtimekeypair R, R'5Ephemeral public key R6Ephemeralpublic key R7Ephemeralpublic key R8Generate X25519keypair C, C'9Derive shared keyK' = X25519(C', R)10Encrypt call datawith Deoxys-II usingshared key K'11Attach C12Sign callwith User'sSecp256k1/Ed25519key13eth_call14eth_call15Validate call16eth_call17Get ephemeralprivate key R'18Check runtimepolicy for caller19Derive per-epochper-runtimekeypair R, R'20Ephemeralprivate key R'21Derive shared keyK' = X25519(C, R')22Decrypt Deoxys-IIenvelope using K'23Get c10l contractstate keypair S, S'24Check runtimepolicy for caller25Derive per-contractper-runtimekeypair S, S'26Contract statekeypair S, S'27Fetch contract code28C10l contract executionusing S, S' to readstorage29Encrypt callresult with K'30Call result31Call result32Call result33Decrypt call resultusing K'34 \ No newline at end of file diff --git a/docs/diagrams/c10l-smart-contract-tx.mmd.svg b/docs/diagrams/c10l-smart-contract-tx.mmd.svg index e819ca6d..da9b8c78 100644 --- a/docs/diagrams/c10l-smart-contract-tx.mmd.svg +++ b/docs/diagrams/c10l-smart-contract-tx.mmd.svg @@ -1 +1 @@ -Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)R is cacheduntil the endof epochopt[Encrypt Transaction]opt[Encrypted Transaction]alt[EncryptedTransaction][UnencryptedTransaction]Proposer node addstransaction, state andreceipt in new blockWait for new blockopt[EncryptedTransaction-]Create transactioncall data1Get ephemeralpublic key R2Get ephemeralpublic key R3Get ephemeralpublic key R4Derive per-epochper-runtimekeypair R, R'5Ephemeral public key R6Ephemeralpublic key R7Ephemeralpublic key R8Generate X25519keypair C, C'9Derive shared keyK' = X25519(C', R)10Encrypt call datawith Deoxys-II usingshared key K'11Attach C12Sign transactionwith User'sSecp256k1/Ed25519key13eth_sendRawTx14eth_sendRawTx15Validatetransaction16eth_sendRawTx17Get ephemeralprivate key R'18Check runtimepolicy for caller19Derive per-epochper-runtimekeypair R, R'20Ephemeralprivate key R'21Derive shared keyK' = X25519(C, R')22Decrypt Deoxys-IIenvelope using K'23Get c10l contractstate keypair S, S'24Check runtimepolicy for caller25Derive per-contractper-runtimekeypair S, S'26Contract statekeypair S, S'27Fetch contract code28C10l contract executionusing S, S' to read andwrite storage29Obtain newstate root30Transaction receipt:encrypt tx status with K',unencrypted logs31Transaction receipt:unencrypted tx statusand logs32Transactionreceipt33Decrypt tx statusfrom receiptusing K'34 \ No newline at end of file +Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)Oasis NodeKey Manager🔒Oasis NodeSapphire ParaTimeCompute 🔒Oasis NodeSapphireParaTime ClientOasis Web3GatewayClient(e.g. Node.js,MetaMask)R is cacheduntil the endof epochopt[Encrypt Transaction]opt[Encrypted Transaction]alt[EncryptedTransaction][UnencryptedTransaction]Proposer node addstransaction, state andreceipt in new blockWait for new blockopt[EncryptedTransaction-]Create transactioncall data1Get ephemeralpublic key R2Get ephemeralpublic key R3Get ephemeralpublic key R4Derive per-epochper-runtimekeypair R, R'5Ephemeral public key R6Ephemeralpublic key R7Ephemeralpublic key R8Generate X25519keypair C, C'9Derive shared keyK' = X25519(C', R)10Encrypt call datawith Deoxys-II usingshared key K'11Attach C12Sign transactionwith User'sSecp256k1/Ed25519key13eth_sendRawTx14eth_sendRawTx15Validatetransaction16eth_sendRawTx17Get ephemeralprivate key R'18Check runtimepolicy for caller19Derive per-epochper-runtimekeypair R, R'20Ephemeralprivate key R'21Derive shared keyK' = X25519(C, R')22Decrypt Deoxys-IIenvelope using K'23Get c10l contractstate keypair S, S'24Check runtimepolicy for caller25Derive per-contractper-runtimekeypair S, S'26Contract statekeypair S, S'27Fetch contract code28C10l contract executionusing S, S' to read andwrite storage29Obtain newstate root30Transaction receipt:encrypt tx status with K',unencrypted logs31Transaction receipt:unencrypted tx statusand logs32Transactionreceipt33Decrypt tx statusfrom receiptusing K'34 \ No newline at end of file From 0fe359b549591df4e5ca6704e1145886af2efdcf Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Wed, 15 May 2024 18:21:19 -0500 Subject: [PATCH 13/20] Fix Go client deploy reference --- clients/go/compat.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/clients/go/compat.go b/clients/go/compat.go index 419aa167..0dbc3c87 100644 --- a/clients/go/compat.go +++ b/clients/go/compat.go @@ -54,14 +54,14 @@ var Networks = map[uint64]NetworkParams{ } // PackTx prepares a regular Eth transaction for Sapphire. The transaction returned from this function is what must be signed. -func PackTx(tx types.Transaction, cipher Cipher) (*types.Transaction, error) { - if !txNeedsPacking(&tx) { - return &tx, nil +func PackTx(tx *types.Transaction, cipher Cipher) (*types.Transaction, error) { + if !txNeedsPacking(tx) { + return tx, nil } return packTx(tx, cipher) } -func packTx(tx types.Transaction, cipher Cipher) (*types.Transaction, error) { +func packTx(tx *types.Transaction, cipher Cipher) (*types.Transaction, error) { return types.NewTx(&types.LegacyTx{ Nonce: tx.Nonce(), GasPrice: tx.GasPrice(), @@ -94,7 +94,12 @@ func PackSignedCall(msg ethereum.CallMsg, cipher Cipher, sign SignerFn, chainID if msg.GasPrice == nil { msg.GasPrice = big.NewInt(DefaultGasPrice) // Must be non-zero for signed calls. } - dataPack, err := evm.NewSignedCallDataPack(rsvSigner{sign}, chainID.Uint64(), msg.From[:], msg.To[:], msg.Gas, msg.GasPrice, msg.Value, msg.Data, *leash) + // msg.To is nil when deploying. + var to []byte + if msg.To != nil { + to = msg.To[:] + } + dataPack, err := evm.NewSignedCallDataPack(rsvSigner{sign}, chainID.Uint64(), msg.From[:], to, msg.Gas, msg.GasPrice, msg.Value, msg.Data, *leash) if err != nil { return nil, fmt.Errorf("failed to create signed call data back: %w", err) } @@ -173,7 +178,7 @@ func (b WrappedBackend) Transactor(from common.Address) *bind.TransactOpts { if addr != from { return nil, bind.ErrNotAuthorized } - packedTx, err := PackTx(*tx, b.cipher) + packedTx, err := PackTx(tx, b.cipher) if err != nil { return nil, fmt.Errorf("failed to pack tx: %w", err) } From 7ed30b52a0959999d8feb56a119d27883e0faebb Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Wed, 15 May 2024 18:22:13 -0500 Subject: [PATCH 14/20] Bump go-ethereum and Oasis dependencies --- clients/go/go.mod | 37 ++++++------ clients/go/go.sum | 146 ++++++++++++++++++++++------------------------ 2 files changed, 90 insertions(+), 93 deletions(-) diff --git a/clients/go/go.mod b/clients/go/go.mod index 8e58f1ff..597a7c89 100644 --- a/clients/go/go.mod +++ b/clients/go/go.mod @@ -3,9 +3,9 @@ module github.com/oasisprotocol/sapphire-paratime/clients/go go 1.22 require ( - github.com/ethereum/go-ethereum v1.13.15 + github.com/ethereum/go-ethereum v1.14.3 github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a - github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.7.2 + github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.8.2 ) replace github.com/cometbft/cometbft => github.com/oasisprotocol/cometbft v0.37.2-oasis1 @@ -14,17 +14,18 @@ require ( github.com/Microsoft/go-winio v0.6.1 // indirect github.com/a8m/envsubst v1.4.2 // indirect github.com/bits-and-blooms/bitset v1.13.0 // indirect + github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 // indirect github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cometbft/cometbft v0.0.0-00010101000000-000000000000 // indirect github.com/consensys/bavard v0.1.13 // indirect github.com/consensys/gnark-crypto v0.12.1 // indirect - github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect + github.com/crate-crypto/go-kzg-4844 v1.0.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deckarep/golang-set/v2 v2.1.0 // indirect github.com/eapache/channels v1.1.0 // indirect github.com/eapache/queue v1.1.0 // indirect - github.com/ethereum/c-kzg-4844 v0.4.2 // indirect + github.com/ethereum/c-kzg-4844 v1.0.0 // indirect github.com/fatih/color v1.13.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-kit/log v0.2.1 // indirect @@ -40,10 +41,10 @@ require ( github.com/ipfs/go-log/v2 v2.5.1 // indirect github.com/klauspost/cpuid/v2 v2.2.5 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.30.0 // indirect + github.com/libp2p/go-libp2p v0.32.2 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/minio/sha256-simd v1.0.1 // indirect github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -51,11 +52,11 @@ require ( github.com/mr-tron/base58 v1.2.0 // indirect github.com/multiformats/go-base32 v0.1.0 // indirect github.com/multiformats/go-base36 v0.2.0 // indirect - github.com/multiformats/go-multiaddr v0.11.0 // indirect + github.com/multiformats/go-multiaddr v0.12.0 // indirect github.com/multiformats/go-multibase v0.2.0 // indirect github.com/multiformats/go-multicodec v0.9.0 // indirect github.com/multiformats/go-multihash v0.2.3 // indirect - github.com/multiformats/go-multistream v0.4.1 // indirect + github.com/multiformats/go-multistream v0.5.0 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/oklog/run v1.0.0 // indirect github.com/pelletier/go-toml/v2 v2.0.6 // indirect @@ -68,18 +69,18 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.15.0 // indirect - github.com/stretchr/testify v1.8.4 // indirect + github.com/stretchr/testify v1.9.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/tidwall/btree v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.25.0 // indirect + go.uber.org/zap v1.26.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect - golang.org/x/mod v0.15.0 // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/sync v0.6.0 // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/sync v0.7.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.18.0 // indirect + golang.org/x/tools v0.20.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9 // indirect google.golang.org/grpc v1.61.1 // indirect google.golang.org/grpc/security/advancedtls v0.0.0-20221004221323-12db695f1648 // indirect @@ -97,12 +98,12 @@ require ( github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/fxamacker/cbor/v2 v2.4.0 // indirect github.com/go-ole/go-ole v1.3.0 // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/uuid v1.4.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7 - github.com/oasisprotocol/oasis-core/go v0.2300.9 + github.com/oasisprotocol/oasis-core/go v0.2300.10 github.com/prometheus/client_golang v1.17.0 // indirect github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect github.com/prometheus/common v0.44.0 // indirect @@ -111,7 +112,7 @@ require ( github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/sys v0.18.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/sys v0.19.0 // indirect google.golang.org/protobuf v1.33.0 // indirect ) diff --git a/clients/go/go.sum b/clients/go/go.sum index 95cd0157..3db495aa 100644 --- a/clients/go/go.sum +++ b/clients/go/go.sum @@ -57,11 +57,11 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bits-and-blooms/bitset v1.13.0 h1:bAQ9OPNFYbGHV6Nez0tmNI0RiEu7/hxlYJRUA0wFAVE= github.com/bits-and-blooms/bitset v1.13.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= -github.com/btcsuite/btcd v0.20.1-beta h1:Ik4hyJqN8Jfyv3S4AGBOmyouMsYE3EdYODkMbQjwPGw= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ= +github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= @@ -87,16 +87,14 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cockroachdb/errors v1.8.1 h1:A5+txlVZfOqFBDa4mGz2bUWSp0aHElvHX2bKkdbQu+Y= -github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= -github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593/go.mod h1:6hk1eMY/u5t+Cf18q5lFMUA1Rc+Sm5I6Ra1QuPyxXCo= -github.com/cockroachdb/redact v1.0.8 h1:8QG/764wK+vmEYoOlfobpe12EQcS81ukx/a4hdVMxNw= -github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 h1:IKgmqgMQlVJIZj19CdocBeSfSaiCbEBZGKODaixqtHM= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= +github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= +github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= +github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ= @@ -111,8 +109,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHH github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 h1:d28BXYi+wUpz1KBmiF9bWrjEMacUEREV6MBi2ODnrfQ= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233/go.mod h1:geZJZH3SzKCqnz5VT0q/DyIG/tvu/dZk+VIfXicupJs= -github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA= -github.com/crate-crypto/go-kzg-4844 v0.7.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc= +github.com/crate-crypto/go-kzg-4844 v1.0.0 h1:TsSgHwrkTKecKJ4kadtHi4b3xHW5dCFUDFnUp1TsawI= +github.com/crate-crypto/go-kzg-4844 v1.0.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -147,10 +145,10 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/c-kzg-4844 v0.4.2 h1:99hCflha4YhQ2cW9H/X3QFv7vs78cCvSxOteEsTvKnQ= -github.com/ethereum/c-kzg-4844 v0.4.2/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= -github.com/ethereum/go-ethereum v1.13.15 h1:U7sSGYGo4SPjP6iNIifNoyIAiNjrmQkz6EwQG+/EZWo= -github.com/ethereum/go-ethereum v1.13.15/go.mod h1:TN8ZiHrdJwSe8Cb6x+p0hs5CxhJZPbqB7hHkaUXcmIU= +github.com/ethereum/c-kzg-4844 v1.0.0 h1:0X1LBXxaEtYD9xsyj9B9ctQEZIpnvVDeoBx8aHEwTNA= +github.com/ethereum/c-kzg-4844 v1.0.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= +github.com/ethereum/go-ethereum v1.14.3 h1:5zvnAqLtnCZrU9uod1JCvHWJbPMURzYFHfc2eHz4PHA= +github.com/ethereum/go-ethereum v1.14.3/go.mod h1:1STrq471D0BQbCX9He0hUj4bHxX2k6mt5nOQJhDNOJ8= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fjl/memsize v0.0.2 h1:27txuSD9or+NZlnOWdKUxeBzTAUkWCVh+4Gf2dWFOzA= @@ -170,6 +168,8 @@ github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqG github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46 h1:BAIP2GihuqhwdILrV+7GJel5lyPV3u1+PgzrWLc0TkE= github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46/go.mod h1:QNpY22eby74jVhqH4WhDLDwxc/vqsern6pW+u2kbkpc= +github.com/getsentry/sentry-go v0.18.0 h1:MtBW5H9QgdcJabtZcuJG80BMOwaBpkRDZkxRkNC1sN0= +github.com/getsentry/sentry-go v0.18.0/go.mod h1:Kgon4Mby+FJ7ZWHFUAZgVaIa8sxHtnRJRLTXZr51aKQ= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -205,8 +205,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -221,9 +219,8 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -239,7 +236,6 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -259,8 +255,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= -github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b h1:RMpPgZTSApbPf7xaVel+QkoGPRLFLrwFO89uDUHEGf0= +github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -314,8 +310,8 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= -github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= +github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/koron/go-ssdp v0.0.4 h1:1IDwrghSKYM7yLf7XCzbByg2sJ/JcNOZRXS2jczTwz0= @@ -338,8 +334,8 @@ github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38y github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= -github.com/libp2p/go-libp2p v0.30.0 h1:9EZwFtJPFBcs/yJTnP90TpN1hgrT/EsFfM+OZuwV87U= -github.com/libp2p/go-libp2p v0.30.0/go.mod h1:nr2g5V7lfftwgiJ78/HrID+pwvayLyqKCEirT2Y3Byg= +github.com/libp2p/go-libp2p v0.32.2 h1:s8GYN4YJzgUoyeYNPdW7JZeZ5Ee31iNaIBfGYMAY4FQ= +github.com/libp2p/go-libp2p v0.32.2/go.mod h1:E0LKe+diV/ZVJVnOJby8VC5xzHF0660osg71skcxJvk= github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s= github.com/libp2p/go-libp2p-asn-util v0.3.0/go.mod h1:B1mcOrKUE35Xq/ASTmQ4tN3LNzVVaMNmq2NACuqyB9w= github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= @@ -363,14 +359,14 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo= -github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= +github.com/miekg/dns v1.1.56 h1:5imZaSeoRNvpM9SzWNhEcP9QliKiz20/dA2QabIGVnE= +github.com/miekg/dns v1.1.56/go.mod h1:cRm6Oo2C8TY9ZS/TqsSrseAcncm74lfK5G+ikN2SWWY= github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKoFL8DUUmalo2yJJUCxbPKtm8OKfqr2/FTNU= github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= @@ -392,8 +388,8 @@ github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aG github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= -github.com/multiformats/go-multiaddr v0.11.0 h1:XqGyJ8ufbCE0HmTDwx2kPdsrQ36AGPZNZX6s6xfJH10= -github.com/multiformats/go-multiaddr v0.11.0/go.mod h1:gWUm0QLR4thQ6+ZF6SXUw8YjtwQSPapICM+NmCkxHSM= +github.com/multiformats/go-multiaddr v0.12.0 h1:1QlibTFkoXJuDjjYsMHhE73TnzJQl8FSWatk/0gxGzE= +github.com/multiformats/go-multiaddr v0.12.0/go.mod h1:WmZXgObOQOYp9r3cslLlppkrz1FYSHmE834dfz/lWu8= github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk= github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= @@ -404,8 +400,8 @@ github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3 github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k= github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U= github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= -github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo= -github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q= +github.com/multiformats/go-multistream v0.5.0 h1:5htLSLl7lvJk3xx3qT/8Zm9J4K8vEOf/QGkvOGQAyiE= +github.com/multiformats/go-multistream v0.5.0/go.mod h1:n6tMZiwiP2wUsR8DgfDWw1dydlEqV3l6N3/GBsX6ILA= github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= github.com/oasisprotocol/cometbft v0.37.2-oasis1 h1:7yr/5f0vV1bQLKoZHFhs3mcHay3nLKT9m8bVIJAgdMU= @@ -414,19 +410,19 @@ github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a h1:dl github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7 h1:1102pQc2SEPp5+xrS26wEaeb26sZy6k9/ZXlZN+eXE4= github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7/go.mod h1:UqoUn6cHESlliMhOnKLWr+CBH+e3bazUPvFj1XZwAjs= -github.com/oasisprotocol/oasis-core/go v0.2300.9 h1:4Og8s40BRZzeZbyfm+GcXA2kJmLnsR1Kw9jj1JZOplk= -github.com/oasisprotocol/oasis-core/go v0.2300.9/go.mod h1:3ub+3LT8GEjuzeAXrve9pZEDkM/goL1HKBXVp4queNM= -github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.7.2 h1:UmKi9aaL0wFNhsxyt72EKeC8+dRX3mgAxYEMeavcXZY= -github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.7.2/go.mod h1:MNL4G9u8neatfQQ/AwCuGotYsUoHr6w+N7s9npMYhNQ= +github.com/oasisprotocol/oasis-core/go v0.2300.10 h1:j+xe4O3cyIPuoju7474OHHv7l0BI2NsarbyhpRB1Oi4= +github.com/oasisprotocol/oasis-core/go v0.2300.10/go.mod h1:qsPCCiahKCspYF2HnnVgV4OGpEfNXRBnvsym4QhZyKg= +github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.8.2 h1:8BJVdKJrjGHdkswR9Zu+fGH1swJjGd63fhGsARZn+nc= +github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.8.2/go.mod h1:4cbLgDDrRS2wiqqqj3mWxGKezfMEqiyOhtfESjjqBYU= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= -github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg= github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= @@ -451,12 +447,12 @@ github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwa github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= -github.com/quic-go/qtls-go1-20 v0.3.2 h1:rRgN3WfnKbyik4dBV8A6girlJVxGand/d+jVKbQq5GI= -github.com/quic-go/qtls-go1-20 v0.3.2/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= -github.com/quic-go/quic-go v0.37.6 h1:2IIUmQzT5YNxAiaPGjs++Z4hGOtIR0q79uS5qE9ccfY= -github.com/quic-go/quic-go v0.37.6/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= -github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU= -github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= +github.com/quic-go/qtls-go1-20 v0.3.4 h1:MfFAPULvst4yoMgY9QmtpYmfij/em7O8UUi+bNVm7Cg= +github.com/quic-go/qtls-go1-20 v0.3.4/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= +github.com/quic-go/quic-go v0.39.4 h1:PelfiuG7wXEffUT2yceiqz5V6Pc0TA5ruOd1LcmFc1s= +github.com/quic-go/quic-go v0.39.4/go.mod h1:T09QsDQWjLiQ74ZmacDfqZmhY/NLnw5BC40MANNNZ1Q= +github.com/quic-go/webtransport-go v0.6.0 h1:CvNsKqc4W2HljHJnoT+rMmbRJybShZ0YPFDD3NxaZLY= +github.com/quic-go/webtransport-go v0.6.0/go.mod h1:9KjU4AEBqEQidGHNDkZrb8CAa1abRaosM2yGOyiikEc= github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= @@ -498,8 +494,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4= @@ -534,19 +530,21 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/dig v1.17.0 h1:5Chju+tUvcC+N7N6EV08BJz41UZuO3BmHcN4A287ZLI= -go.uber.org/dig v1.17.0/go.mod h1:rTxpf7l5I0eBTlE6/9RL+lDybC7WFwY2QH55ZSjy1mU= -go.uber.org/fx v1.20.0 h1:ZMC/pnRvhsthOZh9MZjMq5U8Or3mA9zBSPaLnzs3ihQ= -go.uber.org/fx v1.20.0/go.mod h1:qCUj0btiR3/JnanEr1TYEePfSw6o/4qYJscgvzQ5Ub0= +go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= +go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= +go.uber.org/fx v1.20.1 h1:zVwVQGS8zYvhh9Xxcu4w1M6ESyeMzebzj2NbSayZ4Mk= +go.uber.org/fx v1.20.1/go.mod h1:iSYNbHf2y55acNCwCXKx7LbWb5WG1Bnue5RDXz1OREg= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= +go.uber.org/mock v0.3.0 h1:3mUxI1No2/60yUYax92Pt8eNOEecx2D3lcXZh2NEZJo= +go.uber.org/mock v0.3.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= -go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -556,8 +554,8 @@ golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -594,8 +592,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -629,8 +627,8 @@ golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -651,8 +649,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -703,8 +701,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -717,8 +715,8 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -768,8 +766,8 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -872,8 +870,6 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 31faf026dc6fc47ad3941eb30863755339fb6226 Mon Sep 17 00:00:00 2001 From: Jernej Kos Date: Mon, 20 May 2024 08:43:07 +0200 Subject: [PATCH 15/20] runtime: Prepare 0.7.3 --- runtime/Cargo.lock | 6 +++--- runtime/Cargo.toml | 4 ++-- runtime/src/lib.rs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/runtime/Cargo.lock b/runtime/Cargo.lock index 9688bc77..6e9e93c1 100644 --- a/runtime/Cargo.lock +++ b/runtime/Cargo.lock @@ -1612,8 +1612,8 @@ dependencies = [ [[package]] name = "keymanager" -version = "0.4.1-testnet" -source = "git+https://github.com/oasisprotocol/keymanager-paratime?tag=v0.4.1-testnet#1b20792680b245a610ee428876ca0f6ddc99a436" +version = "0.4.1" +source = "git+https://github.com/oasisprotocol/keymanager-paratime?tag=v0.4.1#8d87e456cdb3156ecea932110de1aac2a675f4af" dependencies = [ "oasis-core-keymanager 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1)", "oasis-core-runtime 0.0.0 (git+https://github.com/oasisprotocol/oasis-core?tag=v23.0.1)", @@ -2879,7 +2879,7 @@ dependencies = [ [[package]] name = "sapphire-paratime" -version = "0.7.3-testnet" +version = "0.7.3" dependencies = [ "keymanager", "oasis-runtime-sdk", diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 628ab581..a546e852 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sapphire-paratime" -version = "0.7.3-testnet" +version = "0.7.3" authors = ["Oasis Protocol Foundation "] edition = "2021" license = "Apache-2.0" @@ -18,7 +18,7 @@ threads = 26 debug = false [dependencies] -keymanager = { git = "https://github.com/oasisprotocol/keymanager-paratime", tag = "v0.4.1-testnet" } +keymanager = { git = "https://github.com/oasisprotocol/keymanager-paratime", tag = "v0.4.1" } # SDK. module-evm = { git = "https://github.com/oasisprotocol/oasis-sdk", tag = "runtime-sdk/v0.8.6", package = "oasis-runtime-sdk-evm" } diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index a5f318d8..ee879d67 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -47,7 +47,7 @@ const fn state_version() -> u32 { 6 } else { // Mainnet. - 2 + 3 } } From 65c9404afc7ceeb511374116c7c69847e748e0a9 Mon Sep 17 00:00:00 2001 From: Jernej Kos Date: Mon, 20 May 2024 08:44:05 +0200 Subject: [PATCH 16/20] runtime: Bump Mainnet trust root --- runtime/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index ee879d67..6fe672bc 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -143,8 +143,8 @@ impl sdk::Runtime for Runtime { } else { // Mainnet. Some(TrustRoot { - height: 16887695, - hash: "a3382aaaf7ff53c364ecddaf9577a819d415521d0b0a6362c9c3ea6a13a2356c".into(), + height: 19327937, + hash: "965b97464e8cb549926a0f39670025af9e0fdc271114cb1c9e7fdebb5516cd5f".into(), runtime_id: "000000000000000000000000000000000000000000000000f80306c9858e7279" .into(), chain_context: "bb3d748def55bdfb797a2ac53ee6ee141e54cd2ab2dc2375f4a0703a178e6e55" From a796cbcff3ee6434c95a18c72fa4f8a2494c8b5b Mon Sep 17 00:00:00 2001 From: Xi Zhang <4441690+aefhm@users.noreply.github.com> Date: Wed, 22 May 2024 16:15:23 -0500 Subject: [PATCH 17/20] Update Python client instructions --- clients/py/README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/clients/py/README.md b/clients/py/README.md index 84366a47..c9f1bdfa 100644 --- a/clients/py/README.md +++ b/clients/py/README.md @@ -14,12 +14,15 @@ make from web3 import Web3 from sapphirepy import sapphire -# Setup your Web3 provider with a signing account +# Setup your Web3 provider with a signing account. w3 = Web3(Web3.HTTPProvider('http://localhost:8545')) w3.middleware_onion.add(construct_sign_and_send_raw_middleware(account)) -# Finally, wrap the provider to add Sapphire end-to-end encryption +# Finally, wrap the provider to add Sapphire end-to-end encryption. w3 = sapphire.wrap(w3) +# Optionally, query Oasis Web3 Gateway for the gas price. +# from web3.gas_strategies.rpc import rpc_gas_price_strategy +# w3.eth.set_gas_price_strategy(rpc_gas_price_strategy) ``` The Sapphire middleware for Web3.py ensures all transactions, gas estimates and From f7a4bf69d7841efd8f2a2a62ef2c9c83f74d3eb5 Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Mon, 13 May 2024 17:34:50 -0500 Subject: [PATCH 18/20] Add deployment pattern recommendations --- docs/deployment.md | 240 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 docs/deployment.md diff --git a/docs/deployment.md b/docs/deployment.md new file mode 100644 index 00000000..cc7dfaf6 --- /dev/null +++ b/docs/deployment.md @@ -0,0 +1,240 @@ +--- +description: Deploying upgradable and deterministic contracts +--- + +# Deployment Patterns + +## Implementing Proxy contracts on Oasis Sapphire + +As a confidential Ethereum Virtual Machine (EVM), Oasis prevents external +access to contract storage or runtime states in order to keep your secrets +private. This unique feature affects how developers interact with and manage +smart contracts, particularly when using common Ethereum development tools. + +### What are Upgradable Contracts? + +Upgradable contracts are smart contracts designed to allow developers to update +functionality even after being deployed to a blockchain. This is particularly +useful for fixing bugs or adding new features without losing the existing state +or having to deploy a new contract. Upgradability is achieved through proxy +patterns, where a proxy contract directs calls to an underlying logic contract +which developers can swap out without affecting the state stored in the proxy. + +#### [EIP-1822]: Universal Upgradeable Proxy Standard (UUPS) + +EIP-1822 introduces a method for creating upgradable contracts using a proxy +pattern and specifies a mechanism where the proxy contract itself contains the +upgrade logic. This design reduces the complexity and potential for errors +compared to other proxy patterns because it consolidates upgrade functionality +within the proxy and eliminates the need for additional external management. + +#### [EIP-1967]: Standard Proxy Storage Slots + +EIP-1967 defines standard storage slots to be used by all proxy contracts for +consistent and predictable storage access. This standard helps prevent storage +collisions and enhances security by outlining specific locations in a proxy +contract for storing the address of the logic contract and other administrative +information. Using these predetermined slots makes managing and auditing proxy +contracts easier. + +[EIP-1822]: https://eips.ethereum.org/EIPS/eip-1822 +[EIP-1967]: https://eips.ethereum.org/EIPS/eip-1967 + +### The Impact of Confidential EVM on Tooling Compatibility + +While the underlying proxy implementations in EIP-1822 work perfectly in +facilitating smart contract upgrades, the tools typically used to manage these +proxies may not function as expected on Oasis Sapphire. +For example, the [openzeppelin-upgrades] library, which relies on the EIP-1967 +standard, uses [eth_getStorageAt] to access contract storage. This function +does not work in a confidential environment which forbids direct storage +access. + +Additionally, Sapphire natively protects against replay and currently does not +allow an empty chain ID à la pre [EIP-155] transactions. + +[eth_getStorageAt]: https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getstorageat +[openzeppelin-upgrades]: https://github.com/OpenZeppelin/openzeppelin-upgrades +[EIP-155]: https://eips.ethereum.org/EIPS/eip-155 + +### Solutions for Using UUPS Proxies on Oasis Sapphire + +Developers looking to use UUPS proxies on Oasis Sapphire have two primary +options: + +#### 1. Directly Implement EIP-1822 + +Avoid using [openzeppelin-upgrades] and manually handle the proxy setup and +upgrades with your own scripts, such as by calling the `updateCodeAddress` +method directly. + +#### 2. Modify Deployment Scripts + +Change deployment scripts to avoid `eth_getStorageAt`. Alternative methods +like calling `owner()` which do not require direct storage access. +[hardhat-deploy] as of `0.12.4` supports this approach with a default proxy +that includes an `owner()` function when deploying with a configuration that +specifies `proxy: true`. + +```typescript +module.exports = async ({getNamedAccounts, deployments, getChainId}) => { + const {deploy} = deployments; + const {deployer} = await getNamedAccounts(); + await deploy('Greeter', { + from: deployer, + proxy: true, + }); +}; +``` + +### Solution for Using Deterministic Proxies on Oasis Sapphire + +We suggest that developers interested in deterministic proxies on Oasis +Sapphire use a contract that supports replay protection. + +`hardhat-deploy` supports using the [Safe Singleton factory][safe-singleton-factory] deployed on +the Sapphire [Mainnet] and [Testnet] when `deterministicDeployment` is `true`. + +```typescript +module.exports = async ({getNamedAccounts, deployments, getChainId}) => { + const {deploy} = deployments; + const {deployer} = await getNamedAccounts(); + await deploy('Greeter', { + from: deployer, + deterministicDeployment: true, + }); +}; +``` + +Next, in your `hardhat.config.ts` file, specify the address of the Safe +Singleton factory: + +```typescript + deterministicDeployment: { + "97": { + factory: '0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7', + deployer: '0xE1CB04A0fA36DdD16a06ea828007E35e1a3cBC37', + funding: '2000000', + signedTx: '', + }, + "23295": { + factory: '0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7', + deployer: '0xE1CB04A0fA36DdD16a06ea828007E35e1a3cBC37', + funding: '2000000', + signedTx: '', + } + }, +``` + +[hardhat-deploy]: https://github.com/wighawag/hardhat-deploy +[Mainnet]: https://explorer.oasis.io/mainnet/sapphire/address/0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7 +[Testnet]: https://explorer.oasis.io/testnet/sapphire/address/0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7 +[safe-singleton-factory]: https://github.com/safe-global/safe-singleton-factory + +### Caution Against Using `eth_getStorageAt` + +Direct storage access, such as with `eth_getStorageAt`, is generally +discouraged. It reduces contract flexibility and deviates from common practice +which advocates for a standardized Solidity compatible API to both facilitate +interactions between contracts and allow popular libraries such as [ABIType] +and [TypeChain] to automatically generate client bindings. Direct storage +access makes contracts less adaptable and complicates on-chain automation; it +can even complicate the use of multisig wallets. +For contracts aiming to maintain a standard interface and ensure future +upgradeability, we advise sticking to ERC-defined Solidity compatible APIs and +avoiding directly interacting with contract storage. + +[ABIType]: https://abitype.dev/ +[TypeChain]: https://www.npmjs.com/package/typechain + +### [EIP-7201]: Namespaced Storage for Delegatecall Contracts + +ERC-7201 proposes a structured approach to storage in smart contracts that +utilize `delegatecall` which is often employed in proxy contracts for +upgradability. This standard recommends namespacing storage to mitigate the +risk of storage collisions — a common issue when multiple contracts share the +same storage space in a `delegatecall` context. + +[EIP-7201]: https://eips.ethereum.org/EIPS/eip-7201 + +### Benefits of Namespacing over Direct Storage Access + +Contracts using `delegatecall`, such as upgradable proxies, can benefit from +namespacing their storage through more efficient data organization which +enhances security. This approach isolates different variables and sections of +a contract’s storage under distinct namespaces, ensuring that each segment is +distinct and does not interfere with others. Namespacing is generally more +robust and preferable to using `eth_getStorageAt`. + +See example ERC-7201 implementation and usage: +https://gist.github.com/CedarMist/4cfb8f967714aa6862dd062742acbc7b + +```solidity +// SPDX-License-Identifier: Apache-2.0 + +pragma solidity ^0.8.0; + +contract Example7201 { + /// @custom:storage-location erc7201:Example7201.state + struct State { + uint256 counter; + } + + function _stateStorageSlot() + private pure + returns (bytes32) + { + return keccak256(abi.encode(uint256(keccak256("Example7201.state")) - 1)) & ~bytes32(uint256(0xff)); + } + + function _getState() + private pure + returns (State storage state) + { + bytes32 slot = _stateStorageSlot(); + assembly { + state.slot := slot + } + } + + function increment() + public + { + State storage state = _getState(); + + state.counter += 1; + } + + function get() + public view + returns (uint256) + { + State storage state = _getState(); + + return state.counter; + } +} + +contract ExampleCaller { + Example7201 private example; + + constructor () { + example = new Example7201(); + } + function get() + external + returns (uint256 counter) + { + (bool success, bytes memory result ) = address(example).delegatecall(abi.encodeCall(example.get, ())); + require(success); + counter = abi.decode(result, (uint256)); + } + + function increment() + external + { + (bool success, ) = address(example).delegatecall(abi.encodeCall(example.increment, ())); + require(success); + } +} +``` From dc168791bf83b7989243fbddebc37baddc45500d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matev=C5=BE=20Jekovec?= Date: Thu, 30 May 2024 12:41:17 +0200 Subject: [PATCH 19/20] docs: Adds section for funding the contract without receive() --- docs/guide.mdx | 137 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 89 insertions(+), 48 deletions(-) diff --git a/docs/guide.mdx b/docs/guide.mdx index 7e79a076..09aefd26 100644 --- a/docs/guide.mdx +++ b/docs/guide.mdx @@ -33,12 +33,11 @@ and probably no more. ParaTimes, Sapphire included, are not allowed to directly access your tokens stored in consensus layer accounts. You will need to _deposit_ tokens from your consensus -account to Sapphire. Consult the [How to transfer ROSE into an EVM -ParaTime][how-to-deposit-rose] chapter to learn more. +account to Sapphire. Consult the [Manage your Tokens][how-to-deposit-rose] chapter to learn more. [overview chapter]: https://github.com/oasisprotocol/docs/blob/main/docs/general/oasis-network/README.mdx -[how-to-deposit-rose]: https://github.com/oasisprotocol/docs/blob/main/docs/general/manage-tokens/README.mdx +[how-to-deposit-rose]: https://github.com/oasisprotocol/docs/blob/main/docs/general/manage-tokens/README.mdx#rose-and-the-paratimes [Testnet faucet]: https://faucet.testnet.oasis.io/ ## Testnet and Mainnet @@ -74,27 +73,64 @@ ParaTime. ## Sapphire vs Ethereum -Sapphire is generally compatible with Ethereum, the EVM, and all of the -user and developer tooling that you already use. There are a few breaking changes, -but we think that you'll like them: +Sapphire is generally compatible with Ethereum, the EVM, and all the user and +developer tooling that you are already used to. In addition to confidentiality +features, you get a few extra benefits including the ability to generate private +entropy, and make signatures on-chain. An example of a dApp that uses both is an +HSM contract that generates an Ethereum wallet and signs transactions sent to it +via transactions. -* Contract state is only visible to the contract that wrote it. With respect - to the contract API, it's as if all state variables are declared as `private`, but - with the further restriction that not even full nodes can read the values. Public or - access-controlled values are provided instead through explicit getters. -* Transactions and calls are end-to-end encrypted into the contract. Only the caller - and the contract can see the data sent to/received from the ParaTime. This ends up - defeating most of the utility of block explorers, however. -* The `from` address using of calls is derived from a signature attached to the call. - Unsigned calls have their sender set to the zero address. This allows contract authors - to write getters that release secrets to authenticated callers, but without - requiring a transaction to be posted on-chain. +There are also a few breaking changes compared to Ethereum though, but we think +that you'll quickly grasp them. Otherwise, Sapphire is like Emerald, a fast, +cheap Ethereum. -In addition to confidentiality, you get a few extra benefits including the ability to generate private -entropy, and make signatures on-chain. An example of a dApp that uses both is a HSM contract -that generates an Ethereum wallet and signs transactions sent to it via transactions. +### Encrypted Contract State -Otherwise Sapphire is like Emerald, which is like a fast, cheap Ethereum. +The contract state is only visible to the contract that wrote it. With respect +to the contract API, it's as if all state variables are declared as `private`, +but with the further restriction that not even full nodes can read the values. +Public or access-controlled values are provided instead through explicit +getters. + +Calling `eth_getStorageAt()` will return zero. + +### End-to-End Encrypted Transactions and Calls + +Transactions and calls are end-to-end encrypted into the contract. Only the +caller and the contract can see the data sent to/received from the ParaTime. +This ends up defeating some utility of block explorers, however. + +The status of the transaction is public and so are the error code, the revert +message and logs (emitted events). + +### `from` Address is Zero for Unsigned Calls + +The `from` address using of calls is derived from a signature attached to the call. +Unsigned calls have their sender set to the zero address. This allows contract authors +to write getters that release secrets to authenticated callers, but without +requiring a transaction to be posted on-chain. + +### Override `receive` and `fallback` when Funding the Contract + +In Ethereum, you can fund a contract by sending Ether along the transaction in +two ways: + +1. a transaction must call a *payable* function in the contract, or +2. not specifying any function to call (i.e. empty *calldata*). In this case, +the payable `receive()` and/or `fallback()` functions need to be defined. +If no such functions exist, the transaction will revert. + +The behavior described above is the same in Sapphire when using EVM transactions +to fund a contract. + +However, the Oasis network also uses [Oasis-native transactions] such as a +deposit to a ParaTime account or a transfer. In this case, **you will be able to +fund the contract's account even though the contract may not implement payable +`receive()` or `fallback()`!** Or, if these functions do exist, **they will not +be triggered**. You can send such Oasis-native transactions by using the [Oasis CLI] for example. + +[Oasis-native transactions]: https://github.com/oasisprotocol/docs/blob/main/docs/general/manage-tokens/README.mdx +[Oasis CLI]: https://github.com/oasisprotocol/cli/blob/master/docs/README.md ## Integrating Sapphire @@ -113,7 +149,7 @@ There are compatibility layers in other languages, which may be found in [the re ### Wallets Sapphire is compatible with popular self-custodial wallets including MetaMask, -Ledger, Brave, and so forth. You can also use libraries like Web3.js and Ethers +Ledger, Brave, and so forth. You can also use libraries like Ethers and Viem to create programmatic wallets. In general, if it generates secp256k1 signatures, it'll work just fine. @@ -130,19 +166,20 @@ You can find the details of the Oasis Sapphire Web3 endpoints ![Client, Key Manager, Compute Node diagram](../../general/images/architecture/client-km-compute.svg) -The figure above illustrates the flow of a confidential smart contract -*transaction* executed on the Sapphire ParaTime. +The figure above illustrates the flow of a **confidential smart contract +transaction** on Sapphire. Transactions and calls must be encrypted and signed for maximum security. -You can use the [@oasisprotocol/sapphire-paratime] JS package to make your life +The [@oasisprotocol/sapphire-paratime] npm package will make your life easy. It'll handle cryptography and signing for you. You should be aware that taking actions based on the value of private data may -leak the private data through side channels like time spent and gas use. If you -need to branch on private data, you should in most cases ensure that both -branches exhibit similar time/gas and storage patterns. +**leak the private data through side channels** like time spent, gas use and +accessed memory locations. If you need to branch on private data, you should in +most cases ensure that both branches exhibit the same time/gas and storage +patterns. -You can also make confidential smart contract *calls* on Sapphire. If you +You can also make **confidential smart contract calls** on Sapphire. If you use `msg.sender` for access control in your contract, the call **must be signed**, otherwise `msg.sender` will be zeroed. On the other hand, set the `from` address to all zeros, if you want to avoid annoying signature popups in @@ -176,7 +213,7 @@ The Sapphire state model is like Ethereum's except for all state being encrypted and not accessible to anyone except the contract. The contract, executing in an active (attested) Oasis compute node is the only entity that can request its state encryption key from the Oasis key manager. Both the keys and values of the -items stored in state are encrypted, but the size of either is *not* hidden. You +items stored in state are encrypted, but the **size of either is not hidden**. Your app may need to pad state items to a constant length, or use other obfuscation. Observers may also be able to infer computation based on storage access patterns, so you may need to obfuscate that, too. See [Security chapter] for more @@ -226,7 +263,7 @@ compiling contracts (Hardhat stores it inside the `artifacts/build-info` folder and names it as a 32-digit hex number). If your project contains multiple contracts, you will need to verify each contract separately. -:::danger Contract deployment encryption +:::warning Contract deployment encryption **Do not deploy your contract with an encrypted contract deployment transaction, if you want to verify it.** For example, if your `hardhat.config.ts` @@ -317,37 +354,41 @@ docker run -it -p8545:8545 -p8546:8546 ghcr.io/oasisprotocol/sapphire-localnet After a while, the tool will show you something like this: ``` -sapphire-localnet 2023-02-28-git84730b2 (oasis-core: 22.2.6, sapphire-paratime: 0.4.0, oasis-web3-gateway: 3.2.0-git84730b2) +sapphire-localnet 2024-05-21-gita256999 (oasis-core: 23.0.11-git8b45ece, sapphire-paratime: 0.7.3-testnet, oasis-web3-gateway: 5.0.1-gita256999) -Starting oasis-net-runner with sapphire... -Starting postgresql... -Starting oasis-web3-gateway... -Bootstrapping network and populating account(s) (this might take a minute)... + * Starting oasis-net-runner with sapphire... + * Waiting for Postgres to start.... + * Waiting for Oasis node to start.... + * Starting oasis-web3-gateway... + * Bootstrapping network (this might take a minute)... + * Waiting for key manager...... + * Populating accounts... Available Accounts ================== -(0) 0x75eCF0d4496C2f10e4e9aF3D4d174576Ee9010E2 (100 ROSE) -(1) 0x903a7dce5a26a3f4DE2d157606c2191740Bc4BC9 (100 ROSE) -(2) 0xF149ad5CBFfD92ba84F5784106f6Cb071A32a1b8 (100 ROSE) -(3) 0x2315F40C1122400Df55483743B051D2997ef0a62 (100 ROSE) -(4) 0xf6FdcacbA93A428A07d27dacEf1fBF25E2C65B0F (100 ROSE) +(0) 0xD72686fa546E7db3059Ab7c9EBd8D8D36D55e2B8 (10000 TEST) +(1) 0xe3392eBBB500ba63fb299C3Defaa4B2c1d4Debde (10000 TEST) +(2) 0xe691f8AA4956AF75eFD1fAEcDdCd97D6005f6d28 (10000 TEST) +(3) 0xB9193994d0821e76ce86b947fcE9E4A060658bB4 (10000 TEST) +(4) 0x9b9dDb47fF31a4Cf7d9a35FC69A34785C740dd35 (10000 TEST) Private Keys ================== -(0) 0x160f52faa5c0aecfa26c793424a04d53cbf23dcad5901ce15b50c2e85b9d6ca7 -(1) 0x0ba685723b47d8e744b1b70a9bea9d4d968f60205385ae9de99865174c1af110 -(2) 0xfa990cf0c22af455d2734c879a2a844ff99bd779b400bb0e2919758d1be284b5 -(3) 0x3bf225ef73b1b56b03ceec8bb4dfb4830b662b073b312beb7e7fec3159b1bb4f -(4) 0xad0dd7ceb896fd5f5ddc76d56e54ee6d5c2a3ffeac7714d3ef544d3d6262512c +(0) 0xf419a48e651b68237b64045340036860b736e57430fd6b6269348b45a3a02a4c +(1) 0x8fd8347f30bdeca501777093beb464c7df049f042f379dc90d7c8e56068353d2 +(2) 0xcc57ace9e658d041ae0a97451e92f0986e8685bfdd3cbea2a9b808733e037447 +(3) 0x92c704ecc72cd8e318fc5c4891fc4c3ffee368d8e280aba6eae99248323faf09 +(4) 0x9b4c1384be57849daec2574188565e4f81cababb368f8b90fcf6feb02f1d784e HD Wallet ================== -Mnemonic: bench remain brave curve frozen verify dream margin alarm world repair innocent +Mnemonic: kind soccer lucky cream another choice horn poem gloom sock interest announce Base HD Path: m/44'/60'/0'/0/%d WARNING: The chain is running in ephemeral mode. State will be lost after restart! -Listening on http://localhost:8545 and ws://localhost:8546 + * Listening on http://localhost:8545 and ws://localhost:8546. Chain ID: 0x5afd + * Container start-up took 61 seconds, node log level is set to warn. ``` Those familiar with local dApp environments will find the output above similar From 996ed463cdc4a7fe7c10b8202bf15a72a8a8f3ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matev=C5=BE=20Jekovec?= Date: Thu, 30 May 2024 13:27:43 +0200 Subject: [PATCH 20/20] docs: Adds instant finality subsection --- docs/guide.mdx | 106 ++++++++++++++++++++++++++++++------------------- 1 file changed, 66 insertions(+), 40 deletions(-) diff --git a/docs/guide.mdx b/docs/guide.mdx index 09aefd26..72968f3f 100644 --- a/docs/guide.mdx +++ b/docs/guide.mdx @@ -24,16 +24,17 @@ your contract to a non-confidential EVM network (e.g., Ropsten, Emerald). The Oasis Network consists of the consensus layer and a number of ParaTimes. ParaTimes are independent replicated state machines that settle transactions using the consensus layer (to learn more, check the [Oasis Network -Overview][overview chapter]). Sapphire is a ParaTime which implements the Ethereum -Virtual Machine (EVM). +Overview][overview chapter]). Sapphire is a ParaTime which implements the +Ethereum Virtual Machine (EVM). The minimum and also expected block time in Sapphire is **6 seconds**. Any Sapphire transaction will require at least this amount of time to be executed, and probably no more. -ParaTimes, Sapphire included, are not allowed to directly access your tokens stored -in consensus layer accounts. You will need to _deposit_ tokens from your consensus -account to Sapphire. Consult the [Manage your Tokens][how-to-deposit-rose] chapter to learn more. +ParaTimes, Sapphire included, are not allowed to directly access your tokens +stored in consensus layer accounts. You will need to _deposit_ tokens from your +consensus account to Sapphire. Consult the [Manage your +Tokens][how-to-deposit-rose] chapter to learn more. [overview chapter]: https://github.com/oasisprotocol/docs/blob/main/docs/general/oasis-network/README.mdx @@ -74,15 +75,23 @@ ParaTime. ## Sapphire vs Ethereum Sapphire is generally compatible with Ethereum, the EVM, and all the user and -developer tooling that you are already used to. In addition to confidentiality -features, you get a few extra benefits including the ability to generate private -entropy, and make signatures on-chain. An example of a dApp that uses both is an -HSM contract that generates an Ethereum wallet and signs transactions sent to it -via transactions. +developer tooling that you are used to. In addition to confidentiality +features, you get a few extra benefits including the ability to **generate +private entropy**, and **make signatures on-chain**. An example of a dApp that +uses both is an HSM contract that generates an Ethereum wallet and signs +transactions sent to it via transactions. There are also a few breaking changes compared to Ethereum though, but we think -that you'll quickly grasp them. Otherwise, Sapphire is like Emerald, a fast, -cheap Ethereum. +that you'll quickly grasp them: + +- [Encrypted Contract State](#encrypted-contract-state) +- [End-to-End Encrypted Transactions and Calls](#end-to-end-encrypted-transactions-and-calls) +- [`from` Address is Zero for Unsigned Calls](#from-address-is-zero-for-unsigned-calls) +- [Override `receive` and `fallback` when Funding the Contract](#override-receive-and-fallback-when-funding-the-contract) +- [Instant Finality](#instant-finality) + +Read below to learn more about them. Otherwise, Sapphire is like Emerald, a +fast, cheap Ethereum. ### Encrypted Contract State @@ -105,10 +114,11 @@ message and logs (emitted events). ### `from` Address is Zero for Unsigned Calls -The `from` address using of calls is derived from a signature attached to the call. -Unsigned calls have their sender set to the zero address. This allows contract authors -to write getters that release secrets to authenticated callers, but without -requiring a transaction to be posted on-chain. +The `from` address using of calls is derived from a signature attached to the +call. Unsigned calls have their sender set to the zero address. This allows +contract authors to write getters that release secrets to authenticated callers +(e.g. by checking the `msg.sender` value), but without requiring a transaction +to be posted on-chain. ### Override `receive` and `fallback` when Funding the Contract @@ -116,31 +126,47 @@ In Ethereum, you can fund a contract by sending Ether along the transaction in two ways: 1. a transaction must call a *payable* function in the contract, or -2. not specifying any function to call (i.e. empty *calldata*). In this case, -the payable `receive()` and/or `fallback()` functions need to be defined. -If no such functions exist, the transaction will revert. +2. not calling any specific function (i.e. empty *calldata*). In this case, + the payable `receive()` and/or `fallback()` functions need to be defined in + the contract. If no such functions exist, the transaction will revert. The behavior described above is the same in Sapphire when using EVM transactions to fund a contract. -However, the Oasis network also uses [Oasis-native transactions] such as a +However, the Oasis Network also uses [Oasis-native transactions] such as a deposit to a ParaTime account or a transfer. In this case, **you will be able to fund the contract's account even though the contract may not implement payable `receive()` or `fallback()`!** Or, if these functions do exist, **they will not -be triggered**. You can send such Oasis-native transactions by using the [Oasis CLI] for example. +be triggered**. You can send such Oasis-native transactions by using the [Oasis +CLI] for example. [Oasis-native transactions]: https://github.com/oasisprotocol/docs/blob/main/docs/general/manage-tokens/README.mdx [Oasis CLI]: https://github.com/oasisprotocol/cli/blob/master/docs/README.md +### Instant Finality + +The Oasis Network is a proof of stake network where 2/3+ of the validator nodes +need to verify each block in order to consider it final. However, in Ethereum +the signatures of those validator nodes can be submitted minutes after the block +is proposed, which makes the block proposal mechanism independent of the +validation, but adds uncertainty if and when will the proposed block actually be +finalized. + +In the Oasis Network, the 2/3+ of signatures need to be provided immediately +after the block is proposed and **the network will halt, until the required +number signatures are provided**. This means that you can rest assured that any +validated block is final. As a consequence, the cross-chain bridges are more +responsive yet safe on the Oasis Network. + ## Integrating Sapphire -Once ROSE tokens are [deposited into Sapphire][how-to-deposit-rose], it should be painless for users to begin -using dApps. To achieve this ideal user experience, we have to modify the dApp a little, -but it's made simple by our compatibility library, [@oasisprotocol/sapphire-paratime]. +Once ROSE tokens are [deposited into Sapphire][how-to-deposit-rose], it should +be painless for users to begin using dApps. To achieve this ideal user +experience, we have to modify the dApp a little, but it's made simple by our +compatibility library, [@oasisprotocol/sapphire-paratime]. There are compatibility layers in other languages, which may be found in [the repo]. - [@oasisprotocol/sapphire-paratime]: https://www.npmjs.com/package/@oasisprotocol/sapphire-paratime [the repo]: https://github.com/oasisprotocol/sapphire-paratime/tree/main/clients @@ -354,11 +380,11 @@ docker run -it -p8545:8545 -p8546:8546 ghcr.io/oasisprotocol/sapphire-localnet After a while, the tool will show you something like this: ``` -sapphire-localnet 2024-05-21-gita256999 (oasis-core: 23.0.11-git8b45ece, sapphire-paratime: 0.7.3-testnet, oasis-web3-gateway: 5.0.1-gita256999) +sapphire-localnet 2024-05-28-git37b7166 (oasis-core: 24.0-gitfb49717, sapphire-paratime: 0.7.3-testnet, oasis-web3-gateway: 5.1.0) * Starting oasis-net-runner with sapphire... - * Waiting for Postgres to start.... - * Waiting for Oasis node to start.... + * Waiting for Postgres to start... + * Waiting for Oasis node to start..... * Starting oasis-web3-gateway... * Bootstrapping network (this might take a minute)... * Waiting for key manager...... @@ -366,29 +392,29 @@ sapphire-localnet 2024-05-21-gita256999 (oasis-core: 23.0.11-git8b45ece, sapphir Available Accounts ================== -(0) 0xD72686fa546E7db3059Ab7c9EBd8D8D36D55e2B8 (10000 TEST) -(1) 0xe3392eBBB500ba63fb299C3Defaa4B2c1d4Debde (10000 TEST) -(2) 0xe691f8AA4956AF75eFD1fAEcDdCd97D6005f6d28 (10000 TEST) -(3) 0xB9193994d0821e76ce86b947fcE9E4A060658bB4 (10000 TEST) -(4) 0x9b9dDb47fF31a4Cf7d9a35FC69A34785C740dd35 (10000 TEST) +(0) 0x41b0C13e747F8Cb1c4E980712504437cb1792327 (10000 TEST) +(1) 0xa521f94f8a38b1d027D526017EB229327B9D6cA0 (10000 TEST) +(2) 0x1e0f8369215D6C5Af5E14eD6A0D6ae7372776A79 (10000 TEST) +(3) 0xB60cA28B491747a27C057AdBF3E71F3CCC52332C (10000 TEST) +(4) 0x88D7d924e521a6d07008a373D5b33281148ffEDc (10000 TEST) Private Keys ================== -(0) 0xf419a48e651b68237b64045340036860b736e57430fd6b6269348b45a3a02a4c -(1) 0x8fd8347f30bdeca501777093beb464c7df049f042f379dc90d7c8e56068353d2 -(2) 0xcc57ace9e658d041ae0a97451e92f0986e8685bfdd3cbea2a9b808733e037447 -(3) 0x92c704ecc72cd8e318fc5c4891fc4c3ffee368d8e280aba6eae99248323faf09 -(4) 0x9b4c1384be57849daec2574188565e4f81cababb368f8b90fcf6feb02f1d784e +(0) 0x617346c545d62b8213ea907acf1b570a7405683e2c6dcaf963fc21fd677e0c56 +(1) 0xf82d6e09208b0bd44a397f7e73b05c564e6c9f70b151ee7677e2bb8d6ce5d882 +(2) 0xeb2f21d20086f3dd6bfe7184dad1cb8b0fb802f27b1334e836a19eda0a43a1c2 +(3) 0x82b0203d6063992b1052004b90411c45d4f3afab696346f006e74c6abd8f855e +(4) 0x7179c6e1add3a2993822653b9c98fe606f47fb6d4c0d0d81b31b067cf6bb5f83 HD Wallet ================== -Mnemonic: kind soccer lucky cream another choice horn poem gloom sock interest announce +Mnemonic: coach genre beach child crunch champion tell adult critic peace canoe stable Base HD Path: m/44'/60'/0'/0/%d WARNING: The chain is running in ephemeral mode. State will be lost after restart! * Listening on http://localhost:8545 and ws://localhost:8546. Chain ID: 0x5afd - * Container start-up took 61 seconds, node log level is set to warn. + * Container start-up took 66 seconds, node log level is set to warn. ``` Those familiar with local dApp environments will find the output above similar