From 5d1bce986bdbfe0f18fb2aa3346174c78cde472e Mon Sep 17 00:00:00 2001 From: Sarfaraz Nawaz Date: Sat, 9 May 2026 15:57:52 +0530 Subject: [PATCH 1/9] Make rewards-delegated-vrf and anchor-rock-paper-scissor work with SDK 'backward-compat` flag --- anchor-rock-paper-scissor/Cargo.lock | 1080 ++++++++++++--- .../anchor-rock-paper-scissor/Cargo.toml | 2 +- rewards-delegated-vrf/Cargo.lock | 1203 +++++++++++++---- .../programs/rewards-delegated-vrf/Cargo.toml | 2 +- 4 files changed, 1881 insertions(+), 406 deletions(-) diff --git a/anchor-rock-paper-scissor/Cargo.lock b/anchor-rock-paper-scissor/Cargo.lock index a296da3..1ac9800 100644 --- a/anchor-rock-paper-scissor/Cargo.lock +++ b/anchor-rock-paper-scissor/Cargo.lock @@ -165,26 +165,26 @@ dependencies = [ "bincode", "borsh 0.10.4", "bytemuck", - "solana-account-info", - "solana-clock", - "solana-cpi", + "solana-account-info 2.3.0", + "solana-clock 2.2.2", + "solana-cpi 2.2.1", "solana-define-syscall 2.3.0", "solana-feature-gate-interface", "solana-instruction 2.3.3", - "solana-instructions-sysvar", + "solana-instructions-sysvar 2.2.2", "solana-invoke", "solana-loader-v3-interface 3.0.0", - "solana-msg", - "solana-program-entrypoint", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.3.0", "solana-program-error 2.2.2", - "solana-program-memory", - "solana-program-option", - "solana-program-pack", + "solana-program-memory 2.3.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", - "solana-sysvar", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "solana-sysvar 2.3.0", + "solana-sysvar-id 2.2.1", "thiserror 1.0.69", ] @@ -264,6 +264,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.12.3" @@ -550,6 +556,12 @@ dependencies = [ "sha2-const-stable", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -571,6 +583,18 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.7" @@ -644,6 +668,16 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "zeroize", +] + [[package]] name = "digest" version = "0.9.0" @@ -660,15 +694,47 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", + "const-oid", "crypto-common", "subtle", ] [[package]] -name = "ephemeral-rollups-sdk" -version = "0.11.0" +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5d2776bfdb0dff1b7c5f611757cb2086f626bd6b84ee67516ef1d5447986c9" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "ephemeral-rollups-sdk" +version = "0.12.0" dependencies = [ "anchor-lang", "base64ct", @@ -679,21 +745,24 @@ dependencies = [ "ephemeral-rollups-sdk-attribute-delegate", "ephemeral-rollups-sdk-attribute-ephemeral", "ephemeral-rollups-sdk-attribute-ephemeral-accounts", + "five8 0.2.1", "getrandom 0.2.16", "magicblock-delegation-program-api", "magicblock-magic-program-api", "num-derive", "num-traits", - "solana-program", - "solana-system-interface", + "solana-account-info 2.3.0", + "solana-address 2.6.0", + "solana-program 2.3.0", + "solana-program 3.0.0", + "solana-program-error 2.2.2", + "solana-system-interface 2.0.0", "thiserror 1.0.69", ] [[package]] name = "ephemeral-rollups-sdk-attribute-action" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfaba360b581b869c8ccbc5391e15541e2d12fb7a9e1be0913efe8d2b24968c" +version = "0.12.0" dependencies = [ "quote", "syn 1.0.109", @@ -701,9 +770,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-commit" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c7a7787df4d7217e4c51e46c95414f0609776b5a0affd57c6bc0a6e39082e41" +version = "0.12.0" dependencies = [ "quote", "syn 1.0.109", @@ -711,9 +778,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-delegate" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9e3a4a91abd79cd2865ea3696f10220b30ee00a3c8b3b7cdce29646d62d8b3" +version = "0.12.0" dependencies = [ "proc-macro2", "quote", @@ -722,9 +787,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-ephemeral" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "610e7251be1f0e6117a3225be898006921dfa2fe6bd81e9c7e433324f7bb29c1" +version = "0.12.0" dependencies = [ "proc-macro2", "quote", @@ -733,9 +796,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-ephemeral-accounts" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309c74ca06b9a1cee004fefb0fa5955630aac22a307de4387ec251ecb21728c4" +version = "0.12.0" dependencies = [ "proc-macro2", "quote", @@ -754,6 +815,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "fiat-crypto" version = "0.2.9" @@ -828,6 +899,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -854,6 +926,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -893,6 +976,15 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -925,6 +1017,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.9", + "signature", +] + [[package]] name = "keccak" version = "0.1.5" @@ -1016,11 +1122,10 @@ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "magicblock-delegation-program-api" version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c24e2f7c4d2dc7e4d7c0a200f0cfac03e39745e7f5a03d72959f2e5847894b6" dependencies = [ "bincode", "borsh 0.10.4", + "borsh 1.6.0", "bytemuck", "const-crypto", "num_enum", @@ -1030,10 +1135,14 @@ dependencies = [ "pinocchio-system", "rkyv", "serde", - "solana-address", + "solana-address 2.6.0", "solana-instruction 3.4.0", - "solana-program", + "solana-loader-v3-interface 6.1.1", + "solana-program 3.0.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 3.1.0", "solana-sha256-hasher 3.1.0", + "solana-system-interface 2.0.0", "static_assertions", "strum", "thiserror 2.0.18", @@ -1048,7 +1157,7 @@ dependencies = [ "bincode", "const-crypto", "serde", - "solana-program", + "solana-program 2.3.0", "solana-signature", ] @@ -1182,7 +1291,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06810dac15a4ef83d3dabdb4f2f22fb39c9adff669cd2781da4f716510a647c" dependencies = [ "solana-account-view", - "solana-address", + "solana-address 2.6.0", "solana-define-syscall 4.0.1", "solana-instruction-view", "solana-program-error 3.0.1", @@ -1226,7 +1335,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24044a0815753862b558e179e78f03f7344cb755de48617a09d7d23b50883b6c" dependencies = [ "pinocchio 0.10.2", - "solana-address", + "solana-address 2.6.0", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", ] [[package]] @@ -1418,6 +1537,16 @@ dependencies = [ "bytecheck", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + [[package]] name = "rkyv" version = "0.7.46" @@ -1480,6 +1609,20 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + [[package]] name = "semver" version = "1.0.27" @@ -1603,6 +1746,16 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -1621,11 +1774,11 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" dependencies = [ - "solana-account-info", - "solana-clock", + "solana-account-info 2.3.0", + "solana-clock 2.2.2", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -1637,20 +1790,42 @@ dependencies = [ "bincode", "serde", "solana-program-error 2.2.2", - "solana-program-memory", + "solana-program-memory 2.3.1", "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-account-info" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9cf16495d9eb53e3d04e72366a33bb1c20c24e78c171d8b8f5978357b63ae95" +dependencies = [ + "bincode", + "serde_core", + "solana-address 2.6.0", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", +] + [[package]] name = "solana-account-view" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37ca34c37f92ee341b73d5ce7c8ef5bb38e9a87955b4bd343c63fa18b149215" dependencies = [ - "solana-address", + "solana-address 2.6.0", "solana-program-error 3.0.1", ] +[[package]] +name = "solana-address" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ecac8e1b7f74c2baa9e774c42817e3e75b20787134b76cc4d45e8a604488f5" +dependencies = [ + "solana-address 2.6.0", +] + [[package]] name = "solana-address" version = "2.6.0" @@ -1664,7 +1839,9 @@ dependencies = [ "five8 1.0.0", "five8_const 1.0.0", "serde", + "serde_derive", "sha2-const-stable", + "solana-atomic-u64 3.0.1", "solana-define-syscall 5.1.0", "solana-program-error 3.0.1", "solana-sanitize 3.0.1", @@ -1682,11 +1859,23 @@ dependencies = [ "bytemuck", "serde", "serde_derive", - "solana-clock", + "solana-clock 2.2.2", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-slot-hashes", + "solana-sdk-ids 2.2.1", + "solana-slot-hashes 2.2.1", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115b4f773acc4f3f3cb986b0d335e9845c0368c82b0940410935bc11ae065578" +dependencies = [ + "solana-clock 3.0.1", + "solana-pubkey 4.2.0", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.1", ] [[package]] @@ -1698,6 +1887,15 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "solana-atomic-u64" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "085db4906d89324cef2a30840d59eaecf3d4231c560ec7c9f6614a93c652f501" +dependencies = [ + "parking_lot", +] + [[package]] name = "solana-big-mod-exp" version = "2.2.1" @@ -1709,6 +1907,17 @@ dependencies = [ "solana-define-syscall 2.3.0", ] +[[package]] +name = "solana-big-mod-exp" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c80fb6d791b3925d5ec4bf23a7c169ef5090c013059ec3ed7d0b2c04efa085" +dependencies = [ + "num-bigint", + "num-traits", + "solana-define-syscall 3.0.0", +] + [[package]] name = "solana-bincode" version = "2.2.1" @@ -1732,6 +1941,17 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-blake3-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7116e1d942a2432ca3f514625104757ab8a56233787e95144c93950029e31176" +dependencies = [ + "blake3", + "solana-define-syscall 4.0.1", + "solana-hash 4.3.0", +] + [[package]] name = "solana-borsh" version = "2.2.1" @@ -1742,6 +1962,15 @@ dependencies = [ "borsh 1.6.0", ] +[[package]] +name = "solana-borsh" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c04abbae16f57178a163125805637b8a076175bb5c0002fb04f4792bea901cf7" +dependencies = [ + "borsh 1.6.0", +] + [[package]] name = "solana-clock" version = "2.2.2" @@ -1750,9 +1979,22 @@ checksum = "1bb482ab70fced82ad3d7d3d87be33d466a3498eb8aa856434ff3c0dfc2e2e31" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-clock" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95cf11109c3b6115cc510f1e31f06fdd52f504271bc24ef5f1249fbbcae5f9f3" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -1761,12 +2003,26 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" dependencies = [ - "solana-account-info", + "solana-account-info 2.3.0", "solana-define-syscall 2.3.0", "solana-instruction 2.3.3", "solana-program-error 2.2.2", "solana-pubkey 2.4.0", - "solana-stable-layout", + "solana-stable-layout 2.2.1", +] + +[[package]] +name = "solana-cpi" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dea26709d867aada85d0d3617db0944215c8bb28d3745b912de7db13a23280c" +dependencies = [ + "solana-account-info 3.1.1", + "solana-define-syscall 4.0.1", + "solana-instruction 3.4.0", + "solana-program-error 3.0.1", + "solana-pubkey 4.2.0", + "solana-stable-layout 3.0.1", ] [[package]] @@ -1784,6 +2040,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ae3e2abcf541c8122eafe9a625d4d194b4023c20adde1e251f94e056bb1aee2" +[[package]] +name = "solana-define-syscall" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9697086a4e102d28a156b8d6b521730335d6951bd39a5e766512bbe09007cee" + [[package]] name = "solana-define-syscall" version = "4.0.1" @@ -1805,9 +2067,23 @@ dependencies = [ "serde", "serde_derive", "solana-hash 2.3.0", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-rewards" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5e7b0ba210593ba8ddd39d6d234d81795d1671cebf3026baa10d5dc23ac42f0" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 4.3.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -1818,9 +2094,32 @@ checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-schedule" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce264b7b42322325947c4136a09460bf5c73d9aa8262c9b0a2064be63ba8639" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-stake" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "027e6d0b9e7daac5b2ac7c3f9ca1b727861121d9ef05084cf435ff736051e7c2" +dependencies = [ + "solana-define-syscall 5.1.0", + "solana-pubkey 4.2.0", ] [[package]] @@ -1831,16 +2130,37 @@ checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" dependencies = [ "serde", "serde_derive", - "solana-address-lookup-table-interface", - "solana-clock", + "solana-address-lookup-table-interface 2.2.2", + "solana-clock 2.2.2", "solana-hash 2.3.0", "solana-instruction 2.3.3", - "solana-keccak-hasher", - "solana-message", - "solana-nonce", + "solana-keccak-hasher 2.2.1", + "solana-message 2.4.0", + "solana-nonce 2.2.1", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-example-mocks" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978855d164845c1b0235d4b4d101cadc55373fffaf0b5b6cfa2194d25b2ed658" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 3.1.0", + "solana-clock 3.0.1", + "solana-hash 3.1.0", + "solana-instruction 3.4.0", + "solana-keccak-hasher 3.1.0", + "solana-message 3.1.0", + "solana-nonce 3.2.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", "thiserror 2.0.18", ] @@ -1854,13 +2174,13 @@ dependencies = [ "serde", "serde_derive", "solana-account", - "solana-account-info", + "solana-account-info 2.3.0", "solana-instruction 2.3.3", "solana-program-error 2.2.2", "solana-pubkey 2.4.0", - "solana-rent", - "solana-sdk-ids", - "solana-system-interface", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] @@ -1874,6 +2194,17 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "solana-fee-calculator" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e8add96b5741573e9f7529c4bb7719cfcfa999c3847a68cdfaef0cb6adf567" +dependencies = [ + "log", + "serde", + "serde_derive", +] + [[package]] name = "solana-hash" version = "2.3.0" @@ -1887,16 +2218,36 @@ dependencies = [ "js-sys", "serde", "serde_derive", - "solana-atomic-u64", + "solana-atomic-u64 2.2.1", "solana-sanitize 2.2.1", "wasm-bindgen", ] +[[package]] +name = "solana-hash" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "337c246447142f660f778cf6cb582beba8e28deb05b3b24bfb9ffd7c562e5f41" +dependencies = [ + "solana-hash 4.3.0", +] + [[package]] name = "solana-hash" version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1b113239362cee7093bfb250467138f079a2a03673181dc15bff6ccd677912d" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "five8 1.0.0", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.1", + "solana-sanitize 3.0.1", + "wincode", +] [[package]] name = "solana-instruction" @@ -1923,6 +2274,10 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ebb0ffd19263051bc3f683fcc086134b8ff23af894dcb63f7563c7137b42f1" dependencies = [ + "bincode", + "borsh 1.6.0", + "serde", + "serde_derive", "solana-define-syscall 5.1.0", "solana-instruction-error", "solana-pubkey 4.2.0", @@ -1945,7 +2300,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60147e4d0a4620013df40bf30a86dd299203ff12fcb8b593cd51014fce0875d8" dependencies = [ "solana-account-view", - "solana-address", + "solana-address 2.6.0", "solana-define-syscall 4.0.1", "solana-program-error 3.0.1", ] @@ -1957,14 +2312,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" dependencies = [ "bitflags", - "solana-account-info", + "solana-account-info 2.3.0", "solana-instruction 2.3.3", "solana-program-error 2.2.2", "solana-pubkey 2.4.0", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-serialize-utils", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf67876c541aa1e21ee1acae35c95c6fbc61119814bfef70579317a5e26955" +dependencies = [ + "bitflags", + "solana-account-info 3.1.1", + "solana-instruction 3.4.0", + "solana-instruction-error", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-serialize-utils 3.1.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -1973,11 +2346,11 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58f5693c6de226b3626658377168b0184e94e8292ff16e3d31d4766e65627565" dependencies = [ - "solana-account-info", + "solana-account-info 2.3.0", "solana-define-syscall 2.3.0", "solana-instruction 2.3.3", - "solana-program-entrypoint", - "solana-stable-layout", + "solana-program-entrypoint 2.3.0", + "solana-stable-layout 2.2.1", ] [[package]] @@ -1992,6 +2365,17 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-keccak-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed1c0d16d6fdeba12291a1f068cdf0d479d9bff1141bf44afd7aa9d485f65ef8" +dependencies = [ + "sha3", + "solana-define-syscall 4.0.1", + "solana-hash 4.3.0", +] + [[package]] name = "solana-last-restart-slot" version = "2.2.1" @@ -2000,9 +2384,22 @@ checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-last-restart-slot" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcda154ec827f5fc1e4da0af3417951b7e9b8157540f81f936c4a8b1156134d0" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2016,7 +2413,7 @@ dependencies = [ "serde_derive", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -2030,8 +2427,8 @@ dependencies = [ "serde_derive", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] @@ -2045,8 +2442,22 @@ dependencies = [ "serde_derive", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0538d4dbc9022e01616f1c58f2db98ece739c5d5ed4a2ef8737a953e76a2d4" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.4.0", + "solana-pubkey 4.2.0", + "solana-sdk-ids 3.1.0", ] [[package]] @@ -2060,8 +2471,8 @@ dependencies = [ "serde_derive", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] @@ -2080,13 +2491,31 @@ dependencies = [ "solana-instruction 2.3.3", "solana-pubkey 2.4.0", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-short-vec", - "solana-system-interface", - "solana-transaction-error", + "solana-sdk-ids 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", + "solana-transaction-error 2.2.1", "wasm-bindgen", ] +[[package]] +name = "solana-message" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0448b1fd891c5f46491e5dc7d9986385ba3c852c340db2911dd29faa01d2b08d" +dependencies = [ + "lazy_static", + "serde", + "serde_derive", + "solana-address 2.6.0", + "solana-hash 4.3.0", + "solana-instruction 3.4.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.1", + "solana-transaction-error 3.2.0", +] + [[package]] name = "solana-msg" version = "2.2.1" @@ -2096,12 +2525,27 @@ dependencies = [ "solana-define-syscall 2.3.0", ] +[[package]] +name = "solana-msg" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726b7cbbc6be6f1c6f29146ac824343b9415133eee8cce156452ad1db93f8008" +dependencies = [ + "solana-define-syscall 5.1.0", +] + [[package]] name = "solana-native-token" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61515b880c36974053dd499c0510066783f0cc6ac17def0c7ef2a244874cf4a9" +[[package]] +name = "solana-native-token" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8dd4c280dca9d046139eb5b7a5ac9ad10403fbd64964c7d7571214950d758f" + [[package]] name = "solana-nonce" version = "2.2.1" @@ -2110,12 +2554,24 @@ checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" dependencies = [ "serde", "serde_derive", - "solana-fee-calculator", + "solana-fee-calculator 2.2.1", "solana-hash 2.3.0", "solana-pubkey 2.4.0", "solana-sha256-hasher 2.3.0", ] +[[package]] +name = "solana-nonce" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95dbc9f2e33b6c10e231df15cb2a3bff9ea7eab6347f9e316fe75c97fd67bbb" +dependencies = [ + "solana-fee-calculator 3.2.0", + "solana-hash 4.3.0", + "solana-pubkey 4.2.0", + "solana-sha256-hasher 3.1.0", +] + [[package]] name = "solana-program" version = "2.3.0" @@ -2141,73 +2597,132 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "solana-account-info", - "solana-address-lookup-table-interface", - "solana-atomic-u64", - "solana-big-mod-exp", + "solana-account-info 2.3.0", + "solana-address-lookup-table-interface 2.2.2", + "solana-atomic-u64 2.2.1", + "solana-big-mod-exp 2.2.1", "solana-bincode", - "solana-blake3-hasher", - "solana-borsh", - "solana-clock", - "solana-cpi", + "solana-blake3-hasher 2.2.1", + "solana-borsh 2.2.1", + "solana-clock 2.2.2", + "solana-cpi 2.2.1", "solana-decode-error", "solana-define-syscall 2.3.0", - "solana-epoch-rewards", - "solana-epoch-schedule", - "solana-example-mocks", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-example-mocks 2.2.1", "solana-feature-gate-interface", - "solana-fee-calculator", + "solana-fee-calculator 2.2.1", "solana-hash 2.3.0", "solana-instruction 2.3.3", - "solana-instructions-sysvar", - "solana-keccak-hasher", - "solana-last-restart-slot", + "solana-instructions-sysvar 2.2.2", + "solana-keccak-hasher 2.2.1", + "solana-last-restart-slot 2.2.1", "solana-loader-v2-interface", "solana-loader-v3-interface 5.0.0", "solana-loader-v4-interface", - "solana-message", - "solana-msg", - "solana-native-token", - "solana-nonce", - "solana-program-entrypoint", + "solana-message 2.4.0", + "solana-msg 2.2.1", + "solana-native-token 2.3.0", + "solana-nonce 2.2.1", + "solana-program-entrypoint 2.3.0", "solana-program-error 2.2.2", - "solana-program-memory", - "solana-program-option", - "solana-program-pack", + "solana-program-memory 2.3.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", "solana-pubkey 2.4.0", - "solana-rent", + "solana-rent 2.2.1", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-secp256k1-recover", - "solana-serde-varint", - "solana-serialize-utils", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-secp256k1-recover 2.2.1", + "solana-serde-varint 2.2.2", + "solana-serialize-utils 2.2.1", "solana-sha256-hasher 2.3.0", - "solana-short-vec", - "solana-slot-hashes", - "solana-slot-history", - "solana-stable-layout", + "solana-short-vec 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stable-layout 2.2.1", "solana-stake-interface", - "solana-system-interface", - "solana-sysvar", - "solana-sysvar-id", + "solana-system-interface 1.0.0", + "solana-sysvar 2.3.0", + "solana-sysvar-id 2.2.1", "solana-vote-interface", "thiserror 2.0.18", "wasm-bindgen", ] +[[package]] +name = "solana-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91b12305dd81045d705f427acd0435a2e46444b65367d7179d7bdcfc3bc5f5eb" +dependencies = [ + "memoffset", + "solana-account-info 3.1.1", + "solana-big-mod-exp 3.0.0", + "solana-blake3-hasher 3.1.0", + "solana-borsh 3.0.2", + "solana-clock 3.0.1", + "solana-cpi 3.1.0", + "solana-define-syscall 3.0.0", + "solana-epoch-rewards 3.0.1", + "solana-epoch-schedule 3.1.0", + "solana-epoch-stake", + "solana-example-mocks 3.0.0", + "solana-fee-calculator 3.2.0", + "solana-hash 3.1.0", + "solana-instruction 3.4.0", + "solana-instruction-error", + "solana-instructions-sysvar 3.0.0", + "solana-keccak-hasher 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-msg 3.1.0", + "solana-native-token 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", + "solana-program-option 3.1.0", + "solana-program-pack 3.1.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-recover 3.1.1", + "solana-serde-varint 3.0.1", + "solana-serialize-utils 3.1.1", + "solana-sha256-hasher 3.1.0", + "solana-short-vec 3.2.1", + "solana-slot-hashes 3.0.1", + "solana-slot-history 3.0.0", + "solana-stable-layout 3.0.1", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + [[package]] name = "solana-program-entrypoint" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32ce041b1a0ed275290a5008ee1a4a6c48f5054c8a3d78d313c08958a06aedbd" dependencies = [ - "solana-account-info", - "solana-msg", + "solana-account-info 2.3.0", + "solana-msg 2.2.1", "solana-program-error 2.2.2", "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-program-entrypoint" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c9b0a1ff494e05f503a08b3d51150b73aa639544631e510279d6375f290997" +dependencies = [ + "solana-account-info 3.1.1", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.1", + "solana-pubkey 4.2.0", +] + [[package]] name = "solana-program-error" version = "2.2.2" @@ -2220,7 +2735,7 @@ dependencies = [ "serde_derive", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", + "solana-msg 2.2.1", "solana-pubkey 2.4.0", ] @@ -2229,6 +2744,11 @@ name = "solana-program-error" version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f04fa578707b3612b095f0c8e19b66a1233f7c42ca8082fcb3b745afcc0add6" +dependencies = [ + "borsh 1.6.0", + "serde", + "serde_derive", +] [[package]] name = "solana-program-memory" @@ -2239,12 +2759,27 @@ dependencies = [ "solana-define-syscall 2.3.0", ] +[[package]] +name = "solana-program-memory" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4068648649653c2c50546e9a7fb761791b5ab0cda054c771bb5808d3a4b9eb52" +dependencies = [ + "solana-define-syscall 4.0.1", +] + [[package]] name = "solana-program-option" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" +[[package]] +name = "solana-program-option" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a88006a9b8594088cec9027ab77caaaa258a2aaa2083d3f086c44b42e50aeab" + [[package]] name = "solana-program-pack" version = "2.2.1" @@ -2254,6 +2789,15 @@ dependencies = [ "solana-program-error 2.2.2", ] +[[package]] +name = "solana-program-pack" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7701cb15b90667ae1c89ef4ac35a59c61e66ce58ddee13d729472af7f41d59" +dependencies = [ + "solana-program-error 3.0.1", +] + [[package]] name = "solana-pubkey" version = "2.4.0" @@ -2272,7 +2816,7 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-atomic-u64", + "solana-atomic-u64 2.2.1", "solana-decode-error", "solana-define-syscall 2.3.0", "solana-sanitize 2.2.1", @@ -2280,13 +2824,22 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "solana-pubkey" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8909d399deb0851aa524420beeb5646b115fd253ef446e35fe4504c904da3941" +dependencies = [ + "solana-address 1.1.0", +] + [[package]] name = "solana-pubkey" version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7db719574990de7e8b0f55a8593ac92a5ccb42c8ce67b3e4bf05b139d5d9ee71" dependencies = [ - "solana-address", + "solana-address 2.6.0", ] [[package]] @@ -2297,9 +2850,22 @@ checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-rent" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e860d5499a705369778647e97d760f7670adfb6fc8419dd3d568deccd46d5487" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2323,6 +2889,15 @@ dependencies = [ "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-sdk-ids" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def234c1956ff616d46c9dd953f251fa7096ddbaa6d52b165218de97882b7280" +dependencies = [ + "solana-address 2.6.0", +] + [[package]] name = "solana-sdk-macro" version = "2.2.1" @@ -2335,6 +2910,18 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "solana-sdk-macro" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8765316242300c48242d84a41614cb3388229ec353ba464f6fe62a733e41806f" +dependencies = [ + "bs58", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "solana-secp256k1-recover" version = "2.2.1" @@ -2346,6 +2933,17 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "solana-secp256k1-recover" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c5f18893d62e6c73117dcba48f8f5e3266d90e5ec3d0a0a90f9785adac36c1" +dependencies = [ + "k256", + "solana-define-syscall 5.1.0", + "thiserror 2.0.18", +] + [[package]] name = "solana-serde-varint" version = "2.2.2" @@ -2355,6 +2953,15 @@ dependencies = [ "serde", ] +[[package]] +name = "solana-serde-varint" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950e5b83e839dc0f92c66afc124bb8f40e89bc90f0579e8ec5499296d27f54e3" +dependencies = [ + "serde", +] + [[package]] name = "solana-serialize-utils" version = "2.2.1" @@ -2366,6 +2973,17 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-serialize-utils" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d7cc401931d178472358e6b78dc72d031dc08f752d7410f0e8bd259dd6f02fa" +dependencies = [ + "solana-instruction-error", + "solana-pubkey 4.2.0", + "solana-sanitize 3.0.1", +] + [[package]] name = "solana-sha256-hasher" version = "2.3.0" @@ -2397,6 +3015,15 @@ dependencies = [ "serde", ] +[[package]] +name = "solana-short-vec" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb8cc883fc7b8ce4a7814cb1441b48c06437049ec11847005cf63bcfa85c546" +dependencies = [ + "serde_core", +] + [[package]] name = "solana-signature" version = "2.3.0" @@ -2419,8 +3046,21 @@ dependencies = [ "serde", "serde_derive", "solana-hash 2.3.0", - "solana-sdk-ids", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-hashes" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2585f70191623887329dfb5078da3a00e15e3980ea67f42c2e10b07028419f43" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 4.3.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2432,8 +3072,21 @@ dependencies = [ "bv", "serde", "serde_derive", - "solana-sdk-ids", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-history" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f914f6b108f5bba14a280b458d023e3621c9973f27f015a4d755b50e88d89e97" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2446,6 +3099,16 @@ dependencies = [ "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-stable-layout" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9f6a291ba063a37780af29e7db14bdd3dc447584d8ba5b3fc4b88e2bbc982fa" +dependencies = [ + "solana-instruction 3.4.0", + "solana-pubkey 4.2.0", +] + [[package]] name = "solana-stake-interface" version = "1.2.1" @@ -2457,14 +3120,14 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-clock", - "solana-cpi", + "solana-clock 2.2.2", + "solana-cpi 2.2.1", "solana-decode-error", "solana-instruction 2.3.3", "solana-program-error 2.2.2", "solana-pubkey 2.4.0", - "solana-system-interface", - "solana-sysvar-id", + "solana-system-interface 1.0.0", + "solana-sysvar-id 2.2.1", ] [[package]] @@ -2483,6 +3146,21 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "solana-system-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e1790547bfc3061f1ee68ea9d8dc6c973c02a163697b24263a8e9f2e6d4afa2" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-instruction 3.4.0", + "solana-msg 3.1.0", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", +] + [[package]] name = "solana-sysvar" version = "2.3.0" @@ -2496,28 +3174,62 @@ dependencies = [ "lazy_static", "serde", "serde_derive", - "solana-account-info", - "solana-clock", + "solana-account-info 2.3.0", + "solana-clock 2.2.2", "solana-define-syscall 2.3.0", - "solana-epoch-rewards", - "solana-epoch-schedule", - "solana-fee-calculator", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-fee-calculator 2.2.1", "solana-hash 2.3.0", "solana-instruction 2.3.3", - "solana-instructions-sysvar", - "solana-last-restart-slot", - "solana-program-entrypoint", + "solana-instructions-sysvar 2.2.2", + "solana-last-restart-slot 2.2.1", + "solana-program-entrypoint 2.3.0", "solana-program-error 2.2.2", - "solana-program-memory", + "solana-program-memory 2.3.1", "solana-pubkey 2.4.0", - "solana-rent", + "solana-rent 2.2.1", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-slot-hashes", - "solana-slot-history", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", "solana-stake-interface", - "solana-sysvar-id", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-sysvar" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6690d3dd88f15c21edff68eb391ef8800df7a1f5cec84ee3e8d1abf05affdf74" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info 3.1.1", + "solana-clock 3.0.1", + "solana-define-syscall 4.0.1", + "solana-epoch-rewards 3.0.1", + "solana-epoch-schedule 3.1.0", + "solana-fee-calculator 3.2.0", + "solana-hash 4.3.0", + "solana-instruction 3.4.0", + "solana-last-restart-slot 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", + "solana-pubkey 4.2.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-slot-hashes 3.0.1", + "solana-slot-history 3.0.0", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2527,7 +3239,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" dependencies = [ "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-sysvar-id" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17358d1e9a13e5b9c2264d301102126cf11a47fd394cdf3dec174fe7bc96e1de" +dependencies = [ + "solana-address 2.6.0", + "solana-sdk-ids 3.1.0", ] [[package]] @@ -2540,6 +3262,16 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-transaction-error" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a2165ad25b694c654d5395fc7a049452a192376e4c96a7fad05580f6ba5ba1c" +dependencies = [ + "solana-instruction-error", + "solana-sanitize 3.0.1", +] + [[package]] name = "solana-vote-interface" version = "2.2.6" @@ -2551,17 +3283,27 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-clock", + "solana-clock 2.2.2", "solana-decode-error", "solana-hash 2.3.0", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-rent", - "solana-sdk-ids", - "solana-serde-varint", - "solana-serialize-utils", - "solana-short-vec", - "solana-system-interface", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serde-varint 2.2.2", + "solana-serialize-utils 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", ] [[package]] diff --git a/anchor-rock-paper-scissor/programs/anchor-rock-paper-scissor/Cargo.toml b/anchor-rock-paper-scissor/programs/anchor-rock-paper-scissor/Cargo.toml index f618a97..1163fc1 100644 --- a/anchor-rock-paper-scissor/programs/anchor-rock-paper-scissor/Cargo.toml +++ b/anchor-rock-paper-scissor/programs/anchor-rock-paper-scissor/Cargo.toml @@ -21,4 +21,4 @@ anchor-debug = [] [dependencies] anchor-lang = { version = "0.32.1", features = ["init-if-needed"] } -ephemeral-rollups-sdk = { version = "0.11.0", features = ["anchor", "access-control"] } +ephemeral-rollups-sdk = { path = "/Users/snawaz/projects/mb/ephemeral-rollups-sdk/rust/sdk", features = ["anchor", "access-control", "backward-compat"] } diff --git a/rewards-delegated-vrf/Cargo.lock b/rewards-delegated-vrf/Cargo.lock index 678e83a..1479dc5 100644 --- a/rewards-delegated-vrf/Cargo.lock +++ b/rewards-delegated-vrf/Cargo.lock @@ -207,26 +207,26 @@ dependencies = [ "bincode", "borsh 0.10.4", "bytemuck", - "solana-account-info", - "solana-clock", - "solana-cpi", + "solana-account-info 2.3.0", + "solana-clock 2.2.1", + "solana-cpi 2.2.1", "solana-define-syscall 2.3.0", "solana-feature-gate-interface", "solana-instruction 2.3.3", - "solana-instructions-sysvar", + "solana-instructions-sysvar 2.2.2", "solana-invoke", - "solana-loader-v3-interface", - "solana-msg", - "solana-program-entrypoint", + "solana-loader-v3-interface 3.0.0", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.2.1", "solana-program-error 2.2.1", - "solana-program-memory", - "solana-program-option", - "solana-program-pack", + "solana-program-memory 2.2.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", - "solana-sysvar", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "solana-sysvar 2.2.1", + "solana-sysvar-id 2.2.1", "thiserror 1.0.69", ] @@ -314,6 +314,12 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.12.3" @@ -615,6 +621,12 @@ dependencies = [ "sha2-const-stable", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -636,6 +648,18 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -720,6 +744,16 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "zeroize", +] + [[package]] name = "derivation-path" version = "0.2.0" @@ -742,10 +776,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", + "const-oid", "crypto-common", "subtle", ] +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + [[package]] name = "either" version = "1.15.0" @@ -753,10 +802,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] -name = "ephemeral-rollups-sdk" -version = "0.11.1" +name = "elliptic-curve" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1565b867ec374d15a18965f148d8eb6f437d02ea1d61702b6bdf254f1a636e8" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "ephemeral-rollups-sdk" +version = "0.12.0" dependencies = [ "anchor-lang", "base64ct", @@ -767,18 +833,21 @@ dependencies = [ "ephemeral-rollups-sdk-attribute-delegate", "ephemeral-rollups-sdk-attribute-ephemeral", "ephemeral-rollups-sdk-attribute-ephemeral-accounts", + "five8 0.2.1", "getrandom 0.2.16", "magicblock-delegation-program-api", "magicblock-magic-program-api", - "solana-program", - "solana-system-interface", + "solana-account-info 2.3.0", + "solana-address 2.6.0", + "solana-program 2.2.1", + "solana-program 3.0.0", + "solana-program-error 2.2.1", + "solana-system-interface 2.0.0", ] [[package]] name = "ephemeral-rollups-sdk-attribute-action" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "908ec145112ae707afddb399612844137214ff99f037522bff46dd1a57f9d3a1" +version = "0.12.0" dependencies = [ "quote", "syn 1.0.109", @@ -786,9 +855,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-commit" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "991b06ad562252dff45015a1e81c5eb7f427a9ae2d5555d1f987b89eb8c06e70" +version = "0.12.0" dependencies = [ "quote", "syn 1.0.109", @@ -796,9 +863,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-delegate" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d75f1f06cd3bc9a7f9dbf60b25906e4b6b3620a5c3351d6ff4a6f251ac784bf" +version = "0.12.0" dependencies = [ "proc-macro2", "quote", @@ -807,9 +872,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-ephemeral" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b28ac61fdce5e0d3f6bd06b58c9760da0a3ff3f12bea493d3f1355b8769d3e3" +version = "0.12.0" dependencies = [ "proc-macro2", "quote", @@ -818,9 +881,7 @@ dependencies = [ [[package]] name = "ephemeral-rollups-sdk-attribute-ephemeral-accounts" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632566ba835b8eb486063f86a38980460567969228d45e1ef1f0e537f5ac8772" +version = "0.12.0" dependencies = [ "proc-macro2", "quote", @@ -836,7 +897,7 @@ dependencies = [ "anchor-lang", "borsh 1.5.7", "ephemeral-vrf-sdk-vrf-macro", - "solana-program", + "solana-program 2.2.1", ] [[package]] @@ -862,6 +923,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "fiat-crypto" version = "0.2.9" @@ -936,6 +1007,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -962,6 +1034,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1065,6 +1148,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.8", + "signature", +] + [[package]] name = "keccak" version = "0.1.5" @@ -1157,11 +1254,10 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "magicblock-delegation-program-api" version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c24e2f7c4d2dc7e4d7c0a200f0cfac03e39745e7f5a03d72959f2e5847894b6" dependencies = [ "bincode", "borsh 0.10.4", + "borsh 1.5.7", "bytemuck", "const-crypto", "num_enum", @@ -1171,10 +1267,14 @@ dependencies = [ "pinocchio-system", "rkyv", "serde", - "solana-address", + "solana-address 2.6.0", "solana-instruction 3.4.0", - "solana-program", + "solana-loader-v3-interface 6.1.1", + "solana-program 3.0.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 3.1.0", "solana-sha256-hasher 3.1.0", + "solana-system-interface 2.0.0", "static_assertions", "strum", "thiserror 2.0.18", @@ -1188,7 +1288,7 @@ checksum = "410003292a8918c9836b9ce03cecd7f6a58d3ee1de134c54cc68ea10dd4fcc27" dependencies = [ "bincode", "serde", - "solana-program", + "solana-program 2.2.1", "solana-signature", ] @@ -1228,7 +1328,7 @@ dependencies = [ "borsh 0.10.4", "num-derive 0.3.3", "num-traits", - "solana-program", + "solana-program 2.2.1", "thiserror 1.0.69", ] @@ -1373,7 +1473,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06810dac15a4ef83d3dabdb4f2f22fb39c9adff669cd2781da4f716510a647c" dependencies = [ "solana-account-view", - "solana-address", + "solana-address 2.6.0", "solana-define-syscall 4.0.1", "solana-instruction-view", "solana-program-error 3.0.1", @@ -1417,7 +1517,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24044a0815753862b558e179e78f03f7344cb755de48617a09d7d23b50883b6c" dependencies = [ "pinocchio 0.10.2", - "solana-address", + "solana-address 2.6.0", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", ] [[package]] @@ -1641,6 +1751,16 @@ dependencies = [ "spl-associated-token-account", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + [[package]] name = "rkyv" version = "0.7.46" @@ -1703,6 +1823,20 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + [[package]] name = "semver" version = "1.0.26" @@ -1824,6 +1958,16 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -1842,11 +1986,11 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" dependencies = [ - "solana-account-info", - "solana-clock", + "solana-account-info 2.3.0", + "solana-clock 2.2.1", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -1858,20 +2002,42 @@ dependencies = [ "bincode", "serde", "solana-program-error 2.2.1", - "solana-program-memory", + "solana-program-memory 2.2.1", "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-account-info" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9cf16495d9eb53e3d04e72366a33bb1c20c24e78c171d8b8f5978357b63ae95" +dependencies = [ + "bincode", + "serde_core", + "solana-address 2.6.0", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", +] + [[package]] name = "solana-account-view" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37ca34c37f92ee341b73d5ce7c8ef5bb38e9a87955b4bd343c63fa18b149215" dependencies = [ - "solana-address", + "solana-address 2.6.0", "solana-program-error 3.0.1", ] +[[package]] +name = "solana-address" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ecac8e1b7f74c2baa9e774c42817e3e75b20787134b76cc4d45e8a604488f5" +dependencies = [ + "solana-address 2.6.0", +] + [[package]] name = "solana-address" version = "2.6.0" @@ -1885,7 +2051,9 @@ dependencies = [ "five8 1.0.0", "five8_const 1.0.0", "serde", + "serde_derive", "sha2-const-stable", + "solana-atomic-u64 3.0.1", "solana-define-syscall 5.0.0", "solana-program-error 3.0.1", "solana-sanitize 3.0.1", @@ -1903,11 +2071,23 @@ dependencies = [ "bytemuck", "serde", "serde_derive", - "solana-clock", + "solana-clock 2.2.1", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-slot-hashes", + "solana-sdk-ids 2.2.1", + "solana-slot-hashes 2.2.1", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115b4f773acc4f3f3cb986b0d335e9845c0368c82b0940410935bc11ae065578" +dependencies = [ + "solana-clock 3.0.1", + "solana-pubkey 4.2.0", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.1", ] [[package]] @@ -1919,6 +2099,15 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "solana-atomic-u64" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "085db4906d89324cef2a30840d59eaecf3d4231c560ec7c9f6614a93c652f501" +dependencies = [ + "parking_lot", +] + [[package]] name = "solana-big-mod-exp" version = "2.2.1" @@ -1930,6 +2119,17 @@ dependencies = [ "solana-define-syscall 2.3.0", ] +[[package]] +name = "solana-big-mod-exp" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c80fb6d791b3925d5ec4bf23a7c169ef5090c013059ec3ed7d0b2c04efa085" +dependencies = [ + "num-bigint", + "num-traits", + "solana-define-syscall 3.0.0", +] + [[package]] name = "solana-bincode" version = "2.2.1" @@ -1953,6 +2153,17 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-blake3-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7116e1d942a2432ca3f514625104757ab8a56233787e95144c93950029e31176" +dependencies = [ + "blake3", + "solana-define-syscall 4.0.1", + "solana-hash 4.3.0", +] + [[package]] name = "solana-borsh" version = "2.2.1" @@ -1963,6 +2174,15 @@ dependencies = [ "borsh 1.5.7", ] +[[package]] +name = "solana-borsh" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c04abbae16f57178a163125805637b8a076175bb5c0002fb04f4792bea901cf7" +dependencies = [ + "borsh 1.5.7", +] + [[package]] name = "solana-clock" version = "2.2.1" @@ -1971,9 +2191,22 @@ checksum = "67c2177a1b9fe8326004f1151a5acd124420b737811080b1035df31349e4d892" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-clock" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95cf11109c3b6115cc510f1e31f06fdd52f504271bc24ef5f1249fbbcae5f9f3" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -1982,12 +2215,26 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" dependencies = [ - "solana-account-info", + "solana-account-info 2.3.0", "solana-define-syscall 2.3.0", "solana-instruction 2.3.3", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", - "solana-stable-layout", + "solana-stable-layout 2.2.1", +] + +[[package]] +name = "solana-cpi" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dea26709d867aada85d0d3617db0944215c8bb28d3745b912de7db13a23280c" +dependencies = [ + "solana-account-info 3.1.1", + "solana-define-syscall 4.0.1", + "solana-instruction 3.4.0", + "solana-program-error 3.0.1", + "solana-pubkey 4.2.0", + "solana-stable-layout 3.0.1", ] [[package]] @@ -2019,6 +2266,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ae3e2abcf541c8122eafe9a625d4d194b4023c20adde1e251f94e056bb1aee2" +[[package]] +name = "solana-define-syscall" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9697086a4e102d28a156b8d6b521730335d6951bd39a5e766512bbe09007cee" + [[package]] name = "solana-define-syscall" version = "4.0.1" @@ -2051,9 +2304,23 @@ dependencies = [ "serde", "serde_derive", "solana-hash 2.2.1", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-rewards" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5e7b0ba210593ba8ddd39d6d234d81795d1671cebf3026baa10d5dc23ac42f0" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 4.3.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2064,9 +2331,32 @@ checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-schedule" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce264b7b42322325947c4136a09460bf5c73d9aa8262c9b0a2064be63ba8639" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-stake" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "027e6d0b9e7daac5b2ac7c3f9ca1b727861121d9ef05084cf435ff736051e7c2" +dependencies = [ + "solana-define-syscall 5.0.0", + "solana-pubkey 4.2.0", ] [[package]] @@ -2077,16 +2367,37 @@ checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" dependencies = [ "serde", "serde_derive", - "solana-address-lookup-table-interface", - "solana-clock", + "solana-address-lookup-table-interface 2.2.2", + "solana-clock 2.2.1", "solana-hash 2.2.1", "solana-instruction 2.3.3", - "solana-keccak-hasher", - "solana-message", - "solana-nonce", + "solana-keccak-hasher 2.2.1", + "solana-message 2.3.0", + "solana-nonce 2.2.1", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-example-mocks" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978855d164845c1b0235d4b4d101cadc55373fffaf0b5b6cfa2194d25b2ed658" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 3.1.0", + "solana-clock 3.0.1", + "solana-hash 3.1.0", + "solana-instruction 3.4.0", + "solana-keccak-hasher 3.1.0", + "solana-message 3.1.0", + "solana-nonce 3.2.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", "thiserror 2.0.18", ] @@ -2100,13 +2411,13 @@ dependencies = [ "serde", "serde_derive", "solana-account", - "solana-account-info", + "solana-account-info 2.3.0", "solana-instruction 2.3.3", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", - "solana-rent", - "solana-sdk-ids", - "solana-system-interface", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] @@ -2120,6 +2431,17 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "solana-fee-calculator" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e8add96b5741573e9f7529c4bb7719cfcfa999c3847a68cdfaef0cb6adf567" +dependencies = [ + "log", + "serde", + "serde_derive", +] + [[package]] name = "solana-hash" version = "2.2.1" @@ -2133,29 +2455,49 @@ dependencies = [ "js-sys", "serde", "serde_derive", - "solana-atomic-u64", + "solana-atomic-u64 2.2.1", "solana-sanitize 2.2.1", "wasm-bindgen", ] [[package]] name = "solana-hash" -version = "4.3.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b113239362cee7093bfb250467138f079a2a03673181dc15bff6ccd677912d" +checksum = "337c246447142f660f778cf6cb582beba8e28deb05b3b24bfb9ffd7c562e5f41" +dependencies = [ + "solana-hash 4.3.0", +] [[package]] -name = "solana-instruction" -version = "2.3.3" +name = "solana-hash" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab5682934bd1f65f8d2c16f21cb532526fcc1a09f796e2cacdb091eee5774ad" +checksum = "f1b113239362cee7093bfb250467138f079a2a03673181dc15bff6ccd677912d" dependencies = [ - "bincode", "borsh 1.5.7", - "getrandom 0.2.16", - "js-sys", - "num-traits", - "serde", + "bytemuck", + "bytemuck_derive", + "five8 1.0.0", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.1", + "solana-sanitize 3.0.1", + "wincode", +] + +[[package]] +name = "solana-instruction" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab5682934bd1f65f8d2c16f21cb532526fcc1a09f796e2cacdb091eee5774ad" +dependencies = [ + "bincode", + "borsh 1.5.7", + "getrandom 0.2.16", + "js-sys", + "num-traits", + "serde", "serde_derive", "serde_json", "solana-define-syscall 2.3.0", @@ -2169,6 +2511,10 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ebb0ffd19263051bc3f683fcc086134b8ff23af894dcb63f7563c7137b42f1" dependencies = [ + "bincode", + "borsh 1.5.7", + "serde", + "serde_derive", "solana-define-syscall 5.0.0", "solana-instruction-error", "solana-pubkey 4.2.0", @@ -2191,7 +2537,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60147e4d0a4620013df40bf30a86dd299203ff12fcb8b593cd51014fce0875d8" dependencies = [ "solana-account-view", - "solana-address", + "solana-address 2.6.0", "solana-define-syscall 4.0.1", "solana-program-error 3.0.1", ] @@ -2203,14 +2549,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" dependencies = [ "bitflags", - "solana-account-info", + "solana-account-info 2.3.0", "solana-instruction 2.3.3", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-serialize-utils", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf67876c541aa1e21ee1acae35c95c6fbc61119814bfef70579317a5e26955" +dependencies = [ + "bitflags", + "solana-account-info 3.1.1", + "solana-instruction 3.4.0", + "solana-instruction-error", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-serialize-utils 3.1.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2219,11 +2583,11 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58f5693c6de226b3626658377168b0184e94e8292ff16e3d31d4766e65627565" dependencies = [ - "solana-account-info", + "solana-account-info 2.3.0", "solana-define-syscall 2.3.0", "solana-instruction 2.3.3", - "solana-program-entrypoint", - "solana-stable-layout", + "solana-program-entrypoint 2.2.1", + "solana-stable-layout 2.2.1", ] [[package]] @@ -2238,6 +2602,17 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-keccak-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed1c0d16d6fdeba12291a1f068cdf0d479d9bff1141bf44afd7aa9d485f65ef8" +dependencies = [ + "sha3", + "solana-define-syscall 4.0.1", + "solana-hash 4.3.0", +] + [[package]] name = "solana-last-restart-slot" version = "2.2.1" @@ -2246,9 +2621,22 @@ checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-last-restart-slot" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcda154ec827f5fc1e4da0af3417951b7e9b8157540f81f936c4a8b1156134d0" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2262,7 +2650,7 @@ dependencies = [ "serde_derive", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -2276,8 +2664,22 @@ dependencies = [ "serde_derive", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0538d4dbc9022e01616f1c58f2db98ece739c5d5ed4a2ef8737a953e76a2d4" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.4.0", + "solana-pubkey 4.2.0", + "solana-sdk-ids 3.1.0", ] [[package]] @@ -2291,8 +2693,8 @@ dependencies = [ "serde_derive", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", - "solana-system-interface", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] @@ -2311,13 +2713,31 @@ dependencies = [ "solana-instruction 2.3.3", "solana-pubkey 2.4.0", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-short-vec", - "solana-system-interface", - "solana-transaction-error", + "solana-sdk-ids 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", + "solana-transaction-error 2.2.1", "wasm-bindgen", ] +[[package]] +name = "solana-message" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0448b1fd891c5f46491e5dc7d9986385ba3c852c340db2911dd29faa01d2b08d" +dependencies = [ + "lazy_static", + "serde", + "serde_derive", + "solana-address 2.6.0", + "solana-hash 4.3.0", + "solana-instruction 3.4.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.1", + "solana-transaction-error 3.2.0", +] + [[package]] name = "solana-msg" version = "2.2.1" @@ -2327,12 +2747,27 @@ dependencies = [ "solana-define-syscall 2.3.0", ] +[[package]] +name = "solana-msg" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726b7cbbc6be6f1c6f29146ac824343b9415133eee8cce156452ad1db93f8008" +dependencies = [ + "solana-define-syscall 5.0.0", +] + [[package]] name = "solana-native-token" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33e9de00960197412e4be3902a6cd35e60817c511137aca6c34c66cd5d4017ec" +[[package]] +name = "solana-native-token" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8dd4c280dca9d046139eb5b7a5ac9ad10403fbd64964c7d7571214950d758f" + [[package]] name = "solana-nonce" version = "2.2.1" @@ -2341,12 +2776,24 @@ checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" dependencies = [ "serde", "serde_derive", - "solana-fee-calculator", + "solana-fee-calculator 2.2.1", "solana-hash 2.2.1", "solana-pubkey 2.4.0", "solana-sha256-hasher 2.2.1", ] +[[package]] +name = "solana-nonce" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95dbc9f2e33b6c10e231df15cb2a3bff9ea7eab6347f9e316fe75c97fd67bbb" +dependencies = [ + "solana-fee-calculator 3.2.0", + "solana-hash 4.3.0", + "solana-pubkey 4.2.0", + "solana-sha256-hasher 3.1.0", +] + [[package]] name = "solana-program" version = "2.2.1" @@ -2372,73 +2819,132 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "solana-account-info", - "solana-address-lookup-table-interface", - "solana-atomic-u64", - "solana-big-mod-exp", + "solana-account-info 2.3.0", + "solana-address-lookup-table-interface 2.2.2", + "solana-atomic-u64 2.2.1", + "solana-big-mod-exp 2.2.1", "solana-bincode", - "solana-blake3-hasher", - "solana-borsh", - "solana-clock", - "solana-cpi", + "solana-blake3-hasher 2.2.1", + "solana-borsh 2.2.1", + "solana-clock 2.2.1", + "solana-cpi 2.2.1", "solana-decode-error", "solana-define-syscall 2.3.0", - "solana-epoch-rewards", - "solana-epoch-schedule", - "solana-example-mocks", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-example-mocks 2.2.1", "solana-feature-gate-interface", - "solana-fee-calculator", + "solana-fee-calculator 2.2.1", "solana-hash 2.2.1", "solana-instruction 2.3.3", - "solana-instructions-sysvar", - "solana-keccak-hasher", - "solana-last-restart-slot", + "solana-instructions-sysvar 2.2.2", + "solana-keccak-hasher 2.2.1", + "solana-last-restart-slot 2.2.1", "solana-loader-v2-interface", - "solana-loader-v3-interface", + "solana-loader-v3-interface 3.0.0", "solana-loader-v4-interface", - "solana-message", - "solana-msg", - "solana-native-token", - "solana-nonce", - "solana-program-entrypoint", + "solana-message 2.3.0", + "solana-msg 2.2.1", + "solana-native-token 2.2.1", + "solana-nonce 2.2.1", + "solana-program-entrypoint 2.2.1", "solana-program-error 2.2.1", - "solana-program-memory", - "solana-program-option", - "solana-program-pack", + "solana-program-memory 2.2.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", "solana-pubkey 2.4.0", - "solana-rent", + "solana-rent 2.2.1", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-secp256k1-recover", - "solana-serde-varint", - "solana-serialize-utils", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-secp256k1-recover 2.2.1", + "solana-serde-varint 2.2.1", + "solana-serialize-utils 2.2.1", "solana-sha256-hasher 2.2.1", - "solana-short-vec", - "solana-slot-hashes", - "solana-slot-history", - "solana-stable-layout", + "solana-short-vec 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stable-layout 2.2.1", "solana-stake-interface", - "solana-system-interface", - "solana-sysvar", - "solana-sysvar-id", + "solana-system-interface 1.0.0", + "solana-sysvar 2.2.1", + "solana-sysvar-id 2.2.1", "solana-vote-interface", "thiserror 2.0.18", "wasm-bindgen", ] +[[package]] +name = "solana-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91b12305dd81045d705f427acd0435a2e46444b65367d7179d7bdcfc3bc5f5eb" +dependencies = [ + "memoffset", + "solana-account-info 3.1.1", + "solana-big-mod-exp 3.0.0", + "solana-blake3-hasher 3.1.0", + "solana-borsh 3.0.2", + "solana-clock 3.0.1", + "solana-cpi 3.1.0", + "solana-define-syscall 3.0.0", + "solana-epoch-rewards 3.0.1", + "solana-epoch-schedule 3.1.0", + "solana-epoch-stake", + "solana-example-mocks 3.0.0", + "solana-fee-calculator 3.2.0", + "solana-hash 3.1.0", + "solana-instruction 3.4.0", + "solana-instruction-error", + "solana-instructions-sysvar 3.0.0", + "solana-keccak-hasher 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-msg 3.1.0", + "solana-native-token 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", + "solana-program-option 3.1.0", + "solana-program-pack 3.1.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-recover 3.1.1", + "solana-serde-varint 3.0.1", + "solana-serialize-utils 3.1.1", + "solana-sha256-hasher 3.1.0", + "solana-short-vec 3.2.1", + "solana-slot-hashes 3.0.1", + "solana-slot-history 3.0.0", + "solana-stable-layout 3.0.1", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + [[package]] name = "solana-program-entrypoint" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "473ffe73c68d93e9f2aa726ad2985fe52760052709aaab188100a42c618060ec" dependencies = [ - "solana-account-info", - "solana-msg", + "solana-account-info 2.3.0", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-program-entrypoint" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c9b0a1ff494e05f503a08b3d51150b73aa639544631e510279d6375f290997" +dependencies = [ + "solana-account-info 3.1.1", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.1", + "solana-pubkey 4.2.0", +] + [[package]] name = "solana-program-error" version = "2.2.1" @@ -2451,7 +2957,7 @@ dependencies = [ "serde_derive", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", + "solana-msg 2.2.1", "solana-pubkey 2.4.0", ] @@ -2460,6 +2966,11 @@ name = "solana-program-error" version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f04fa578707b3612b095f0c8e19b66a1233f7c42ca8082fcb3b745afcc0add6" +dependencies = [ + "borsh 1.5.7", + "serde", + "serde_derive", +] [[package]] name = "solana-program-memory" @@ -2471,12 +2982,27 @@ dependencies = [ "solana-define-syscall 2.3.0", ] +[[package]] +name = "solana-program-memory" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4068648649653c2c50546e9a7fb761791b5ab0cda054c771bb5808d3a4b9eb52" +dependencies = [ + "solana-define-syscall 4.0.1", +] + [[package]] name = "solana-program-option" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" +[[package]] +name = "solana-program-option" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a88006a9b8594088cec9027ab77caaaa258a2aaa2083d3f086c44b42e50aeab" + [[package]] name = "solana-program-pack" version = "2.2.1" @@ -2486,6 +3012,15 @@ dependencies = [ "solana-program-error 2.2.1", ] +[[package]] +name = "solana-program-pack" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7701cb15b90667ae1c89ef4ac35a59c61e66ce58ddee13d729472af7f41d59" +dependencies = [ + "solana-program-error 3.0.1", +] + [[package]] name = "solana-pubkey" version = "2.4.0" @@ -2504,7 +3039,7 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-atomic-u64", + "solana-atomic-u64 2.2.1", "solana-decode-error", "solana-define-syscall 2.3.0", "solana-sanitize 2.2.1", @@ -2512,13 +3047,22 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "solana-pubkey" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8909d399deb0851aa524420beeb5646b115fd253ef446e35fe4504c904da3941" +dependencies = [ + "solana-address 1.1.0", +] + [[package]] name = "solana-pubkey" version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7db719574990de7e8b0f55a8593ac92a5ccb42c8ce67b3e4bf05b139d5d9ee71" dependencies = [ - "solana-address", + "solana-address 2.6.0", ] [[package]] @@ -2529,9 +3073,22 @@ checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-rent" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e860d5499a705369778647e97d760f7670adfb6fc8419dd3d568deccd46d5487" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2555,6 +3112,15 @@ dependencies = [ "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-sdk-ids" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def234c1956ff616d46c9dd953f251fa7096ddbaa6d52b165218de97882b7280" +dependencies = [ + "solana-address 2.6.0", +] + [[package]] name = "solana-sdk-macro" version = "2.2.1" @@ -2567,6 +3133,18 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "solana-sdk-macro" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8765316242300c48242d84a41614cb3388229ec353ba464f6fe62a733e41806f" +dependencies = [ + "bs58", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "solana-secp256k1-recover" version = "2.2.1" @@ -2578,6 +3156,17 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "solana-secp256k1-recover" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c5f18893d62e6c73117dcba48f8f5e3266d90e5ec3d0a0a90f9785adac36c1" +dependencies = [ + "k256", + "solana-define-syscall 5.0.0", + "thiserror 2.0.18", +] + [[package]] name = "solana-security-txt" version = "1.1.2" @@ -2616,6 +3205,15 @@ dependencies = [ "serde", ] +[[package]] +name = "solana-serde-varint" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950e5b83e839dc0f92c66afc124bb8f40e89bc90f0579e8ec5499296d27f54e3" +dependencies = [ + "serde", +] + [[package]] name = "solana-serialize-utils" version = "2.2.1" @@ -2627,6 +3225,17 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-serialize-utils" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d7cc401931d178472358e6b78dc72d031dc08f752d7410f0e8bd259dd6f02fa" +dependencies = [ + "solana-instruction-error", + "solana-pubkey 4.2.0", + "solana-sanitize 3.0.1", +] + [[package]] name = "solana-sha256-hasher" version = "2.2.1" @@ -2658,6 +3267,15 @@ dependencies = [ "serde", ] +[[package]] +name = "solana-short-vec" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb8cc883fc7b8ce4a7814cb1441b48c06437049ec11847005cf63bcfa85c546" +dependencies = [ + "serde_core", +] + [[package]] name = "solana-signature" version = "2.3.0" @@ -2679,7 +3297,7 @@ checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b" dependencies = [ "solana-pubkey 2.4.0", "solana-signature", - "solana-transaction-error", + "solana-transaction-error 2.2.1", ] [[package]] @@ -2691,8 +3309,21 @@ dependencies = [ "serde", "serde_derive", "solana-hash 2.2.1", - "solana-sdk-ids", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-hashes" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2585f70191623887329dfb5078da3a00e15e3980ea67f42c2e10b07028419f43" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 4.3.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2704,8 +3335,21 @@ dependencies = [ "bv", "serde", "serde_derive", - "solana-sdk-ids", - "solana-sysvar-id", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-history" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f914f6b108f5bba14a280b458d023e3621c9973f27f015a4d755b50e88d89e97" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2718,6 +3362,16 @@ dependencies = [ "solana-pubkey 2.4.0", ] +[[package]] +name = "solana-stable-layout" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9f6a291ba063a37780af29e7db14bdd3dc447584d8ba5b3fc4b88e2bbc982fa" +dependencies = [ + "solana-instruction 3.4.0", + "solana-pubkey 4.2.0", +] + [[package]] name = "solana-stake-interface" version = "1.2.1" @@ -2729,14 +3383,14 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-clock", - "solana-cpi", + "solana-clock 2.2.1", + "solana-cpi 2.2.1", "solana-decode-error", "solana-instruction 2.3.3", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", - "solana-system-interface", - "solana-sysvar-id", + "solana-system-interface 1.0.0", + "solana-sysvar-id 2.2.1", ] [[package]] @@ -2755,6 +3409,21 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "solana-system-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e1790547bfc3061f1ee68ea9d8dc6c973c02a163697b24263a8e9f2e6d4afa2" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-instruction 3.4.0", + "solana-msg 3.1.0", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", +] + [[package]] name = "solana-sysvar" version = "2.2.1" @@ -2768,28 +3437,62 @@ dependencies = [ "lazy_static", "serde", "serde_derive", - "solana-account-info", - "solana-clock", + "solana-account-info 2.3.0", + "solana-clock 2.2.1", "solana-define-syscall 2.3.0", - "solana-epoch-rewards", - "solana-epoch-schedule", - "solana-fee-calculator", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-fee-calculator 2.2.1", "solana-hash 2.2.1", "solana-instruction 2.3.3", - "solana-instructions-sysvar", - "solana-last-restart-slot", - "solana-program-entrypoint", + "solana-instructions-sysvar 2.2.2", + "solana-last-restart-slot 2.2.1", + "solana-program-entrypoint 2.2.1", "solana-program-error 2.2.1", - "solana-program-memory", + "solana-program-memory 2.2.1", "solana-pubkey 2.4.0", - "solana-rent", + "solana-rent 2.2.1", "solana-sanitize 2.2.1", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-slot-hashes", - "solana-slot-history", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", "solana-stake-interface", - "solana-sysvar-id", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-sysvar" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6690d3dd88f15c21edff68eb391ef8800df7a1f5cec84ee3e8d1abf05affdf74" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info 3.1.1", + "solana-clock 3.0.1", + "solana-define-syscall 4.0.1", + "solana-epoch-rewards 3.0.1", + "solana-epoch-schedule 3.1.0", + "solana-fee-calculator 3.2.0", + "solana-hash 4.3.0", + "solana-instruction 3.4.0", + "solana-last-restart-slot 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", + "solana-pubkey 4.2.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-slot-hashes 3.0.1", + "solana-slot-history 3.0.0", + "solana-sysvar-id 3.1.0", ] [[package]] @@ -2799,7 +3502,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" dependencies = [ "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-sysvar-id" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17358d1e9a13e5b9c2264d301102126cf11a47fd394cdf3dec174fe7bc96e1de" +dependencies = [ + "solana-address 2.6.0", + "solana-sdk-ids 3.1.0", ] [[package]] @@ -2812,6 +3525,16 @@ dependencies = [ "solana-sanitize 2.2.1", ] +[[package]] +name = "solana-transaction-error" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a2165ad25b694c654d5395fc7a049452a192376e4c96a7fad05580f6ba5ba1c" +dependencies = [ + "solana-instruction-error", + "solana-sanitize 3.0.1", +] + [[package]] name = "solana-vote-interface" version = "2.2.4" @@ -2823,17 +3546,17 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-clock", + "solana-clock 2.2.1", "solana-decode-error", "solana-hash 2.2.1", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-rent", - "solana-sdk-ids", - "solana-serde-varint", - "solana-serialize-utils", - "solana-short-vec", - "solana-system-interface", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serde-varint 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] @@ -2861,7 +3584,7 @@ dependencies = [ "solana-derivation-path", "solana-instruction 2.3.3", "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-seed-derivable", "solana-seed-phrase", "solana-signature", @@ -2872,6 +3595,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "spl-associated-token-account" version = "7.0.0" @@ -2881,7 +3614,7 @@ dependencies = [ "borsh 1.5.7", "num-derive 0.4.2", "num-traits", - "solana-program", + "solana-program 2.2.1", "spl-associated-token-account-client", "spl-token", "spl-token-2022", @@ -2941,17 +3674,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65edfeed09cd4231e595616aa96022214f9c9d2be02dea62c2b30d5695a6833a" dependencies = [ "bytemuck", - "solana-account-info", - "solana-cpi", + "solana-account-info 2.3.0", + "solana-cpi 2.2.1", "solana-instruction 2.3.3", - "solana-msg", - "solana-program-entrypoint", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", - "solana-rent", - "solana-sdk-ids", - "solana-system-interface", - "solana-sysvar", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "solana-sysvar 2.2.1", "solana-zk-sdk", "spl-pod", "spl-token-confidential-transfer-proof-extraction", @@ -2963,10 +3696,10 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f09647c0974e33366efeb83b8e2daebb329f0420149e74d3a4bd2c08cf9f7cb" dependencies = [ - "solana-account-info", + "solana-account-info 2.3.0", "solana-instruction 2.3.3", - "solana-msg", - "solana-program-entrypoint", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", ] @@ -2983,9 +3716,9 @@ dependencies = [ "num-derive 0.4.2", "num-traits", "solana-decode-error", - "solana-msg", + "solana-msg 2.2.1", "solana-program-error 2.2.1", - "solana-program-option", + "solana-program-option 2.2.1", "solana-pubkey 2.4.0", "solana-zk-sdk", "thiserror 2.0.18", @@ -3000,7 +3733,7 @@ dependencies = [ "num-derive 0.4.2", "num-traits", "solana-decode-error", - "solana-msg", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "spl-program-error-derive", "thiserror 2.0.18", @@ -3027,10 +3760,10 @@ dependencies = [ "bytemuck", "num-derive 0.4.2", "num-traits", - "solana-account-info", + "solana-account-info 2.3.0", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", "spl-discriminator", @@ -3051,20 +3784,20 @@ dependencies = [ "num-derive 0.4.2", "num-traits", "num_enum", - "solana-account-info", - "solana-cpi", + "solana-account-info 2.3.0", + "solana-cpi 2.2.1", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", - "solana-program-entrypoint", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.2.1", "solana-program-error 2.2.1", - "solana-program-memory", - "solana-program-option", - "solana-program-pack", + "solana-program-memory 2.2.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", "solana-pubkey 2.4.0", - "solana-rent", - "solana-sdk-ids", - "solana-sysvar", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sysvar 2.2.1", "thiserror 2.0.18", ] @@ -3079,24 +3812,24 @@ dependencies = [ "num-derive 0.4.2", "num-traits", "num_enum", - "solana-account-info", - "solana-clock", - "solana-cpi", + "solana-account-info 2.3.0", + "solana-clock 2.2.1", + "solana-cpi 2.2.1", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", - "solana-native-token", - "solana-program-entrypoint", + "solana-msg 2.2.1", + "solana-native-token 2.2.1", + "solana-program-entrypoint 2.2.1", "solana-program-error 2.2.1", - "solana-program-memory", - "solana-program-option", - "solana-program-pack", + "solana-program-memory 2.2.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", "solana-pubkey 2.4.0", - "solana-rent", - "solana-sdk-ids", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", "solana-security-txt", - "solana-system-interface", - "solana-sysvar", + "solana-system-interface 1.0.0", + "solana-sysvar 2.2.1", "solana-zk-sdk", "spl-elgamal-registry", "spl-memo", @@ -3131,14 +3864,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe2629860ff04c17bafa9ba4bed8850a404ecac81074113e1f840dbd0ebb7bd6" dependencies = [ "bytemuck", - "solana-account-info", + "solana-account-info 2.3.0", "solana-curve25519", "solana-instruction 2.3.3", - "solana-instructions-sysvar", - "solana-msg", + "solana-instructions-sysvar 2.2.2", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-zk-sdk", "spl-pod", "thiserror 2.0.18", @@ -3166,7 +3899,7 @@ dependencies = [ "num-traits", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", "spl-discriminator", @@ -3183,10 +3916,10 @@ dependencies = [ "borsh 1.5.7", "num-derive 0.4.2", "num-traits", - "solana-borsh", + "solana-borsh 2.2.1", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", "spl-discriminator", @@ -3205,11 +3938,11 @@ dependencies = [ "bytemuck", "num-derive 0.4.2", "num-traits", - "solana-account-info", - "solana-cpi", + "solana-account-info 2.3.0", + "solana-cpi 2.2.1", "solana-decode-error", "solana-instruction 2.3.3", - "solana-msg", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "solana-pubkey 2.4.0", "spl-discriminator", @@ -3229,9 +3962,9 @@ dependencies = [ "bytemuck", "num-derive 0.4.2", "num-traits", - "solana-account-info", + "solana-account-info 2.3.0", "solana-decode-error", - "solana-msg", + "solana-msg 2.2.1", "solana-program-error 2.2.1", "spl-discriminator", "spl-pod", diff --git a/rewards-delegated-vrf/programs/rewards-delegated-vrf/Cargo.toml b/rewards-delegated-vrf/programs/rewards-delegated-vrf/Cargo.toml index 0857a5c..da0e226 100644 --- a/rewards-delegated-vrf/programs/rewards-delegated-vrf/Cargo.toml +++ b/rewards-delegated-vrf/programs/rewards-delegated-vrf/Cargo.toml @@ -21,7 +21,7 @@ custom-panic = [] [dependencies] anchor-lang = { version = "0.32.1", features = ["init-if-needed"] } anchor-spl = { version = "0.32.1", features = ["idl-build", "metadata", "associated_token"] } -ephemeral-rollups-sdk = { version = "0.11.1" , features = ["anchor", "disable-realloc"] } +ephemeral-rollups-sdk = { path = "/Users/snawaz/projects/mb/ephemeral-rollups-sdk/rust/sdk", features = ["anchor","backward-compat"] } ephemeral-vrf-sdk = {version = "0.2.3", features = ["anchor"]} spl-associated-token-account = { version = "7", features = ["no-entrypoint"] } From 231fdbdd2c9e7ea1aff4e6215941038c262ea633 Mon Sep 17 00:00:00 2001 From: Sarfaraz Nawaz Date: Sat, 9 May 2026 16:41:02 +0530 Subject: [PATCH 2/9] git add rewards-delegated-vrf-1.0 --- rewards-delegated-vrf-1.0/.gitignore | 7 + rewards-delegated-vrf-1.0/.prettierignore | 7 + rewards-delegated-vrf-1.0/Anchor.toml | 22 + rewards-delegated-vrf-1.0/Cargo.lock | 4801 +++++ rewards-delegated-vrf-1.0/Cargo.toml | 14 + rewards-delegated-vrf-1.0/README.md | 46 + .../dashboard/.env.local.example | 9 + .../dashboard/.gitignore | 9 + .../dashboard/app/globals.css | 53 + .../dashboard/app/layout.tsx | 23 + .../dashboard/app/page.tsx | 196 + .../dashboard/app/providers.tsx | 80 + .../dashboard/components/AdminActions.tsx | 2162 +++ .../dashboard/components/CopyableAddress.tsx | 50 + .../components/DelegationActions.tsx | 246 + .../dashboard/components/DistributorCard.tsx | 90 + .../components/DistributorSwitcher.tsx | 190 + .../dashboard/components/ErrorMessage.tsx | 28 + .../dashboard/components/Header.tsx | 241 + .../dashboard/components/LoadingSpinner.tsx | 13 + .../dashboard/components/NftActions.tsx | 796 + .../dashboard/components/RewardListCard.tsx | 271 + .../dashboard/components/RewardsTable.tsx | 185 + .../dashboard/components/TokenActions.tsx | 279 + .../components/TransactionHistory.tsx | 188 + .../dashboard/components/TransactionModal.tsx | 164 + .../components/TransactionResponse.tsx | 108 + .../dashboard/components/WalletConnect.tsx | 33 + .../dashboard/components/WalletInfo.tsx | 67 + .../dashboard/components/index.ts | 14 + .../dashboard/hooks/index.ts | 3 + .../dashboard/hooks/useCluster.ts | 18 + .../hooks/useDiscoverDistributors.ts | 186 + .../hooks/useGlobalTransactionHistory.ts | 97 + .../dashboard/hooks/useRewardData.ts | 89 + .../dashboard/hooks/useTokenMetadata.ts | 70 + .../dashboard/hooks/useTransaction.ts | 341 + .../dashboard/idl/rewards_delegated_vrf.json | 513 + .../dashboard/idl/rewards_delegated_vrf.ts | 1593 ++ .../dashboard/lib/api.ts | 320 + .../dashboard/lib/clusterContext.ts | 180 + .../dashboard/lib/constants.ts | 21 + .../dashboard/lib/eTokenConstants.ts | 88 + .../dashboard/lib/endpoints.ts | 70 + .../dashboard/lib/instructions/admin.ts | 86 + .../dashboard/lib/instructions/delegation.ts | 48 + .../dashboard/lib/instructions/nft.ts | 249 + .../dashboard/lib/instructions/rewards.ts | 305 + .../lib/instructions/sponsoredLamports.ts | 81 + .../dashboard/lib/instructions/tokens.ts | 56 + .../dashboard/lib/instructions/types.ts | 16 + .../dashboard/lib/pda.ts | 52 + .../dashboard/lib/program.ts | 315 + .../dashboard/lib/refresh.ts | 9 + .../dashboard/lib/sendTransaction.ts | 129 + .../dashboard/lib/tokenAccounts.ts | 145 + .../dashboard/lib/types.ts | 68 + .../dashboard/lib/utils.ts | 296 + .../dashboard/lib/vrfConstants.ts | 42 + .../dashboard/next-env.d.ts | 5 + .../dashboard/next.config.js | 14 + .../dashboard/package-lock.json | 14851 ++++++++++++++++ .../dashboard/package.json | 38 + .../dashboard/postcss.config.js | 6 + .../dashboard/public/devnet_idl.json | 1466 ++ .../public/magicblock-logomark-white.svg | 5 + .../dashboard/tailwind.config.ts | 18 + .../dashboard/tsconfig.json | 56 + rewards-delegated-vrf-1.0/dashboard/yarn.lock | 8068 +++++++++ rewards-delegated-vrf-1.0/package.json | 28 + .../programs/rewards-delegated-vrf/Cargo.toml | 27 + .../rewards-delegated-vrf/src/constants.rs | 29 + .../rewards-delegated-vrf/src/errors.rs | 130 + .../rewards-delegated-vrf/src/helpers.rs | 288 + .../src/instructions/add_reward.rs | 179 + .../src/instructions/consume_random_reward.rs | 118 + .../src/instructions/delegate_reward_list.rs | 24 + .../initialize_reward_distributor.rs | 24 + .../initialize_transfer_lookup_table.rs | 21 + .../src/instructions/mod.rs | 15 + .../src/instructions/remove_reward.rs | 143 + .../src/instructions/request_random_reward.rs | 105 + .../src/instructions/set_admins.rs | 17 + .../src/instructions/set_reward_list.rs | 44 + .../src/instructions/set_whitelist.rs | 11 + .../src/instructions/shared.rs | 209 + .../transfer_reward_programmable_nft.rs | 68 + .../instructions/transfer_reward_spl_token.rs | 62 + .../instructions/undelegate_reward_list.rs | 21 + .../src/instructions/update_reward.rs | 76 + .../programs/rewards-delegated-vrf/src/lib.rs | 366 + .../rewards-delegated-vrf/src/state.rs | 72 + rewards-delegated-vrf-1.0/rust-toolchain.toml | 4 + rewards-delegated-vrf-1.0/tests/constants.ts | 19 + .../tests/fixtures/1001.json | 35 + .../tests/fixtures/merch-collection.json | 26 + .../tests/fixtures/nft-mints.json | 155 + .../tests/fixtures/user-keypair.json | 68 + rewards-delegated-vrf-1.0/tests/helpers.ts | 240 + rewards-delegated-vrf-1.0/tests/pdas.ts | 52 + .../tests/rewards-delegated-vrf.ts | 891 + rewards-delegated-vrf-1.0/tests/setup.ts | 93 + rewards-delegated-vrf-1.0/tsconfig.json | 10 + .../vendor/ephemeral-vrf-sdk/Cargo.toml | 22 + .../vendor/ephemeral-vrf-sdk/src/anchor.rs | 15 + .../vendor/ephemeral-vrf-sdk/src/consts.rs | 17 + .../ephemeral-vrf-sdk/src/instructions.rs | 53 + .../vendor/ephemeral-vrf-sdk/src/lib.rs | 11 + .../vendor/ephemeral-vrf-sdk/src/pda.rs | 151 + .../vendor/ephemeral-vrf-sdk/src/rnd.rs | 110 + .../vendor/ephemeral-vrf-sdk/src/types.rs | 26 + .../ephemeral-vrf-sdk/vrf-macro/Cargo.toml | 20 + .../ephemeral-vrf-sdk/vrf-macro/src/lib.rs | 106 + rewards-delegated-vrf-1.0/yarn.lock | 2109 +++ 114 files changed, 46715 insertions(+) create mode 100644 rewards-delegated-vrf-1.0/.gitignore create mode 100644 rewards-delegated-vrf-1.0/.prettierignore create mode 100644 rewards-delegated-vrf-1.0/Anchor.toml create mode 100644 rewards-delegated-vrf-1.0/Cargo.lock create mode 100644 rewards-delegated-vrf-1.0/Cargo.toml create mode 100644 rewards-delegated-vrf-1.0/README.md create mode 100644 rewards-delegated-vrf-1.0/dashboard/.env.local.example create mode 100644 rewards-delegated-vrf-1.0/dashboard/.gitignore create mode 100644 rewards-delegated-vrf-1.0/dashboard/app/globals.css create mode 100644 rewards-delegated-vrf-1.0/dashboard/app/layout.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/app/page.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/app/providers.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/AdminActions.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/CopyableAddress.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/DelegationActions.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/DistributorCard.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/DistributorSwitcher.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/ErrorMessage.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/Header.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/LoadingSpinner.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/NftActions.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/RewardListCard.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/RewardsTable.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/TokenActions.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/TransactionHistory.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/TransactionModal.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/TransactionResponse.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/WalletConnect.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/WalletInfo.tsx create mode 100644 rewards-delegated-vrf-1.0/dashboard/components/index.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/hooks/index.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/hooks/useCluster.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/hooks/useDiscoverDistributors.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/hooks/useGlobalTransactionHistory.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/hooks/useRewardData.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/hooks/useTokenMetadata.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/hooks/useTransaction.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/idl/rewards_delegated_vrf.json create mode 100644 rewards-delegated-vrf-1.0/dashboard/idl/rewards_delegated_vrf.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/api.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/clusterContext.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/constants.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/eTokenConstants.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/endpoints.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/instructions/admin.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/instructions/delegation.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/instructions/nft.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/instructions/rewards.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/instructions/sponsoredLamports.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/instructions/tokens.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/instructions/types.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/pda.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/program.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/refresh.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/sendTransaction.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/tokenAccounts.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/types.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/utils.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/lib/vrfConstants.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/next-env.d.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/next.config.js create mode 100644 rewards-delegated-vrf-1.0/dashboard/package-lock.json create mode 100644 rewards-delegated-vrf-1.0/dashboard/package.json create mode 100644 rewards-delegated-vrf-1.0/dashboard/postcss.config.js create mode 100644 rewards-delegated-vrf-1.0/dashboard/public/devnet_idl.json create mode 100644 rewards-delegated-vrf-1.0/dashboard/public/magicblock-logomark-white.svg create mode 100644 rewards-delegated-vrf-1.0/dashboard/tailwind.config.ts create mode 100644 rewards-delegated-vrf-1.0/dashboard/tsconfig.json create mode 100644 rewards-delegated-vrf-1.0/dashboard/yarn.lock create mode 100644 rewards-delegated-vrf-1.0/package.json create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/Cargo.toml create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/constants.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/errors.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/helpers.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/add_reward.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/consume_random_reward.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/delegate_reward_list.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/initialize_reward_distributor.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/initialize_transfer_lookup_table.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/mod.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/remove_reward.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/request_random_reward.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/set_admins.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/set_reward_list.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/set_whitelist.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/shared.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/transfer_reward_programmable_nft.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/transfer_reward_spl_token.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/undelegate_reward_list.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/instructions/update_reward.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/lib.rs create mode 100644 rewards-delegated-vrf-1.0/programs/rewards-delegated-vrf/src/state.rs create mode 100644 rewards-delegated-vrf-1.0/rust-toolchain.toml create mode 100644 rewards-delegated-vrf-1.0/tests/constants.ts create mode 100644 rewards-delegated-vrf-1.0/tests/fixtures/1001.json create mode 100644 rewards-delegated-vrf-1.0/tests/fixtures/merch-collection.json create mode 100644 rewards-delegated-vrf-1.0/tests/fixtures/nft-mints.json create mode 100644 rewards-delegated-vrf-1.0/tests/fixtures/user-keypair.json create mode 100644 rewards-delegated-vrf-1.0/tests/helpers.ts create mode 100644 rewards-delegated-vrf-1.0/tests/pdas.ts create mode 100644 rewards-delegated-vrf-1.0/tests/rewards-delegated-vrf.ts create mode 100644 rewards-delegated-vrf-1.0/tests/setup.ts create mode 100644 rewards-delegated-vrf-1.0/tsconfig.json create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/Cargo.toml create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/src/anchor.rs create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/src/consts.rs create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/src/instructions.rs create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/src/lib.rs create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/src/pda.rs create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/src/rnd.rs create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/src/types.rs create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/vrf-macro/Cargo.toml create mode 100644 rewards-delegated-vrf-1.0/vendor/ephemeral-vrf-sdk/vrf-macro/src/lib.rs create mode 100644 rewards-delegated-vrf-1.0/yarn.lock diff --git a/rewards-delegated-vrf-1.0/.gitignore b/rewards-delegated-vrf-1.0/.gitignore new file mode 100644 index 0000000..92049cd --- /dev/null +++ b/rewards-delegated-vrf-1.0/.gitignore @@ -0,0 +1,7 @@ +.anchor +.DS_Store +target +**/*.rs.bk +node_modules +test-ledger +.yarn \ No newline at end of file diff --git a/rewards-delegated-vrf-1.0/.prettierignore b/rewards-delegated-vrf-1.0/.prettierignore new file mode 100644 index 0000000..4142583 --- /dev/null +++ b/rewards-delegated-vrf-1.0/.prettierignore @@ -0,0 +1,7 @@ +.anchor +.DS_Store +target +node_modules +dist +build +test-ledger diff --git a/rewards-delegated-vrf-1.0/Anchor.toml b/rewards-delegated-vrf-1.0/Anchor.toml new file mode 100644 index 0000000..8b8693b --- /dev/null +++ b/rewards-delegated-vrf-1.0/Anchor.toml @@ -0,0 +1,22 @@ +[toolchain] +anchor_version = "1.0.0" + +[features] +resolution = true +skip-lint = false + +[programs.devnet] +rewards_delegated_vrf = "B78RHyS2oJeyeQmwBiroq4pTm1NmgPbn34MABywirYru" + +[programs.localnet] +rewards_delegated_vrf = "B78RHyS2oJeyeQmwBiroq4pTm1NmgPbn34MABywirYru" + +[registry] +url = "https://api.apr.dev" + +[provider] +cluster = "devnet" +wallet = "~/.config/solana/id.json" + +[scripts] +test = "yarn run ts-mocha -p ./tsconfig.json -t 120000 tests/**/*.ts" diff --git a/rewards-delegated-vrf-1.0/Cargo.lock b/rewards-delegated-vrf-1.0/Cargo.lock new file mode 100644 index 0000000..1817f9c --- /dev/null +++ b/rewards-delegated-vrf-1.0/Cargo.lock @@ -0,0 +1,4801 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aes-gcm-siv" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "polyval", + "subtle", + "zeroize", +] + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.16", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "anchor-attribute-access-control" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8cd233e382ea499e3c1e51bf4f0cb367abb37bb64e9e3667a5d618af3fe265" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-account" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e12171382e24c5cda6b0f7236a4f6bb9b657da997780c88a0ef794a419298bf" +dependencies = [ + "anchor-syn", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-constant" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "510f8db71375446405dfabdaf157fb7d3fbf33470c98ed75fad4c467e8ca0080" +dependencies = [ + "anchor-syn", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-error" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b203169a49ea74da7782281e740ea8e21017c85f8f3b1ab452712c9796d28f" +dependencies = [ + "anchor-syn", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-event" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c50a462651e573ec6cc632e8f607e8b1e11f620f6fc26badaeff04fd49f45cc1" +dependencies = [ + "anchor-syn", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-program" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84704ee25a7e788afd9d846945cba536cfdcd53b463e8a337cf237cd897ca4d9" +dependencies = [ + "anchor-lang-idl", + "anchor-syn", + "anyhow", + "heck 0.3.3", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-accounts" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98bf49664527c7bb0ebca04e9b5bfb618d6ceb849ef44a8149241d244bbfb0f6" +dependencies = [ + "anchor-syn", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-serde" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8140a40827bdfd74720f1f3084778fa081262f2f43bd4bdbc350f98ce1b341c6" +dependencies = [ + "anchor-syn", + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-space" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee5b6fa5dde037399d3e0bb322a1c7360ad8adc6b6afdd797d19566c039dcfb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-lang" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de9dce227fa0c08be20fef008c5b04681e1e0a15cb396e9619a9a1f800ff6cd" +dependencies = [ + "anchor-attribute-access-control", + "anchor-attribute-account", + "anchor-attribute-constant", + "anchor-attribute-error", + "anchor-attribute-event", + "anchor-attribute-program", + "anchor-derive-accounts", + "anchor-derive-serde", + "anchor-derive-space", + "anchor-lang-idl", + "base64 0.21.7", + "bincode", + "borsh 1.5.7", + "bytemuck", + "const-crypto", + "solana-account-info 3.1.1", + "solana-clock 3.0.1", + "solana-cpi 3.1.0", + "solana-define-syscall 3.0.0", + "solana-feature-gate-interface 3.1.0", + "solana-instruction 3.4.0", + "solana-instructions-sysvar 3.0.0", + "solana-invoke", + "solana-loader-v3-interface 6.1.1", + "solana-msg 3.1.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", + "solana-program-option 3.1.0", + "solana-program-pack 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-stake-interface 2.0.2", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", + "thiserror 1.0.69", +] + +[[package]] +name = "anchor-lang-idl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e8599d21995f68e296265aa5ab0c3cef582fd58afec014d01bd0bce18a4418" +dependencies = [ + "anchor-lang-idl-spec", + "anyhow", + "heck 0.3.3", + "regex", + "serde", + "serde_json", + "sha2 0.10.8", +] + +[[package]] +name = "anchor-lang-idl-spec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" +dependencies = [ + "anyhow", + "serde", +] + +[[package]] +name = "anchor-spl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e2e8058e674e8d6ea7c72dfb8be4349609dd9c3760ce729fc6406199624fe" +dependencies = [ + "anchor-lang", + "mpl-token-metadata", + "solana-sysvar 3.1.1", + "spl-associated-token-account-interface", + "spl-pod 0.7.3", + "spl-token-2022-interface", + "spl-token-group-interface 0.7.2", + "spl-token-interface", + "spl-token-metadata-interface 0.8.0", +] + +[[package]] +name = "anchor-syn" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6940253e80acf0f8e83b1ebd9c4772c496aedcce6ad19aa85ce75d0b6b188298" +dependencies = [ + "anyhow", + "bs58", + "cargo_toml", + "heck 0.3.3", + "proc-macro2", + "quote", + "serde", + "sha2 0.10.8", + "syn 1.0.109", + "thiserror 1.0.69", +] + +[[package]] +name = "anyhow" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bitflags" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" + +[[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.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "digest 0.10.7", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "borsh" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" +dependencies = [ + "borsh-derive 0.10.4", + "hashbrown 0.12.3", +] + +[[package]] +name = "borsh" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +dependencies = [ + "borsh-derive 1.5.7", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" +dependencies = [ + "once_cell", + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "bv" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" +dependencies = [ + "feature-probe", + "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.109", +] + +[[package]] +name = "bytemuck" +version = "1.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" + +[[package]] +name = "cargo_toml" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be" +dependencies = [ + "serde", + "toml 0.8.21", +] + +[[package]] +name = "cc" +version = "1.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a" +dependencies = [ + "shlex", +] + +[[package]] +name = "cfg-if" +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 = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "console_log" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f" +dependencies = [ + "log", + "web-sys", +] + +[[package]] +name = "const-crypto" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c06f1eb05f06cf2e380fdded278fbf056a38974299d77960555a311dcf91a52" +dependencies = [ + "keccak-const", + "sha2-const-stable", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rand_core 0.6.4", + "rustc_version", + "serde", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.117", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "derivation-path" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "ephemeral-rollups-sdk" +version = "0.12.0" +dependencies = [ + "anchor-lang", + "base64ct", + "bincode", + "borsh 0.10.4", + "ephemeral-rollups-sdk-attribute-action", + "ephemeral-rollups-sdk-attribute-commit", + "ephemeral-rollups-sdk-attribute-delegate", + "ephemeral-rollups-sdk-attribute-ephemeral", + "ephemeral-rollups-sdk-attribute-ephemeral-accounts", + "five8 0.2.1", + "getrandom 0.2.16", + "magicblock-delegation-program-api", + "magicblock-magic-program-api", + "solana-account-info 2.3.0", + "solana-address 2.6.0", + "solana-program 2.2.1", + "solana-program 3.0.0", + "solana-program-error 2.2.1", + "solana-system-interface 2.0.0", +] + +[[package]] +name = "ephemeral-rollups-sdk-attribute-action" +version = "0.12.0" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ephemeral-rollups-sdk-attribute-commit" +version = "0.12.0" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ephemeral-rollups-sdk-attribute-delegate" +version = "0.12.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ephemeral-rollups-sdk-attribute-ephemeral" +version = "0.12.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ephemeral-rollups-sdk-attribute-ephemeral-accounts" +version = "0.12.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ephemeral-vrf-sdk" +version = "0.1.2" +dependencies = [ + "anchor-lang", + "borsh 1.5.7", + "ephemeral-vrf-sdk-vrf-macro", + "solana-program 3.0.0", +] + +[[package]] +name = "ephemeral-vrf-sdk-vrf-macro" +version = "0.1.2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "feature-probe" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "five8" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75b8549488b4715defcb0d8a8a1c1c76a80661b5fa106b4ca0e7fce59d7d875" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23f76610e969fa1784327ded240f1e28a3fd9520c9cec93b636fcf62dd37f772" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8_const" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8_const" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0f1728185f277989ca573a402716ae0beaaea3f76a8ff87ef9dd8fb19436c5" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8_core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "indexmap" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.8", + "signature", +] + +[[package]] +name = "kaigan" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f25ded719a2354f6b1a51d0c0741c25bc7afe038617664eb37f6418439eb084" +dependencies = [ + "borsh 0.10.4", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-const" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d8d8ce877200136358e0bbff3a77965875db3af755a11e1fa6b1b3e2df13ea" + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libsecp256k1" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" +dependencies = [ + "arrayref", + "base64 0.12.3", + "digest 0.9.0", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.7.3", + "serde", + "sha2 0.9.9", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "magicblock-delegation-program-api" +version = "2.0.0" +dependencies = [ + "bincode", + "borsh 0.10.4", + "borsh 1.5.7", + "bytemuck", + "const-crypto", + "num_enum", + "pinocchio 0.10.2", + "pinocchio-log", + "pinocchio-pubkey", + "pinocchio-system", + "rkyv", + "serde", + "solana-address 2.6.0", + "solana-instruction 3.4.0", + "solana-loader-v3-interface 6.1.1", + "solana-program 3.0.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 3.1.0", + "solana-sha256-hasher 3.1.0", + "solana-system-interface 2.0.0", + "static_assertions", + "strum", + "thiserror 2.0.18", +] + +[[package]] +name = "magicblock-magic-program-api" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "410003292a8918c9836b9ce03cecd7f6a58d3ee1de134c54cc68ea10dd4fcc27" +dependencies = [ + "bincode", + "serde", + "solana-program 2.2.1", + "solana-signature 2.3.0", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "merlin" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "mpl-token-metadata" +version = "5.1.2-alpha.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9824d84a8e23b634256591ce2f05b3180f7be5fcd193d939c43764c804aac5ef" +dependencies = [ + "borsh 1.5.7", + "kaigan", + "num-derive 0.3.3", + "num-traits", + "solana-program 3.0.0", + "solana-program-error 3.0.1", + "thiserror 1.0.69", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "pastey" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b867cad97c0791bbd3aaa6472142568c6c9e8f71937e98379f584cfb0cf35bec" + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pinocchio" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8afe4f39c0e25cc471b35b89963312791a5162d45a86578cbeaad9e5e7d1b3b" + +[[package]] +name = "pinocchio" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06810dac15a4ef83d3dabdb4f2f22fb39c9adff669cd2781da4f716510a647c" +dependencies = [ + "solana-account-view", + "solana-address 2.6.0", + "solana-define-syscall 4.0.1", + "solana-instruction-view", + "solana-program-error 3.0.1", +] + +[[package]] +name = "pinocchio-log" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd11022408f312e6179ece321c1f7dc0d1b2aa7765fddd39b2a7378d65a899e8" +dependencies = [ + "pinocchio-log-macro", +] + +[[package]] +name = "pinocchio-log-macro" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69fb52edb3c5736b044cc462b0957b9767d0f574d138f4e2761438c498a4b467" +dependencies = [ + "quote", + "regex", + "syn 1.0.109", +] + +[[package]] +name = "pinocchio-pubkey" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0225638cadcbebae8932cb7f49cb5da7c15c21beb19f048f05a5ca7d93f065" +dependencies = [ + "five8_const 0.1.4", + "pinocchio 0.9.3", + "sha2-const-stable", +] + +[[package]] +name = "pinocchio-system" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24044a0815753862b558e179e78f03f7344cb755de48617a09d7d23b50883b6c" +dependencies = [ + "pinocchio 0.10.2", + "solana-address 2.6.0", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.11+spec-1.1.0", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +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.109", +] + +[[package]] +name = "qstring" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "quote" +version = "1.0.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +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", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "redox_syscall" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "rend" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "rewards-delegated-vrf" +version = "0.1.0" +dependencies = [ + "anchor-lang", + "anchor-spl", + "ephemeral-rollups-sdk", + "ephemeral-vrf-sdk", + "solana-program 3.0.0", + "spl-associated-token-account", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "rkyv" +version = "0.7.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" +dependencies = [ + "bitvec", + "bytecheck", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "semver" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_bytes" +version = "0.11.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2-const-stable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f179d4e11094a893b82fff208f74d448a7512f99f5a0acbd5c679b705f83ed9" + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "smallvec" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" + +[[package]] +name = "solana-account" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" +dependencies = [ + "solana-account-info 2.3.0", + "solana-clock 2.2.1", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-account-info" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8f5152a288ef1912300fc6efa6c2d1f9bb55d9398eb6c72326360b8063987da" +dependencies = [ + "bincode", + "serde", + "solana-program-error 2.2.1", + "solana-program-memory 2.2.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-account-info" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9cf16495d9eb53e3d04e72366a33bb1c20c24e78c171d8b8f5978357b63ae95" +dependencies = [ + "bincode", + "serde_core", + "solana-address 2.6.0", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", +] + +[[package]] +name = "solana-account-view" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f37ca34c37f92ee341b73d5ce7c8ef5bb38e9a87955b4bd343c63fa18b149215" +dependencies = [ + "solana-address 2.6.0", + "solana-program-error 3.0.1", +] + +[[package]] +name = "solana-address" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ecac8e1b7f74c2baa9e774c42817e3e75b20787134b76cc4d45e8a604488f5" +dependencies = [ + "solana-address 2.6.0", +] + +[[package]] +name = "solana-address" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1384b52c435a750cc9c538760fc7bb472fd78e65a9900a2d07312c5bb335b72" +dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "five8 1.0.0", + "five8_const 1.0.0", + "serde", + "serde_derive", + "sha2-const-stable", + "solana-atomic-u64 3.0.1", + "solana-define-syscall 5.0.0", + "solana-nullable", + "solana-program-error 3.0.1", + "solana-sanitize 3.0.1", + "solana-sha256-hasher 3.1.0", + "wincode", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1673f67efe870b64a65cb39e6194be5b26527691ce5922909939961a6e6b395" +dependencies = [ + "bincode", + "bytemuck", + "serde", + "serde_derive", + "solana-clock 2.2.1", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-slot-hashes 2.2.1", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115b4f773acc4f3f3cb986b0d335e9845c0368c82b0940410935bc11ae065578" +dependencies = [ + "solana-clock 3.0.1", + "solana-pubkey 4.2.0", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.1", +] + +[[package]] +name = "solana-atomic-u64" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52e52720efe60465b052b9e7445a01c17550666beec855cce66f44766697bc2" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "solana-atomic-u64" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "085db4906d89324cef2a30840d59eaecf3d4231c560ec7c9f6614a93c652f501" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "solana-big-mod-exp" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567" +dependencies = [ + "num-bigint", + "num-traits", + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-big-mod-exp" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c80fb6d791b3925d5ec4bf23a7c169ef5090c013059ec3ed7d0b2c04efa085" +dependencies = [ + "num-bigint", + "num-traits", + "solana-define-syscall 3.0.0", +] + +[[package]] +name = "solana-bincode" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc" +dependencies = [ + "bincode", + "serde", + "solana-instruction 2.3.3", +] + +[[package]] +name = "solana-blake3-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672" +dependencies = [ + "blake3", + "solana-define-syscall 2.3.0", + "solana-hash 2.2.1", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-blake3-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7116e1d942a2432ca3f514625104757ab8a56233787e95144c93950029e31176" +dependencies = [ + "blake3", + "solana-define-syscall 4.0.1", + "solana-hash 4.3.0", +] + +[[package]] +name = "solana-borsh" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.7", +] + +[[package]] +name = "solana-borsh" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c04abbae16f57178a163125805637b8a076175bb5c0002fb04f4792bea901cf7" +dependencies = [ + "borsh 1.5.7", +] + +[[package]] +name = "solana-clock" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c2177a1b9fe8326004f1151a5acd124420b737811080b1035df31349e4d892" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-clock" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95cf11109c3b6115cc510f1e31f06fdd52f504271bc24ef5f1249fbbcae5f9f3" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-cpi" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" +dependencies = [ + "solana-account-info 2.3.0", + "solana-define-syscall 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "solana-stable-layout 2.2.1", +] + +[[package]] +name = "solana-cpi" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dea26709d867aada85d0d3617db0944215c8bb28d3745b912de7db13a23280c" +dependencies = [ + "solana-account-info 3.1.1", + "solana-define-syscall 4.0.1", + "solana-instruction 3.4.0", + "solana-program-error 3.0.1", + "solana-pubkey 4.2.0", + "solana-stable-layout 3.0.1", +] + +[[package]] +name = "solana-curve25519" +version = "2.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae4261b9a8613d10e77ac831a8fa60b6fa52b9b103df46d641deff9f9812a23" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "solana-define-syscall 2.3.0", + "subtle", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-curve25519" +version = "3.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aff7432cdf2ec6a44ac06b4d64d2ee006f6c0066d6456e032a7fe25be40cd5c" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "solana-define-syscall 3.0.0", + "subtle", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-decode-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a6a6383af236708048f8bd8d03db8ca4ff7baf4a48e5d580f4cce545925470" +dependencies = [ + "num-traits", +] + +[[package]] +name = "solana-define-syscall" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ae3e2abcf541c8122eafe9a625d4d194b4023c20adde1e251f94e056bb1aee2" + +[[package]] +name = "solana-define-syscall" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9697086a4e102d28a156b8d6b521730335d6951bd39a5e766512bbe09007cee" + +[[package]] +name = "solana-define-syscall" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e5b1c0bc1d4a4d10c88a4100499d954c09d3fecfae4912c1a074dff68b1738" + +[[package]] +name = "solana-define-syscall" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03aacdd7a61e2109887a7a7f046caebafce97ddf1150f33722eeac04f9039c73" + +[[package]] +name = "solana-derivation-path" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "939756d798b25c5ec3cca10e06212bdca3b1443cb9bb740a38124f58b258737b" +dependencies = [ + "derivation-path", + "qstring", + "uriparse", +] + +[[package]] +name = "solana-derivation-path" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff71743072690fdbdfcdc37700ae1cb77485aaad49019473a81aee099b1e0b8c" +dependencies = [ + "derivation-path", + "qstring", + "uriparse", +] + +[[package]] +name = "solana-epoch-rewards" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-rewards" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5e7b0ba210593ba8ddd39d6d234d81795d1671cebf3026baa10d5dc23ac42f0" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 4.3.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-schedule" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-schedule" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce264b7b42322325947c4136a09460bf5c73d9aa8262c9b0a2064be63ba8639" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-stake" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "027e6d0b9e7daac5b2ac7c3f9ca1b727861121d9ef05084cf435ff736051e7c2" +dependencies = [ + "solana-define-syscall 5.0.0", + "solana-pubkey 4.2.0", +] + +[[package]] +name = "solana-example-mocks" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 2.2.2", + "solana-clock 2.2.1", + "solana-hash 2.2.1", + "solana-instruction 2.3.3", + "solana-keccak-hasher 2.2.1", + "solana-message 2.3.0", + "solana-nonce 2.2.1", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-example-mocks" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978855d164845c1b0235d4b4d101cadc55373fffaf0b5b6cfa2194d25b2ed658" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 3.1.0", + "solana-clock 3.0.1", + "solana-hash 3.1.0", + "solana-instruction 3.4.0", + "solana-keccak-hasher 3.1.0", + "solana-message 3.1.0", + "solana-nonce 3.2.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f9c7fbf3e58b64a667c5f35e90af580538a95daea7001ff7806c0662d301bdf" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account", + "solana-account-info 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ca9b5cbb6f500f7fd73db5bd95640f71a83f04d6121a0e59a43b202dca2731" +dependencies = [ + "solana-program-error 3.0.1", + "solana-pubkey 4.2.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-fee-calculator" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89bc408da0fb3812bc3008189d148b4d3e08252c79ad810b245482a3f70cd8d" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-fee-calculator" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e8add96b5741573e9f7529c4bb7719cfcfa999c3847a68cdfaef0cb6adf567" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-hash" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf7bcb14392900fe02e4e34e90234fbf0c673d4e327888410ba99fa2ba0f4e99" +dependencies = [ + "borsh 1.5.7", + "bs58", + "bytemuck", + "bytemuck_derive", + "js-sys", + "serde", + "serde_derive", + "solana-atomic-u64 2.2.1", + "solana-sanitize 2.2.1", + "wasm-bindgen", +] + +[[package]] +name = "solana-hash" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "337c246447142f660f778cf6cb582beba8e28deb05b3b24bfb9ffd7c562e5f41" +dependencies = [ + "solana-hash 4.3.0", +] + +[[package]] +name = "solana-hash" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1b113239362cee7093bfb250467138f079a2a03673181dc15bff6ccd677912d" +dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "five8 1.0.0", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.1", + "solana-sanitize 3.0.1", + "wincode", +] + +[[package]] +name = "solana-instruction" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab5682934bd1f65f8d2c16f21cb532526fcc1a09f796e2cacdb091eee5774ad" +dependencies = [ + "bincode", + "borsh 1.5.7", + "getrandom 0.2.16", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "serde_json", + "solana-define-syscall 2.3.0", + "solana-pubkey 2.4.0", + "wasm-bindgen", +] + +[[package]] +name = "solana-instruction" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ebb0ffd19263051bc3f683fcc086134b8ff23af894dcb63f7563c7137b42f1" +dependencies = [ + "bincode", + "borsh 1.5.7", + "serde", + "serde_derive", + "solana-define-syscall 5.0.0", + "solana-instruction-error", + "solana-pubkey 4.2.0", +] + +[[package]] +name = "solana-instruction-error" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0b188842592fdf6cb96f55263ae1bf11713ab5114401d1d5a881ed7cc41bef6" +dependencies = [ + "num-traits", + "solana-program-error 3.0.1", +] + +[[package]] +name = "solana-instruction-view" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60147e4d0a4620013df40bf30a86dd299203ff12fcb8b593cd51014fce0875d8" +dependencies = [ + "solana-account-view", + "solana-address 2.6.0", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.1", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" +dependencies = [ + "bitflags", + "solana-account-info 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf67876c541aa1e21ee1acae35c95c6fbc61119814bfef70579317a5e26955" +dependencies = [ + "bitflags", + "solana-account-info 3.1.1", + "solana-instruction 3.4.0", + "solana-instruction-error", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-serialize-utils 3.1.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-invoke" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4065031f5c7dd29ef5f5003c1a353011eeabbafa6c5a5033da0cedbfca824b94" +dependencies = [ + "solana-account-info 3.1.1", + "solana-define-syscall 3.0.0", + "solana-instruction 3.4.0", + "solana-program-entrypoint 3.1.1", + "solana-stable-layout 3.0.1", +] + +[[package]] +name = "solana-keccak-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79" +dependencies = [ + "sha3", + "solana-define-syscall 2.3.0", + "solana-hash 2.2.1", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-keccak-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed1c0d16d6fdeba12291a1f068cdf0d479d9bff1141bf44afd7aa9d485f65ef8" +dependencies = [ + "sha3", + "solana-define-syscall 4.0.1", + "solana-hash 4.3.0", +] + +[[package]] +name = "solana-last-restart-slot" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-last-restart-slot" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcda154ec827f5fc1e4da0af3417951b7e9b8157540f81f936c4a8b1156134d0" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-loader-v2-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8ab08006dad78ae7cd30df8eea0539e207d08d91eaefb3e1d49a446e1c49654" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4be76cfa9afd84ca2f35ebc09f0da0f0092935ccdac0595d98447f259538c2" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0538d4dbc9022e01616f1c58f2db98ece739c5d5ed4a2ef8737a953e76a2d4" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.4.0", + "solana-pubkey 4.2.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 3.2.0", +] + +[[package]] +name = "solana-loader-v4-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706a777242f1f39a83e2a96a2a6cb034cb41169c6ecbee2cf09cb873d9659e7e" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-message" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c6bf99c4570173710107a1f233f3bee226feea5fc817308707d4f7cb100a72d" +dependencies = [ + "bincode", + "blake3", + "lazy_static", + "serde", + "serde_derive", + "solana-bincode", + "solana-hash 2.2.1", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", + "solana-transaction-error 2.2.1", + "wasm-bindgen", +] + +[[package]] +name = "solana-message" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0448b1fd891c5f46491e5dc7d9986385ba3c852c340db2911dd29faa01d2b08d" +dependencies = [ + "lazy_static", + "serde", + "serde_derive", + "solana-address 2.6.0", + "solana-hash 4.3.0", + "solana-instruction 3.4.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.1", + "solana-transaction-error 3.2.0", +] + +[[package]] +name = "solana-msg" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092" +dependencies = [ + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-msg" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726b7cbbc6be6f1c6f29146ac824343b9415133eee8cce156452ad1db93f8008" +dependencies = [ + "solana-define-syscall 5.0.0", +] + +[[package]] +name = "solana-native-token" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e9de00960197412e4be3902a6cd35e60817c511137aca6c34c66cd5d4017ec" + +[[package]] +name = "solana-native-token" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8dd4c280dca9d046139eb5b7a5ac9ad10403fbd64964c7d7571214950d758f" + +[[package]] +name = "solana-nonce" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" +dependencies = [ + "serde", + "serde_derive", + "solana-fee-calculator 2.2.1", + "solana-hash 2.2.1", + "solana-pubkey 2.4.0", + "solana-sha256-hasher 2.2.1", +] + +[[package]] +name = "solana-nonce" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95dbc9f2e33b6c10e231df15cb2a3bff9ea7eab6347f9e316fe75c97fd67bbb" +dependencies = [ + "solana-fee-calculator 3.2.0", + "solana-hash 4.3.0", + "solana-pubkey 4.2.0", + "solana-sha256-hasher 3.1.0", +] + +[[package]] +name = "solana-nullable" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da028344c595c7416769ff648d206de7962571291a4cea24c38a60b6f40d53bb" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "solana-program" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "586469467e93ceb79048f8d8e3a619bf61d05396ee7de95cb40280301a589d05" +dependencies = [ + "bincode", + "blake3", + "borsh 0.10.4", + "borsh 1.5.7", + "bs58", + "bytemuck", + "console_error_panic_hook", + "console_log", + "getrandom 0.2.16", + "lazy_static", + "log", + "memoffset", + "num-bigint", + "num-derive 0.4.2", + "num-traits", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info 2.3.0", + "solana-address-lookup-table-interface 2.2.2", + "solana-atomic-u64 2.2.1", + "solana-big-mod-exp 2.2.1", + "solana-bincode", + "solana-blake3-hasher 2.2.1", + "solana-borsh 2.2.1", + "solana-clock 2.2.1", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-example-mocks 2.2.1", + "solana-feature-gate-interface 2.2.1", + "solana-fee-calculator 2.2.1", + "solana-hash 2.2.1", + "solana-instruction 2.3.3", + "solana-instructions-sysvar 2.2.2", + "solana-keccak-hasher 2.2.1", + "solana-last-restart-slot 2.2.1", + "solana-loader-v2-interface", + "solana-loader-v3-interface 3.0.0", + "solana-loader-v4-interface", + "solana-message 2.3.0", + "solana-msg 2.2.1", + "solana-native-token 2.2.1", + "solana-nonce 2.2.1", + "solana-program-entrypoint 2.2.1", + "solana-program-error 2.2.1", + "solana-program-memory 2.2.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-secp256k1-recover 2.2.1", + "solana-serde-varint 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-sha256-hasher 2.2.1", + "solana-short-vec 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stable-layout 2.2.1", + "solana-stake-interface 1.2.1", + "solana-system-interface 1.0.0", + "solana-sysvar 2.2.1", + "solana-sysvar-id 2.2.1", + "solana-vote-interface", + "thiserror 2.0.18", + "wasm-bindgen", +] + +[[package]] +name = "solana-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91b12305dd81045d705f427acd0435a2e46444b65367d7179d7bdcfc3bc5f5eb" +dependencies = [ + "memoffset", + "solana-account-info 3.1.1", + "solana-big-mod-exp 3.0.0", + "solana-blake3-hasher 3.1.0", + "solana-borsh 3.0.2", + "solana-clock 3.0.1", + "solana-cpi 3.1.0", + "solana-define-syscall 3.0.0", + "solana-epoch-rewards 3.0.1", + "solana-epoch-schedule 3.1.0", + "solana-epoch-stake", + "solana-example-mocks 3.0.0", + "solana-fee-calculator 3.2.0", + "solana-hash 3.1.0", + "solana-instruction 3.4.0", + "solana-instruction-error", + "solana-instructions-sysvar 3.0.0", + "solana-keccak-hasher 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-msg 3.1.0", + "solana-native-token 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", + "solana-program-option 3.1.0", + "solana-program-pack 3.1.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-recover 3.1.1", + "solana-serde-varint 3.0.1", + "solana-serialize-utils 3.1.1", + "solana-sha256-hasher 3.1.0", + "solana-short-vec 3.2.1", + "solana-slot-hashes 3.0.1", + "solana-slot-history 3.0.0", + "solana-stable-layout 3.0.1", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-program-entrypoint" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473ffe73c68d93e9f2aa726ad2985fe52760052709aaab188100a42c618060ec" +dependencies = [ + "solana-account-info 2.3.0", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-program-entrypoint" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c9b0a1ff494e05f503a08b3d51150b73aa639544631e510279d6375f290997" +dependencies = [ + "solana-account-info 3.1.1", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.1", + "solana-pubkey 4.2.0", +] + +[[package]] +name = "solana-program-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8ae2c1a8d0d4ae865882d5770a7ebca92bab9c685e43f0461682c6c05a35bfa" +dependencies = [ + "borsh 1.5.7", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-program-error" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f04fa578707b3612b095f0c8e19b66a1233f7c42ca8082fcb3b745afcc0add6" +dependencies = [ + "borsh 1.5.7", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-program-memory" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b0268f6c89825fb634a34bd0c3b8fdaeaecfc3728be1d622a8ee6dd577b60d4" +dependencies = [ + "num-traits", + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-program-memory" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4068648649653c2c50546e9a7fb761791b5ab0cda054c771bb5808d3a4b9eb52" +dependencies = [ + "solana-define-syscall 4.0.1", +] + +[[package]] +name = "solana-program-option" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" + +[[package]] +name = "solana-program-option" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a88006a9b8594088cec9027ab77caaaa258a2aaa2083d3f086c44b42e50aeab" + +[[package]] +name = "solana-program-pack" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b" +dependencies = [ + "solana-program-error 2.2.1", +] + +[[package]] +name = "solana-program-pack" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7701cb15b90667ae1c89ef4ac35a59c61e66ce58ddee13d729472af7f41d59" +dependencies = [ + "solana-program-error 3.0.1", +] + +[[package]] +name = "solana-pubkey" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b62adb9c3261a052ca1f999398c388f1daf558a1b492f60a6d9e64857db4ff1" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "five8 0.2.1", + "five8_const 0.1.4", + "getrandom 0.2.16", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-atomic-u64 2.2.1", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-sanitize 2.2.1", + "solana-sha256-hasher 2.2.1", + "wasm-bindgen", +] + +[[package]] +name = "solana-pubkey" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8909d399deb0851aa524420beeb5646b115fd253ef446e35fe4504c904da3941" +dependencies = [ + "solana-address 1.1.0", +] + +[[package]] +name = "solana-pubkey" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7db719574990de7e8b0f55a8593ac92a5ccb42c8ce67b3e4bf05b139d5d9ee71" +dependencies = [ + "solana-address 2.6.0", +] + +[[package]] +name = "solana-rent" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-rent" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e860d5499a705369778647e97d760f7670adfb6fc8419dd3d568deccd46d5487" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-sanitize" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" + +[[package]] +name = "solana-sanitize" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf09694a0fc14e5ffb18f9b7b7c0f15ecb6eac5b5610bf76a1853459d19daf9" + +[[package]] +name = "solana-sdk-ids" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f" +dependencies = [ + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-sdk-ids" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def234c1956ff616d46c9dd953f251fa7096ddbaa6d52b165218de97882b7280" +dependencies = [ + "solana-address 2.6.0", +] + +[[package]] +name = "solana-sdk-macro" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86280da8b99d03560f6ab5aca9de2e38805681df34e0bb8f238e69b29433b9df" +dependencies = [ + "bs58", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "solana-sdk-macro" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8765316242300c48242d84a41614cb3388229ec353ba464f6fe62a733e41806f" +dependencies = [ + "bs58", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" +dependencies = [ + "libsecp256k1", + "solana-define-syscall 2.3.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c5f18893d62e6c73117dcba48f8f5e3266d90e5ec3d0a0a90f9785adac36c1" +dependencies = [ + "k256", + "solana-define-syscall 5.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-security-txt" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "156bb61a96c605fa124e052d630dba2f6fb57e08c7d15b757e1e958b3ed7b3fe" +dependencies = [ + "hashbrown 0.15.2", +] + +[[package]] +name = "solana-seed-derivable" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beb82b5adb266c6ea90e5cf3967235644848eac476c5a1f2f9283a143b7c97f" +dependencies = [ + "solana-derivation-path 2.2.1", +] + +[[package]] +name = "solana-seed-derivable" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff7bdb72758e3bec33ed0e2658a920f1f35dfb9ed576b951d20d63cb61ecd95c" +dependencies = [ + "solana-derivation-path 3.0.0", +] + +[[package]] +name = "solana-seed-phrase" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36187af2324f079f65a675ec22b31c24919cb4ac22c79472e85d819db9bbbc15" +dependencies = [ + "hmac", + "pbkdf2", + "sha2 0.10.8", +] + +[[package]] +name = "solana-seed-phrase" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc905b200a95f2ea9146e43f2a7181e3aeb55de6bc12afb36462d00a3c7310de" +dependencies = [ + "hmac", + "pbkdf2", + "sha2 0.10.8", +] + +[[package]] +name = "solana-serde-varint" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc07d00200d82e6def2f7f7a45738e3406b17fe54a18adcf0defa16a97ccadb" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serde-varint" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950e5b83e839dc0f92c66afc124bb8f40e89bc90f0579e8ec5499296d27f54e3" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serialize-utils" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e" +dependencies = [ + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-serialize-utils" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d7cc401931d178472358e6b78dc72d031dc08f752d7410f0e8bd259dd6f02fa" +dependencies = [ + "solana-instruction-error", + "solana-pubkey 4.2.0", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-sha256-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0037386961c0d633421f53560ad7c80675c0447cba4d1bb66d60974dd486c7ea" +dependencies = [ + "sha2 0.10.8", + "solana-define-syscall 2.3.0", + "solana-hash 2.2.1", +] + +[[package]] +name = "solana-sha256-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db7dc3011ea4c0334aaaa7e7128cb390ecf546b28d412e9bf2064680f57f588f" +dependencies = [ + "sha2 0.10.8", + "solana-define-syscall 4.0.1", + "solana-hash 4.3.0", +] + +[[package]] +name = "solana-short-vec" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c54c66f19b9766a56fa0057d060de8378676cb64987533fa088861858fc5a69" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-short-vec" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb8cc883fc7b8ce4a7814cb1441b48c06437049ec11847005cf63bcfa85c546" +dependencies = [ + "serde_core", +] + +[[package]] +name = "solana-signature" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c8ec8e657aecfc187522fc67495142c12f35e55ddeca8698edbb738b8dbd8c" +dependencies = [ + "five8 0.2.1", + "serde", + "serde-big-array", + "serde_derive", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-signature" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a73c6e97cc2108be0adf6a6ea326434f8398df9d7eed81da2a4548b69e971c" +dependencies = [ + "five8 1.0.0", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-signer" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b" +dependencies = [ + "solana-pubkey 2.4.0", + "solana-signature 2.3.0", + "solana-transaction-error 2.2.1", +] + +[[package]] +name = "solana-signer" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bfea97951fee8bae0d6038f39a5efcb6230ecdfe33425ac75196d1a1e3e3235" +dependencies = [ + "solana-pubkey 3.0.0", + "solana-signature 3.4.0", + "solana-transaction-error 3.2.0", +] + +[[package]] +name = "solana-slot-hashes" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-hashes" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2585f70191623887329dfb5078da3a00e15e3980ea67f42c2e10b07028419f43" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 4.3.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-slot-history" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ccc1b2067ca22754d5283afb2b0126d61eae734fc616d23871b0943b0d935e" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-history" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f914f6b108f5bba14a280b458d023e3621c9973f27f015a4d755b50e88d89e97" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-stable-layout" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54" +dependencies = [ + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-stable-layout" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9f6a291ba063a37780af29e7db14bdd3dc447584d8ba5b3fc4b88e2bbc982fa" +dependencies = [ + "solana-instruction 3.4.0", + "solana-pubkey 4.2.0", +] + +[[package]] +name = "solana-stake-interface" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.7", + "num-traits", + "serde", + "serde_derive", + "solana-clock 2.2.1", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "solana-system-interface 1.0.0", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-stake-interface" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9bc26191b533f9a6e5a14cca05174119819ced680a80febff2f5051a713f0db" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-clock 3.0.1", + "solana-cpi 3.1.0", + "solana-instruction 3.4.0", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-system-interface" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d7c18cb1a91c6be5f5a8ac9276a1d7c737e39a21beba9ea710ab4b9c63bc90" +dependencies = [ + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "wasm-bindgen", +] + +[[package]] +name = "solana-system-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e1790547bfc3061f1ee68ea9d8dc6c973c02a163697b24263a8e9f2e6d4afa2" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-instruction 3.4.0", + "solana-msg 3.1.0", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-system-interface" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55b54965bf0b76fa8e2b35376583efddd4d916618cfe595bf48c7d7b55a9e628" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-address 2.6.0", + "solana-instruction 3.4.0", + "solana-msg 3.1.0", + "solana-program-error 3.0.1", +] + +[[package]] +name = "solana-sysvar" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf6b44740d7f0c9f375d045c165bc0aab4a90658f92d6835aeb0649afaeaff9a" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info 2.3.0", + "solana-clock 2.2.1", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-fee-calculator 2.2.1", + "solana-hash 2.2.1", + "solana-instruction 2.3.3", + "solana-instructions-sysvar 2.2.2", + "solana-last-restart-slot 2.2.1", + "solana-program-entrypoint 2.2.1", + "solana-program-error 2.2.1", + "solana-program-memory 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stake-interface 1.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-sysvar" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6690d3dd88f15c21edff68eb391ef8800df7a1f5cec84ee3e8d1abf05affdf74" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info 3.1.1", + "solana-clock 3.0.1", + "solana-define-syscall 4.0.1", + "solana-epoch-rewards 3.0.1", + "solana-epoch-schedule 3.1.0", + "solana-fee-calculator 3.2.0", + "solana-hash 4.3.0", + "solana-instruction 3.4.0", + "solana-last-restart-slot 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.1", + "solana-program-memory 3.1.0", + "solana-pubkey 4.2.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.1", + "solana-slot-hashes 3.0.1", + "solana-slot-history 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-sysvar-id" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" +dependencies = [ + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-sysvar-id" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17358d1e9a13e5b9c2264d301102126cf11a47fd394cdf3dec174fe7bc96e1de" +dependencies = [ + "solana-address 2.6.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-transaction-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1" +dependencies = [ + "solana-instruction 2.3.3", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-transaction-error" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a2165ad25b694c654d5395fc7a049452a192376e4c96a7fad05580f6ba5ba1c" +dependencies = [ + "solana-instruction-error", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-vote-interface" +version = "2.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78f039b0788337bedc6c5450d2f237718f938defb5ce0e0ad8ef507e78dcd370" +dependencies = [ + "bincode", + "num-derive 0.4.2", + "num-traits", + "serde", + "serde_derive", + "solana-clock 2.2.1", + "solana-decode-error", + "solana-hash 2.2.1", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serde-varint 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-zero-copy" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5a91404c7de468dd80658cdb5d894ec803d1092ea6e2bfdf84eee6f07559c0d" +dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", +] + +[[package]] +name = "solana-zk-sdk" +version = "2.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b9fc6ec37d16d0dccff708ed1dd6ea9ba61796700c3bb7c3b401973f10f63b" +dependencies = [ + "aes-gcm-siv", + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "itertools", + "js-sys", + "merlin", + "num-derive 0.4.2", + "num-traits", + "rand 0.8.5", + "serde", + "serde_derive", + "serde_json", + "sha3", + "solana-derivation-path 2.2.1", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-seed-derivable 2.2.1", + "solana-seed-phrase 2.2.1", + "solana-signature 2.3.0", + "solana-signer 2.2.1", + "subtle", + "thiserror 2.0.18", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "solana-zk-sdk" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9602bcb1f7af15caef92b91132ec2347e1c51a72ecdbefdaefa3eac4b8711475" +dependencies = [ + "aes-gcm-siv", + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "getrandom 0.2.16", + "itertools", + "js-sys", + "merlin", + "num-derive 0.4.2", + "num-traits", + "rand 0.8.5", + "serde", + "serde_derive", + "serde_json", + "sha3", + "solana-derivation-path 3.0.0", + "solana-instruction 3.4.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-signature 3.4.0", + "solana-signer 3.0.0", + "subtle", + "thiserror 2.0.18", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "spl-associated-token-account" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae179d4a26b3c7a20c839898e6aed84cb4477adf108a366c95532f058aea041b" +dependencies = [ + "borsh 1.5.7", + "num-derive 0.4.2", + "num-traits", + "solana-program 2.2.1", + "spl-associated-token-account-client", + "spl-token", + "spl-token-2022", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-associated-token-account-client" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f8349dbcbe575f354f9a533a21f272f3eb3808a49e2fdc1c34393b88ba76cb" +dependencies = [ + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "spl-associated-token-account-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6433917b60441d68d99a17e121d9db0ea15a9a69c0e5afa34649cf5ba12612f" +dependencies = [ + "solana-instruction 3.4.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "spl-discriminator" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7398da23554a31660f17718164e31d31900956054f54f52d5ec1be51cb4f4b3" +dependencies = [ + "bytemuck", + "solana-program-error 2.2.1", + "solana-sha256-hasher 2.2.1", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e597c5ff9ed7c74a54dbc47bae2f06e4db8c98f4356ad280200dc11878266db1" +dependencies = [ + "bytemuck", + "solana-program-error 3.0.1", + "solana-sha256-hasher 3.1.0", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" +dependencies = [ + "quote", + "spl-discriminator-syn", + "syn 2.0.117", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d1dbc82ab91422345b6df40a79e2b78c7bce1ebb366da323572dd60b7076b67" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.117", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-elgamal-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65edfeed09cd4231e595616aa96022214f9c9d2be02dea62c2b30d5695a6833a" +dependencies = [ + "bytemuck", + "solana-account-info 2.3.0", + "solana-cpi 2.2.1", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "solana-sysvar 2.2.1", + "solana-zk-sdk 2.3.13", + "spl-pod 0.5.1", + "spl-token-confidential-transfer-proof-extraction 0.3.0", +] + +[[package]] +name = "spl-memo" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f09647c0974e33366efeb83b8e2daebb329f0420149e74d3a4bd2c08cf9f7cb" +dependencies = [ + "solana-account-info 2.3.0", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "spl-pod" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d994afaf86b779104b4a95ba9ca75b8ced3fdb17ee934e38cb69e72afbe17799" +dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "num-derive 0.4.2", + "num-traits", + "solana-decode-error", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "solana-program-option 2.2.1", + "solana-pubkey 2.4.0", + "solana-zk-sdk 2.3.13", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-pod" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f9c6e142cdf1e7e77f480053ec9f0ce989890768ddf91f619b50f39d1b456f5" +dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-program-error 3.0.1", + "solana-program-option 3.1.0", + "solana-pubkey 3.0.0", + "solana-zero-copy", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-program-error" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdebc8b42553070b75aa5106f071fef2eb798c64a7ec63375da4b1f058688c6" +dependencies = [ + "num-derive 0.4.2", + "num-traits", + "solana-decode-error", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "spl-program-error-derive", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-program-error-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2539e259c66910d78593475540e8072f0b10f0f61d7607bbf7593899ed52d0" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.117", +] + +[[package]] +name = "spl-tlv-account-resolution" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1408e961215688715d5a1063cbdcf982de225c45f99c82b4f7d7e1dd22b998d7" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-account-info 2.3.0", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "spl-discriminator 0.4.1", + "spl-pod 0.5.1", + "spl-program-error", + "spl-type-length-value 0.8.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053067c6a82c705004f91dae058b11b4780407e9ccd6799dc9e7d0fab5f242da" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-account-info 2.3.0", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-program-entrypoint 2.2.1", + "solana-program-error 2.2.1", + "solana-program-memory 2.2.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sysvar 2.2.1", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-2022" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f0dfbb079eebaee55e793e92ca5f433744f4b71ee04880bfd6beefba5973e5" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-account-info 2.3.0", + "solana-clock 2.2.1", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-native-token 2.2.1", + "solana-program-entrypoint 2.2.1", + "solana-program-error 2.2.1", + "solana-program-memory 2.2.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-security-txt", + "solana-system-interface 1.0.0", + "solana-sysvar 2.2.1", + "solana-zk-sdk 2.3.13", + "spl-elgamal-registry", + "spl-memo", + "spl-pod 0.5.1", + "spl-token", + "spl-token-confidential-transfer-ciphertext-arithmetic", + "spl-token-confidential-transfer-proof-extraction 0.3.0", + "spl-token-confidential-transfer-proof-generation 0.4.1", + "spl-token-group-interface 0.6.0", + "spl-token-metadata-interface 0.7.0", + "spl-transfer-hook-interface", + "spl-type-length-value 0.8.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-2022-interface" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fcd81188211f4b3c8a5eba7fd534c7142f9dd026123b3472492782cc72f4dc6" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-account-info 3.1.1", + "solana-instruction 3.4.0", + "solana-program-error 3.0.1", + "solana-program-option 3.1.0", + "solana-program-pack 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-zk-sdk 4.0.0", + "spl-pod 0.7.3", + "spl-token-confidential-transfer-proof-extraction 0.5.1", + "spl-token-confidential-transfer-proof-generation 0.5.1", + "spl-token-group-interface 0.7.2", + "spl-token-metadata-interface 0.8.0", + "spl-type-length-value 0.9.1", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-ciphertext-arithmetic" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cddd52bfc0f1c677b41493dafa3f2dbbb4b47cf0990f08905429e19dc8289b35" +dependencies = [ + "base64 0.22.1", + "bytemuck", + "solana-curve25519 2.3.13", + "solana-zk-sdk 2.3.13", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe2629860ff04c17bafa9ba4bed8850a404ecac81074113e1f840dbd0ebb7bd6" +dependencies = [ + "bytemuck", + "solana-account-info 2.3.0", + "solana-curve25519 2.3.13", + "solana-instruction 2.3.3", + "solana-instructions-sysvar 2.2.2", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-zk-sdk 2.3.13", + "spl-pod 0.5.1", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879a9ebad0d77383d3ea71e7de50503554961ff0f4ef6cbca39ad126e6f6da3a" +dependencies = [ + "bytemuck", + "solana-account-info 3.1.1", + "solana-curve25519 3.1.14", + "solana-instruction 3.4.0", + "solana-instructions-sysvar 3.0.0", + "solana-msg 3.1.0", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-zk-sdk 4.0.0", + "spl-pod 0.7.3", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-generation" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa27b9174bea869a7ebf31e0be6890bce90b1a4288bc2bbf24bd413f80ae3fde" +dependencies = [ + "curve25519-dalek", + "solana-zk-sdk 2.3.13", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-generation" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0cd59fce3dc00f563c6fa364d67c3f200d278eae681f4dc250240afcfe044b1" +dependencies = [ + "curve25519-dalek", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-group-interface" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5597b4cd76f85ce7cd206045b7dc22da8c25516573d42d267c8d1fd128db5129" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "spl-discriminator 0.4.1", + "spl-pod 0.5.1", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-group-interface" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841cbd6f2322d02719be4da1affedbe6495b1048b7b985ec9796032564026e22" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-address 2.6.0", + "solana-instruction 3.4.0", + "solana-nullable", + "solana-program-error 3.0.1", + "solana-zero-copy", + "spl-discriminator 0.5.2", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c564ac05a7c8d8b12e988a37d82695b5ba4db376d07ea98bc4882c81f96c7f3" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-instruction 3.4.0", + "solana-program-error 3.0.1", + "solana-program-option 3.1.0", + "solana-program-pack 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-metadata-interface" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "304d6e06f0de0c13a621464b1fd5d4b1bebf60d15ca71a44d3839958e0da16ee" +dependencies = [ + "borsh 1.5.7", + "num-derive 0.4.2", + "num-traits", + "solana-borsh 2.2.1", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "spl-discriminator 0.4.1", + "spl-pod 0.5.1", + "spl-type-length-value 0.8.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-metadata-interface" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c467c7c3bd056f8fe60119e7ec34ddd6f23052c2fa8f1f51999098063b72676" +dependencies = [ + "borsh 1.5.7", + "num-derive 0.4.2", + "num-traits", + "solana-borsh 3.0.2", + "solana-instruction 3.4.0", + "solana-program-error 3.0.1", + "solana-pubkey 3.0.0", + "spl-discriminator 0.5.2", + "spl-pod 0.7.3", + "spl-type-length-value 0.9.1", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-transfer-hook-interface" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7e905b849b6aba63bde8c4badac944ebb6c8e6e14817029cbe1bc16829133bd" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-account-info 2.3.0", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "solana-pubkey 2.4.0", + "spl-discriminator 0.4.1", + "spl-pod 0.5.1", + "spl-program-error", + "spl-tlv-account-resolution", + "spl-type-length-value 0.8.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-type-length-value" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d417eb548214fa822d93f84444024b4e57c13ed6719d4dcc68eec24fb481e9f5" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-account-info 2.3.0", + "solana-decode-error", + "solana-msg 2.2.1", + "solana-program-error 2.2.1", + "spl-discriminator 0.4.1", + "spl-pod 0.5.1", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-type-length-value" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2504631748c48d2a937414d64a12dcac4588d34bd07d355d648619c189d29435" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-account-info 3.1.1", + "solana-program-error 3.0.1", + "solana-zero-copy", + "spl-discriminator 0.5.2", + "thiserror 2.0.18", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl 2.0.18", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900f6c86a685850b1bc9f6223b20125115ee3f31e01207d81655bbcc0aea9231" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime 0.6.9", + "toml_edit 0.22.25", +] + +[[package]] +name = "toml_datetime" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.22.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10558ed0bd2a1562e630926a2d1f0b98c827da99fabd3fe20920a59642504485" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime 0.6.9", + "toml_write", + "winnow 0.7.7", +] + +[[package]] +name = "toml_edit" +version = "0.25.11+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +dependencies = [ + "indexmap", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.2", +] + +[[package]] +name = "toml_parser" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +dependencies = [ + "winnow 1.0.2", +] + +[[package]] +name = "toml_write" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28391a4201ba7eb1984cfeb6862c0b3ea2cfe23332298967c749dddc0d6cd976" + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + +[[package]] +name = "uriparse" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0200d0fc04d809396c2ad43f3c95da3582a2556eba8d453c1087f4120ee352ff" +dependencies = [ + "fnv", + "lazy_static", +] + +[[package]] +name = "uuid" +version = "1.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.117", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wincode" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a61f8f0a55eb6cae5d7b7ad2eca536a944deb9722a948525181069064ecd1abc" +dependencies = [ + "pastey", + "proc-macro2", + "quote", + "thiserror 2.0.18", + "wincode-derive", +] + +[[package]] +name = "wincode-derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fca057fc9a13dd19cdb64ef558635d43c42667c0afa1ae7915ea1fa66993fd1a" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb8234a863ea0e8cd7284fcdd4f145233eb00fee02bbdd9861aec44e6477bc5" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" +dependencies = [ + "memchr", +] + +[[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.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] diff --git a/rewards-delegated-vrf-1.0/Cargo.toml b/rewards-delegated-vrf-1.0/Cargo.toml new file mode 100644 index 0000000..f397704 --- /dev/null +++ b/rewards-delegated-vrf-1.0/Cargo.toml @@ -0,0 +1,14 @@ +[workspace] +members = [ + "programs/*" +] +resolver = "2" + +[profile.release] +overflow-checks = true +lto = "fat" +codegen-units = 1 +[profile.release.build-override] +opt-level = 3 +incremental = false +codegen-units = 1 diff --git a/rewards-delegated-vrf-1.0/README.md b/rewards-delegated-vrf-1.0/README.md new file mode 100644 index 0000000..a808aa6 --- /dev/null +++ b/rewards-delegated-vrf-1.0/README.md @@ -0,0 +1,46 @@ +# ➕ Rewards with Delegated VRF + +Rewards program using Anchor, VRF, and Ephemeral Rollups. + +## Software Packages + +This program has utilized the following software packages. + +| Software | Version | Installation Guide | +| ---------- | ------- | --------------------------------------------------------------- | +| **Solana** | 2.3.13 | [Install Solana](https://docs.anza.xyz/cli/install) | +| **Rust** | 1.85.0 | [Install Rust](https://www.rust-lang.org/tools/install) | +| **Anchor** | 1.0.0 | [Install Anchor](https://www.anchor-lang.com/docs/installation) | +| **Node** | 24.10.0 | [Install Node](https://nodejs.org/en/download/current) | + +```sh +# Check and initialize your Solana version +agave-install list +agave-install init 2.3.13 + +# Check and initialize your Rust version +rustup show +rustup install 1.85.0 + +# Check and initialize your Anchor version +avm list +avm use 1.0.0 +``` + +## ✨ Build and Test + +The test script automatically detects the cluster from `Anchor.toml` and handles Ephemeral Rollup setup for localnet: + +```bash +yarn +anchor build +anchor deploy +anchor test --skip-deploy --skip-build --skip-local-validator +``` + +Note: You may need to update program example program id and authority + +```rust +declare_id!("HuGRGfqr7BNdeogipmidXL21PjF4qSoXFDaCBhetviwZ"); +pub const PROGRAM_AUTHORITY: Pubkey = pubkey!("EyBRt4Acr7b4s3exfnVvJ4EgL8oa6Lc4JK1Leonud34W"); +``` diff --git a/rewards-delegated-vrf-1.0/dashboard/.env.local.example b/rewards-delegated-vrf-1.0/dashboard/.env.local.example new file mode 100644 index 0000000..dadd79f --- /dev/null +++ b/rewards-delegated-vrf-1.0/dashboard/.env.local.example @@ -0,0 +1,9 @@ +NEXT_PUBLIC_SOLANA_RPC_ENDPOINT=https://api.devnet.solana.com +NEXT_PUBLIC_PROGRAM_ID=rEwArDea6BfpdA8QuBLkTCLESRJfZciUFoHA68FRq6Y + +# Ephemeral Rollup Configuration (for VRF features) +NEXT_PUBLIC_EPHEMERAL_PROVIDER_ENDPOINT=https://devnet-as.magicblock.app/ +NEXT_PUBLIC_EPHEMERAL_WS_ENDPOINT=wss://devnet-as.magicblock.app/ + +# Metaplex Configuration (optional) +NEXT_PUBLIC_METAPLEX_PROGRAM_ID=metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s \ No newline at end of file diff --git a/rewards-delegated-vrf-1.0/dashboard/.gitignore b/rewards-delegated-vrf-1.0/dashboard/.gitignore new file mode 100644 index 0000000..67686b1 --- /dev/null +++ b/rewards-delegated-vrf-1.0/dashboard/.gitignore @@ -0,0 +1,9 @@ +/.next/ +/out/ +/build/ +*.pem +.DS_Store +/.env.local +/.env +node_modules/ +.eslintrc.json \ No newline at end of file diff --git a/rewards-delegated-vrf-1.0/dashboard/app/globals.css b/rewards-delegated-vrf-1.0/dashboard/app/globals.css new file mode 100644 index 0000000..41c4692 --- /dev/null +++ b/rewards-delegated-vrf-1.0/dashboard/app/globals.css @@ -0,0 +1,53 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); + color: #e0e0e0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; + min-height: 100vh; +} + +code { + font-family: "Courier New", monospace; + font-size: 0.875em; +} + +.card { + @apply bg-gray-800 rounded-lg border border-gray-700 p-4; +} + +.btn-primary { + @apply px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 transition-colors; +} + +.btn-secondary { + @apply px-4 py-2 bg-gray-700 text-gray-100 rounded-lg hover:bg-gray-600 transition-colors; +} + +.badge { + @apply inline-block px-3 py-1 bg-indigo-900 text-indigo-100 text-xs rounded-full font-medium; +} + +.text-muted { + @apply text-gray-400; +} + +.success { + @apply text-green-400; +} + +.error { + @apply text-red-400; +} + +.warning { + @apply text-yellow-400; +} diff --git a/rewards-delegated-vrf-1.0/dashboard/app/layout.tsx b/rewards-delegated-vrf-1.0/dashboard/app/layout.tsx new file mode 100644 index 0000000..d5a2fc8 --- /dev/null +++ b/rewards-delegated-vrf-1.0/dashboard/app/layout.tsx @@ -0,0 +1,23 @@ +import type { Metadata } from "next"; +import "./globals.css"; +import { Providers } from "./providers"; + +export const metadata: Metadata = { + title: "Rewards VRF Dashboard", + description: + "Admin dashboard for managing Solana rewards distribution via VRF", +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + {children} + + + ); +} diff --git a/rewards-delegated-vrf-1.0/dashboard/app/page.tsx b/rewards-delegated-vrf-1.0/dashboard/app/page.tsx new file mode 100644 index 0000000..e5a065d --- /dev/null +++ b/rewards-delegated-vrf-1.0/dashboard/app/page.tsx @@ -0,0 +1,196 @@ +"use client"; + +import React, { useState, useEffect } from "react"; +import { useWallet, useConnection } from "@solana/wallet-adapter-react"; +import { PublicKey } from "@solana/web3.js"; +import { + Header, + WalletInfo, + DistributorCard, + RewardListCard, + RewardsTable, + LoadingSpinner, + ErrorMessage, + AdminActions, + DelegationActions, +} from "@/components"; +import { NftActions } from "@/components/NftActions"; +import { TransactionHistory } from "@/components/TransactionHistory"; +import { DistributorSwitcher } from "@/components/DistributorSwitcher"; +import { useRewardData } from "@/hooks/useRewardData"; +import { useGlobalTransactionHistory } from "@/hooks/useGlobalTransactionHistory"; +import { useDiscoverDistributors } from "@/hooks/useDiscoverDistributors"; +import { PDAs } from "@/lib/pda"; +import { RefreshCw } from "lucide-react"; + +export default function Home() { + const { publicKey } = useWallet(); + const { connection } = useConnection(); + const [dismissedError, setDismissedError] = useState(false); + const [mounted, setMounted] = useState(false); + const [selectedDistributor, setSelectedDistributor] = useState( + null + ); + const { distributors } = useDiscoverDistributors(publicKey); + + const { distributor, rewardList, loading, error, refetch } = useRewardData( + publicKey, + selectedDistributor ? new PublicKey(selectedDistributor) : null + ); + const { transactions, removeTransaction } = useGlobalTransactionHistory(); + + useEffect(() => { + setMounted(true); + }, []); + + // Clear selected distributor when network changes + useEffect(() => { + setSelectedDistributor(null); + }, [connection.rpcEndpoint]); + + // Auto-select first discovered distributor + useEffect(() => { + if (publicKey && !selectedDistributor && distributors.length > 0) { + setSelectedDistributor(distributors[0].publicKey.toString()); + } + }, [publicKey, distributors, selectedDistributor]); + + const distributorPda = selectedDistributor + ? new PublicKey(selectedDistributor) + : publicKey + ? PDAs.getRewardDistributor(publicKey)[0] + : null; + + // Don't render wallet-dependent content until mounted + if (!mounted) { + return ( +
+
+
+ +
+
+ ); + } + + return ( +
+
+ +
+ {/* Wallet Status */} + + + {/* Distributor Switcher */} + {publicKey && ( + + setSelectedDistributor(dist.toString()) + } + /> + )} + + {/* Error Message */} + {error && !dismissedError && ( + setDismissedError(true)} + /> + )} + + {/* Your Distributor Section */} + {publicKey && ( +
+
+

+ Your Reward Distributor +

+ +
+ + {loading && } + + {!loading && distributor && ( +
+ + {rewardList && ( + <> + + + + )} +
+ )} + + {!loading && !distributor && !error && ( +
+

+ No reward distributor found. Initialize one first using the + program. +

+
+ )} +
+ )} + + {/* Admin Actions Section */} + {publicKey && ( +
+ +
+ )} + + {publicKey && ( +
+ +
+ )} + + {/* NFT Management Section */} + {publicKey && ( +
+ +
+ )} + + {/* Transaction History */} +
+ +
+
+
+ ); +} diff --git a/rewards-delegated-vrf-1.0/dashboard/app/providers.tsx b/rewards-delegated-vrf-1.0/dashboard/app/providers.tsx new file mode 100644 index 0000000..3ac952f --- /dev/null +++ b/rewards-delegated-vrf-1.0/dashboard/app/providers.tsx @@ -0,0 +1,80 @@ +"use client"; + +import React, { useEffect, useMemo, useState } from "react"; +import { + ConnectionProvider, + WalletProvider, +} from "@solana/wallet-adapter-react"; +import { WalletModalProvider } from "@solana/wallet-adapter-react-ui"; +import { + PhantomWalletAdapter, + SolflareWalletAdapter, + TorusWalletAdapter, +} from "@solana/wallet-adapter-wallets"; +import { + getDefaultSolanaEndpoint, + loadRpcEndpointPreference, + RPC_ENDPOINT_CHANGED_EVENT, + RPC_ENDPOINT_STORAGE_KEY, +} from "@/lib/clusterContext"; + +require("@solana/wallet-adapter-react-ui/styles.css"); + +// Suppress hydration warning for wallet adapter +const HydrationSuppressed = ({ children }: { children: React.ReactNode }) => ( +
{children}
+); + +/** + * Get the RPC endpoint, preferring saved cluster preference over env var + */ +function getEndpoint(): string { + const savedEndpoint = loadRpcEndpointPreference(); + if (savedEndpoint) { + return savedEndpoint; + } + return getDefaultSolanaEndpoint(); +} + +export function Providers({ children }: { children: React.ReactNode }) { + const [endpoint, setEndpoint] = useState(getEndpoint); + + useEffect(() => { + const syncEndpoint = () => { + setEndpoint(getEndpoint()); + }; + + const handleStorage = (event: StorageEvent) => { + if (!event.key || event.key === RPC_ENDPOINT_STORAGE_KEY) { + syncEndpoint(); + } + }; + + window.addEventListener("storage", handleStorage); + window.addEventListener(RPC_ENDPOINT_CHANGED_EVENT, syncEndpoint); + + return () => { + window.removeEventListener("storage", handleStorage); + window.removeEventListener(RPC_ENDPOINT_CHANGED_EVENT, syncEndpoint); + }; + }, []); + + const wallets = useMemo( + () => [ + new PhantomWalletAdapter(), + new SolflareWalletAdapter(), + new TorusWalletAdapter(), + ], + [] + ); + + return ( + + + + {children} + + + + ); +} diff --git a/rewards-delegated-vrf-1.0/dashboard/components/AdminActions.tsx b/rewards-delegated-vrf-1.0/dashboard/components/AdminActions.tsx new file mode 100644 index 0000000..337450d --- /dev/null +++ b/rewards-delegated-vrf-1.0/dashboard/components/AdminActions.tsx @@ -0,0 +1,2162 @@ +"use client"; + +import React, { useState, useEffect } from "react"; +import { useWallet, useConnection } from "@solana/wallet-adapter-react"; +import { PublicKey } from "@solana/web3.js"; +import { + Plus, + Minus, + Lock, + Settings, + Zap, + List, + Coins, +} from "lucide-react"; +import { useTransaction } from "@/hooks/useTransaction"; +import { useGlobalTransactionHistory } from "@/hooks/useGlobalTransactionHistory"; +import { useRewardData } from "@/hooks/useRewardData"; +import { PDAs } from "@/lib/pda"; +import { getBaseLayerSolanaEndpoint, getDefaultSolanaEndpoint } from "@/lib/clusterContext"; +import { resolveEndpoint } from "@/lib/endpoints"; +import { Connection } from "@solana/web3.js"; +import { Metadata } from "@metaplex-foundation/mpl-token-metadata"; +import { + fetchOwnedSplMintOptions, + type OwnedSplMintOption, +} from "@/lib/tokenAccounts"; +import { TransactionModal } from "./TransactionModal"; +import { CopyableAddress } from "./CopyableAddress"; +import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import { requestDashboardDataRefresh } from "@/lib/refresh"; +import { shortAddress } from "@/lib/utils"; + +interface ActionForm { + [key: string]: any; +} + +interface AdminActionsProps { + selectedDistributor?: PublicKey | null; +} + +export const AdminActions: React.FC = ({ selectedDistributor }) => { + const { publicKey } = useWallet(); + const { connection } = useConnection(); + const { addTransaction, updateTransaction } = useGlobalTransactionHistory(); + const { + initializeRewardDistributor, + setAdmins, + setWhitelist, + setRewardList, + requestRandomReward, + addReward, + addRewardsBatch, + removeReward, + removeRewardsBatch, + updateReward, + sendSponsoredLamportsToRewardList, + } = useTransaction({ + selectedDistributor, + onTransactionAdd: addTransaction, + onTransactionUpdate: updateTransaction, + }); + + // Use selected distributor if available, otherwise use primary (PDA-derived) + const targetDistributor = selectedDistributor || (publicKey ? PDAs.getRewardDistributor(publicKey)[0] : null); + const targetDistributorKey = targetDistributor?.toBase58() ?? null; + const { distributor, rewardList } = useRewardData(publicKey, targetDistributor); + + const rewardListPda = targetDistributor ? PDAs.getRewardList(targetDistributor)[0] : null; + + const [activeModal, setActiveModal] = useState(null); + const [localStatus, setLocalStatus] = useState({ + loading: false, + error: null as string | null, + signature: null as string | null, + endpoint: null as string | null, + }); + const [forms, setForms] = useState({ + admins: "", + whitelist: "", + rewardList: { + globalRangeMin: 0, + globalRangeMax: 1000, + startTimestamp: Math.floor(Date.now() / 1000), + endTimestamp: Math.floor(Date.now() / 1000) + 86400, + }, + randomReward: { + user: publicKey?.toString() || "", + clientSeed: 0, + }, + addReward: { + rewardName: "", + rewardMint: "", + rewardAmount: 1, + drawRangeMin: 0, + drawRangeMax: 0, + redemptionLimit: 1, + }, + fundRewardList: { + amountSol: "", + }, + removeReward: { + rewardName: "", + rewardMint: "", + redemptionAmount: 1, + }, + updateReward: { + currentRewardName: "", + rewardName: "", + rewardMint: "", + rewardAmount: 1, + drawRangeMin: 0, + drawRangeMax: 0, + }, + }); + const [availableDistributorMints, setAvailableDistributorMints] = useState([]); + const [loadingDistributorMints, setLoadingDistributorMints] = useState(false); + const [distributorMintFetchError, setDistributorMintFetchError] = useState(null); + const [mintSymbols, setMintSymbols] = useState>(new Map()); + + // SOL balance of the reward list PDA, fetched from the ER endpoint when the fund modal opens + const [rewardListBalance, setRewardListBalance] = useState<{ + totalLamports: number; + rentExemptLamports: number; + loading: boolean; + } | null>(null); + + useEffect(() => { + if (activeModal !== "fundRewardList" || !rewardListPda) { + setRewardListBalance(null); + return; + } + + let cancelled = false; + setRewardListBalance({ totalLamports: 0, rentExemptLamports: 0, loading: true }); + + const fetchBalance = async () => { + try { + // If delegated, account lives on the ER; otherwise on the Solana base layer + const targetEndpoint = rewardList?.delegated + ? resolveEndpoint(connection.rpcEndpoint, "magicblock") + : resolveEndpoint(connection.rpcEndpoint, "solana"); + const targetConnection = new Connection(targetEndpoint, "confirmed"); + + // Use getBalance() to avoid superstruct validation errors on ER getAccountInfo responses + const lamports = await targetConnection.getBalance(rewardListPda, "confirmed"); + if (!lamports) { + setRewardListBalance({ totalLamports: 0, rentExemptLamports: 0, loading: false }); + return; + } + + // Fetch data size from Solana base layer to compute rent-exempt minimum + const solEndpoint = resolveEndpoint(connection.rpcEndpoint, "solana"); + const solConnection = solEndpoint === targetEndpoint + ? targetConnection + : new Connection(solEndpoint, "confirmed"); + const solAccountInfo = await solConnection.getAccountInfo(rewardListPda); + const dataLength = solAccountInfo?.data.length ?? 0; + const rentExempt = await solConnection.getMinimumBalanceForRentExemption(dataLength); + + if (!cancelled) { + setRewardListBalance({ + totalLamports: lamports, + rentExemptLamports: rentExempt, + loading: false, + }); + } + } catch { + if (!cancelled) { + setRewardListBalance({ totalLamports: 0, rentExemptLamports: 0, loading: false }); + } + } + }; + + void fetchBalance(); + return () => { cancelled = true; }; + }, [activeModal, rewardListPda?.toBase58(), connection.rpcEndpoint, rewardList?.delegated]); + + // Auto-fill the suggested top-up amount once the balance resolves + useEffect(() => { + if (activeModal !== "fundRewardList" || !rewardListBalance || rewardListBalance.loading) return; + + const LAMPORTS_PER_TX = 50_000; + // Rent-exempt minimum for a 165-byte SPL token account (ATA created on each redemption) + const LAMPORTS_PER_TOKEN_ACCOUNT = 2_039_280; + const LAMPORTS_PER_REDEMPTION = LAMPORTS_PER_TX + LAMPORTS_PER_TOKEN_ACCOUNT; + const totalRemaining = (rewardList?.rewards ?? []).reduce( + (sum: number, r: any) => sum + Math.max(0, Number(r.redemptionLimit) - Number(r.redemptionCount)), + 0 + ); + + // Lamports needed to cover all remaining redemptions + 20% buffer + const neededLamports = Math.ceil(totalRemaining * LAMPORTS_PER_REDEMPTION * 1.2); + const currentExcess = rewardListBalance.totalLamports - rewardListBalance.rentExemptLamports; + const deficitLamports = Math.max(0, neededLamports - currentExcess); + + const sol = deficitLamports / 1e9; + const suggested = deficitLamports === 0 ? "0" : sol.toFixed(9).replace(/\.?0+$/, ""); + + setForms((prev) => ({ ...prev, fundRewardList: { amountSol: suggested } })); + }, [activeModal, rewardListBalance]); + + interface BatchRewardEntry { + rewardName: string; + rewardMint: string; + rewardAmount: number; + drawRangeMin: number; + drawRangeMax: number; + redemptionLimit: number; + isNftLike: boolean; + } + const [batchRewards, setBatchRewards] = useState([]); + + interface BatchRemoveRewardEntry { + rewardName: string; + rewardMint: string; + redemptionAmount: number; + } + const [batchRemoveRewards, setBatchRemoveRewards] = useState([]); + + const availableRewardNames = Array.from( + new Set( + (rewardList?.rewards ?? []) + .map((reward: any) => reward.name || reward.rewardName) + .filter((name: string | undefined): name is string => Boolean(name)) + ) + ).sort((left, right) => left.localeCompare(right)); + const rewardRangeSummary = [...(rewardList?.rewards ?? [])] + .map((reward: any) => ({ + name: reward.name || reward.rewardName || "Unnamed Reward", + drawRangeMin: reward.drawRangeMin, + drawRangeMax: reward.drawRangeMax, + })) + .sort((left, right) => { + if (left.drawRangeMin !== right.drawRangeMin) { + return left.drawRangeMin - right.drawRangeMin; + } + return left.name.localeCompare(right.name); + }); + const selectedRewardForRemoval = (rewardList?.rewards ?? []).find( + (reward: any) => + reward.name === forms.removeReward.rewardName || + reward.rewardName === forms.removeReward.rewardName + ); + const availableRewardRemovalMints = Array.from( + new Set( + (selectedRewardForRemoval?.rewardMints ?? []) + .map((mint: any) => mint?.toString?.()) + .filter((mint: string | undefined): mint is string => Boolean(mint)) + ) + ).sort((left, right) => left.localeCompare(right)); + const selectedAddRewardMintOption = availableDistributorMints.find( + (option) => option.mint === forms.addReward.rewardMint + ); + const selectedExistingAddReward = (rewardList?.rewards ?? []).find( + (reward: any) => + reward.name === forms.addReward.rewardName || + reward.rewardName === forms.addReward.rewardName + ); + const selectedExistingAddRewardType = selectedExistingAddReward?.rewardType + ? Object.keys(selectedExistingAddReward.rewardType)[0] + : null; + const isSelectedAddRewardNft = + selectedExistingAddRewardType === "legacyNft" || + selectedExistingAddRewardType === "programmableNft" || + (selectedExistingAddRewardType == null && selectedAddRewardMintOption?.isNftLike === true); + const shouldHideAddRewardAmount = Boolean(selectedExistingAddReward) || isSelectedAddRewardNft; + const shouldHideAddRewardRedemptionIncrease = isSelectedAddRewardNft; + const selectedRewardForUpdate = (rewardList?.rewards ?? []).find( + (reward: any) => + reward.name === forms.updateReward.currentRewardName || + reward.rewardName === forms.updateReward.currentRewardName + ); + const selectedUpdateRewardType = selectedRewardForUpdate?.rewardType + ? Object.keys(selectedRewardForUpdate.rewardType)[0] + : null; + const isSelectedUpdateRewardNft = + selectedUpdateRewardType === "legacyNft" || + selectedUpdateRewardType === "programmableNft"; + const alreadyAddedRewardMints = new Set( + (rewardList?.rewards ?? []).flatMap((reward: any) => + (reward.rewardMints ?? []).map((mint: any) => mint?.toString?.()) + ).filter(Boolean) + ); + const selectedUpdateRewardTypeLabel = + selectedUpdateRewardType === "legacyNft" + ? "Legacy NFT" + : selectedUpdateRewardType === "programmableNft" + ? "Programmable NFT" + : selectedUpdateRewardType === "splToken2022" + ? "SPL Token 2022" + : selectedUpdateRewardType === "splToken" + ? "SPL Token" + : selectedUpdateRewardType ?? ""; + + useEffect(() => { + if (!selectedRewardForUpdate) { + return; + } + + setForms((prev) => { + const nextUpdateReward = { + currentRewardName: prev.updateReward.currentRewardName, + rewardName: selectedRewardForUpdate.name, + rewardMint: selectedRewardForUpdate.rewardMints?.[0]?.toString?.() || "", + rewardAmount: selectedRewardForUpdate.rewardAmount ?? 1, + drawRangeMin: selectedRewardForUpdate.drawRangeMin ?? 0, + drawRangeMax: selectedRewardForUpdate.drawRangeMax ?? 0, + }; + + const unchanged = + prev.updateReward.currentRewardName === nextUpdateReward.currentRewardName && + prev.updateReward.rewardName === nextUpdateReward.rewardName && + prev.updateReward.rewardMint === nextUpdateReward.rewardMint && + prev.updateReward.rewardAmount === nextUpdateReward.rewardAmount && + prev.updateReward.drawRangeMin === nextUpdateReward.drawRangeMin && + prev.updateReward.drawRangeMax === nextUpdateReward.drawRangeMax; + + if (unchanged) { + return prev; + } + + return { + ...prev, + updateReward: nextUpdateReward, + }; + }); + }, [selectedRewardForUpdate]); + + useEffect(() => { + if ( + activeModal !== "updateReward" || + forms.updateReward.currentRewardName || + availableRewardNames.length === 0 + ) { + return; + } + + const defaultRewardName = availableRewardNames[0]; + const defaultReward = (rewardList?.rewards ?? []).find( + (reward: any) => + reward.name === defaultRewardName || reward.rewardName === defaultRewardName + ); + + setForms((prev) => ({ + ...prev, + updateReward: { + currentRewardName: defaultRewardName, + rewardName: defaultReward?.name || defaultRewardName, + rewardMint: defaultReward?.rewardMints?.[0]?.toString?.() || "", + rewardAmount: defaultReward?.rewardAmount ?? 1, + drawRangeMin: defaultReward?.drawRangeMin ?? 0, + drawRangeMax: defaultReward?.drawRangeMax ?? 0, + }, + })); + }, [activeModal, availableRewardNames, forms.updateReward.currentRewardName, rewardList]); + + useEffect(() => { + if ( + activeModal !== "removeReward" || + forms.removeReward.rewardName || + availableRewardNames.length === 0 + ) { + return; + } + + const defaultRewardName = availableRewardNames[0]; + const defaultReward = (rewardList?.rewards ?? []).find( + (reward: any) => + reward.name === defaultRewardName || reward.rewardName === defaultRewardName + ); + + setForms((prev) => ({ + ...prev, + removeReward: { + rewardName: defaultRewardName, + rewardMint: defaultReward?.rewardMints?.[0]?.toString?.() || "", + redemptionAmount: 1, + }, + })); + }, [activeModal, availableRewardNames, forms.removeReward.rewardName, rewardList]); + + // Helper to open modal with cleared status + const openModal = (modalName: string) => { + setLocalStatus({ loading: false, error: null, signature: null, endpoint: null }); + setActiveModal(modalName); + }; + + // Helper to close modal with cleared status + const closeModal = () => { + setLocalStatus({ loading: false, error: null, signature: null, endpoint: null }); + setActiveModal(null); + setBatchRewards([]); + }; + + const setLoadingStatus = () => { + setLocalStatus({ loading: true, error: null, signature: null, endpoint: null }); + }; + + const setValidationError = (message: string) => { + setLocalStatus({ loading: false, error: message, signature: null, endpoint: null }); + }; + + const parsePublicKey = (value: string, label: string): PublicKey | null => { + const trimmed = value.trim(); + if (!trimmed) { + setValidationError(`${label} is required`); + return null; + } + + try { + return new PublicKey(trimmed); + } catch { + setValidationError(`${label} is invalid`); + return null; + } + }; + + // Update randomReward user field when wallet changes and populate existing data + useEffect(() => { + setForms((prev) => { + const nextRandomRewardUser = publicKey?.toString() || ""; + const nextAdmins = + distributor?.admins && distributor.admins.length > 0 + ? distributor.admins.map((addr) => addr.toString()).join("\n") + : prev.admins; + const nextWhitelist = + distributor?.whitelist && distributor.whitelist.length > 0 + ? distributor.whitelist.map((addr) => addr.toString()).join("\n") + : prev.whitelist; + const nextRewardList = rewardList + ? { + globalRangeMin: rewardList.globalRangeMin || 0, + globalRangeMax: rewardList.globalRangeMax || 1000, + startTimestamp: rewardList.startTimestamp || Math.floor(Date.now() / 1000), + endTimestamp: rewardList.endTimestamp || Math.floor(Date.now() / 1000) + 86400, + } + : prev.rewardList; + + const isUnchanged = + prev.randomReward.user === nextRandomRewardUser && + prev.admins === nextAdmins && + prev.whitelist === nextWhitelist && + prev.rewardList.globalRangeMin === nextRewardList.globalRangeMin && + prev.rewardList.globalRangeMax === nextRewardList.globalRangeMax && + prev.rewardList.startTimestamp === nextRewardList.startTimestamp && + prev.rewardList.endTimestamp === nextRewardList.endTimestamp; + + if (isUnchanged) { + return prev; + } + + return { + ...prev, + admins: nextAdmins, + whitelist: nextWhitelist, + rewardList: nextRewardList, + randomReward: { + ...prev.randomReward, + user: nextRandomRewardUser, + }, + }; + }); + }, [publicKey, distributor, rewardList]); + + useEffect(() => { + let cancelled = false; + + const loadDistributorMints = async () => { + if ((activeModal !== "addReward" && activeModal !== "updateReward") || !targetDistributor) { + if (!cancelled) { + setAvailableDistributorMints([]); + setLoadingDistributorMints(false); + setDistributorMintFetchError(null); + } + return; + } + + setLoadingDistributorMints(true); + setDistributorMintFetchError(null); + + try { + const mintFetchResult = await fetchOwnedSplMintOptions( + connection, + targetDistributor + ); + if (!cancelled) { + setAvailableDistributorMints(mintFetchResult.options); + } + } catch (error) { + console.error("[AdminActions] Failed to load distributor token mints:", error); + if (!cancelled) { + setAvailableDistributorMints([]); + setDistributorMintFetchError(error instanceof Error ? error.message : "Unknown fetch error"); + } + } finally { + if (!cancelled) { + setLoadingDistributorMints(false); + } + } + }; + + void loadDistributorMints(); + + return () => { + cancelled = true; + }; + }, [activeModal, connection.rpcEndpoint, targetDistributorKey]); + + // Fetch Metaplex metadata names for all known mints + useEffect(() => { + let cancelled = false; + const METADATA_PROGRAM_ID = new PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"); + + const fetchNames = async () => { + const allMintStrings = new Set(); + for (const opt of availableDistributorMints) allMintStrings.add(opt.mint); + for (const m of availableRewardRemovalMints) allMintStrings.add(m); + + // Only fetch mints we don't already have names for + const toFetch = Array.from(allMintStrings).filter((m) => !mintSymbols.has(m)); + if (toFetch.length === 0) return; + + try { + const readEndpoint = getBaseLayerSolanaEndpoint(connection.rpcEndpoint); + const readConnection = + readEndpoint === connection.rpcEndpoint + ? connection + : new Connection(readEndpoint, "confirmed"); + + const mintKeys = toFetch.map((m) => new PublicKey(m)); + const metadataPdas = mintKeys.map( + (mint) => + PublicKey.findProgramAddressSync( + [Buffer.from("metadata"), METADATA_PROGRAM_ID.toBuffer(), mint.toBuffer()], + METADATA_PROGRAM_ID + )[0] + ); + + const accounts = await readConnection.getMultipleAccountsInfo(metadataPdas); + const newNames = new Map(mintSymbols); + + mintKeys.forEach((mint, index) => { + const account = accounts[index]; + if (!account) return; + try { + const [metadata] = Metadata.deserialize(account.data); + const symbol = + typeof metadata.data.symbol === "string" + ? metadata.data.symbol.replace(/\0/g, "").trim() + : ""; + if (symbol) newNames.set(mint.toBase58(), symbol); + } catch { + // no metadata for this mint + } + }); + + if (!cancelled) setMintSymbols(newNames); + } catch (error) { + console.error("[AdminActions] Failed to fetch mint metadata names:", error); + } + }; + + void fetchNames(); + return () => { cancelled = true; }; + }, [availableDistributorMints, availableRewardRemovalMints, connection.rpcEndpoint]); + + // Helper to handle transaction result + const handleTransactionResult = async ( + result: any, + actionName: string, + onSuccess?: () => void, + endpoint?: string + ) => { + + if ('signature' in result && result.signature) { + // Get the cluster endpoint from connection + const clusterEndpoint = + result.endpoint || endpoint || connection.rpcEndpoint || getDefaultSolanaEndpoint(); + + const txId = addTransaction( + result.signature, + actionName, + "devnet", + clusterEndpoint + ); + + // Build error message + let errorMessage = null; + if (!result.success && result.error) { + errorMessage = `Transaction failed: ${result.error}`; + } + + updateTransaction(txId, { + status: result.success ? "confirmed" : "failed", + error: result.error, + }); + + setLocalStatus({ + loading: false, + error: errorMessage, + signature: result.signature, + endpoint: result.endpoint || clusterEndpoint, + }); + + // Only auto-close on success + if (result.success) { + requestDashboardDataRefresh(); + setTimeout(() => { + setActiveModal(null); + onSuccess?.(); + setLocalStatus({ loading: false, error: null, signature: null, endpoint: null }); + }, 2000); + } + } else { + setLocalStatus({ + loading: false, + error: result.error || "Unknown error", + signature: null, + endpoint: ('endpoint' in result ? result.endpoint : null) || null, + }); + } + }; + + const handleFundRewardList = async () => { + if (!rewardListPda) { + setValidationError("No distributor selected"); + return; + } + const solAmount = parseFloat(forms.fundRewardList.amountSol); + if (isNaN(solAmount) || solAmount <= 0) { + setValidationError("Enter a valid SOL amount"); + return; + } + setLoadingStatus(); + const lamports = BigInt(Math.floor(solAmount * 1_000_000_000)); + const result = await sendSponsoredLamportsToRewardList(rewardListPda, lamports); + await handleTransactionResult(result, "Fund Reward List (Sponsored Lamports)", () => { + setForms((prev) => ({ ...prev, fundRewardList: { amountSol: "" } })); + }); + }; + + const handleInitialize = async () => { + setLoadingStatus(); + const result = await initializeRewardDistributor([]); + await handleTransactionResult(result, "Initialize Distributor"); + }; + + const handleSetAdmins = async () => { + setLoadingStatus(); + const addresses = forms.admins.split("\n").filter((a: string) => a.trim()); + const admins = addresses.map( + (a: string) => new PublicKey(a.trim()) + ); + const result = await setAdmins(admins); + await handleTransactionResult(result, "Set Admins", () => { + setForms({ ...forms, admins: "" }); + }); + }; + + const handleSetWhitelist = async () => { + setLoadingStatus(); + const addresses = forms.whitelist.split("\n").filter((a: string) => a.trim()); + const whitelist = addresses.map( + (a: string) => new PublicKey(a.trim()) + ); + const result = await setWhitelist(whitelist); + await handleTransactionResult(result, "Set Whitelist", () => { + setForms({ ...forms, whitelist: "" }); + }); + }; + + const handleSetRewardList = async () => { + setLoadingStatus(); + const config = forms.rewardList; + const existingStartTimestamp = rewardList ? Number(rewardList.startTimestamp) : null; + const existingEndTimestamp = rewardList ? Number(rewardList.endTimestamp) : null; + const existingGlobalRangeMin = rewardList ? rewardList.globalRangeMin : null; + const existingGlobalRangeMax = rewardList ? rewardList.globalRangeMax : null; + + const result = await setRewardList( + rewardList && config.globalRangeMin === existingGlobalRangeMin + ? null + : config.globalRangeMin, + rewardList && config.globalRangeMax === existingGlobalRangeMax + ? null + : config.globalRangeMax, + rewardList && config.startTimestamp === existingStartTimestamp + ? null + : config.startTimestamp, + rewardList && config.endTimestamp === existingEndTimestamp + ? null + : config.endTimestamp + ); + await handleTransactionResult(result, "Set Reward List"); + }; + + const handleRequestRandomReward = async () => { + setLoadingStatus(); + const config = forms.randomReward; + const user = parsePublicKey(config.user, "User address"); + if (!user) return; + const clientSeed = Math.floor(Math.random() * 255); + + const result = await requestRandomReward( + user, + clientSeed + ); + + if ('signature' in result && result.signature) { + // Get the cluster endpoint from connection + const clusterEndpoint = result.endpoint || connection.rpcEndpoint || "https://api.devnet.solana.com"; + + // Add the request transaction to history FIRST + const txId = addTransaction( + result.signature, + "Request Random Reward", + "devnet", + clusterEndpoint + ); + + // Update transaction to confirmed status immediately (use txId, not signature) + updateTransaction(txId, { + status: "confirmed", + }); + + // Now await the VRF callback and add it AFTER the request entry + if (result.callbackPromise) { + result.callbackPromise.then((callbackData) => { + if (callbackData) { + // Extract result number from log like "Random result: 42 for user: ..." + const resultMatch = callbackData.relevantLogs + .find(l => l.includes("Random result:")) + ?.match(/Random result:\s*(\d+)/); + const resultSuffix = resultMatch ? `: ${resultMatch[1]}` : ""; + const callbackTxId = addTransaction( + callbackData.signature, + `Consume Random Reward VRF Callback${resultSuffix}`, + "devnet", + clusterEndpoint + ); + updateTransaction(callbackTxId, { + status: callbackData.txStatus, + error: callbackData.error, + }); + } + }); + } + + setLocalStatus({ + loading: false, + error: result.error || null, + signature: result.signature, + endpoint: result.endpoint || clusterEndpoint, + }); + + if (result.success) { + requestDashboardDataRefresh(); + setTimeout(() => { + setActiveModal(null); + setLocalStatus({ loading: false, error: null, signature: null, endpoint: null }); + }, 2000); + } + } else { + setLocalStatus({ + loading: false, + error: result.error || "Unknown error", + signature: null, + endpoint: ('endpoint' in result ? result.endpoint : null) || null, + }); + } + }; + + const handleAddToBatch = () => { + const config = forms.addReward; + if (!config.rewardName.trim()) { + setValidationError("Reward name is required"); + return; + } + if (!config.rewardMint.trim()) { + setValidationError("Mint address is required"); + return; + } + + const mintOption = availableDistributorMints.find( + (option) => option.mint === config.rewardMint + ); + + setBatchRewards((prev) => [ + ...prev, + { + rewardName: config.rewardName.trim(), + rewardMint: config.rewardMint.trim(), + rewardAmount: config.rewardAmount, + drawRangeMin: selectedExistingAddReward ? selectedExistingAddReward.drawRangeMin : config.drawRangeMin, + drawRangeMax: selectedExistingAddReward ? selectedExistingAddReward.drawRangeMax : config.drawRangeMax, + redemptionLimit: config.redemptionLimit, + isNftLike: mintOption?.isNftLike ?? false, + }, + ]); + + setForms({ + ...forms, + addReward: { + ...forms.addReward, + rewardMint: "", + rewardAmount: 1, + redemptionLimit: 1, + }, + }); + setLocalStatus({ ...localStatus, error: null }); + }; + + const handleAddReward = async () => { + const allEntries = [...batchRewards]; + + // Include current form if filled + const config = forms.addReward; + if (config.rewardName.trim() && config.rewardMint.trim()) { + const mintOption = availableDistributorMints.find( + (option) => option.mint === config.rewardMint + ); + allEntries.push({ + rewardName: config.rewardName.trim(), + rewardMint: config.rewardMint.trim(), + rewardAmount: config.rewardAmount, + drawRangeMin: selectedExistingAddReward ? selectedExistingAddReward.drawRangeMin : config.drawRangeMin, + drawRangeMax: selectedExistingAddReward ? selectedExistingAddReward.drawRangeMax : config.drawRangeMax, + redemptionLimit: config.redemptionLimit, + isNftLike: mintOption?.isNftLike ?? false, + }); + } + + if (allEntries.length === 0) { + setValidationError("No rewards to add"); + return; + } + + setLoadingStatus(); + + if (!rewardList?.rewardDistributor) { + setValidationError("Reward list is not loaded for the selected distributor"); + return; + } + + const rewardDistributor = parsePublicKey( + rewardList.rewardDistributor.toString(), + "Reward distributor" + ); + if (!rewardDistributor) return; + + const METADATA_PROGRAM_ID = new PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"); + + if (allEntries.length === 1) { + // Single reward - use original addReward for backward compatibility + const entry = allEntries[0]; + const rewardMint = parsePublicKey(entry.rewardMint, "Mint address"); + if (!rewardMint) return; + + const selectedDistributorMint = + availableDistributorMints.find( + (option) => option.tokenAccount === entry.rewardMint + ) ?? + availableDistributorMints.find((option) => option.mint === rewardMint.toBase58()); + const tokenAccount = selectedDistributorMint + ? new PublicKey(selectedDistributorMint.tokenAccount) + : getAssociatedTokenAddressSync(rewardMint, rewardDistributor, true); + const [metadataAccount] = PublicKey.findProgramAddressSync( + [Buffer.from("metadata"), METADATA_PROGRAM_ID.toBuffer(), rewardMint.toBuffer()], + METADATA_PROGRAM_ID + ); + + const existingReward = (rewardList?.rewards ?? []).find( + (r: any) => r.name === entry.rewardName || r.rewardName === entry.rewardName + ); + + const result = await addReward( + entry.rewardName, + rewardMint, + tokenAccount, + entry.rewardAmount, + existingReward ? undefined : entry.drawRangeMin, + existingReward ? undefined : entry.drawRangeMax, + entry.redemptionLimit, + metadataAccount + ); + await handleTransactionResult(result, "Add Reward", () => { + setBatchRewards([]); + setForms({ + ...forms, + addReward: { + rewardName: "", + rewardMint: "", + rewardAmount: 1, + drawRangeMin: 0, + drawRangeMax: 0, + redemptionLimit: 1, + }, + }); + }); + } else { + // Multiple rewards - batch into single transaction + const batchParams = allEntries.map((entry) => { + const rewardMint = new PublicKey(entry.rewardMint); + const selectedDistributorMint = + availableDistributorMints.find( + (option) => option.tokenAccount === entry.rewardMint + ) ?? + availableDistributorMints.find((option) => option.mint === rewardMint.toBase58()); + const tokenAccount = selectedDistributorMint + ? new PublicKey(selectedDistributorMint.tokenAccount) + : getAssociatedTokenAddressSync(rewardMint, rewardDistributor, true); + const [metadataAccount] = PublicKey.findProgramAddressSync( + [Buffer.from("metadata"), METADATA_PROGRAM_ID.toBuffer(), rewardMint.toBuffer()], + METADATA_PROGRAM_ID + ); + + const existingReward = (rewardList?.rewards ?? []).find( + (r: any) => r.name === entry.rewardName || r.rewardName === entry.rewardName + ); + + return { + rewardName: entry.rewardName, + rewardMint, + tokenAccount, + rewardAmount: entry.rewardAmount, + drawRangeMin: existingReward ? undefined : entry.drawRangeMin, + drawRangeMax: existingReward ? undefined : entry.drawRangeMax, + redemptionLimit: entry.redemptionLimit, + metadataAccount, + }; + }); + + const result = await addRewardsBatch(batchParams); + await handleTransactionResult(result, `Add ${allEntries.length} Rewards`, () => { + setBatchRewards([]); + setForms({ + ...forms, + addReward: { + rewardName: "", + rewardMint: "", + rewardAmount: 1, + drawRangeMin: 0, + drawRangeMax: 0, + redemptionLimit: 1, + }, + }); + }); + } + }; + + const handleAddToRemoveBatch = () => { + const config = forms.removeReward; + if (!config.rewardName.trim()) { + setValidationError("Reward name is required"); + return; + } + if (!config.rewardMint.trim()) { + setValidationError("Mint address is required"); + return; + } + + setBatchRemoveRewards((prev) => [ + ...prev, + { + rewardName: config.rewardName.trim(), + rewardMint: config.rewardMint.trim(), + redemptionAmount: config.redemptionAmount, + }, + ]); + + setForms({ + ...forms, + removeReward: { + ...forms.removeReward, + rewardMint: "", + redemptionAmount: 1, + }, + }); + setLocalStatus({ ...localStatus, error: null }); + }; + + const handleRemoveReward = async () => { + const allEntries = [...batchRemoveRewards]; + + // Include current form if filled + const config = forms.removeReward; + if (config.rewardName.trim() && config.rewardMint.trim()) { + allEntries.push({ + rewardName: config.rewardName.trim(), + rewardMint: config.rewardMint.trim(), + redemptionAmount: config.redemptionAmount, + }); + } + + if (allEntries.length === 0) { + setValidationError("No rewards to remove"); + return; + } + + setLoadingStatus(); + + const resetForm = () => { + setBatchRemoveRewards([]); + setForms({ ...forms, removeReward: { rewardName: "", rewardMint: "", redemptionAmount: 1 } }); + }; + + if (allEntries.length === 1) { + // Single reward - use original removeReward for backward compatibility + const entry = allEntries[0]; + const parsedRewardMint = entry.rewardMint + ? parsePublicKey(entry.rewardMint, "Mint address") + : null; + const rewardMint = parsedRewardMint ?? undefined; + if (entry.rewardMint && !rewardMint) return; + + const result = await removeReward( + entry.rewardName, + rewardMint, + entry.redemptionAmount + ); + + await handleTransactionResult(result, "Remove Reward", resetForm); + } else { + // Multiple rewards - batch into single transaction + const batchParams = allEntries.map((entry) => ({ + rewardName: entry.rewardName, + rewardMint: entry.rewardMint ? new PublicKey(entry.rewardMint) : undefined, + redemptionAmount: entry.redemptionAmount, + })); + + const result = await removeRewardsBatch(batchParams); + await handleTransactionResult(result, `Remove ${allEntries.length} Rewards`, resetForm); + } + }; + + const handleUpdateReward = async () => { + setLoadingStatus(); + const config = forms.updateReward; + + if (!config.currentRewardName.trim()) { + setValidationError("Current reward is required"); + return; + } + let rewardMint: PublicKey | null = null; + let tokenAccount: PublicKey | null = null; + + if (!isSelectedUpdateRewardNft) { + const parsedRewardMint = parsePublicKey( + config.rewardMint || selectedRewardForUpdate?.rewardMints?.[0]?.toString?.() || "", + "Mint address" + ); + if (!parsedRewardMint) return; + rewardMint = parsedRewardMint; + + if (!rewardList?.rewardDistributor) { + setValidationError("Reward list is not loaded for the selected distributor"); + return; + } + + const rewardDistributor = parsePublicKey( + rewardList.rewardDistributor.toString(), + "Reward distributor" + ); + if (!rewardDistributor) return; + + const selectedDistributorMint = + availableDistributorMints.find((option) => option.tokenAccount === config.rewardMint.trim()) ?? + availableDistributorMints.find((option) => option.mint === parsedRewardMint.toBase58()); + tokenAccount = selectedDistributorMint + ? new PublicKey(selectedDistributorMint.tokenAccount) + : getAssociatedTokenAddressSync(parsedRewardMint, rewardDistributor, true); + } + + const result = await updateReward( + config.currentRewardName, + config.rewardName.trim() && config.rewardName.trim() !== config.currentRewardName + ? config.rewardName.trim() + : null, + rewardMint, + tokenAccount, + !isSelectedUpdateRewardNft && + config.rewardAmount !== selectedRewardForUpdate?.rewardAmount + ? config.rewardAmount + : null, + config.drawRangeMin !== selectedRewardForUpdate?.drawRangeMin + ? config.drawRangeMin + : null, + config.drawRangeMax !== selectedRewardForUpdate?.drawRangeMax + ? config.drawRangeMax + : null + ); + + await handleTransactionResult(result, "Update Reward", () => { + setForms({ + ...forms, + updateReward: { + currentRewardName: "", + rewardName: "", + rewardMint: "", + rewardAmount: 1, + drawRangeMin: 0, + drawRangeMax: 0, + }, + }); + }); + }; + + if (!publicKey) { + return ( +
+

Connect your wallet to access admin actions

+
+ ); + } + + return ( +
+

Admin Actions

+ + {/* Action Grid */} +
+ {/* Initialize Reward Distributor */} + + + {/* Set Admins */} + + + {/* Set Whitelist */} + + + {/* Set Reward List */} + + + {/* Request Random Reward */} + + + {/* Add Reward */} + + + + + {/* Remove Reward */} + + + {/* Fund Reward List */} + +
+ + {/* Fund Reward List Modal */} + +
+ {!rewardList?.delegated && ( +
+

⚠️ Reward list is not delegated

+

+ The reward list PDA must be delegated to the ephemeral rollup before you can + fund it via a sponsored lamports transfer. Use “Delegate Reward List” first. +

+
+ )} + + {rewardListPda && ( +
+

Destination (Reward List PDA)

+ +
+ )} + + {/* SOL balance breakdown from the ER endpoint */} +
+

Current Balance (on ER)

+ {rewardListBalance?.loading ? ( +

Fetching…

+ ) : rewardListBalance && rewardListBalance.totalLamports > 0 ? ( +
+
+ Total + + {(rewardListBalance.totalLamports / 1e9).toFixed(9)} SOL + +
+
+ Rent-free deposit + + {(rewardListBalance.rentExemptLamports / 1e9).toFixed(9)} SOL + +
+
+ Excess (usable for fees) + 0 + ? "text-green-400" + : "text-yellow-400" + }`}> + {((rewardListBalance.totalLamports - rewardListBalance.rentExemptLamports) / 1e9).toFixed(9)} SOL + +
+
+ ) : ( +

Account not found on ER — delegate the reward list first

+ )} +
+ +
+ + + setForms((prev) => ({ + ...prev, + fundRewardList: { amountSol: e.target.value }, + })) + } + placeholder="e.g. 0.1" + disabled={localStatus.loading} + className="w-full p-2 bg-gray-700 text-white placeholder-gray-500 rounded border border-gray-600 focus:border-orange-500 focus:outline-none disabled:opacity-50 text-sm" + /> + {forms.fundRewardList.amountSol && !isNaN(parseFloat(forms.fundRewardList.amountSol)) && ( +

+ = {Math.floor(parseFloat(forms.fundRewardList.amountSol) * 1_000_000_000).toLocaleString()} lamports +

+ )} +
+ +
+

💡 This calls the e-token program's SponsoredLamportsTransfer instruction.

+

A lamports PDA is created, funded, delegated, and a post-delegation action transfers the SOL to the reward list on the ER.

+

Setup fee: ~0.0003 SOL (sponsored rent, returned after completion)

+
+
+
+ + {/* Initialize Modal */} + + + {/* Set Admins Modal */} + +
+ {/* Current Admins Info */} + {distributor?.admins && distributor.admins.length > 0 && ( +
+

Current Admins ({distributor.admins.length} addresses)

+
+ {distributor.admins.map((addr, idx) => ( +
+ + {idx === 0 && (super_admin)} +
+ ))} +
+
+ )} + + {/* Admins Input */} +
+ +