From 289eac2cb6cc0fb98c00596dbd1adbb04a60674c Mon Sep 17 00:00:00 2001 From: Conner Gallagher Date: Mon, 26 Jun 2023 13:43:17 -0600 Subject: [PATCH] update to anchor28 --- rust/switchboard-solana/Cargo.lock | 1243 +++++++++++------ rust/switchboard-solana/Cargo.toml | 14 +- .../accounts/attestation_permission.rs | 2 +- .../accounts/attestation_queue.rs | 2 +- .../accounts/attestation_state.rs | 2 +- .../attestation_program/accounts/enclave.rs | 2 +- .../attestation_program/accounts/function.rs | 2 +- rust/switchboard-solana/src/decimal.rs | 2 +- .../src/oracle_program/accounts/aggregator.rs | 8 +- .../oracle_program/accounts/buffer_relayer.rs | 14 +- .../src/oracle_program/accounts/crank.rs | 4 +- .../src/oracle_program/accounts/ecvrf.rs | 24 +- .../oracle_program/accounts/history_buffer.rs | 2 +- .../src/oracle_program/accounts/lease.rs | 2 +- .../src/oracle_program/accounts/oracle.rs | 4 +- .../src/oracle_program/accounts/permission.rs | 2 +- .../src/oracle_program/accounts/queue.rs | 2 +- .../src/oracle_program/accounts/sb_state.rs | 2 +- .../oracle_program/accounts/sliding_window.rs | 4 +- .../src/oracle_program/accounts/vrf.rs | 2 +- .../src/oracle_program/accounts/vrf_lite.rs | 2 +- .../src/oracle_program/accounts/vrf_pool.rs | 2 +- 22 files changed, 847 insertions(+), 496 deletions(-) diff --git a/rust/switchboard-solana/Cargo.lock b/rust/switchboard-solana/Cargo.lock index a37b21e..6025ce9 100644 --- a/rust/switchboard-solana/Cargo.lock +++ b/rust/switchboard-solana/Cargo.lock @@ -34,7 +34,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher", "cpufeatures", "opaque-debug", ] @@ -47,7 +47,7 @@ checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" dependencies = [ "aead", "aes", - "cipher 0.3.0", + "cipher", "ctr", "polyval", "subtle", @@ -72,6 +72,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ "cfg-if", + "getrandom 0.2.10", "once_cell", "version_check", ] @@ -102,9 +103,9 @@ dependencies = [ [[package]] name = "anchor-attribute-access-control" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf7d535e1381be3de2c0716c0a1c1e32ad9df1042cddcf7bc18d743569e53319" +checksum = "faa5be5b72abea167f87c868379ba3c2be356bfca9e6f474fd055fa0f7eeb4f2" dependencies = [ "anchor-syn", "anyhow", @@ -116,13 +117,13 @@ dependencies = [ [[package]] name = "anchor-attribute-account" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bcd731f21048a032be27c7791701120e44f3f6371358fc4261a7f716283d29" +checksum = "f468970344c7c9f9d03b4da854fd7c54f21305059f53789d0045c1dd803f0018" dependencies = [ "anchor-syn", "anyhow", - "bs58 0.4.0", + "bs58 0.5.0", "proc-macro2 1.0.60", "quote 1.0.28", "rustversion", @@ -131,9 +132,9 @@ dependencies = [ [[package]] name = "anchor-attribute-constant" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1be64a48e395fe00b8217287f226078be2cf32dae42fdf8a885b997945c3d28" +checksum = "59948e7f9ef8144c2aefb3f32a40c5fce2798baeec765ba038389e82301017ef" dependencies = [ "anchor-syn", "proc-macro2 1.0.60", @@ -142,9 +143,9 @@ dependencies = [ [[package]] name = "anchor-attribute-error" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ea6713d1938c0da03656ff8a693b17dc0396da66d1ba320557f07e86eca0d4" +checksum = "fc753c9d1c7981cb8948cf7e162fb0f64558999c0413058e2d43df1df5448086" dependencies = [ "anchor-syn", "proc-macro2 1.0.60", @@ -154,9 +155,9 @@ dependencies = [ [[package]] name = "anchor-attribute-event" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d401f11efb3644285685f8339829a9786d43ed7490bb1699f33c478d04d5a582" +checksum = "f38b4e172ba1b52078f53fdc9f11e3dc0668ad27997838a0aad2d148afac8c97" dependencies = [ "anchor-syn", "anyhow", @@ -165,38 +166,11 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "anchor-attribute-interface" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6700a6f5c888a9c33fe8afc0c64fd8575fa28d05446037306d0f96102ae4480" -dependencies = [ - "anchor-syn", - "anyhow", - "heck", - "proc-macro2 1.0.60", - "quote 1.0.28", - "syn 1.0.109", -] - [[package]] name = "anchor-attribute-program" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ad769993b5266714e8939e47fbdede90e5c030333c7522d99a4d4748cf26712" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2 1.0.60", - "quote 1.0.28", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-state" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e677fae4a016a554acdd0e3b7f178d3acafaa7e7ffac6b8690cf4e171f1c116" +checksum = "4eebd21543606ab61e2d83d9da37d24d3886a49f390f9c43a1964735e8c0f0d5" dependencies = [ "anchor-syn", "anyhow", @@ -207,26 +181,28 @@ dependencies = [ [[package]] name = "anchor-client" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "582dd4960f08a340a91ebe3cac5431338cfd2d2ccfa6520dcc8f2036a86f5125" +checksum = "8434a6bf33efba0c93157f7fa2fafac658cb26ab75396886dcedd87c2a8ad445" dependencies = [ "anchor-lang", "anyhow", + "futures", "regex", "serde", "solana-account-decoder", "solana-client", "solana-sdk", "thiserror", + "tokio", "url", ] [[package]] name = "anchor-derive-accounts" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "340beef6809d1c3fcc7ae219153d981e95a8a277ff31985bd7050e32645dc9a8" +checksum = "ec4720d899b3686396cced9508f23dab420f1308344456ec78ef76f98fda42af" dependencies = [ "anchor-syn", "anyhow", @@ -236,56 +212,67 @@ dependencies = [ ] [[package]] -name = "anchor-lang" -version = "0.26.0" +name = "anchor-derive-space" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662ceafe667448ee4199a4be2ee83b6bb76da28566eee5cea05f96ab38255af8" +checksum = "f495e85480bd96ddeb77b71d499247c7d4e8b501e75ecb234e9ef7ae7bd6552a" +dependencies = [ + "proc-macro2 1.0.60", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "anchor-lang" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d2d4b20100f1310a774aba3471ef268e5c4ba4d5c28c0bbe663c2658acbc414" dependencies = [ "anchor-attribute-access-control", "anchor-attribute-account", "anchor-attribute-constant", "anchor-attribute-error", "anchor-attribute-event", - "anchor-attribute-interface", "anchor-attribute-program", - "anchor-attribute-state", "anchor-derive-accounts", + "anchor-derive-space", "arrayref", "base64 0.13.1", "bincode", - "borsh 0.9.3", + "borsh 0.10.3", "bytemuck", + "getrandom 0.2.10", "solana-program", "thiserror", ] [[package]] name = "anchor-spl" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f32390ce8356f54c0f0245ea156f8190717e37285b8bf4f406a613dc4b954cde" +checksum = "78f860599da1c2354e7234c768783049eb42e2f54509ecfc942d2e0076a2da7b" dependencies = [ "anchor-lang", "solana-program", "spl-associated-token-account", "spl-token", + "spl-token-2022", ] [[package]] name = "anchor-syn" -version = "0.26.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0418bcb5daac3b8cb1b60d8fdb1d468ca36f5509f31fb51179326fae1028fdcc" +checksum = "a125e4b0cc046cfec58f5aa25038e34cf440151d58f0db3afc55308251fe936d" dependencies = [ "anyhow", - "bs58 0.3.1", + "bs58 0.5.0", "heck", "proc-macro2 1.0.60", - "proc-macro2-diagnostics", "quote 1.0.28", "serde", "serde_json", - "sha2 0.9.9", + "sha2 0.10.6", "syn 1.0.109", "thiserror", ] @@ -320,6 +307,129 @@ version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest 0.10.7", + "itertools", + "num-bigint 0.4.3", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.3", + "num-traits", + "proc-macro2 1.0.60", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.10.7", + "num-bigint 0.4.3", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2 1.0.60", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "array-bytes" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ad284aeb45c13f2fb4f084de4a420ebf447423bdf9386c0540ce33cb3ef4b8c" + [[package]] name = "arrayref" version = "0.3.7" @@ -338,6 +448,12 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8868f09ff8cea88b079da74ae569d9b8c62a23c68c746240b704ee6f7525c89c" +[[package]] +name = "ascii" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" + [[package]] name = "asn1-rs" version = "0.5.2" @@ -384,10 +500,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] -name = "async-compression" -version = "0.4.0" +name = "async-channel" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0122885821398cc923ece939e24d1056a2384ee719432397fa9db87230ff11" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-compression" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" dependencies = [ "brotli", "flate2", @@ -644,18 +771,21 @@ dependencies = [ "alloc-stdlib", ] -[[package]] -name = "bs58" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" - [[package]] name = "bs58" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "bs58" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +dependencies = [ + "tinyvec", +] + [[package]] name = "bumpalo" version = "3.13.0" @@ -776,16 +906,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "clap" version = "2.34.0" @@ -826,6 +946,28 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "combine" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" +dependencies = [ + "ascii", + "byteorder", + "either", + "memchr", + "unreachable", +] + +[[package]] +name = "concurrent-queue" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "console" version = "0.15.7" @@ -991,7 +1133,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher 0.3.0", + "cipher", ] [[package]] @@ -1008,6 +1150,41 @@ dependencies = [ "zeroize", ] +[[package]] +name = "darling" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2 1.0.60", + "quote 1.0.28", + "strsim 0.10.0", + "syn 2.0.18", +] + +[[package]] +name = "darling_macro" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +dependencies = [ + "darling_core", + "quote 1.0.28", + "syn 2.0.18", +] + [[package]] name = "data-encoding" version = "2.4.0" @@ -1043,6 +1220,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2 1.0.60", + "quote 1.0.28", + "syn 1.0.109", +] + [[package]] name = "dialoguer" version = "0.10.4" @@ -1075,27 +1263,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "displaydoc" version = "0.2.4" @@ -1194,34 +1361,22 @@ dependencies = [ [[package]] name = "enum-iterator" -version = "0.8.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" +checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "0.8.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" +checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ "proc-macro2 1.0.60", "quote 1.0.28", - "syn 1.0.109", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2" -dependencies = [ - "once_cell", - "proc-macro2 1.0.60", - "quote 1.0.28", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] @@ -1414,15 +1569,6 @@ dependencies = [ "slab", ] -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -1470,6 +1616,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "goblin" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" +dependencies = [ + "log", + "plain", + "scroll", +] + [[package]] name = "h2" version = "0.3.19" @@ -1489,6 +1646,15 @@ dependencies = [ "tracing", ] +[[package]] +name = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.11.2" @@ -1660,15 +1826,15 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", - "rustls 0.21.1", + "rustls", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", ] [[package]] @@ -1707,6 +1873,12 @@ dependencies = [ "cc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.4.0" @@ -1745,23 +1917,15 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.16.2" +version = "0.17.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" +checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" dependencies = [ "console", - "lazy_static", + "instant", "number_prefix", - "regex", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array", + "portable-atomic", + "unicode-width", ] [[package]] @@ -1872,16 +2036,6 @@ version = "0.2.146" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - [[package]] name = "libsecp256k1" version = "0.6.0" @@ -1930,12 +2084,6 @@ dependencies = [ "libsecp256k1-core", ] -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -1975,9 +2123,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] @@ -2026,13 +2174,24 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "log", + "miow", + "ntapi", + "winapi", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi", ] [[package]] @@ -2055,14 +2214,16 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.3" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ "bitflags", "cfg-if", "libc", - "memoffset 0.6.5", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", ] [[package]] @@ -2086,6 +2247,15 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "ntapi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" +dependencies = [ + "winapi", +] + [[package]] name = "num" version = "0.2.1" @@ -2201,7 +2371,16 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ - "num_enum_derive", + "num_enum_derive 0.5.11", +] + +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", ] [[package]] @@ -2216,6 +2395,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.60", + "quote 1.0.28", + "syn 2.0.18", +] + [[package]] name = "number_prefix" version = "0.4.0" @@ -2293,6 +2484,17 @@ version = "6.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + [[package]] name = "parking_lot" version = "0.12.1" @@ -2300,7 +2502,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core", + "parking_lot_core 0.9.8", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", ] [[package]] @@ -2316,6 +2532,12 @@ dependencies = [ "windows-targets 0.48.0", ] +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + [[package]] name = "pbkdf2" version = "0.4.0" @@ -2387,6 +2609,12 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + [[package]] name = "polyval" version = "0.5.3" @@ -2399,6 +2627,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2442,19 +2676,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "proc-macro2-diagnostics" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" -dependencies = [ - "proc-macro2 1.0.60", - "quote 1.0.28", - "syn 1.0.109", - "version_check", - "yansi", -] - [[package]] name = "ptr_meta" version = "0.1.4" @@ -2486,17 +2707,16 @@ dependencies = [ [[package]] name = "quinn" -version = "0.8.5" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b435e71d9bfa0d8889927231970c51fb89c58fa63bffcab117c9c7a41e5ef8f" +checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1" dependencies = [ "bytes", - "futures-channel", - "futures-util", - "fxhash", + "pin-project-lite", "quinn-proto", "quinn-udp", - "rustls 0.20.8", + "rustc-hash", + "rustls", "thiserror", "tokio", "tracing", @@ -2505,17 +2725,16 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.8.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fce546b9688f767a57530652488420d419a8b1f44a478b451c3d1ab6d992a55" +checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" dependencies = [ "bytes", - "fxhash", "rand 0.8.5", "ring", - "rustls 0.20.8", + "rustc-hash", + "rustls", "rustls-native-certs", - "rustls-pemfile 0.2.1", "slab", "thiserror", "tinyvec", @@ -2525,16 +2744,15 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.1.4" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07946277141531aea269befd949ed16b2c85a780ba1043244eda0969e538e54" +checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" dependencies = [ - "futures-util", "libc", "quinn-proto", "socket2", - "tokio", "tracing", + "windows-sys 0.42.0", ] [[package]] @@ -2665,9 +2883,9 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", @@ -2693,17 +2911,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "redox_users" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" -dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", - "thiserror", -] - [[package]] name = "regex" version = "1.8.4" @@ -2732,9 +2939,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" dependencies = [ "async-compression", "base64 0.21.2", @@ -2756,14 +2963,14 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.1", - "rustls-pemfile 1.0.2", + "rustls", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-native-tls", - "tokio-rustls 0.24.1", + "tokio-rustls", "tokio-util", "tower-service", "url", @@ -2819,13 +3026,22 @@ dependencies = [ [[package]] name = "rpassword" -version = "6.0.1" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf099a1888612545b683d2661a1940089f6c2e5a8e38979b2159da876bfd956" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +dependencies = [ + "libc", + "rtoolbox", + "winapi", +] + +[[package]] +name = "rtoolbox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" dependencies = [ "libc", - "serde", - "serde_json", "winapi", ] @@ -2847,6 +3063,12 @@ dependencies = [ "serde_json", ] +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + [[package]] name = "rustc-hash" version = "1.1.0" @@ -2897,18 +3119,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "rustls" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e" -dependencies = [ - "log", - "ring", - "rustls-webpki", - "sct", -] - [[package]] name = "rustls-native-certs" version = "0.6.2" @@ -2916,20 +3126,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.2", + "rustls-pemfile", "schannel", "security-framework", ] -[[package]] -name = "rustls-pemfile" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" -dependencies = [ - "base64 0.13.1", -] - [[package]] name = "rustls-pemfile" version = "1.0.2" @@ -2939,16 +3140,6 @@ dependencies = [ "base64 0.21.2", ] -[[package]] -name = "rustls-webpki" -version = "0.100.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "rustversion" version = "1.0.12" @@ -2976,6 +3167,26 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scroll" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +dependencies = [ + "scroll_derive", +] + +[[package]] +name = "scroll_derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" +dependencies = [ + "proc-macro2 1.0.60", + "quote 1.0.28", + "syn 2.0.18", +] + [[package]] name = "sct" version = "0.7.0" @@ -3074,15 +3285,25 @@ dependencies = [ ] [[package]] -name = "serde_yaml" -version = "0.8.26" +name = "serde_with" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" dependencies = [ - "indexmap", - "ryu", "serde", - "yaml-rust", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling", + "proc-macro2 1.0.60", + "quote 1.0.28", + "syn 2.0.18", ] [[package]] @@ -3215,12 +3436,12 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a799348a70a5885cf428f1921e851cec204b58de1aeb0ca4409b5973d6d59d" +checksum = "380584cb468a1eb2ea79495c0c574ca09a11bf6796093b97a48a94cd98fe5b30" dependencies = [ "Inflector", - "base64 0.13.1", + "base64 0.21.2", "bincode", "bs58 0.4.0", "bv", @@ -3231,7 +3452,6 @@ dependencies = [ "solana-address-lookup-table-program", "solana-config-program", "solana-sdk", - "solana-vote-program", "spl-token", "spl-token-2022", "thiserror", @@ -3240,9 +3460,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef5f98a080611a417da791853ca245ea7f58efefd4b5d9c5239e82693a65697" +checksum = "1dcdcbe2a61849b7692ac9eb6ad567ea4f333c36272d5d12de554aa2f60fa792" dependencies = [ "bincode", "bytemuck", @@ -3261,9 +3481,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43985f76c072db0412de3dcd8976bf6bc040ee10da8480fb5ba6b9455d733e6f" +checksum = "4fe8a1443f3efac9c351c0b55efa39df488e73bcdd512272cb39e58198dcf9cc" dependencies = [ "chrono", "clap 2.34.0", @@ -3277,81 +3497,44 @@ dependencies = [ "url", ] -[[package]] -name = "solana-cli-config" -version = "1.14.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c6b277a2927981b7f4e437741a37fc457eed5da7de6317c2a89a6996fd573e1" -dependencies = [ - "dirs-next", - "lazy_static", - "serde", - "serde_derive", - "serde_yaml", - "solana-clap-utils", - "solana-sdk", - "url", -] - [[package]] name = "solana-client" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839f0ebb1c14a25da0e2118a96ed630a49e3aa524a459b7ab98b410f44abcc7" +checksum = "46e6294e67101c8df185e9c371293ff2502bf5b35d4d70eb68472eae135692e5" dependencies = [ - "async-mutex", "async-trait", - "base64 0.13.1", "bincode", - "bs58 0.4.0", - "bytes", - "clap 2.34.0", - "crossbeam-channel", - "enum_dispatch", "futures", "futures-util", "indexmap", "indicatif", - "itertools", - "jsonrpc-core", - "lazy_static", "log", "quinn", - "quinn-proto", "rand 0.7.3", - "rand_chacha 0.2.2", "rayon", - "reqwest", - "rustls 0.20.8", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-clap-utils", - "solana-faucet", + "solana-connection-cache", "solana-measure", "solana-metrics", - "solana-net-utils", + "solana-pubsub-client", + "solana-quic-client", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-rpc-client-nonce-utils", "solana-sdk", "solana-streamer", - "solana-transaction-status", - "solana-version", - "solana-vote-program", - "spl-token-2022", + "solana-thin-client", + "solana-tpu-client", + "solana-udp-client", "thiserror", "tokio", - "tokio-stream", - "tokio-tungstenite", - "tungstenite", - "url", ] [[package]] name = "solana-config-program" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94cd8f45fddff299b73121fbf751164b7e029b3324b274b50160d787c82673d2" +checksum = "e44cd8bbbc468503ca8d337c91a6f6049ced080be31854d866a25974f1b90619" dependencies = [ "bincode", "chrono", @@ -3362,38 +3545,35 @@ dependencies = [ ] [[package]] -name = "solana-faucet" -version = "1.14.18" +name = "solana-connection-cache" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4b7f4d15cb628a7f89e570a18914551211a5f1da81352dffd93881b191986a" +checksum = "e953284f00e9b706032fe36b30054f3c804f37a363fac7d8cb1753a1737cf20b" dependencies = [ + "async-trait", "bincode", - "byteorder", - "clap 2.34.0", - "crossbeam-channel", + "futures-util", + "indexmap", "log", - "serde", - "serde_derive", - "solana-clap-utils", - "solana-cli-config", - "solana-logger", + "rand 0.7.3", + "rayon", + "rcgen", + "solana-measure", "solana-metrics", "solana-sdk", - "solana-version", - "spl-memo", "thiserror", "tokio", ] [[package]] name = "solana-frozen-abi" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc7245b88e5bcedc9096d7c7ffd8cf6769987b151e381e8a3561939898d9e495" +checksum = "eea8be57163366de9ffee3652cd42ea02fd5cca672408722f1426eb0d234a330" dependencies = [ - "ahash 0.7.6", + "ahash 0.8.3", "blake3", - "block-buffer 0.9.0", + "block-buffer 0.10.4", "bs58 0.4.0", "bv", "byteorder", @@ -3401,7 +3581,6 @@ dependencies = [ "either", "generic-array", "getrandom 0.1.16", - "hashbrown 0.12.3", "im", "lazy_static", "log", @@ -3421,21 +3600,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "546f204604da1d6958e412f4d3bc8cad34de6a81dc379fac07e53a29e224bcf0" +checksum = "d4121f91307234cec8c8d8cd2d7ec171881c07db2222335e8c840d555ebe89cc" dependencies = [ "proc-macro2 1.0.60", "quote 1.0.28", "rustc_version", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] name = "solana-logger" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12090fa9b638f374492c86c62b79e0e82479e3632ced02a33ff560ffdce72e04" +checksum = "f590904a129707c5bf6b9f2e198e49ce8984e802dad26babd2c406a4e898b0ce" dependencies = [ "env_logger", "lazy_static", @@ -3444,9 +3623,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c98a872ae83f2e7c00846108f98a18f7f40265b2cd86b2d44369c33d9b7fb8f1" +checksum = "26976359ec46d158ce2880d5a31bca4b08e971d29d03c25e9ba80f9a3d42b28e" dependencies = [ "log", "solana-sdk", @@ -3454,9 +3633,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7557878951c7defed6e4daf34e9334d8ea85b82c9a1b2d5cc50d069fd9191db9" +checksum = "8d97a86ca9bc1c33b77f98502ef0ec133823ebbb813fc60e10c6cf6377bbbdf2" dependencies = [ "crossbeam-channel", "gethostname", @@ -3468,9 +3647,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7684c80c774275783bb754aa07e2e18f2064551a78cda5e54e12f44c85f3803d" +checksum = "a63f59abfa214c43b2b0d0360f7a50c180a0e86ea9a16ad7598ca0c9d8843483" dependencies = [ "bincode", "clap 3.2.25", @@ -3490,11 +3669,11 @@ dependencies = [ [[package]] name = "solana-perf" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2db417718e96fd2473025d4f2afb975dd295e9f7bd479cd3a0bcea20da38088" +checksum = "e7219016f9a81863decafd5256ec0d32d57a8c4e9529f9134fd8727684cc0936" dependencies = [ - "ahash 0.7.6", + "ahash 0.8.3", "bincode", "bv", "caps", @@ -3517,16 +3696,20 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e7df881407995597cf32299df06cc8ac3d7fc4cd53e69e95964832beca48c3" +checksum = "19ac28d05adeff2212cdec76dfacc6eb631d69d065b1b83c063a1fab505d5e62" dependencies = [ - "base64 0.13.1", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "array-bytes", + "base64 0.21.2", "bincode", "bitflags", "blake3", - "borsh 0.9.3", - "borsh-derive 0.9.3", + "borsh 0.10.3", "bs58 0.4.0", "bv", "bytemuck", @@ -3541,10 +3724,11 @@ dependencies = [ "libc", "libsecp256k1", "log", - "memoffset 0.6.5", + "memoffset 0.9.0", + "num-bigint 0.4.3", "num-derive", "num-traits", - "parking_lot", + "parking_lot 0.12.1", "rand 0.7.3", "rand_chacha 0.2.2", "rustc_version", @@ -3566,20 +3750,20 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ad7f8f71d46673e2b68edb902856516795dd6b9d2322fa4e9edcd6cf0caac" +checksum = "03cb661d9fe32ec33ba8df554827becd5bcc1758392194420899771344177fb1" dependencies = [ - "base64 0.13.1", + "base64 0.21.2", "bincode", "eager", "enum-iterator", "itertools", "libc", - "libloading", "log", "num-derive", "num-traits", + "percentage", "rand 0.7.3", "rustc_version", "serde", @@ -3588,14 +3772,68 @@ dependencies = [ "solana-measure", "solana-metrics", "solana-sdk", + "solana_rbpf", "thiserror", ] [[package]] -name = "solana-rayon-threadlimit" -version = "1.14.18" +name = "solana-pubsub-client" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccad09c8fbcb13ba7a1aca9d6337bf439593e1ea104d7ba9519d6d09c89da63c" +checksum = "a503785ba377f33dd5b1fac75cb60c086ba625c5305f0bf3e687240cdcc7381f" +dependencies = [ + "crossbeam-channel", + "futures-util", + "log", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-rpc-client-api", + "solana-sdk", + "thiserror", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tungstenite", + "url", +] + +[[package]] +name = "solana-quic-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ede431a588575037db080835f09e9436bb9d5f3b3e19a5592eca3af13da369" +dependencies = [ + "async-mutex", + "async-trait", + "futures", + "itertools", + "lazy_static", + "log", + "quinn", + "quinn-proto", + "quinn-udp", + "rcgen", + "rustls", + "solana-connection-cache", + "solana-measure", + "solana-metrics", + "solana-net-utils", + "solana-rpc-client-api", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-rayon-threadlimit" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4131723cc61f9981c3fa792567c658cf8fa64366331647835c3b88ba0685bad9" dependencies = [ "lazy_static", "num_cpus", @@ -3603,16 +3841,16 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a34ea5c66161b5f6a2085804bd0364bcdfdd584cfdb7237f88b6c3255199601" +checksum = "c74894d82e6adcd95398dd4d190e6f303e424d47841b20f822a5ec27d5b77473" dependencies = [ "console", "dialoguer", "log", "num-derive", "num-traits", - "parking_lot", + "parking_lot 0.12.1", "qstring", "semver", "solana-sdk", @@ -3621,16 +3859,77 @@ dependencies = [ ] [[package]] -name = "solana-sdk" -version = "1.14.18" +name = "solana-rpc-client" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bdc5c047bf29730ad00e2c9ef92d396877c836633177089a00b7311e6eb3ead" +checksum = "f4e9519b92e003d763ab2123ac099c32a56f66951cd810d4fa3615a800300860" +dependencies = [ + "async-trait", + "base64 0.21.2", + "bincode", + "bs58 0.4.0", + "indicatif", + "log", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-rpc-client-api", + "solana-sdk", + "solana-transaction-status", + "solana-version", + "solana-vote-program", + "tokio", +] + +[[package]] +name = "solana-rpc-client-api" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac5556080cb9a1c70b782de622ee5840d6e1a256c65ab35a3b8542656ffe69a0" +dependencies = [ + "base64 0.21.2", + "bs58 0.4.0", + "jsonrpc-core", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-sdk", + "solana-transaction-status", + "solana-version", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "solana-rpc-client-nonce-utils" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe69e5bab1a8afc475c1aab69ce53360e76fafa0f5efcc5ce151298be763653" +dependencies = [ + "clap 2.34.0", + "solana-clap-utils", + "solana-rpc-client", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-sdk" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aa2d54c0e9109d1bf9edafbd86d645217776df783814397f79c3929cf4316ba" dependencies = [ "assert_matches", - "base64 0.13.1", + "base64 0.21.2", "bincode", "bitflags", - "borsh 0.9.3", + "borsh 0.10.3", "bs58 0.4.0", "bytemuck", "byteorder", @@ -3649,6 +3948,7 @@ dependencies = [ "memmap2", "num-derive", "num-traits", + "num_enum 0.6.1", "pbkdf2 0.11.0", "qstring", "rand 0.7.3", @@ -3659,6 +3959,7 @@ dependencies = [ "serde_bytes", "serde_derive", "serde_json", + "serde_with", "sha2 0.10.6", "sha3 0.10.8", "solana-frozen-abi", @@ -3673,23 +3974,25 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43cff60ba1f94594f1de7baf649bf781383e806e834e26607ff8857a9452cd3c" +checksum = "aa991e6d6ae7c57ef9fc56f964b22f3bae6ba6c144ccb07b0fe07e06a3efc47c" dependencies = [ "bs58 0.4.0", "proc-macro2 1.0.60", "quote 1.0.28", "rustversion", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] name = "solana-streamer" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "753f510e0e145e70238fc597571e2bb5f2871dc022b04e869024b5dcf1fd82c3" +checksum = "2500570c1fe541d3e36c3ce318f25dab24dfd6aeab216afafa5c7c161d4979c8" dependencies = [ + "async-channel", + "bytes", "crossbeam-channel", "futures-util", "histogram", @@ -3702,9 +4005,11 @@ dependencies = [ "percentage", "pkcs8", "quinn", + "quinn-proto", + "quinn-udp", "rand 0.7.3", "rcgen", - "rustls 0.20.8", + "rustls", "solana-metrics", "solana-perf", "solana-sdk", @@ -3714,13 +4019,53 @@ dependencies = [ ] [[package]] -name = "solana-transaction-status" -version = "1.14.18" +name = "solana-thin-client" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6a451415da98f850d5777df18d588d7504393106aea295b642cd243115ed77" +checksum = "121c2fd4ae4d27790ae211f16a6e85a02585b7cae7057f8d555bad3762b4901c" +dependencies = [ + "bincode", + "log", + "rayon", + "solana-connection-cache", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", +] + +[[package]] +name = "solana-tpu-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e56bfe97fb1ab0eb44abb623272648bea404d309e584ba6f8e981e6626cfb0cb" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap", + "indicatif", + "log", + "rand 0.7.3", + "rayon", + "solana-connection-cache", + "solana-measure", + "solana-metrics", + "solana-pubsub-client", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-transaction-status" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e5331f3dfa4a8228dd69b6954859d6aafdd3234b24802690c1f7446bc37df6d" dependencies = [ "Inflector", - "base64 0.13.1", + "base64 0.21.2", "bincode", "borsh 0.9.3", "bs58 0.4.0", @@ -3731,10 +4076,7 @@ dependencies = [ "serde_json", "solana-account-decoder", "solana-address-lookup-table-program", - "solana-measure", - "solana-metrics", "solana-sdk", - "solana-vote-program", "spl-associated-token-account", "spl-memo", "spl-token", @@ -3743,10 +4085,25 @@ dependencies = [ ] [[package]] -name = "solana-version" -version = "1.14.18" +name = "solana-udp-client" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a3d9aa0a819a22f5befc7e8df5413259621b5d20be0a5a210d1fb41a083a09b" +checksum = "371e23c982638eeabab1a62bf637c70648b730fc807378042214382c3b550000" +dependencies = [ + "async-trait", + "solana-connection-cache", + "solana-net-utils", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-version" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbad2a5e055b53a7d41e52f98963bcef1ee6ce782f90f1d4ea9237cae1ee87ee" dependencies = [ "log", "rustc_version", @@ -3760,9 +4117,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb0bb49cc1490ce16133368f4a04e0671f856d481f95416f03f08fede7d993ba" +checksum = "c27089add49014dc9a917ddb95d5af0ab31bd15308adb4bdce78fd72b52d787b" dependencies = [ "bincode", "log", @@ -3774,6 +4131,7 @@ dependencies = [ "solana-frozen-abi", "solana-frozen-abi-macro", "solana-metrics", + "solana-program", "solana-program-runtime", "solana-sdk", "thiserror", @@ -3781,17 +4139,16 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.14.18" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a679b4dabee8d23a7bfa657440c892a88420191da11352313ab83f986826a7" +checksum = "05aa69c3f19df466a68a26f009e9dc39de671bf022c66fbbfab2d1c021b62a97" dependencies = [ "aes-gcm-siv", "arrayref", - "base64 0.13.1", + "base64 0.21.2", "bincode", "bytemuck", "byteorder", - "cipher 0.4.4", "curve25519-dalek", "getrandom 0.1.16", "itertools", @@ -3810,6 +4167,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "solana_rbpf" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ae90c406f0a2d4a15f08d16c8b64f37997a57611fec0a89f1277854166996e8" +dependencies = [ + "byteorder", + "combine", + "goblin", + "hash32", + "libc", + "log", + "rand 0.8.5", + "rustc-demangle", + "scroll", + "thiserror", + "winapi", +] + [[package]] name = "spin" version = "0.5.2" @@ -3861,7 +4237,7 @@ dependencies = [ "bytemuck", "num-derive", "num-traits", - "num_enum", + "num_enum 0.5.11", "solana-program", "thiserror", ] @@ -3876,7 +4252,7 @@ dependencies = [ "bytemuck", "num-derive", "num-traits", - "num_enum", + "num_enum 0.5.11", "solana-program", "solana-zk-token-sdk", "spl-memo", @@ -3931,7 +4307,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.5.3" +version = "0.6.0" dependencies = [ "anchor-client", "anchor-lang", @@ -3945,9 +4321,6 @@ dependencies = [ "solana-program", "superslice", "switchboard-common", - "toml_datetime", - "toml_edit", - "winnow", ] [[package]] @@ -4133,32 +4506,33 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.2" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" +checksum = "b9d0183f6f6001549ab68f8c7585093bb732beefbcf6d23a10b9b95c73a1dd49" dependencies = [ "autocfg", "bytes", "libc", + "memchr", "mio", "num_cpus", - "parking_lot", + "once_cell", + "parking_lot 0.11.2", "pin-project-lite", "signal-hook-registry", - "socket2", "tokio-macros", - "windows-sys 0.48.0", + "winapi", ] [[package]] name = "tokio-macros" -version = "2.1.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2 1.0.60", "quote 1.0.28", - "syn 2.0.18", + "syn 1.0.109", ] [[package]] @@ -4177,26 +4551,16 @@ version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls 0.20.8", + "rustls", "tokio", "webpki", ] -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.1", - "tokio", -] - [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" dependencies = [ "futures-core", "pin-project-lite", @@ -4211,9 +4575,9 @@ checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" dependencies = [ "futures-util", "log", - "rustls 0.20.8", + "rustls", "tokio", - "tokio-rustls 0.23.4", + "tokio-rustls", "tungstenite", "webpki", "webpki-roots", @@ -4221,9 +4585,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c" dependencies = [ "bytes", "futures-core", @@ -4272,6 +4636,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4316,7 +4681,7 @@ dependencies = [ "httparse", "log", "rand 0.8.5", - "rustls 0.20.8", + "rustls", "sha-1", "thiserror", "url", @@ -4386,6 +4751,15 @@ dependencies = [ "subtle", ] +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +dependencies = [ + "void", +] + [[package]] name = "untrusted" version = "0.7.1" @@ -4443,6 +4817,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + [[package]] name = "want" version = "0.3.0" @@ -4798,21 +5178,6 @@ dependencies = [ "time 0.3.22", ] -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "yasna" version = "0.5.2" diff --git a/rust/switchboard-solana/Cargo.toml b/rust/switchboard-solana/Cargo.toml index b108ba3..f496df4 100644 --- a/rust/switchboard-solana/Cargo.toml +++ b/rust/switchboard-solana/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "switchboard-solana" -version = "0.5.3" +version = "0.6.0" edition = "2021" description = "A Rust library to interact with Switchboard accounts." readme = "README.md" @@ -21,23 +21,19 @@ no-entrypoint = [] cpi = ["no-entrypoint"] [dependencies] -anchor-spl = "=0.26.0" -solana-program = ">= 1.13.5, < 1.14.19" +anchor-spl = "=0.28.0" +solana-program = ">= 1.16, < 1.17" rust_decimal = "^1" bytemuck = "^1" superslice = "1" -# These may not be needed, anchor27 keeps complaining -winnow = "=0.4.1" -toml_edit = "=0.19.8" -toml_datetime = "=0.6.1" [target.'cfg(target_os = "solana")'.dependencies] switchboard-common = { version = "0.5.3" } -anchor-lang = { version = "=0.26.0" } +anchor-lang = { version = "=0.28.0" } [target.'cfg(not(target_os = "solana"))'.dependencies] switchboard-common = { version = "0.5.3", features = ["sgx"] } -anchor-client = { version = "=0.26.0" } +anchor-client = { version = "=0.28.0" } bincode = { version = "^1" } sgx-quote = { version = "0.1.0" } cron = { version = "0.12.0" } diff --git a/rust/switchboard-solana/src/attestation_program/accounts/attestation_permission.rs b/rust/switchboard-solana/src/attestation_program/accounts/attestation_permission.rs index 048c5a1..2a7dc88 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/attestation_permission.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/attestation_permission.rs @@ -31,7 +31,7 @@ impl From for SwitchboardAttestationPermission { } } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(Debug)] pub struct AttestationPermissionAccountData { diff --git a/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs b/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs index 91bf5ba..db79051 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs @@ -5,7 +5,7 @@ use std::cell::Ref; use crate::SWITCHBOARD_ATTESTATION_PROGRAM_ID; -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct AttestationQueueAccountData { /// The address of the authority which is permitted to add/remove allowed enclave measurements. diff --git a/rust/switchboard-solana/src/attestation_program/accounts/attestation_state.rs b/rust/switchboard-solana/src/attestation_program/accounts/attestation_state.rs index e85423e..279fa2b 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/attestation_state.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/attestation_state.rs @@ -4,7 +4,7 @@ use bytemuck::{Pod, Zeroable}; use crate::SWITCHBOARD_ATTESTATION_PROGRAM_ID; -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(Debug)] pub struct AttestationProgramState { diff --git a/rust/switchboard-solana/src/attestation_program/accounts/enclave.rs b/rust/switchboard-solana/src/attestation_program/accounts/enclave.rs index 0cace5c..ccffb80 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/enclave.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/enclave.rs @@ -40,7 +40,7 @@ impl From for VerificationStatus { } } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(Debug)] pub struct EnclaveAccountData { diff --git a/rust/switchboard-solana/src/attestation_program/accounts/function.rs b/rust/switchboard-solana/src/attestation_program/accounts/function.rs index 82bb440..f232a9d 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/function.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/function.rs @@ -39,7 +39,7 @@ impl From for FunctionStatus { } } } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(Debug, PartialEq)] pub struct FunctionAccountData { diff --git a/rust/switchboard-solana/src/decimal.rs b/rust/switchboard-solana/src/decimal.rs index 3fbe2b1..2bc5678 100644 --- a/rust/switchboard-solana/src/decimal.rs +++ b/rust/switchboard-solana/src/decimal.rs @@ -27,7 +27,7 @@ use std::convert::{From, TryInto}; // } // } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(Default, Debug, Eq, PartialEq, AnchorDeserialize)] pub struct SwitchboardDecimal { diff --git a/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs b/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs index 3612877..dec12a2 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs @@ -3,7 +3,7 @@ use crate::prelude::*; use rust_decimal::Decimal; use std::cell::Ref; -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(Default, Debug, PartialEq, Eq)] pub struct Hash { @@ -11,7 +11,7 @@ pub struct Hash { pub data: [u8; 32], } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(Default, PartialEq, Eq)] pub struct AggregatorRound { @@ -53,8 +53,8 @@ pub enum AggregatorResolutionMode { ModeSlidingResolution = 1, } -// #[zero_copy] -#[account(zero_copy)] +// #[zero_copy(unsafe)] +#[account(zero_copy(unsafe))] #[repr(packed)] #[derive(PartialEq)] pub struct AggregatorAccountData { diff --git a/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs b/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs index d488a0a..46f448c 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs @@ -1,7 +1,6 @@ -#![allow(unaligned_references)] use crate::prelude::*; -#[derive(AnchorDeserialize, Default, Debug)] +#[account] pub struct BufferRelayerAccountData { /// Name of the buffer account to store on-chain. pub name: [u8; 32], @@ -27,8 +26,7 @@ pub struct BufferRelayerAccountData { pub result: Vec, } -#[zero_copy] -#[derive(Default, Debug, AnchorSerialize, AnchorDeserialize)] +#[derive(Default, Clone, AnchorSerialize, AnchorDeserialize)] pub struct BufferRelayerRound { /// Number of successful responses. pub num_success: u32, @@ -98,11 +96,3 @@ impl BufferRelayerAccountData { Ok(()) } } -impl Discriminator for BufferRelayerAccountData { - const DISCRIMINATOR: [u8; 8] = [50, 35, 51, 115, 169, 219, 158, 52]; -} -impl Owner for BufferRelayerAccountData { - fn owner() -> Pubkey { - SWITCHBOARD_PROGRAM_ID - } -} diff --git a/rust/switchboard-solana/src/oracle_program/accounts/crank.rs b/rust/switchboard-solana/src/oracle_program/accounts/crank.rs index 34f59a0..a4776ea 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/crank.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/crank.rs @@ -1,7 +1,7 @@ use crate::prelude::*; use bytemuck::{Pod, Zeroable}; -#[zero_copy] +#[zero_copy(unsafe)] #[derive(Default)] #[repr(packed)] pub struct CrankRow { @@ -13,7 +13,7 @@ pub struct CrankRow { unsafe impl Pod for CrankRow {} unsafe impl Zeroable for CrankRow {} -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct CrankAccountData { /// Name of the crank to store on-chain. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/ecvrf.rs b/rust/switchboard-solana/src/oracle_program/accounts/ecvrf.rs index b1b419c..28b09c9 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/ecvrf.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/ecvrf.rs @@ -3,7 +3,7 @@ use crate::prelude::*; use bytemuck::{Pod, Zeroable}; -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct AccountMetaZC { pub pubkey: Pubkey, @@ -11,7 +11,7 @@ pub struct AccountMetaZC { pub is_writable: bool, } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] #[derive(AnchorSerialize, AnchorDeserialize)] pub struct AccountMetaBorsh { @@ -20,7 +20,7 @@ pub struct AccountMetaBorsh { pub is_writable: bool, } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct CallbackZC { /// The program ID of the callback program being invoked. @@ -50,7 +50,7 @@ pub struct Callback { pub ix_data: Vec, } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct VrfRound { /// The alpha bytes used to calculate the VRF proof. @@ -102,7 +102,7 @@ impl std::fmt::Display for VrfStatus { } } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct EcvrfProofZC { pub Gamma: EdwardsPointZC, // RistrettoPoint @@ -118,7 +118,7 @@ impl Default for EcvrfProofZC { /// The `Scalar` struct holds an integer \\(s < 2\^{255} \\) which /// represents an element of \\(\mathbb Z / \ell\\). #[allow(dead_code)] -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct Scalar { /// `bytes` is a little-endian byte encoding of an integer representing a scalar modulo the @@ -159,7 +159,7 @@ pub struct FieldElement51(pub(crate) [u64; 5]); unsafe impl Pod for FieldElement51 {} unsafe impl Zeroable for FieldElement51 {} -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct FieldElementZC { pub(crate) bytes: [u64; 5], @@ -198,7 +198,7 @@ pub struct CompletedPoint { pub Z: FieldElement51, pub T: FieldElement51, } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct CompletedPointZC { pub X: FieldElementZC, @@ -244,7 +244,7 @@ pub struct EdwardsPoint { pub(crate) T: FieldElement51, } #[allow(dead_code)] -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct EdwardsPointZC { pub(crate) X: FieldElementZC, @@ -272,7 +272,7 @@ pub struct ProjectivePoint { pub Y: FieldElement51, pub Z: FieldElement51, } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct ProjectivePointZC { pub(crate) X: FieldElementZC, @@ -305,7 +305,7 @@ impl Into for ProjectivePointZC { } } -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct EcvrfIntermediate { pub r: FieldElementZC, @@ -318,7 +318,7 @@ unsafe impl Pod for EcvrfIntermediate {} unsafe impl Zeroable for EcvrfIntermediate {} #[allow(non_snake_case)] -#[zero_copy] +#[zero_copy(unsafe)] #[repr(packed)] pub struct VrfBuilder { /// The OracleAccountData that is producing the randomness. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs b/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs index aeae8dd..292a4a1 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs @@ -4,7 +4,7 @@ use bytemuck::{Pod, Zeroable}; use std::cell::Ref; use superslice::*; -#[zero_copy] +#[zero_copy(unsafe)] #[derive(Default)] #[repr(packed)] pub struct AggregatorHistoryRow { diff --git a/rust/switchboard-solana/src/oracle_program/accounts/lease.rs b/rust/switchboard-solana/src/oracle_program/accounts/lease.rs index d6b5c16..a58f8d4 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/lease.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/lease.rs @@ -1,6 +1,6 @@ use crate::prelude::*; -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct LeaseAccountData { /// Public key of the token account holding the lease contract funds until rewarded to oracles for successfully processing updates diff --git a/rust/switchboard-solana/src/oracle_program/accounts/oracle.rs b/rust/switchboard-solana/src/oracle_program/accounts/oracle.rs index f0b5d84..596dc4a 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/oracle.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/oracle.rs @@ -10,7 +10,7 @@ pub enum OracleResponseType { TypeNoResponse, } -#[zero_copy] +#[zero_copy(unsafe)] #[derive(Default)] #[repr(packed)] pub struct OracleMetrics { @@ -34,7 +34,7 @@ pub struct OracleMetrics { pub total_late_response: u128, } -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct OracleAccountData { /// Name of the oracle to store on-chain. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/permission.rs b/rust/switchboard-solana/src/oracle_program/accounts/permission.rs index ac4b795..4480720 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/permission.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/permission.rs @@ -10,7 +10,7 @@ pub enum SwitchboardPermission { PermitVrfRequests = 1 << 2, } -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct PermissionAccountData { /// The authority that is allowed to set permissions for this account. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/queue.rs b/rust/switchboard-solana/src/oracle_program/accounts/queue.rs index abf16b5..8a75991 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/queue.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/queue.rs @@ -3,7 +3,7 @@ use crate::prelude::*; use bytemuck::try_cast_slice_mut; use std::cell::Ref; -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct OracleQueueAccountData { /// Name of the queue to store on-chain. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/sb_state.rs b/rust/switchboard-solana/src/oracle_program/accounts/sb_state.rs index 78b2be2..7f27fbb 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/sb_state.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/sb_state.rs @@ -1,6 +1,6 @@ use crate::prelude::*; -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct SbState { /// The account authority permitted to make account changes. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/sliding_window.rs b/rust/switchboard-solana/src/oracle_program/accounts/sliding_window.rs index 9892c76..50884f1 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/sliding_window.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/sliding_window.rs @@ -1,6 +1,6 @@ use crate::prelude::*; -#[zero_copy] +#[zero_copy(unsafe)] #[derive(Default)] #[repr(packed)] pub struct SlidingWindowElement { @@ -10,7 +10,7 @@ pub struct SlidingWindowElement { pub timestamp: i64, } -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct SlidingResultAccountData { pub data: [SlidingWindowElement; 16], diff --git a/rust/switchboard-solana/src/oracle_program/accounts/vrf.rs b/rust/switchboard-solana/src/oracle_program/accounts/vrf.rs index 6555486..c0909ca 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/vrf.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/vrf.rs @@ -7,7 +7,7 @@ use std::cell::Ref; // VrfSetCallback // VrfClose -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct VrfAccountData { /// The current status of the VRF account. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/vrf_lite.rs b/rust/switchboard-solana/src/oracle_program/accounts/vrf_lite.rs index b72b395..6b9b320 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/vrf_lite.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/vrf_lite.rs @@ -3,7 +3,7 @@ use crate::cfg_client; use crate::prelude::*; use std::cell::Ref; -#[account(zero_copy)] +#[account(zero_copy(unsafe))] #[repr(packed)] pub struct VrfLiteAccountData { /// The bump used to derive the SbState account. diff --git a/rust/switchboard-solana/src/oracle_program/accounts/vrf_pool.rs b/rust/switchboard-solana/src/oracle_program/accounts/vrf_pool.rs index ca1b45e..395afe3 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/vrf_pool.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/vrf_pool.rs @@ -15,7 +15,7 @@ pub struct VrfPoolRow { } #[repr(packed)] -#[account(zero_copy)] +#[account(zero_copy(unsafe))] pub struct VrfPoolAccountData { /// ACCOUNTS pub authority: Pubkey, // authority can never be changed or else vrf accounts are useless