diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 91115e9e..bc125c47 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -152,7 +152,7 @@ jobs: solana-verify build --library-name drift_vaults --base-image ellipsislabs/solana:1.16.6 - name: Upload Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: build path: target/deploy/drift_vaults.so diff --git a/Cargo.lock b/Cargo.lock index 5e490cc7..dcf8ec2b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -445,6 +445,18 @@ dependencies = [ "typenum", ] +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "blake3" version = "1.5.0" @@ -504,6 +516,16 @@ dependencies = [ "hashbrown 0.13.2", ] +[[package]] +name = "borsh" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5327f6c99920069d1fe374aa743be1af0031dea9f250852cdf1ae6a0861ee24" +dependencies = [ + "borsh-derive 1.5.2", + "cfg_aliases", +] + [[package]] name = "borsh-derive" version = "0.9.3" @@ -530,6 +552,19 @@ dependencies = [ "syn 1.0.92", ] +[[package]] +name = "borsh-derive" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10aedd8f1a81a8aafbfde924b0e3061cd6fedd6f6bbcfc6a76e6fd426d7bfe26" +dependencies = [ + "once_cell", + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "borsh-derive-internal" version = "0.9.3" @@ -605,6 +640,28 @@ dependencies = [ "serde", ] +[[package]] +name = "bytecheck" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.92", +] + [[package]] name = "bytemuck" version = "1.14.0" @@ -631,6 +688,12 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +[[package]] +name = "bytes" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" + [[package]] name = "cc" version = "1.0.83" @@ -647,6 +710,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.31" @@ -691,6 +760,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + [[package]] name = "cpufeatures" version = "0.2.2" @@ -841,6 +916,19 @@ dependencies = [ "syn 1.0.92", ] +[[package]] +name = "derive_more" +version = "0.99.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn 2.0.48", +] + [[package]] name = "digest" version = "0.9.0" @@ -863,8 +951,8 @@ dependencies = [ [[package]] name = "drift" -version = "2.103.0" -source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.103.0#63c72dad6e1aa7c9b121560a516b434b091c3295" +version = "2.109.0" +source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.109.0#e99b9cd00b03136092749447af1b25a6880a9b4c" dependencies = [ "ahash 0.8.6", "anchor-lang", @@ -883,6 +971,7 @@ dependencies = [ "openbook-v2-light", "phoenix-v1", "pyth-client", + "pyth-lazer-solana-contract", "pyth-solana-receiver-sdk", "pythnet-sdk", "serum_dex", @@ -914,6 +1003,7 @@ dependencies = [ "bytemuck", "drift", "drift-macros", + "serde", "static_assertions", ] @@ -1005,6 +1095,12 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "fast-math" version = "0.1.1" @@ -1036,6 +1132,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "generic-array" version = "0.14.7" @@ -1082,6 +1184,15 @@ dependencies = [ "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.6", +] + [[package]] name = "hashbrown" version = "0.13.2" @@ -1091,6 +1202,12 @@ dependencies = [ "ahash 0.8.6", ] +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + [[package]] name = "heck" version = "0.3.2" @@ -1182,6 +1299,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "indexmap" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + [[package]] name = "itertools" version = "0.9.0" @@ -1200,6 +1327,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.6" @@ -1322,9 +1458,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "memchr" -version = "2.4.0" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -1371,7 +1507,7 @@ version = "3.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba8ee05284d79b367ae8966d558e1a305a781fc80c9df51f37775169117ba64f" dependencies = [ - "borsh 0.9.3", + "borsh 0.10.3", "num-derive 0.3.3", "num-traits", "solana-program", @@ -1563,9 +1699,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -1576,7 +1712,7 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openbook-v2-light" version = "0.1.0" -source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.103.0#63c72dad6e1aa7c9b121560a516b434b091c3295" +source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.109.0#e99b9cd00b03136092749447af1b25a6880a9b4c" dependencies = [ "anchor-lang", "borsh 0.10.3", @@ -1703,6 +1839,15 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit", +] + [[package]] name = "proc-macro2" version = "1.0.79" @@ -1712,12 +1857,58 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.92", +] + [[package]] name = "pyth-client" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44de48029c54ec1ca570786b5baeb906b0fc2409c8e0145585e287ee7a526c72" +[[package]] +name = "pyth-lazer-protocol" +version = "0.1.2" +source = "git+https://github.com/drift-labs/pyth-crosschain?rev=d790d1cb4da873a949cf33ff70349b7614b232eb#d790d1cb4da873a949cf33ff70349b7614b232eb" +dependencies = [ + "anyhow", + "byteorder", + "derive_more", + "itertools 0.13.0", + "rust_decimal", + "serde", +] + +[[package]] +name = "pyth-lazer-solana-contract" +version = "0.2.0" +source = "git+https://github.com/drift-labs/pyth-crosschain?rev=d790d1cb4da873a949cf33ff70349b7614b232eb#d790d1cb4da873a949cf33ff70349b7614b232eb" +dependencies = [ + "anchor-lang", + "bytemuck", + "byteorder", + "pyth-lazer-protocol", + "solana-program", + "thiserror", +] + [[package]] name = "pyth-solana-receiver-sdk" version = "0.3.0" @@ -1768,6 +1959,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.7.3" @@ -1787,6 +1984,7 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", ] @@ -1897,6 +2095,60 @@ version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +[[package]] +name = "rend" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "rkyv" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +dependencies = [ + "bitvec", + "bytecheck", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.92", +] + +[[package]] +name = "rust_decimal" +version = "1.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +dependencies = [ + "arrayvec", + "borsh 1.5.2", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", + "serde", + "serde_json", +] + [[package]] name = "rustc-hash" version = "1.1.0" @@ -1945,6 +2197,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + [[package]] name = "semver" version = "0.11.0" @@ -1971,9 +2229,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.195" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" dependencies = [ "serde_derive", ] @@ -1989,9 +2247,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", @@ -2152,6 +2410,12 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "sized-chunks" version = "0.6.5" @@ -2617,7 +2881,7 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "switchboard" version = "0.1.0" -source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.103.0#63c72dad6e1aa7c9b121560a516b434b091c3295" +source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.109.0#e99b9cd00b03136092749447af1b25a6880a9b4c" dependencies = [ "anchor-lang", ] @@ -2625,7 +2889,7 @@ dependencies = [ [[package]] name = "switchboard-on-demand" version = "0.1.0" -source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.103.0#63c72dad6e1aa7c9b121560a516b434b091c3295" +source = "git+https://github.com/drift-labs/protocol-v2.git?rev=v2.109.0#e99b9cd00b03136092749447af1b25a6880a9b4c" dependencies = [ "anchor-lang", "bytemuck", @@ -2654,6 +2918,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "termcolor" version = "1.2.0" @@ -2726,6 +2996,23 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" + +[[package]] +name = "toml_edit" +version = "0.22.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + [[package]] name = "typenum" version = "1.15.0" @@ -2797,6 +3084,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "uuid" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" + [[package]] name = "version_check" version = "0.9.4" @@ -2953,6 +3246,15 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "winnow" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f" +dependencies = [ + "memchr", +] + [[package]] name = "without-alloc" version = "0.2.1" @@ -2962,6 +3264,15 @@ dependencies = [ "alloc-traits", ] +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "zerocopy" version = "0.7.32" diff --git a/deps/drift.json b/deps/drift.json index 7b5c6195..f1f99d9e 100644 --- a/deps/drift.json +++ b/deps/drift.json @@ -1,5 +1,5 @@ { - "version": "2.97.0", + "version": "2.109.0", "name": "drift", "instructions": [ { @@ -129,6 +129,156 @@ ], "args": [] }, + { + "name": "initializeSwiftUserOrders", + "accounts": [ + { + "name": "swiftUserOrders", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "payer", + "isMut": true, + "isSigner": true + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "numOrders", + "type": "u16" + } + ] + }, + { + "name": "resizeSwiftUserOrders", + "accounts": [ + { + "name": "swiftUserOrders", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": true, + "isSigner": true + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "numOrders", + "type": "u16" + } + ] + }, + { + "name": "initializeFuelOverflow", + "accounts": [ + { + "name": "fuelOverflow", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": false + }, + { + "name": "payer", + "isMut": true, + "isSigner": true + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "sweepFuel", + "accounts": [ + { + "name": "fuelOverflow", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": false + }, + { + "name": "signer", + "isMut": false, + "isSigner": true + } + ], + "args": [] + }, + { + "name": "resetFuelSeason", + "accounts": [ + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": false + }, + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "admin", + "isMut": false, + "isSigner": true + } + ], + "args": [] + }, { "name": "initializeReferrerName", "accounts": [ @@ -644,6 +794,63 @@ } ] }, + { + "name": "placeAndMakeSwiftPerpOrder", + "accounts": [ + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "user", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "taker", + "isMut": true, + "isSigner": false + }, + { + "name": "takerStats", + "isMut": true, + "isSigner": false + }, + { + "name": "takerSwiftUserOrders", + "isMut": false, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + } + ], + "args": [ + { + "name": "params", + "type": { + "defined": "OrderParams" + } + }, + { + "name": "swiftOrderUuid", + "type": { + "array": [ + "u8", + 8 + ] + } + } + ] + }, { "name": "placeSwiftTakerOrder", "accounts": [ @@ -662,6 +869,11 @@ "isMut": true, "isSigner": false }, + { + "name": "swiftUserOrders", + "isMut": true, + "isSigner": false + }, { "name": "authority", "isMut": false, @@ -679,22 +891,9 @@ } ], "args": [ - { - "name": "swiftMessageBytes", - "type": "bytes" - }, { "name": "swiftOrderParamsMessageBytes", "type": "bytes" - }, - { - "name": "swiftMessageSignature", - "type": { - "array": [ - "u8", - 64 - ] - } } ] }, @@ -1233,7 +1432,7 @@ ] }, { - "name": "updateUserDelegate", + "name": "updateUserPoolId", "accounts": [ { "name": "user", @@ -1252,13 +1451,13 @@ "type": "u16" }, { - "name": "delegate", - "type": "publicKey" + "name": "poolId", + "type": "u8" } ] }, { - "name": "updateUserReduceOnly", + "name": "updateUserDelegate", "accounts": [ { "name": "user", @@ -1277,13 +1476,13 @@ "type": "u16" }, { - "name": "reduceOnly", - "type": "bool" + "name": "delegate", + "type": "publicKey" } ] }, { - "name": "updateUserAdvancedLp", + "name": "updateUserReduceOnly", "accounts": [ { "name": "user", @@ -1302,62 +1501,179 @@ "type": "u16" }, { - "name": "advancedLp", + "name": "reduceOnly", "type": "bool" } ] }, { - "name": "deleteUser", + "name": "updateUserAdvancedLp", "accounts": [ { "name": "user", "isMut": true, "isSigner": false }, - { - "name": "userStats", - "isMut": true, - "isSigner": false - }, - { - "name": "state", - "isMut": true, - "isSigner": false - }, { "name": "authority", "isMut": false, "isSigner": true } ], - "args": [] + "args": [ + { + "name": "subAccountId", + "type": "u16" + }, + { + "name": "advancedLp", + "type": "bool" + } + ] }, { - "name": "reclaimRent", + "name": "updateUserProtectedMakerOrders", "accounts": [ { - "name": "user", - "isMut": true, + "name": "state", + "isMut": false, "isSigner": false }, { - "name": "userStats", + "name": "user", "isMut": true, "isSigner": false }, - { - "name": "state", - "isMut": false, - "isSigner": false - }, { "name": "authority", "isMut": false, "isSigner": true }, { - "name": "rent", + "name": "protectedMakerModeConfig", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "subAccountId", + "type": "u16" + }, + { + "name": "protectedMakerOrders", + "type": "bool" + } + ] + }, + { + "name": "deleteUser", + "accounts": [ + { + "name": "user", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "state", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": true, + "isSigner": true + } + ], + "args": [] + }, + { + "name": "forceDeleteUser", + "accounts": [ + { + "name": "user", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "state", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": true, + "isSigner": false + }, + { + "name": "keeper", + "isMut": true, + "isSigner": true + }, + { + "name": "driftSigner", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "deleteSwiftUserOrders", + "accounts": [ + { + "name": "swiftUserOrders", + "isMut": true, + "isSigner": false + }, + { + "name": "state", + "isMut": true, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + } + ], + "args": [] + }, + { + "name": "reclaimRent", + "accounts": [ + { + "name": "user", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "rent", "isMut": false, "isSigner": false } @@ -1610,6 +1926,27 @@ ], "args": [] }, + { + "name": "logUserBalances", + "accounts": [ + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "user", + "isMut": true, + "isSigner": false + } + ], + "args": [] + }, { "name": "disableUserHighLeverageMode", "accounts": [ @@ -1662,6 +1999,27 @@ ], "args": [] }, + { + "name": "updateUserStatsReferrerStatus", + "accounts": [ + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + } + ], + "args": [] + }, { "name": "updateUserOpenOrdersCount", "accounts": [ @@ -1883,23 +2241,206 @@ ], "args": [ { - "name": "marketIndex", + "name": "marketIndex", + "type": "u16" + }, + { + "name": "liquidatorMaxBaseAssetAmount", + "type": "u64" + }, + { + "name": "limitPrice", + "type": { + "option": "u64" + } + } + ] + }, + { + "name": "liquidatePerpWithFill", + "accounts": [ + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "liquidator", + "isMut": true, + "isSigner": false + }, + { + "name": "liquidatorStats", + "isMut": true, + "isSigner": false + }, + { + "name": "user", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "marketIndex", + "type": "u16" + } + ] + }, + { + "name": "liquidateSpot", + "accounts": [ + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "liquidator", + "isMut": true, + "isSigner": false + }, + { + "name": "liquidatorStats", + "isMut": true, + "isSigner": false + }, + { + "name": "user", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "assetMarketIndex", + "type": "u16" + }, + { + "name": "liabilityMarketIndex", + "type": "u16" + }, + { + "name": "liquidatorMaxLiabilityTransfer", + "type": "u128" + }, + { + "name": "limitPrice", + "type": { + "option": "u64" + } + } + ] + }, + { + "name": "liquidateSpotWithSwapBegin", + "accounts": [ + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "liquidator", + "isMut": true, + "isSigner": false + }, + { + "name": "liquidatorStats", + "isMut": true, + "isSigner": false + }, + { + "name": "user", + "isMut": true, + "isSigner": false + }, + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "liabilitySpotMarketVault", + "isMut": true, + "isSigner": false + }, + { + "name": "assetSpotMarketVault", + "isMut": true, + "isSigner": false + }, + { + "name": "liabilityTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "assetTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "driftSigner", + "isMut": false, + "isSigner": false + }, + { + "name": "instructions", + "isMut": false, + "isSigner": false, + "docs": [ + "Instructions Sysvar for instruction introspection" + ] + } + ], + "args": [ + { + "name": "assetMarketIndex", "type": "u16" }, { - "name": "liquidatorMaxBaseAssetAmount", - "type": "u64" + "name": "liabilityMarketIndex", + "type": "u16" }, { - "name": "limitPrice", - "type": { - "option": "u64" - } + "name": "swapAmount", + "type": "u64" } ] }, { - "name": "liquidatePerpWithFill", + "name": "liquidateSpotWithSwapEnd", "accounts": [ { "name": "state", @@ -1930,47 +2471,44 @@ "name": "userStats", "isMut": true, "isSigner": false - } - ], - "args": [ - { - "name": "marketIndex", - "type": "u16" - } - ] - }, - { - "name": "liquidateSpot", - "accounts": [ + }, { - "name": "state", - "isMut": false, + "name": "liabilitySpotMarketVault", + "isMut": true, "isSigner": false }, { - "name": "authority", - "isMut": false, - "isSigner": true + "name": "assetSpotMarketVault", + "isMut": true, + "isSigner": false }, { - "name": "liquidator", + "name": "liabilityTokenAccount", "isMut": true, "isSigner": false }, { - "name": "liquidatorStats", + "name": "assetTokenAccount", "isMut": true, "isSigner": false }, { - "name": "user", - "isMut": true, + "name": "tokenProgram", + "isMut": false, "isSigner": false }, { - "name": "userStats", - "isMut": true, + "name": "driftSigner", + "isMut": false, "isSigner": false + }, + { + "name": "instructions", + "isMut": false, + "isSigner": false, + "docs": [ + "Instructions Sysvar for instruction introspection" + ] } ], "args": [ @@ -1981,16 +2519,6 @@ { "name": "liabilityMarketIndex", "type": "u16" - }, - { - "name": "liquidatorMaxLiabilityTransfer", - "type": "u128" - }, - { - "name": "limitPrice", - "type": { - "option": "u64" - } } ] }, @@ -2565,6 +3093,27 @@ ], "args": [] }, + { + "name": "updateUserGovTokenInsuranceStakeDevnet", + "accounts": [ + { + "name": "userStats", + "isMut": true, + "isSigner": false + }, + { + "name": "signer", + "isMut": false, + "isSigner": true + } + ], + "args": [ + { + "name": "govStakeAmount", + "type": "u64" + } + ] + }, { "name": "initializeInsuranceFundStake", "accounts": [ @@ -2974,6 +3523,32 @@ } ] }, + { + "name": "pauseSpotMarketDepositWithdraw", + "accounts": [ + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "keeper", + "isMut": false, + "isSigner": true + }, + { + "name": "spotMarket", + "isMut": true, + "isSigner": false + }, + { + "name": "spotMarketVault", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, { "name": "initialize", "accounts": [ @@ -4271,6 +4846,32 @@ } ] }, + { + "name": "updateSpotMarketPoolId", + "accounts": [ + { + "name": "admin", + "isMut": false, + "isSigner": true + }, + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "spotMarket", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "poolId", + "type": "u8" + } + ] + }, { "name": "updateSpotMarketLiquidationFee", "accounts": [ @@ -5753,7 +6354,7 @@ { "name": "fuelBoostDeposits", "type": { - "option": "u32" + "option": "i32" } }, { @@ -6111,18 +6712,146 @@ ], "args": [ { - "name": "feedId", - "type": { - "array": [ - "u8", - 32 - ] - } + "name": "feedId", + "type": { + "array": [ + "u8", + 32 + ] + } + } + ] + }, + { + "name": "initializePythLazerOracle", + "accounts": [ + { + "name": "admin", + "isMut": true, + "isSigner": true + }, + { + "name": "lazerOracle", + "isMut": true, + "isSigner": false + }, + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "feedId", + "type": "u32" + } + ] + }, + { + "name": "postPythLazerOracleUpdate", + "accounts": [ + { + "name": "keeper", + "isMut": true, + "isSigner": true + }, + { + "name": "pythLazerStorage", + "isMut": false, + "isSigner": false + }, + { + "name": "ixSysvar", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "pythMessage", + "type": "bytes" + } + ] + }, + { + "name": "initializeHighLeverageModeConfig", + "accounts": [ + { + "name": "admin", + "isMut": true, + "isSigner": true + }, + { + "name": "highLeverageModeConfig", + "isMut": true, + "isSigner": false + }, + { + "name": "state", + "isMut": false, + "isSigner": false + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "maxUsers", + "type": "u32" + } + ] + }, + { + "name": "updateHighLeverageModeConfig", + "accounts": [ + { + "name": "admin", + "isMut": true, + "isSigner": true + }, + { + "name": "highLeverageModeConfig", + "isMut": true, + "isSigner": false + }, + { + "name": "state", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "maxUsers", + "type": "u32" + }, + { + "name": "reduceOnly", + "type": "bool" } ] }, { - "name": "initializeHighLeverageModeConfig", + "name": "initializeProtectedMakerModeConfig", "accounts": [ { "name": "admin", @@ -6130,7 +6859,7 @@ "isSigner": true }, { - "name": "highLeverageModeConfig", + "name": "protectedMakerModeConfig", "isMut": true, "isSigner": false }, @@ -6158,7 +6887,7 @@ ] }, { - "name": "updateHighLeverageModeConfig", + "name": "updateProtectedMakerModeConfig", "accounts": [ { "name": "admin", @@ -6166,7 +6895,7 @@ "isSigner": true }, { - "name": "highLeverageModeConfig", + "name": "protectedMakerModeConfig", "isMut": true, "isSigner": false }, @@ -6810,7 +7539,7 @@ "type": "u8" }, { - "name": "padding1", + "name": "poolId", "type": "u8" }, { @@ -6833,6 +7562,72 @@ ] } }, + { + "name": "ProtectedMakerModeConfig", + "type": { + "kind": "struct", + "fields": [ + { + "name": "maxUsers", + "type": "u32" + }, + { + "name": "currentUsers", + "type": "u32" + }, + { + "name": "reduceOnly", + "type": "u8" + }, + { + "name": "padding", + "type": { + "array": [ + "u8", + 31 + ] + } + } + ] + } + }, + { + "name": "PythLazerOracle", + "type": { + "kind": "struct", + "fields": [ + { + "name": "price", + "type": "i64" + }, + { + "name": "publishTime", + "type": "u64" + }, + { + "name": "postedSlot", + "type": "u64" + }, + { + "name": "exponent", + "type": "i32" + }, + { + "name": "padding", + "type": { + "array": [ + "u8", + 4 + ] + } + }, + { + "name": "conf", + "type": "u64" + } + ] + } + }, { "name": "RFQUser", "type": { @@ -7346,12 +8141,16 @@ "name": "tokenProgram", "type": "u8" }, + { + "name": "poolId", + "type": "u8" + }, { "name": "padding", "type": { "array": [ "u8", - 41 + 40 ] } } @@ -7477,6 +8276,33 @@ ] } }, + { + "name": "SwiftUserOrders", + "docs": [ + "* This struct is a duplicate of SwiftUserOrdersZeroCopy\n * It is used to give anchor an struct to generate the idl for clients\n * The struct SwiftUserOrdersZeroCopy is used to load the data in efficiently" + ], + "type": { + "kind": "struct", + "fields": [ + { + "name": "authorityPubkey", + "type": "publicKey" + }, + { + "name": "padding", + "type": "u32" + }, + { + "name": "swiftOrderData", + "type": { + "vec": { + "defined": "SwiftOrderId" + } + } + } + ] + } + }, { "name": "User", "type": { @@ -7705,12 +8531,16 @@ "defined": "MarginMode" } }, + { + "name": "poolId", + "type": "u8" + }, { "name": "padding1", "type": { "array": [ "u8", - 4 + 3 ] } }, @@ -7851,10 +8681,17 @@ "type": { "array": [ "u8", - 2 + 1 ] } }, + { + "name": "fuelOverflowStatus", + "docs": [ + "whether the user has a FuelOverflow account" + ], + "type": "u8" + }, { "name": "fuelInsurance", "docs": [ @@ -7951,6 +8788,62 @@ } ] } + }, + { + "name": "FuelOverflow", + "type": { + "kind": "struct", + "fields": [ + { + "name": "authority", + "docs": [ + "The authority of this overflow account" + ], + "type": "publicKey" + }, + { + "name": "fuelInsurance", + "type": "u128" + }, + { + "name": "fuelDeposits", + "type": "u128" + }, + { + "name": "fuelBorrows", + "type": "u128" + }, + { + "name": "fuelPositions", + "type": "u128" + }, + { + "name": "fuelTaker", + "type": "u128" + }, + { + "name": "fuelMaker", + "type": "u128" + }, + { + "name": "lastFuelSweepTs", + "type": "u32" + }, + { + "name": "lastResetTs", + "type": "u32" + }, + { + "name": "padding", + "type": { + "array": [ + "u128", + 6 + ] + } + } + ] + } } ], "types": [ @@ -8436,27 +9329,6 @@ ] } }, - { - "name": "SwiftServerMessage", - "type": { - "kind": "struct", - "fields": [ - { - "name": "swiftOrderSignature", - "type": { - "array": [ - "u8", - 64 - ] - } - }, - { - "name": "slot", - "type": "u64" - } - ] - } - }, { "name": "SwiftOrderParamsMessage", "type": { @@ -8468,14 +9340,23 @@ "defined": "OrderParams" } }, - { - "name": "expectedOrderId", - "type": "i32" - }, { "name": "subAccountId", "type": "u16" }, + { + "name": "slot", + "type": "u64" + }, + { + "name": "uuid", + "type": { + "array": [ + "u8", + 8 + ] + } + }, { "name": "takeProfitOrderParams", "type": { @@ -8706,9 +9587,7 @@ { "name": "policy", "type": { - "option": { - "defined": "ModifyOrderPolicy" - } + "option": "u8" } } ] @@ -9651,6 +10530,55 @@ ] } }, + { + "name": "SwiftOrderId", + "type": { + "kind": "struct", + "fields": [ + { + "name": "uuid", + "type": { + "array": [ + "u8", + 8 + ] + } + }, + { + "name": "maxSlot", + "type": "u64" + }, + { + "name": "orderId", + "type": "u32" + }, + { + "name": "padding", + "type": "u32" + } + ] + } + }, + { + "name": "SwiftUserOrdersFixed", + "type": { + "kind": "struct", + "fields": [ + { + "name": "userPubkey", + "type": "publicKey" + }, + { + "name": "padding", + "type": "u32" + }, + { + "name": "len", + "type": "u32" + } + ] + } + }, { "name": "UserFees", "type": { @@ -10092,9 +11020,16 @@ } }, { - "name": "auctionDuration", + "name": "auctionDuration", + "docs": [ + "How many slots the auction lasts" + ], + "type": "u8" + }, + { + "name": "postedSlotTail", "docs": [ - "How many slots the auction lasts" + "Last 8 bits of the slot the order was posted on-chain (not order slot for swift orders)" ], "type": "u8" }, @@ -10103,7 +11038,7 @@ "type": { "array": [ "u8", - 3 + 2 ] } } @@ -10550,7 +11485,11 @@ "name": "PlaceAndMake" }, { - "name": "PlaceAndTake" + "name": "PlaceAndTake", + "fields": [ + "bool", + "u8" + ] }, { "name": "Liquidation" @@ -10578,7 +11517,8 @@ "name": "Match", "fields": [ "publicKey", - "u16" + "u16", + "u64" ] } ] @@ -10672,6 +11612,18 @@ }, { "name": "SwitchboardOnDemand" + }, + { + "name": "PythLazer" + }, + { + "name": "PythLazer1K" + }, + { + "name": "PythLazer1M" + }, + { + "name": "PythLazerStableCoin" } ] } @@ -10702,10 +11654,10 @@ "kind": "enum", "variants": [ { - "name": "TryModify" + "name": "MustModify" }, { - "name": "MustModify" + "name": "ExcludePreviousFill" } ] } @@ -10746,6 +11698,9 @@ }, { "name": "Liquidation" + }, + { + "name": "AmmImmediateFill" } ] } @@ -10888,6 +11843,23 @@ ] } }, + { + "name": "AMMAvailability", + "type": { + "kind": "enum", + "variants": [ + { + "name": "Immediate" + }, + { + "name": "AfterMinDuration" + }, + { + "name": "Unavailable" + } + ] + } + }, { "name": "SettlePnlMode", "type": { @@ -10978,6 +11950,9 @@ }, { "name": "SettlePnlPaused" + }, + { + "name": "AmmImmediateFillPaused" } ] } @@ -10998,6 +11973,9 @@ }, { "name": "AdvancedLp" + }, + { + "name": "ProtectedMakerOrders" } ] } @@ -11120,6 +12098,55 @@ } ] } + }, + { + "name": "FuelOverflowStatus", + "type": { + "kind": "enum", + "variants": [ + { + "name": "Exists" + } + ] + } + }, + { + "name": "SignatureVerificationError", + "type": { + "kind": "enum", + "variants": [ + { + "name": "InvalidEd25519InstructionProgramId" + }, + { + "name": "InvalidEd25519InstructionDataLength" + }, + { + "name": "InvalidSignatureIndex" + }, + { + "name": "InvalidSignatureOffset" + }, + { + "name": "InvalidPublicKeyOffset" + }, + { + "name": "InvalidMessageOffset" + }, + { + "name": "InvalidMessageDataSize" + }, + { + "name": "InvalidInstructionIndex" + }, + { + "name": "MessageOffsetOverflow" + }, + { + "name": "InvalidMessageHex" + } + ] + } } ], "events": [ @@ -11550,13 +12577,28 @@ "index": false }, { - "name": "swiftOrderSlot", + "name": "userOrderId", + "type": "u32", + "index": false + }, + { + "name": "swiftOrderMaxSlot", "type": "u64", "index": false }, { - "name": "userNextOrderId", - "type": "u32", + "name": "swiftOrderUuid", + "type": { + "array": [ + "u8", + 8 + ] + }, + "index": false + }, + { + "name": "ts", + "type": "i64", "index": false } ] @@ -12193,6 +13235,163 @@ "index": false } ] + }, + { + "name": "DeleteUserRecord", + "fields": [ + { + "name": "ts", + "type": "i64", + "index": false + }, + { + "name": "userAuthority", + "type": "publicKey", + "index": false + }, + { + "name": "user", + "type": "publicKey", + "index": false + }, + { + "name": "subAccountId", + "type": "u16", + "index": false + }, + { + "name": "keeper", + "type": { + "option": "publicKey" + }, + "index": false + } + ] + }, + { + "name": "FuelSweepRecord", + "fields": [ + { + "name": "ts", + "type": "i64", + "index": false + }, + { + "name": "authority", + "type": "publicKey", + "index": false + }, + { + "name": "userStatsFuelInsurance", + "type": "u32", + "index": false + }, + { + "name": "userStatsFuelDeposits", + "type": "u32", + "index": false + }, + { + "name": "userStatsFuelBorrows", + "type": "u32", + "index": false + }, + { + "name": "userStatsFuelPositions", + "type": "u32", + "index": false + }, + { + "name": "userStatsFuelTaker", + "type": "u32", + "index": false + }, + { + "name": "userStatsFuelMaker", + "type": "u32", + "index": false + }, + { + "name": "fuelOverflowFuelInsurance", + "type": "u128", + "index": false + }, + { + "name": "fuelOverflowFuelDeposits", + "type": "u128", + "index": false + }, + { + "name": "fuelOverflowFuelBorrows", + "type": "u128", + "index": false + }, + { + "name": "fuelOverflowFuelPositions", + "type": "u128", + "index": false + }, + { + "name": "fuelOverflowFuelTaker", + "type": "u128", + "index": false + }, + { + "name": "fuelOverflowFuelMaker", + "type": "u128", + "index": false + } + ] + }, + { + "name": "FuelSeasonRecord", + "fields": [ + { + "name": "ts", + "type": "i64", + "index": false + }, + { + "name": "authority", + "type": "publicKey", + "index": false + }, + { + "name": "fuelInsurance", + "type": "u128", + "index": false + }, + { + "name": "fuelDeposits", + "type": "u128", + "index": false + }, + { + "name": "fuelBorrows", + "type": "u128", + "index": false + }, + { + "name": "fuelPositions", + "type": "u128", + "index": false + }, + { + "name": "fuelTaker", + "type": "u128", + "index": false + }, + { + "name": "fuelMaker", + "type": "u128", + "index": false + }, + { + "name": "fuelTotal", + "type": "u128", + "index": false + } + ] } ], "errors": [ @@ -13584,12 +14783,12 @@ { "code": 6277, "name": "OracleMismatchedVaaAndPriceUpdates", - "msg": "Don't have the same remaining accounts number and merkle price updates left" + "msg": "Don't have the same remaining accounts number and pyth updates left" }, { "code": 6278, "name": "OracleBadRemainingAccountPublicKey", - "msg": "Remaining account passed is not a valid pda" + "msg": "Remaining account passed does not match oracle update derived pda" }, { "code": 6279, @@ -13639,7 +14838,7 @@ { "code": 6288, "name": "InvalidSwiftOrderParam", - "msg": "Swift only available for market/oracle perp orders" + "msg": "Invalid swift order param" }, { "code": 6289, @@ -13680,9 +14879,81 @@ "code": 6296, "name": "InvalidRFQMatch", "msg": "RFQ matches must be valid" + }, + { + "code": 6297, + "name": "InvalidSwiftUserAccount", + "msg": "Invalid swift user account" + }, + { + "code": 6298, + "name": "SwiftUserAccountWrongMutability", + "msg": "Swift account wrong mutability" + }, + { + "code": 6299, + "name": "SwiftUserOrdersAccountFull", + "msg": "SwiftUserAccount has too many active orders" + }, + { + "code": 6300, + "name": "SwiftOrderDoesNotExist", + "msg": "Order with swift uuid does not exist" + }, + { + "code": 6301, + "name": "InvalidSwiftOrderId", + "msg": "Swift order id cannot be 0s" + }, + { + "code": 6302, + "name": "InvalidPoolId", + "msg": "Invalid pool id" + }, + { + "code": 6303, + "name": "InvalidProtectedMakerModeConfig", + "msg": "Invalid Protected Maker Mode Config" + }, + { + "code": 6304, + "name": "InvalidPythLazerStorageOwner", + "msg": "Invalid pyth lazer storage owner" + }, + { + "code": 6305, + "name": "UnverifiedPythLazerMessage", + "msg": "Verification of pyth lazer message failed" + }, + { + "code": 6306, + "name": "InvalidPythLazerMessage", + "msg": "Invalid pyth lazer message" + }, + { + "code": 6307, + "name": "PythLazerMessagePriceFeedMismatch", + "msg": "Pyth lazer message does not correspond to correct fed id" + }, + { + "code": 6308, + "name": "InvalidLiquidateSpotWithSwap", + "msg": "InvalidLiquidateSpotWithSwap" + }, + { + "code": 6309, + "name": "SwiftUserContextUserMismatch", + "msg": "User in swift message does not match user in ix context" + }, + { + "code": 6310, + "name": "UserFuelOverflowThresholdNotMet", + "msg": "User fuel overflow threshold not met" + }, + { + "code": 6311, + "name": "FuelOverflowAccountNotFound", + "msg": "FuelOverflow account not found" } - ], - "metadata": { - "address": "dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH" - } + ] } \ No newline at end of file diff --git a/deps/drift.so b/deps/drift.so index f9ea8021..4503609d 100755 Binary files a/deps/drift.so and b/deps/drift.so differ diff --git a/programs/drift_vaults/Cargo.toml b/programs/drift_vaults/Cargo.toml index 6b1d3a74..a6534fdc 100644 --- a/programs/drift_vaults/Cargo.toml +++ b/programs/drift_vaults/Cargo.toml @@ -16,8 +16,9 @@ default = [] [dependencies] anchor-lang = "0.29.0" anchor-spl = { version = "0.29.0", features = ["metadata"] } -drift = { git = "https://github.com/drift-labs/protocol-v2.git", rev = "v2.103.0", features = ["cpi", "mainnet-beta"] } +drift = { git = "https://github.com/drift-labs/protocol-v2.git", rev = "v2.109.0", features = ["cpi", "mainnet-beta"] } bytemuck = { version = "1.4.0" } static_assertions = "1.1.0" drift-macros = { git = "https://github.com/drift-labs/drift-macros.git", rev = "c57d87" } -ahash = "=0.8.6" \ No newline at end of file +ahash = "=0.8.6" +serde = "=1.0.209" \ No newline at end of file