upgrade to switchboard v2

This commit is contained in:
Maximilian Schneider 2023-11-15 12:16:16 +00:00
parent 30e2bb4fec
commit 0d67dc1361
4 changed files with 610 additions and 235 deletions

388
cli/Cargo.lock generated
View File

@ -59,6 +59,179 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b2d54853319fd101b8dd81de382bcbf3e03410a64d8928bbee85a3e7dcde483"
[[package]]
name = "anchor-attribute-access-control"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9b75d05b6b4ac9d95bb6e3b786b27d3a708c4c5a87c92ffaa25bbe9ae4c5d91"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2 1.0.69",
"quote 1.0.33",
"regex",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-account"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "485351a6d8157750d10d88c8e256f1bf8339262b2220ae9125aed3471309b5de"
dependencies = [
"anchor-syn",
"anyhow",
"bs58 0.4.0",
"proc-macro2 1.0.69",
"quote 1.0.33",
"rustversion",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-constant"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc632c540913dd051a78b00587cc47f57013d303163ddfaf4fa18717f7ccc1e0"
dependencies = [
"anchor-syn",
"proc-macro2 1.0.69",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-error"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b5bd1dcfa7f3bc22dacef233d70a9e0bee269c4ac484510662f257cba2353a1"
dependencies = [
"anchor-syn",
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-event"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c6f9e6ce551ac9a177a45c99a65699a860c9e95fac68675138af1246e2591b0"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-interface"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d104aa17418cb329ed7418b227e083d5f326a27f26ce98f5d92e33da62a5f459"
dependencies = [
"anchor-syn",
"anyhow",
"heck",
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-program"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6831b920b173c004ddf7ae1167d1d25e9f002ffcb1773bbc5c7ce532a4441e1"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-state"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cde147b10c71d95dc679785db0b5f3abac0091f789167aa62ac0135e2f54e8b9"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 1.0.98",
]
[[package]]
name = "anchor-derive-accounts"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cde98a0e1a56046b040ff591dfda391f88917af2b6487d02b45093c05be3514"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 1.0.98",
]
[[package]]
name = "anchor-lang"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a85dd2c5e29e20c7f4701a43724d6cd5406d0ee5694705522e43da0f26542a84"
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",
"arrayref",
"base64 0.13.0",
"bincode",
"borsh 0.9.3",
"bytemuck",
"solana-program",
"thiserror",
]
[[package]]
name = "anchor-spl"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0188c33b4a3c124c4e593f2b440415aaea70a7650fac6ba0772395385d71c003"
dependencies = [
"anchor-lang",
"solana-program",
"spl-associated-token-account",
"spl-token",
]
[[package]]
name = "anchor-syn"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03549dc2eae0b20beba6333b14520e511822a6321cdb1760f841064a69347316"
dependencies = [
"anyhow",
"bs58 0.3.1",
"heck",
"proc-macro2 1.0.69",
"proc-macro2-diagnostics",
"quote 1.0.33",
"serde",
"serde_json",
"sha2 0.9.9",
"syn 1.0.98",
"thiserror",
]
[[package]]
name = "ansi_term"
version = "0.11.0"
@ -360,6 +533,12 @@ dependencies = [
"syn 1.0.98",
]
[[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"
@ -599,7 +778,7 @@ version = "2.0.0"
dependencies = [
"anyhow",
"bincode",
"bs58",
"bs58 0.4.0",
"bytemuck",
"ed25519-dalek",
"rand 0.7.3",
@ -1838,7 +2017,7 @@ dependencies = [
"solana-program",
"spl-token",
"static_assertions",
"switchboard-utils",
"switchboard-v2",
"thiserror",
]
@ -2247,6 +2426,19 @@ 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.69",
"quote 1.0.33",
"syn 1.0.98",
"version_check",
"yansi",
]
[[package]]
name = "ptr_meta"
version = "0.1.4"
@ -2292,15 +2484,6 @@ dependencies = [
"percent-encoding",
]
[[package]]
name = "quick-protobuf"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ca6639207ac869e31cca06b8adbc7676278f22b321e51115766009b4f192dbb"
dependencies = [
"byteorder",
]
[[package]]
name = "quote"
version = "0.6.13"
@ -2630,16 +2813,6 @@ dependencies = [
"serde_json",
]
[[package]]
name = "rust_decimal_macros"
version = "1.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ca5c398d85f83b9a44de754a2048625a8c5eafcf070da7b8f116b685e2f6608"
dependencies = [
"quote 1.0.33",
"rust_decimal",
]
[[package]]
name = "rustc-demangle"
version = "0.1.19"
@ -2980,14 +3153,14 @@ dependencies = [
[[package]]
name = "solana-account-decoder"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c558f44b5d3bc09584eeaf99ddc882daf159ae6adc76f9c929e1713ce6d8715"
checksum = "9ea6959495ecaf5e943d19878afa9c2cde1e7259c539a0a482a2f78323ce4876"
dependencies = [
"Inflector",
"base64 0.12.3",
"bincode",
"bs58",
"bs58 0.4.0",
"bv",
"lazy_static",
"serde",
@ -3003,9 +3176,9 @@ dependencies = [
[[package]]
name = "solana-address-lookup-table-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4956621cc7bf19dea58d9c98a2052d4294ce747816422f24b4691f508593251a"
checksum = "3bf6816169fcbf70d6ddd977756990a4d56ec02eee09d2f3d2e28e8a8c97510f"
dependencies = [
"bincode",
"bytemuck",
@ -3023,9 +3196,9 @@ dependencies = [
[[package]]
name = "solana-bloom"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e33a0f93c50e30f4d79ed637ed531a55b53282809b01987e8de8fa9c2e10b88b"
checksum = "b6210a39c4a217c46dfefb91af15d72a81bfc4410c41b1ed95b0990ae039af4f"
dependencies = [
"bv",
"fnv",
@ -3042,9 +3215,9 @@ dependencies = [
[[package]]
name = "solana-bpf-loader-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf53ecd29908f2c9bca9a05c5f97520dbbb6037cca840b19ab3ab7e6bf7501f4"
checksum = "2fafa1f52dd0432d6eac548771a20f3641cb219876a71537ffe170cc31304e73"
dependencies = [
"bincode",
"byteorder",
@ -3060,9 +3233,9 @@ dependencies = [
[[package]]
name = "solana-bucket-map"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b25e29aa9050a54d241118e14b6d69a1f9efab5075ba1d60cb15b456d4d32eb"
checksum = "ee7acda82f2c8bbd1199c5d90a920fe7c429d676cabf0081defd9836392ad3d8"
dependencies = [
"fs_extra",
"log",
@ -3077,9 +3250,9 @@ dependencies = [
[[package]]
name = "solana-clap-utils"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd862693aeee9873beef597a91e24a3d3036b5b7cfe6578d4c8c5aeb629f478c"
checksum = "14f6171679f56afa12559c9849cd6cde67957781e8363c103787b680df02cedb"
dependencies = [
"chrono",
"clap 2.33.3",
@ -3095,12 +3268,12 @@ dependencies = [
[[package]]
name = "solana-cli"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f56face5ea6e3aa3a21de2247653b120786d2a12967362205c078c3ff0f0f401"
checksum = "60fbe512d70a295c6e5788cbfabc20f0ebe2ce5376e0ff79690775ade33c4e8f"
dependencies = [
"bincode",
"bs58",
"bs58 0.4.0",
"clap 2.33.3",
"console",
"const_format",
@ -3138,9 +3311,9 @@ dependencies = [
[[package]]
name = "solana-cli-config"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d994f0109eae037543126fcbac564d5a1e4c5bb5630bee65b68f64a4ca09502b"
checksum = "0866ac61c734701c2c782701d99342176b3c88ec47cd3f73994cdd5f57b151b0"
dependencies = [
"dirs-next",
"lazy_static",
@ -3152,9 +3325,9 @@ dependencies = [
[[package]]
name = "solana-cli-output"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "620a2015792f1c4a8bf48ddd02f605a410ed53796f312289c0c693a4e082470b"
checksum = "4bba642c6e990cf95e41e234f4dd92ed2f36fecf1c34255526f2154a5dafaac0"
dependencies = [
"Inflector",
"base64 0.13.0",
@ -3176,13 +3349,13 @@ dependencies = [
[[package]]
name = "solana-client"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dbf4ab39b162c00c8973895c3186fc45d05dc0844c89b451d7c9e6896dac97c"
checksum = "90c3cd0299b1cf59b5ad6a96ea7db9306e93e66ef395bed80ed5df960685083b"
dependencies = [
"base64 0.13.0",
"bincode",
"bs58",
"bs58 0.4.0",
"clap 2.33.3",
"indicatif",
"jsonrpc-core",
@ -3210,9 +3383,9 @@ dependencies = [
[[package]]
name = "solana-compute-budget-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6699b945fca80b6fe7c3753f587cf7138c21648edcea861d573f782bb4c6a30e"
checksum = "c9b3bf6b0916134a92b5c87690181680a63d22e20dda8ec6ba05260afbae50a0"
dependencies = [
"solana-program-runtime",
"solana-sdk",
@ -3220,9 +3393,9 @@ dependencies = [
[[package]]
name = "solana-config-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d12836e8f7ffc121286b740423bcbf267ffdf919eb5300d2d17b54284834093f"
checksum = "3ec25faf104c84393f7b4a549e08e952b9ba46c5df283adc59440f32fdce9789"
dependencies = [
"bincode",
"chrono",
@ -3234,9 +3407,9 @@ dependencies = [
[[package]]
name = "solana-faucet"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea9206320b8c5f0c21964f5913b01777a0b8991eb9bf92306255b1a142da7988"
checksum = "77dc0e506f92d215422a9cdd6cd3f10a237c5b56ea14bf0bccbf414ecfa404ff"
dependencies = [
"bincode",
"byteorder",
@ -3257,11 +3430,11 @@ dependencies = [
[[package]]
name = "solana-frozen-abi"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ae24bb5a815c2796908b131b7e44973d6f2e0e16eb7e67e0f0b5fcd95de0da1"
checksum = "34c9effc54db26704db05c474254e50a69fbd4c527df13aead8c8e38db127d7c"
dependencies = [
"bs58",
"bs58 0.4.0",
"bv",
"generic-array 0.14.5",
"log",
@ -3277,9 +3450,9 @@ dependencies = [
[[package]]
name = "solana-frozen-abi-macro"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cff377ed697595d3041052940730acefca4f4bfc23eb26bb695595cee737fe5"
checksum = "d343b3e8f168d009365acc13654ebbecbcd7d98e7100eaf9fdcd2a59a2d99706"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
@ -3289,9 +3462,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e3e1c7bf616aa4926d70dd9015077fcccd88c9271cef29c9038e76a2da1ac5d"
checksum = "b5aea113f74b8ace6baf51256daf9d5228b6c65a774fe21a4416dd7e270d5dd4"
dependencies = [
"env_logger",
"lazy_static",
@ -3300,9 +3473,9 @@ dependencies = [
[[package]]
name = "solana-measure"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57e8cc2e8c81c72ff7443f6e0aacc45a6da4261e90421a5982ed1a85aaec1166"
checksum = "e48319495b1f657cd1d534903604f568b152b5a264186a632007dd67b9064d2c"
dependencies = [
"log",
"solana-sdk",
@ -3310,9 +3483,9 @@ dependencies = [
[[package]]
name = "solana-metrics"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa0c27719a2b1b7425d8b1269e45fcd97e62d33cdd3a7c561f65846e94af971b"
checksum = "d0fd8731b61c473f5d22e8180119ed84b5de3352d6c46023dbe48a9b94a342c0"
dependencies = [
"env_logger",
"gethostname",
@ -3324,9 +3497,9 @@ dependencies = [
[[package]]
name = "solana-net-utils"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43319c2908cee1d7e3284de511636626bc7cac5dced7b330ceded6b69e7b0728"
checksum = "304714450324398cabf5b23f8d69122bd0ae6487d67dd89394692b9c2c2409c8"
dependencies = [
"bincode",
"clap 2.33.3",
@ -3345,9 +3518,9 @@ dependencies = [
[[package]]
name = "solana-perf"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5a7204f9bbf8e244345ee2b7b2c94dc383f05b1fa991b6adf3802f6e6e1c73c"
checksum = "e08fb7143916963e7aaefff3be26a9d2046559b2c0cbaf2d97a5d064f9f28aed"
dependencies = [
"ahash",
"bincode",
@ -3374,9 +3547,9 @@ dependencies = [
[[package]]
name = "solana-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36bead9a6131b48cffc3a3105a6e469592442715528d9d0187e114776533b01c"
checksum = "9b838bfabf09050f5f66cadf5e486fd415242165f06c9f9aed45162efb68c711"
dependencies = [
"base64 0.13.0",
"bincode",
@ -3384,7 +3557,7 @@ dependencies = [
"blake3",
"borsh 0.9.3",
"borsh-derive 0.9.3",
"bs58",
"bs58 0.4.0",
"bv",
"bytemuck",
"console_error_panic_hook",
@ -3417,9 +3590,9 @@ dependencies = [
[[package]]
name = "solana-program-runtime"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efbfaf4b0b12f6af1c9f70c8c7e3381cb459738dd4909832dea7b0789141b52d"
checksum = "f62c8ba176714b0c8e61ee0b9d2966a8470a85cba0f8cdf0e03ce05f0274f993"
dependencies = [
"base64 0.13.0",
"bincode",
@ -3441,9 +3614,9 @@ dependencies = [
[[package]]
name = "solana-rayon-threadlimit"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "355485d4ca6a841dd6474e44e901531a18fe7f528f72970cbd07344dfb6ae116"
checksum = "c2141deb1e2b832e3a5c2faca05caae03c1603cba1c00f032979e41f8dad4271"
dependencies = [
"lazy_static",
"num_cpus",
@ -3451,9 +3624,9 @@ dependencies = [
[[package]]
name = "solana-remote-wallet"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4d98b176f776f34b20f5829e6cfee631dc66ecd77aec2b3b5f5f87464701247"
checksum = "db96445daeac9cdc7a63e67fd8e7cf2bacc492aab4c88d6511418c026f66885d"
dependencies = [
"base32",
"console",
@ -3472,9 +3645,9 @@ dependencies = [
[[package]]
name = "solana-runtime"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6133a9b8ce1183b6a0dcbf7666b0a3424413d5830c906c15a54ec3a05e662340"
checksum = "4082b20f9cdf699bbb6d00e9a070f1944903e7a42eb57aec531bf64395e9b7dd"
dependencies = [
"arrayref",
"bincode",
@ -3527,16 +3700,16 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba4cacac691db83aaff0c69cc901305d68fbfbc28709ed5abf28393f18bfdc87"
checksum = "463899455a4a5f92a70c57880b57642432c32a5ab94d60bd126775d7349d7ec6"
dependencies = [
"assert_matches",
"base64 0.13.0",
"bincode",
"bitflags",
"borsh 0.9.3",
"bs58",
"bs58 0.4.0",
"bytemuck",
"byteorder",
"chrono",
@ -3578,11 +3751,11 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "333726c958386c09937aba55ca4390bcfb4621c6120f47610682a94ea4d4533c"
checksum = "b25759d80a81f0303b2827344b365f886a74306fa6af7c898921333d04d1c99b"
dependencies = [
"bs58",
"bs58 0.4.0",
"proc-macro2 1.0.69",
"quote 1.0.33",
"rustversion",
@ -3591,9 +3764,9 @@ dependencies = [
[[package]]
name = "solana-stake-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73e978c1d5ad9efbe8d79edc55d1a38653d3c658181ee14b2ab5be71df3c1dde"
checksum = "77874f460d867b58bf7d56a3acf805abe0891b2fce8cc561bce71cc3cb87778d"
dependencies = [
"bincode",
"log",
@ -3614,14 +3787,14 @@ dependencies = [
[[package]]
name = "solana-transaction-status"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b7d0141d06f79b2bb8397bb7ed30ab132f19dedaa46acdedc38a481a8f54aa2"
checksum = "7dcbbcd699039257fa62a11e797ab7de932431344e33d416e2793e2cae105d8b"
dependencies = [
"Inflector",
"base64 0.12.3",
"bincode",
"bs58",
"bs58 0.4.0",
"lazy_static",
"log",
"serde",
@ -3641,9 +3814,9 @@ dependencies = [
[[package]]
name = "solana-version"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b17f9c61697d764598d6557a7ef1f5cf54a8188e0403109d92688c7c3dd2542"
checksum = "977ae37ed94ac11bbd10e534a972e97f44cf83f1be02ab6c147854cea071b35c"
dependencies = [
"log",
"rustc_version 0.4.0",
@ -3656,9 +3829,9 @@ dependencies = [
[[package]]
name = "solana-vote-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e29d65ab135ee928338e7b14f9d2c8f81695b3365f0b23f503c4c1de663fcd6"
checksum = "1d80020b9981aaa45b9f4ce6080a1dc9f1deb25f0553659c25da3acf2437974f"
dependencies = [
"bincode",
"log",
@ -3771,32 +3944,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2"
[[package]]
name = "switchboard-protos"
version = "0.1.60"
name = "superslice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e2d89875ff72d12ea7918d6ccd82d1ac5eab54b3a9d1bd7356fa6905801aa72"
dependencies = [
"bincode",
"borsh 0.9.3",
"byteorder",
"quick-protobuf",
]
checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f"
[[package]]
name = "switchboard-utils"
version = "0.2.1"
name = "switchboard-v2"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac1d68193aa1669e34d16087db0f96e6597d2f78868378aabc1387b8b29172e"
checksum = "2c3cdb9a49d331047047e245971c397fc93507d8058e2f0afc6153ab18103c62"
dependencies = [
"bincode",
"borsh 0.9.3",
"anchor-lang",
"anchor-spl",
"bytemuck",
"byteorder",
"quick-protobuf",
"rust_decimal",
"rust_decimal_macros",
"solana-program",
"switchboard-protos",
"superslice",
]
[[package]]
@ -4487,6 +4651,12 @@ 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 = "zeroize"
version = "1.3.0"

417
program/Cargo.lock generated
View File

@ -50,6 +50,179 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b2d54853319fd101b8dd81de382bcbf3e03410a64d8928bbee85a3e7dcde483"
[[package]]
name = "anchor-attribute-access-control"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9b75d05b6b4ac9d95bb6e3b786b27d3a708c4c5a87c92ffaa25bbe9ae4c5d91"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2",
"quote",
"regex",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-account"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "485351a6d8157750d10d88c8e256f1bf8339262b2220ae9125aed3471309b5de"
dependencies = [
"anchor-syn",
"anyhow",
"bs58 0.4.0",
"proc-macro2",
"quote",
"rustversion",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-constant"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc632c540913dd051a78b00587cc47f57013d303163ddfaf4fa18717f7ccc1e0"
dependencies = [
"anchor-syn",
"proc-macro2",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-error"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b5bd1dcfa7f3bc22dacef233d70a9e0bee269c4ac484510662f257cba2353a1"
dependencies = [
"anchor-syn",
"proc-macro2",
"quote",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-event"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c6f9e6ce551ac9a177a45c99a65699a860c9e95fac68675138af1246e2591b0"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2",
"quote",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-interface"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d104aa17418cb329ed7418b227e083d5f326a27f26ce98f5d92e33da62a5f459"
dependencies = [
"anchor-syn",
"anyhow",
"heck",
"proc-macro2",
"quote",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-program"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6831b920b173c004ddf7ae1167d1d25e9f002ffcb1773bbc5c7ce532a4441e1"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2",
"quote",
"syn 1.0.98",
]
[[package]]
name = "anchor-attribute-state"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cde147b10c71d95dc679785db0b5f3abac0091f789167aa62ac0135e2f54e8b9"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2",
"quote",
"syn 1.0.98",
]
[[package]]
name = "anchor-derive-accounts"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cde98a0e1a56046b040ff591dfda391f88917af2b6487d02b45093c05be3514"
dependencies = [
"anchor-syn",
"anyhow",
"proc-macro2",
"quote",
"syn 1.0.98",
]
[[package]]
name = "anchor-lang"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a85dd2c5e29e20c7f4701a43724d6cd5406d0ee5694705522e43da0f26542a84"
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",
"arrayref",
"base64 0.13.0",
"bincode",
"borsh 0.9.1",
"bytemuck",
"solana-program",
"thiserror",
]
[[package]]
name = "anchor-spl"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0188c33b4a3c124c4e593f2b440415aaea70a7650fac6ba0772395385d71c003"
dependencies = [
"anchor-lang",
"solana-program",
"spl-associated-token-account",
"spl-token",
]
[[package]]
name = "anchor-syn"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03549dc2eae0b20beba6333b14520e511822a6321cdb1760f841064a69347316"
dependencies = [
"anyhow",
"bs58 0.3.1",
"heck",
"proc-macro2",
"proc-macro2-diagnostics",
"quote",
"serde",
"serde_json",
"sha2",
"syn 1.0.98",
"thiserror",
]
[[package]]
name = "anyhow"
version = "1.0.43"
@ -226,7 +399,7 @@ checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264"
dependencies = [
"borsh-derive-internal 0.9.1",
"borsh-schema-derive-internal 0.9.1",
"proc-macro-crate",
"proc-macro-crate 0.1.5",
"proc-macro2",
"syn 1.0.98",
]
@ -275,6 +448,12 @@ dependencies = [
"syn 1.0.98",
]
[[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"
@ -558,17 +737,6 @@ dependencies = [
"failure",
]
[[package]]
name = "derivative"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.98",
]
[[package]]
name = "digest"
version = "0.9.0"
@ -1041,6 +1209,15 @@ dependencies = [
"ahash",
]
[[package]]
name = "heck"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "hermit-abi"
version = "0.1.18"
@ -1379,7 +1556,7 @@ dependencies = [
"solana-sdk",
"spl-token",
"static_assertions",
"switchboard-utils",
"switchboard-v2",
"thiserror",
"thread_local",
]
@ -1523,21 +1700,20 @@ dependencies = [
[[package]]
name = "num_enum"
version = "0.5.1"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "226b45a5c2ac4dd696ed30fa6b94b057ad909c7b7fc2e0d0808192bced894066"
checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
dependencies = [
"derivative",
"num_enum_derive",
]
[[package]]
name = "num_enum_derive"
version = "0.5.1"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c0fd9eba1d5db0994a239e09c1be402d35622277e35468ba891aa5e3188ce7e"
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
dependencies = [
"proc-macro-crate",
"proc-macro-crate 1.2.1",
"proc-macro2",
"quote",
"syn 1.0.98",
@ -1719,6 +1895,17 @@ dependencies = [
"toml",
]
[[package]]
name = "proc-macro-crate"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9"
dependencies = [
"once_cell",
"thiserror",
"toml",
]
[[package]]
name = "proc-macro-error"
version = "1.0.4"
@ -1764,6 +1951,19 @@ 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",
"quote",
"syn 1.0.98",
"version_check",
"yansi",
]
[[package]]
name = "pyth-client"
version = "0.5.1"
@ -1789,15 +1989,6 @@ dependencies = [
"percent-encoding",
]
[[package]]
name = "quick-protobuf"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ca6639207ac869e31cca06b8adbc7676278f22b321e51115766009b4f192dbb"
dependencies = [
"byteorder",
]
[[package]]
name = "quote"
version = "1.0.33"
@ -2020,16 +2211,6 @@ dependencies = [
"serde",
]
[[package]]
name = "rust_decimal_macros"
version = "1.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4903d8db81d2321699ca8318035d6ff805c548868df435813968795a802171b2"
dependencies = [
"quote",
"rust_decimal",
]
[[package]]
name = "rustc-demangle"
version = "0.1.19"
@ -2302,9 +2483,9 @@ dependencies = [
[[package]]
name = "solana-address-lookup-table-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4956621cc7bf19dea58d9c98a2052d4294ce747816422f24b4691f508593251a"
checksum = "3bf6816169fcbf70d6ddd977756990a4d56ec02eee09d2f3d2e28e8a8c97510f"
dependencies = [
"bincode",
"bytemuck",
@ -2322,9 +2503,9 @@ dependencies = [
[[package]]
name = "solana-banks-client"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45904d62acdd8d9a5379cdc74bd5425a29e4c1ffa7a5ed43a2d24b9412531f02"
checksum = "31b95d234bfac810056738ce47ed3b99edaffcb3d6e40312dceee420d89f7c6c"
dependencies = [
"borsh 0.9.1",
"futures",
@ -2339,9 +2520,9 @@ dependencies = [
[[package]]
name = "solana-banks-interface"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ba0e8614e1043d7c326c77ae4e3632a032ea8447f59c1740c6e5e3cb521b70d"
checksum = "6fd2f32c57ea9b945cc8b34a007fd4076e7e7d46f2ae29346c3c8c8c27e52725"
dependencies = [
"serde",
"solana-sdk",
@ -2350,9 +2531,9 @@ dependencies = [
[[package]]
name = "solana-banks-server"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "756570caf0004fbfa51eb081a3d74edf13b37f2cc61fbce3216d53e67e461fa1"
checksum = "33674ccb926a7e6e08c233af6ede7c3a9ddf40d69355152726585d53614c2b04"
dependencies = [
"bincode",
"futures",
@ -2368,9 +2549,9 @@ dependencies = [
[[package]]
name = "solana-bloom"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e33a0f93c50e30f4d79ed637ed531a55b53282809b01987e8de8fa9c2e10b88b"
checksum = "b6210a39c4a217c46dfefb91af15d72a81bfc4410c41b1ed95b0990ae039af4f"
dependencies = [
"bv",
"fnv",
@ -2387,9 +2568,9 @@ dependencies = [
[[package]]
name = "solana-bpf-loader-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf53ecd29908f2c9bca9a05c5f97520dbbb6037cca840b19ab3ab7e6bf7501f4"
checksum = "2fafa1f52dd0432d6eac548771a20f3641cb219876a71537ffe170cc31304e73"
dependencies = [
"bincode",
"byteorder",
@ -2405,9 +2586,9 @@ dependencies = [
[[package]]
name = "solana-bucket-map"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b25e29aa9050a54d241118e14b6d69a1f9efab5075ba1d60cb15b456d4d32eb"
checksum = "ee7acda82f2c8bbd1199c5d90a920fe7c429d676cabf0081defd9836392ad3d8"
dependencies = [
"fs_extra",
"log",
@ -2422,9 +2603,9 @@ dependencies = [
[[package]]
name = "solana-compute-budget-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6699b945fca80b6fe7c3753f587cf7138c21648edcea861d573f782bb4c6a30e"
checksum = "c9b3bf6b0916134a92b5c87690181680a63d22e20dda8ec6ba05260afbae50a0"
dependencies = [
"solana-program-runtime",
"solana-sdk",
@ -2432,9 +2613,9 @@ dependencies = [
[[package]]
name = "solana-config-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d12836e8f7ffc121286b740423bcbf267ffdf919eb5300d2d17b54284834093f"
checksum = "3ec25faf104c84393f7b4a549e08e952b9ba46c5df283adc59440f32fdce9789"
dependencies = [
"bincode",
"chrono",
@ -2446,11 +2627,11 @@ dependencies = [
[[package]]
name = "solana-frozen-abi"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ae24bb5a815c2796908b131b7e44973d6f2e0e16eb7e67e0f0b5fcd95de0da1"
checksum = "34c9effc54db26704db05c474254e50a69fbd4c527df13aead8c8e38db127d7c"
dependencies = [
"bs58",
"bs58 0.4.0",
"bv",
"generic-array",
"log",
@ -2466,9 +2647,9 @@ dependencies = [
[[package]]
name = "solana-frozen-abi-macro"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cff377ed697595d3041052940730acefca4f4bfc23eb26bb695595cee737fe5"
checksum = "d343b3e8f168d009365acc13654ebbecbcd7d98e7100eaf9fdcd2a59a2d99706"
dependencies = [
"proc-macro2",
"quote",
@ -2478,9 +2659,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e3e1c7bf616aa4926d70dd9015077fcccd88c9271cef29c9038e76a2da1ac5d"
checksum = "b5aea113f74b8ace6baf51256daf9d5228b6c65a774fe21a4416dd7e270d5dd4"
dependencies = [
"env_logger",
"lazy_static",
@ -2489,9 +2670,9 @@ dependencies = [
[[package]]
name = "solana-measure"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57e8cc2e8c81c72ff7443f6e0aacc45a6da4261e90421a5982ed1a85aaec1166"
checksum = "e48319495b1f657cd1d534903604f568b152b5a264186a632007dd67b9064d2c"
dependencies = [
"log",
"solana-sdk",
@ -2499,9 +2680,9 @@ dependencies = [
[[package]]
name = "solana-metrics"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa0c27719a2b1b7425d8b1269e45fcd97e62d33cdd3a7c561f65846e94af971b"
checksum = "d0fd8731b61c473f5d22e8180119ed84b5de3352d6c46023dbe48a9b94a342c0"
dependencies = [
"env_logger",
"gethostname",
@ -2513,9 +2694,9 @@ dependencies = [
[[package]]
name = "solana-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36bead9a6131b48cffc3a3105a6e469592442715528d9d0187e114776533b01c"
checksum = "9b838bfabf09050f5f66cadf5e486fd415242165f06c9f9aed45162efb68c711"
dependencies = [
"base64 0.13.0",
"bincode",
@ -2523,7 +2704,7 @@ dependencies = [
"blake3",
"borsh 0.9.1",
"borsh-derive 0.9.1",
"bs58",
"bs58 0.4.0",
"bv",
"bytemuck",
"console_error_panic_hook",
@ -2556,9 +2737,9 @@ dependencies = [
[[package]]
name = "solana-program-runtime"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efbfaf4b0b12f6af1c9f70c8c7e3381cb459738dd4909832dea7b0789141b52d"
checksum = "f62c8ba176714b0c8e61ee0b9d2966a8470a85cba0f8cdf0e03ce05f0274f993"
dependencies = [
"base64 0.13.0",
"bincode",
@ -2580,9 +2761,9 @@ dependencies = [
[[package]]
name = "solana-program-test"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "890eb48ea4b682630bcd5a0b2460d91c7690bf882ad53a4afdcf81ac766a0c60"
checksum = "5b93deb830fd42c8db6f8dc5c9d83bfd9d394bb5d9b59ff9d3f659c99766a0c5"
dependencies = [
"async-trait",
"base64 0.12.3",
@ -2604,9 +2785,9 @@ dependencies = [
[[package]]
name = "solana-rayon-threadlimit"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "355485d4ca6a841dd6474e44e901531a18fe7f528f72970cbd07344dfb6ae116"
checksum = "c2141deb1e2b832e3a5c2faca05caae03c1603cba1c00f032979e41f8dad4271"
dependencies = [
"lazy_static",
"num_cpus",
@ -2614,9 +2795,9 @@ dependencies = [
[[package]]
name = "solana-runtime"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6133a9b8ce1183b6a0dcbf7666b0a3424413d5830c906c15a54ec3a05e662340"
checksum = "4082b20f9cdf699bbb6d00e9a070f1944903e7a42eb57aec531bf64395e9b7dd"
dependencies = [
"arrayref",
"bincode",
@ -2669,16 +2850,16 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba4cacac691db83aaff0c69cc901305d68fbfbc28709ed5abf28393f18bfdc87"
checksum = "463899455a4a5f92a70c57880b57642432c32a5ab94d60bd126775d7349d7ec6"
dependencies = [
"assert_matches",
"base64 0.13.0",
"bincode",
"bitflags",
"borsh 0.9.1",
"bs58",
"bs58 0.4.0",
"bytemuck",
"byteorder",
"chrono",
@ -2720,11 +2901,11 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "333726c958386c09937aba55ca4390bcfb4621c6120f47610682a94ea4d4533c"
checksum = "b25759d80a81f0303b2827344b365f886a74306fa6af7c898921333d04d1c99b"
dependencies = [
"bs58",
"bs58 0.4.0",
"proc-macro2",
"quote",
"rustversion",
@ -2733,9 +2914,9 @@ dependencies = [
[[package]]
name = "solana-send-transaction-service"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e68974ce9ab1d7bbf1d6e4f8669d06f6a8d47e91f25bc192f6e59a801804c7e6"
checksum = "17e23e08e36510ec9e9e4aecb435d613002850c02c16af6720736b61978caf3c"
dependencies = [
"log",
"solana-logger",
@ -2746,9 +2927,9 @@ dependencies = [
[[package]]
name = "solana-stake-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73e978c1d5ad9efbe8d79edc55d1a38653d3c658181ee14b2ab5be71df3c1dde"
checksum = "77874f460d867b58bf7d56a3acf805abe0891b2fce8cc561bce71cc3cb87778d"
dependencies = [
"bincode",
"log",
@ -2769,9 +2950,9 @@ dependencies = [
[[package]]
name = "solana-vote-program"
version = "1.9.12"
version = "1.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e29d65ab135ee928338e7b14f9d2c8f81695b3365f0b23f503c4c1de663fcd6"
checksum = "1d80020b9981aaa45b9f4ce6080a1dc9f1deb25f0553659c25da3acf2437974f"
dependencies = [
"bincode",
"log",
@ -2815,10 +2996,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
name = "spl-token"
version = "3.2.0"
name = "spl-associated-token-account"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93bfdd5bd7c869cb565c7d7635c4fafe189b988a0bdef81063cd9585c6b8dc01"
checksum = "2b013067447a1396303ddfc294f36e3d260a32f8a16c501c295bcdc7de39b490"
dependencies = [
"borsh 0.9.1",
"solana-program",
"spl-token",
]
[[package]]
name = "spl-token"
version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0cc67166ef99d10c18cb5e9c208901e6d8255c6513bb1f877977eba48e6cc4fb"
dependencies = [
"arrayref",
"num-derive",
@ -2847,32 +3039,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2"
[[package]]
name = "switchboard-protos"
version = "0.1.60"
name = "superslice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e2d89875ff72d12ea7918d6ccd82d1ac5eab54b3a9d1bd7356fa6905801aa72"
dependencies = [
"bincode",
"borsh 0.9.1",
"byteorder",
"quick-protobuf",
]
checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f"
[[package]]
name = "switchboard-utils"
version = "0.2.1"
name = "switchboard-v2"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac1d68193aa1669e34d16087db0f96e6597d2f78868378aabc1387b8b29172e"
checksum = "2c3cdb9a49d331047047e245971c397fc93507d8058e2f0afc6153ab18103c62"
dependencies = [
"bincode",
"borsh 0.9.1",
"anchor-lang",
"anchor-spl",
"bytemuck",
"byteorder",
"quick-protobuf",
"rust_decimal",
"rust_decimal_macros",
"solana-program",
"switchboard-protos",
"superslice",
]
[[package]]
@ -3250,6 +3433,12 @@ dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-segmentation"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
[[package]]
name = "unicode-xid"
version = "0.2.2"
@ -3491,6 +3680,12 @@ dependencies = [
"libc",
]
[[package]]
name = "yansi"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
[[package]]
name = "zeroize"
version = "1.3.0"

View File

@ -10,7 +10,7 @@ devnet = []
test-bpf = []
[dependencies]
solana-program = "=1.9.12"
solana-program = "=1.9.13"
byteorder = "^1.3.4"
arrayref = "^0.3.6"
num_enum = "^0.5.1"
@ -30,12 +30,11 @@ serum_dex = { version = "0.4.0", rev="3104f424ee38a415418a1cdef67970771f832857",
flux-aggregator = { version = "^0.1", rev="ca6706d05218acc84d164ed5149fac7612d3aa2b", git = "https://github.com/blockworks-foundation/solana-flux-aggregator.git", features=["program", "no-entrypoint"] }
pyth-client = {version = ">=0.5.0", features = ["no-entrypoint"]}
switchboard-utils = "=0.2.1"
switchboard-v2 = "=0.1.11"
[dev-dependencies]
solana-sdk = "=1.9.12"
solana-program-test = "=1.9.12"
solana-sdk = "=1.9.13"
solana-program-test = "=1.9.13"
blake3 = "=1.2.0"
h2="=0.3.18"
thread_local="=1.0.1"

View File

@ -1,5 +1,7 @@
use std::cell::Ref;
use std::cmp;
use std::cmp::min;
use std::convert::TryInto;
use std::mem::size_of;
use std::ops::Neg;
@ -21,7 +23,7 @@ use solana_program::pubkey::Pubkey;
use solana_program::rent::Rent;
use solana_program::sysvar::Sysvar;
use spl_token::state::{Account, Mint};
use switchboard_utils::FastRoundResultAccountData;
use switchboard_v2::AggregatorAccountData;
use crate::error::{check_assert, MangoError, MangoErrorCode, MangoResult, SourceFileId};
use crate::instruction::MangoInstruction;
@ -1402,18 +1404,19 @@ impl Processor {
// determine oracle type
let borrowed = oracle_accs[i].data.borrow();
let magic = u32::from_le_bytes(*array_ref![borrowed, 0, 4]);
let magic4 = u32::from_le_bytes(*array_ref![borrowed, 0, 4]);
let magic8 = *array_ref![borrowed, 0, 8];
// read oracle decimals
let decimals = if magic == pyth_client::MAGIC {
let decimals = if magic4 == pyth_client::MAGIC {
// detected pyth oracle
let price_account = pyth_client::load_price(&borrowed)?;
// usually expo is -8, verify anyways that it's within bounds
check!(price_account.expo <= 0, MangoErrorCode::Default);
check!(price_account.expo >= -255, MangoErrorCode::Default);
price_account.expo.neg() as u8
} else if borrowed.len() == 3851 {
// detected switchboard oracle, which uses f64
} else if magic8 == SWITCHBOARD_MAGIC {
// detected switchboard oracle, which uses an internal decimal type, so no corretion needed
0
} else {
// fall back to legacy flux aggregator
@ -1716,6 +1719,8 @@ fn checked_add_borrow(
Ok(())
}
const SWITCHBOARD_MAGIC: [u8;8] = [217, 230, 65, 101, 201, 162, 27, 125];
pub fn get_prices(
mango_group: &MangoGroup,
oracle_accs: &[AccountInfo]
@ -1737,18 +1742,24 @@ pub fn get_prices(
// determine oracle type
let borrowed = oracle_accs[i].data.borrow();
let magic = u32::from_le_bytes(*array_ref![borrowed, 0, 4]);
let magic4 = u32::from_le_bytes(*array_ref![borrowed, 0, 4]);
let magic8 = *array_ref![borrowed, 0, 8];
// read oracle value
let value = if magic == pyth_client::MAGIC {
let value = if magic4 == pyth_client::MAGIC {
// detected pyth oracle
let price_account = pyth_client::load_price(&borrowed)?;
check_eq!(price_account.get_current_price_status(), PriceStatus::Trading, MangoErrorCode::OracleOffline);
U64F64::from_num(price_account.agg.price)
} else if borrowed.len() == 3851 {
} else if magic8 == SWITCHBOARD_MAGIC {
// detected switchboard oracle
let result = FastRoundResultAccountData::deserialize(&borrowed).unwrap();
U64F64::from_num(result.result.result)
let feed: Ref<'_, AggregatorAccountData> = Ref::map(borrowed, |data| bytemuck::from_bytes(&data[8..]));
let price: f64 = if let Ok(d) = feed.get_result() {
d.try_into().unwrap()
} else {
throw_err!(MangoErrorCode::OracleOffline)?
};
U64F64::from_num(price)
} else {
// fall back to legacy flux aggregator
let answer = flux_aggregator::read_median(&oracle_accs[i])?; // this is in USD cents