diff --git a/Cargo.lock b/Cargo.lock index 8ce2f0b8..46caf0d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" +checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" [[package]] name = "arrayref" @@ -735,11 +735,17 @@ dependencies = [ "walkdir", ] +[[package]] +name = "dyn-clone" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e50f3adc76d6a43f5ed73b698a87d0760ca74617f60f7c3b879003536fdd28" + [[package]] name = "ed25519" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4" +checksum = "d916019f70ae3a1faa1195685e290287f39207d38e6dfee727197cffcc002214" dependencies = [ "signature", ] @@ -1198,6 +1204,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + [[package]] name = "hmac" version = "0.8.1" @@ -1241,9 +1256,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" +checksum = "ff8670570af52249509a86f5e3e18a08c60b177071826898fde8997cf5f6bfbb" dependencies = [ "bytes", "fnv", @@ -1263,9 +1278,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6330e8a36bd8c859f3fa6d9382911fbb7147ec39807f63b923933a247240b9ba" +checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" [[package]] name = "httpdate" @@ -1414,9 +1429,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.124" +version = "0.2.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a41fed9d98f27ab1c6d161da622a4fa35e8a54a8adc24bbf3ddd0ef70b0e50" +checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b" [[package]] name = "libloading" @@ -1488,9 +1503,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if", ] @@ -1511,7 +1526,7 @@ dependencies = [ "mango-logs", "mango-macro", "num_enum", - "pyth-client", + "pyth-sdk-solana", "rand 0.8.5", "safe-transmute", "serde", @@ -1564,9 +1579,9 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memmap2" @@ -1603,15 +1618,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.2" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ "libc", "log", "miow", "ntapi", - "wasi 0.11.0+wasi-snapshot-preview1", "winapi", ] @@ -1657,9 +1671,9 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg", "num-traits", @@ -1667,9 +1681,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", ] @@ -1707,9 +1721,9 @@ dependencies = [ [[package]] name = "object" -version = "0.28.3" +version = "0.28.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456" +checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" dependencies = [ "memchr", ] @@ -1791,17 +1805,7 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core 0.8.5", -] - -[[package]] -name = "parking_lot" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" -dependencies = [ - "lock_api", - "parking_lot_core 0.9.2", + "parking_lot_core", ] [[package]] @@ -1818,19 +1822,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "parking_lot_core" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-sys", -] - [[package]] name = "paste" version = "1.0.7" @@ -1883,9 +1874,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "pin-utils" @@ -1956,9 +1947,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa" dependencies = [ "unicode-xid", ] @@ -1977,16 +1968,30 @@ dependencies = [ ] [[package]] -name = "pyth-client" -version = "0.5.0" +name = "pyth-sdk" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f779e98b8c8016d0c1409247a204bd4fcdea8b67ceeef545f04e324d66c49e52" +checksum = "f262b88557d8f152a247e1be786a8359d63112fac0a6e49fa41082a8ef789e8d" +dependencies = [ + "borsh", + "borsh-derive", + "hex", + "schemars", + "serde", +] + +[[package]] +name = "pyth-sdk-solana" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb250e58d1106e47b4348af87f738b8381d6c98c33f4ad13401ab9d82300daa9" dependencies = [ "borsh", "borsh-derive", "bytemuck", "num-derive", "num-traits", + "pyth-sdk", "serde", "solana-program", "thiserror", @@ -2254,7 +2259,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.7", + "semver 1.0.9", ] [[package]] @@ -2305,6 +2310,30 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schemars" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6b5a3c80cea1ab61f4260238409510e814e38b4b563c06044edf91e7dc070e3" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ae4dce13e8614c46ac3c38ef1c0d668b101df6ac39817aebdaa26642ddae9b" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn", +] + [[package]] name = "scopeguard" version = "1.1.0" @@ -2352,9 +2381,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4" +checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd" [[package]] name = "semver-parser" @@ -2367,27 +2396,38 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.136" +version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ae07dd2f88a366f15bd0632ba725227018c69a1c8550a927324f8eb8368bb9" +checksum = "212e73464ebcde48d723aa02eb270ba62eff38a9b732df31f33f1b4e145f3a54" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_derive_internals" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "1dbab34ca63057a1f15280bdf3c39f2b1eb1b54c17e98360e511637aef7418c6" dependencies = [ "proc-macro2", "quote", @@ -2396,9 +2436,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" dependencies = [ "itoa", "ryu", @@ -2513,9 +2553,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1c55b7304ab892d207c68f6049b292d23c2b4533e09c65e0f909bf9b8475faa" +checksum = "d32c243f19e6ea95cfc09805b7f815368a73f93d12e896f154477e224b9ce064" dependencies = [ "bincode", "bytemuck", @@ -2533,9 +2573,9 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16e829fa2a389d63f3d19b73aa41919c9be20d3997ac32eeed978d5de3c0d2b" +checksum = "cdbf16aa18b70bb0f4eda16db1f75a3f3e23546729548808300da50a2161bfa3" dependencies = [ "borsh", "futures", @@ -2550,9 +2590,9 @@ dependencies = [ [[package]] name = "solana-banks-interface" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b7ea0bf3313b8773a23e81a235c399065ac80c1ca409a548cd6846f1de00ab" +checksum = "acfa6cf3a62671af7c2213c764ef829a173aab9c2fb4ed20e65e37638d9c7123" dependencies = [ "serde", "solana-sdk", @@ -2561,9 +2601,9 @@ dependencies = [ [[package]] name = "solana-banks-server" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22098f89ab47ec97c67a69609724009db8321c17ace35178b2356e92db9738b8" +checksum = "06a209ad3cc95d5e743860bcf849c440c0d22786276061816269c95b98d2758d" dependencies = [ "bincode", "futures", @@ -2579,9 +2619,9 @@ dependencies = [ [[package]] name = "solana-bloom" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07f309d576f01df9f91125dcf961655e61545ab3707cbddd38aea8cdc9573058" +checksum = "681ba25c959e24a9fa45a1c41b759ae73c5fa78017efde560d00b58e0674b446" dependencies = [ "bv", "fnv", @@ -2598,9 +2638,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9317274a9b3275aa5c900f06fcf5cdebd707e27530e1253dca1e5ebe32a28f6" +checksum = "4d64909bde59ed6805e5118fb6be70a211e051e2732ac93b6d78f019d8293fb0" dependencies = [ "bincode", "byteorder", @@ -2616,9 +2656,9 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06adcde94393e385cb80ef046b1bc58c1f4edcd6ddf2466cf6a6ab09523aa451" +checksum = "cc592ceeaf717673a4c83398cf6684be5fe66825552a1bf99b2a1114620059ef" dependencies = [ "fs_extra", "log", @@ -2633,9 +2673,9 @@ dependencies = [ [[package]] name = "solana-compute-budget-program" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c927ec4babd1e0f7521e4c28cee3256cd70337bfa74612df398ebfd4ec7604" +checksum = "23c8e78b552670f029af0b9411d31636e47a1b0613828c372025e9de79867267" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -2643,9 +2683,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ae8513de0d713037466a27887c8e5b608ef3b15c2138be8628334fc6010be4d" +checksum = "dd635397dfe4cd775fb5b5cb1869418392457d53692f47780a506055fce190ff" dependencies = [ "bincode", "chrono", @@ -2657,9 +2697,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a42d57a501d4e6b7f9867ba1d43e30fd2c01293018aee1bbdbe361fcb38ca8f" +checksum = "86951897447999a40d69a684450a7f95816faa472272af71e8a167df5763dcea" dependencies = [ "bs58 0.4.0", "bv", @@ -2677,9 +2717,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8e74b463a20856db7c34e623fb9e617f4487b6a9646db70e99fff2244a8d0dd" +checksum = "69a1bfa9b54b42f7b0943cf975ee0b831ca45976ee0219308023ce8a34ba3da2" dependencies = [ "proc-macro2", "quote", @@ -2689,9 +2729,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0bbd0c9b975384bb5e775532cadf101e053858c52f58b970b2e2ad4f0ec3ad5" +checksum = "3ac46ee30e6e938fcffe4e4a53cb0ef53518b3aeb839adffe696678eda8d54f0" dependencies = [ "env_logger", "lazy_static", @@ -2700,9 +2740,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4f8d52d73bbfa5cf9bb800c08cc8e4261f8cf4642940dc153db7826fdb1282c" +checksum = "bf160e0690e8349e31ace82f64d1d98275cdc1322be498f34fa51872b3853079" dependencies = [ "log", "solana-sdk", @@ -2710,9 +2750,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1c7084a52d604634c850762b01b85e46108751c310227f840a2e1c6e3826a6" +checksum = "13a5278e53eaf159d604647babe7c1a1c5d112c60ea4b412a57f2848daffe1e7" dependencies = [ "env_logger", "gethostname", @@ -2724,9 +2764,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b955659c41053e2e7d58d4716c15519dd67a418ac5a57c09499691322170911" +checksum = "d672eaac30e97d719c1cf05e6ec1d36971f057b19fbf18f645c54bebd580aa40" dependencies = [ "base64 0.13.0", "bincode", @@ -2748,7 +2788,7 @@ dependencies = [ "log", "num-derive", "num-traits", - "parking_lot 0.11.2", + "parking_lot", "rand 0.7.3", "rustc_version 0.4.0", "rustversion", @@ -2767,9 +2807,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be23f8b37543a44b8fc5172b3f76d928c966e49105a95312ffc7f4c35741963" +checksum = "fa9e14fce935bcec0e44ca102364fbca9ebd7a2646c1088736a59ed4b32f7348" dependencies = [ "base64 0.13.0", "bincode", @@ -2791,9 +2831,9 @@ dependencies = [ [[package]] name = "solana-program-test" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0625240876358ec4a29a2b8450917e32e44ef375b2eaa383302d40c2289ea1" +checksum = "a186d591594aa5b04b142e99ef894b6b75315ebaaa6e6742f33da06b825ebce8" dependencies = [ "async-trait", "base64 0.12.3", @@ -2815,9 +2855,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b577874682b894ba5c2dfd5fd7e3bbcb4ff09a74bd347346bf79a7d801078a" +checksum = "6fe258d38f4ce03fde1c2a6297665605fb3fb60c4cb3a980dda84dfa99cf7a5b" dependencies = [ "lazy_static", "num_cpus", @@ -2825,9 +2865,9 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6154bbb33773d9a087450a5caa0ab613aa6dc7777074532e388d28ff75a655b" +checksum = "25f4729256e9c4b8360ab3c6bc438c6b02e4ed7504c1050c6773efa933b914ca" dependencies = [ "arrayref", "bincode", @@ -2880,9 +2920,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ea9fcedb32801da35d83ece7bdd0a42018e0263ef40adb2215c5f5b6e04119" +checksum = "515e506e64dad5bd7d2943b1dbc2262e73b96a7f3c79cf1438f847ad0138bedf" dependencies = [ "assert_matches", "base64 0.13.0", @@ -2931,9 +2971,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b9e0d05a4a15d4d5f1c146437fc97319beceff21064f36d8f5280d03a82cd9" +checksum = "619fb6c23a123c4f9aba21cb9fe8cc4d21d55c056c2cea3f1e5a809b2f7e7b91" dependencies = [ "bs58 0.4.0", "proc-macro2", @@ -2944,9 +2984,9 @@ dependencies = [ [[package]] name = "solana-send-transaction-service" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31af72e5089666cb96553452d24ac2c8345ad9b3b6b0d5603e097a8c3ea27b18" +checksum = "a203b0df53fc288e54d87fc36085d312e7703358b9d063cb478f3af34155035e" dependencies = [ "log", "solana-logger", @@ -2957,9 +2997,9 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9566af3477bafa9d7ec2b927579d896026724f646ebd393aa7ecd0646c473166" +checksum = "c467242286a87f97f84494652c8c7e8607718ee1cd67a733011531caa8fa2ff0" dependencies = [ "bincode", "log", @@ -2980,9 +3020,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.9.17" +version = "1.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514eefafc9d1d6fb9bf88ef36fcf649eb2debafbbb57dc64fea03b44cbfed7d1" +checksum = "a39e1ee3f707c750bd796e851cc6010bddb7783428f10ed4a377b89d6a4afcca" dependencies = [ "bincode", "log", @@ -3110,9 +3150,9 @@ checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" [[package]] name = "syn" -version = "1.0.91" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" +checksum = "a07e33e919ebcd69113d5be0e4d70c5707004ff45188910106854f38b960df4a" dependencies = [ "proc-macro2", "quote", @@ -3237,18 +3277,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" dependencies = [ "proc-macro2", "quote", @@ -3276,9 +3316,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] @@ -3291,20 +3331,20 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.17.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" +checksum = "b9d0183f6f6001549ab68f8c7585093bb732beefbcf6d23a10b9b95c73a1dd49" dependencies = [ + "autocfg", "bytes", "libc", "memchr", "mio", "num_cpus", "once_cell", - "parking_lot 0.12.0", + "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", "tokio-macros", "winapi", ] @@ -3322,9 +3362,9 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.23.3" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4151fda0cf2798550ad0b34bcfc9b9dcc2a9d2471c895c68f3a8818e54f2389e" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ "rustls", "tokio", @@ -3417,9 +3457,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" +checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c" dependencies = [ "proc-macro2", "quote", @@ -3491,9 +3531,9 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" [[package]] name = "unicode-bidi" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-normalization" @@ -3512,9 +3552,9 @@ checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" [[package]] name = "unreachable" @@ -3604,12 +3644,6 @@ version = "0.10.2+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "wasm-bindgen" version = "0.2.80" @@ -3736,49 +3770,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825" -dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_msvc" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" - -[[package]] -name = "windows_i686_gnu" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" - -[[package]] -name = "windows_i686_msvc" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" - [[package]] name = "winreg" version = "0.10.1" @@ -3799,9 +3790,9 @@ dependencies = [ [[package]] name = "xattr" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" +checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" dependencies = [ "libc", ] diff --git a/program/Cargo.toml b/program/Cargo.toml index 701a1828..13c34dfa 100644 --- a/program/Cargo.toml +++ b/program/Cargo.toml @@ -30,7 +30,7 @@ safe-transmute = "^0.11.1" mango-macro = { path = "../mango-macro" } mango-common = { path = "../common" } mango-logs = { path = "../mango-logs", features=["no-entrypoint"] } -pyth-client = {version = ">=0.5.0", features = ["no-entrypoint"]} +pyth-sdk-solana = "0.4.1" switchboard-program = ">=0.2.0" switchboard-utils = ">=0.1.36" diff --git a/program/src/oracle.rs b/program/src/oracle.rs index 27b49b85..918b5805 100644 --- a/program/src/oracle.rs +++ b/program/src/oracle.rs @@ -63,7 +63,7 @@ impl StubOracle { pub fn determine_oracle_type(account: &AccountInfo) -> OracleType { let borrowed = account.data.borrow(); let magic = u32::from_le_bytes(*array_ref![borrowed, 0, 4]); - if magic == pyth_client::MAGIC { + if magic == pyth_sdk_solana::state::MAGIC { OracleType::Pyth } else if borrowed.len() == 1000 { OracleType::Switchboard diff --git a/program/src/processor.rs b/program/src/processor.rs index d5f3b207..354ead00 100644 --- a/program/src/processor.rs +++ b/program/src/processor.rs @@ -6881,13 +6881,13 @@ pub fn read_oracle( let price = match oracle_type { OracleType::Pyth => { - let oracle_data = oracle_ai.try_borrow_data()?; - let price_account = pyth_client::load_price(&oracle_data).unwrap(); - let value = I80F48::from_num(price_account.agg.price); + let price_feed = pyth_sdk_solana::load_price_feed_from_account_info(oracle_ai).unwrap(); + let price = price_feed.get_current_price().unwrap(); + let value = I80F48::from_num(price.price); // Filter out bad prices on mainnet #[cfg(not(feature = "devnet"))] - let conf = I80F48::from_num(price_account.agg.conf).checked_div(value).unwrap(); + let conf = I80F48::from_num(price.conf).checked_div(value).unwrap(); #[cfg(not(feature = "devnet"))] if conf > PYTH_CONF_FILTER { @@ -6907,7 +6907,7 @@ pub fn read_oracle( } let decimals = quote_decimals - .checked_add(price_account.expo) + .checked_add(price.expo) .unwrap() .checked_sub(base_decimals) .unwrap();