From ecc747cac14a0aa370319ccc91dd88a622130e84 Mon Sep 17 00:00:00 2001 From: Kyrylo Stepanov Date: Wed, 3 Jul 2024 14:27:12 +0300 Subject: [PATCH 1/2] merge crates back --- Cargo.lock | 11 - Cargo.toml | 1 - program-states/Cargo.lock | 2784 ----------------- program-states/Cargo.toml | 20 - program-states/src/lib.rs | 10 - programs/voter-stake-registry/Cargo.toml | 1 - .../src/cpi_instructions.rs | 2 +- .../voter-stake-registry}/src/error.rs | 0 .../src/instructions/claim.rs | 3 +- .../src/instructions/close_deposit_entry.rs | 4 +- .../src/instructions/close_voter.rs | 10 +- .../src/instructions/configure_voting_mint.rs | 6 +- .../src/instructions/create_deposit_entry.rs | 10 +- .../src/instructions/create_registrar.rs | 3 +- .../src/instructions/create_voter.rs | 7 +- .../src/instructions/deposit.rs | 8 +- .../src/instructions/extend_stake.rs | 9 +- .../src/instructions/log_voter_info.rs | 7 +- .../src/instructions/stake.rs | 6 +- .../src/instructions/unlock_tokens.rs | 25 +- .../update_voter_weight_record.rs | 6 +- .../src/instructions/withdraw.rs | 8 +- programs/voter-stake-registry/src/lib.rs | 4 +- .../src/state/deposit_entry.rs | 1 + .../voter-stake-registry}/src/state/lockup.rs | 3 + .../voter-stake-registry}/src/state/mod.rs | 0 .../src/state/registrar.rs | 1 + .../voter-stake-registry}/src/state/voter.rs | 1 + .../src/state/voting_mint_config.rs | 1 + programs/voter-stake-registry/src/voter.rs | 3 +- .../tests/fixtures/mplx_rewards.so | Bin 303912 -> 303360 bytes .../tests/program_test/addin.rs | 2 +- .../tests/program_test/rewards.rs | 3 +- .../tests/test_all_deposits.rs | 2 +- .../voter-stake-registry/tests/test_basic.rs | 2 +- .../voter-stake-registry/tests/test_claim.rs | 2 +- .../tests/test_deposit_constant.rs | 2 +- .../tests/test_deposit_no_locking.rs | 2 +- .../tests/test_extend_deposit.rs | 2 +- .../voter-stake-registry/tests/test_lockup.rs | 2 +- .../tests/test_log_voter_info.rs | 2 +- .../voter-stake-registry/tests/test_voting.rs | 2 +- 42 files changed, 86 insertions(+), 2892 deletions(-) delete mode 100644 program-states/Cargo.lock delete mode 100644 program-states/Cargo.toml delete mode 100644 program-states/src/lib.rs rename {program-states => programs/voter-stake-registry}/src/error.rs (100%) rename {program-states => programs/voter-stake-registry}/src/state/deposit_entry.rs (98%) rename {program-states => programs/voter-stake-registry}/src/state/lockup.rs (98%) rename {program-states => programs/voter-stake-registry}/src/state/mod.rs (100%) rename {program-states => programs/voter-stake-registry}/src/state/registrar.rs (98%) rename {program-states => programs/voter-stake-registry}/src/state/voter.rs (98%) rename {program-states => programs/voter-stake-registry}/src/state/voting_mint_config.rs (95%) diff --git a/Cargo.lock b/Cargo.lock index a79731d9..70c1c08e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1968,16 +1968,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "mplx-staking-states" -version = "0.0.1" -dependencies = [ - "anchor-lang", - "anchor-spl", - "bytemuck", - "static_assertions", -] - [[package]] name = "nix" version = "0.24.3" @@ -4706,7 +4696,6 @@ dependencies = [ "bytemuck", "env_logger", "log", - "mplx-staking-states", "solana-program", "solana-program-test", "solana-sdk", diff --git a/Cargo.toml b/Cargo.toml index ae5a23fb..9c65bed6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,6 @@ [workspace] members = [ "programs/*", - "program-states" # Drop everything below this line before running "anchor publish": # Otherwise the build will fail since Anchor uploads only parts of the source tree. ] diff --git a/program-states/Cargo.lock b/program-states/Cargo.lock deleted file mode 100644 index dccf59f5..00000000 --- a/program-states/Cargo.lock +++ /dev/null @@ -1,2784 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aead" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array", -] - -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", - "opaque-debug", -] - -[[package]] -name = "aes-gcm-siv" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" -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.14", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "anchor-attribute-access-control" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf7d535e1381be3de2c0716c0a1c1e32ad9df1042cddcf7bc18d743569e53319" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-account" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bcd731f21048a032be27c7791701120e44f3f6371358fc4261a7f716283d29" -dependencies = [ - "anchor-syn", - "anyhow", - "bs58 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-constant" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1be64a48e395fe00b8217287f226078be2cf32dae42fdf8a885b997945c3d28" -dependencies = [ - "anchor-syn", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-error" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ea6713d1938c0da03656ff8a693b17dc0396da66d1ba320557f07e86eca0d4" -dependencies = [ - "anchor-syn", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-event" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d401f11efb3644285685f8339829a9786d43ed7490bb1699f33c478d04d5a582" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-interface" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6700a6f5c888a9c33fe8afc0c64fd8575fa28d05446037306d0f96102ae4480" -dependencies = [ - "anchor-syn", - "anyhow", - "heck", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-program" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ad769993b5266714e8939e47fbdede90e5c030333c7522d99a4d4748cf26712" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-state" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e677fae4a016a554acdd0e3b7f178d3acafaa7e7ffac6b8690cf4e171f1c116" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-accounts" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "340beef6809d1c3fcc7ae219153d981e95a8a277ff31985bd7050e32645dc9a8" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-lang" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662ceafe667448ee4199a4be2ee83b6bb76da28566eee5cea05f96ab38255af8" -dependencies = [ - "anchor-attribute-access-control", - "anchor-attribute-account", - "anchor-attribute-constant", - "anchor-attribute-error", - "anchor-attribute-event", - "anchor-attribute-interface", - "anchor-attribute-program", - "anchor-attribute-state", - "anchor-derive-accounts", - "arrayref", - "base64 0.13.1", - "bincode", - "borsh 0.9.3", - "bytemuck", - "solana-program", - "thiserror", -] - -[[package]] -name = "anchor-spl" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f32390ce8356f54c0f0245ea156f8190717e37285b8bf4f406a613dc4b954cde" -dependencies = [ - "anchor-lang", - "solana-program", - "spl-associated-token-account", - "spl-token", -] - -[[package]] -name = "anchor-syn" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0418bcb5daac3b8cb1b60d8fdb1d468ca36f5509f31fb51179326fae1028fdcc" -dependencies = [ - "anyhow", - "bs58 0.3.1", - "heck", - "proc-macro2", - "proc-macro2-diagnostics", - "quote", - "serde", - "serde_json", - "sha2 0.9.9", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" - -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest 0.10.7", - "itertools", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive", - "ark-std", - "digest 0.10.7", - "num-bigint", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[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 = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" -dependencies = [ - "serde", -] - -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - -[[package]] -name = "blake3" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" -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 = [ - "block-padding", - "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 = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "borsh" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" -dependencies = [ - "borsh-derive 0.9.3", - "hashbrown 0.11.2", -] - -[[package]] -name = "borsh" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" -dependencies = [ - "borsh-derive 0.10.3", - "hashbrown 0.13.2", -] - -[[package]] -name = "borsh" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0901fc8eb0aca4c83be0106d6f2db17d86a08dfc2c25f0e84464bf381158add6" -dependencies = [ - "borsh-derive 1.4.0", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" -dependencies = [ - "borsh-derive-internal 0.9.3", - "borsh-schema-derive-internal 0.9.3", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" -dependencies = [ - "borsh-derive-internal 0.10.3", - "borsh-schema-derive-internal 0.10.3", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51670c3aa053938b0ee3bd67c3817e471e626151131b934038e83c5bf8de48f5" -dependencies = [ - "once_cell", - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.60", - "syn_derive", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "bs58" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" - -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[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 = "bytemuck" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "cc" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" -dependencies = [ - "jobserver", - "libc", - "once_cell", -] - -[[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.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "num-traits", - "serde", - "windows-targets 0.52.5", -] - -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array", -] - -[[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 = "constant_time_eq" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "ctr" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "serde", - "subtle", - "zeroize", -] - -[[package]] -name = "darling" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.60", -] - -[[package]] -name = "darling_macro" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", - "serde", -] - -[[package]] -name = "derivation-path" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[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", - "crypto-common", - "subtle", -] - -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - -[[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", - "sha2 0.10.8", -] - -[[package]] -name = "either" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" - -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "feature-probe" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "serde", - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.8", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash 0.8.11", -] - -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac", - "digest 0.9.0", -] - -[[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 = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "im" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" -dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "rayon", - "serde", - "sized-chunks", - "typenum", - "version_check", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown 0.14.3", - "serde", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" - -[[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", - "hmac-drbg", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "typenum", -] - -[[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 = "light-poseidon" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" -dependencies = [ - "ark-bn254", - "ark-ff", - "num-bigint", - "thiserror", -] - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "memchr" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[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 = "mplx-staking-sdk" -version = "1.2.0" -dependencies = [ - "anchor-lang", - "anchor-spl", - "borsh 0.9.3", - "bytemuck", - "num-derive 0.3.3", - "num-traits", - "serde", - "serde_with 3.7.0", - "static_assertions", - "thiserror", -] - -[[package]] -name = "num-bigint" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[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.60", -] - -[[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.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive 0.7.2", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.48.5", -] - -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac", -] - -[[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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "polyval" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit 0.21.1", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "proc-macro2-diagnostics" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", - "yansi", -] - -[[package]] -name = "qstring" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "qualifier_attr" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[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.14", -] - -[[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 = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "regex" -version = "1.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rustversion" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" - -[[package]] -name = "ryu" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "semver" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" - -[[package]] -name = "serde" -version = "1.0.198" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bytes" -version = "0.11.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.198" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "serde_json" -version = "1.0.116" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" -dependencies = [ - "serde", - "serde_with_macros 2.3.3", -] - -[[package]] -name = "serde_with" -version = "3.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" -dependencies = [ - "base64 0.21.7", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.2.6", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros 3.7.0", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "serde_with_macros" -version = "3.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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 = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug", -] - -[[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 = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "solana-frozen-abi" -version = "1.18.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b8177685ab2bc8cc8b3bf63aa1eaa0580d5af850ecefac323ca1c2473085d77" -dependencies = [ - "block-buffer 0.10.4", - "bs58 0.4.0", - "bv", - "either", - "generic-array", - "im", - "lazy_static", - "log", - "memmap2", - "rustc_version", - "serde", - "serde_bytes", - "serde_derive", - "sha2 0.10.8", - "solana-frozen-abi-macro", - "subtle", - "thiserror", -] - -[[package]] -name = "solana-frozen-abi-macro" -version = "1.18.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a68241cad17b74c6034a68ba4890632d409a2c886e7bead9c1e1432befdb7c9" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.60", -] - -[[package]] -name = "solana-logger" -version = "1.18.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea560989ef67ba4a1a0fd62a248721f1aa5bac8fa5ede9ccf4fe9ee484ccadf" -dependencies = [ - "env_logger", - "lazy_static", - "log", -] - -[[package]] -name = "solana-program" -version = "1.18.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bddf573103c890b4ab8f9a6641d4f969d4148bce9a451c263f4a62afa949fae" -dependencies = [ - "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", - "base64 0.21.7", - "bincode", - "bitflags 2.5.0", - "blake3", - "borsh 0.10.3", - "borsh 0.9.3", - "borsh 1.4.0", - "bs58 0.4.0", - "bv", - "bytemuck", - "cc", - "console_error_panic_hook", - "console_log", - "curve25519-dalek", - "getrandom 0.2.14", - "itertools", - "js-sys", - "lazy_static", - "libc", - "libsecp256k1", - "light-poseidon", - "log", - "memoffset", - "num-bigint", - "num-derive 0.4.2", - "num-traits", - "parking_lot", - "rand 0.8.5", - "rustc_version", - "rustversion", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk-macro", - "thiserror", - "tiny-bip39", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "solana-sdk" -version = "1.18.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08b24b06fa176209ddb2a2f8172a00b07e8a3b18229fbfc49f1eb3ce6ad11ff1" -dependencies = [ - "assert_matches", - "base64 0.21.7", - "bincode", - "bitflags 2.5.0", - "borsh 1.4.0", - "bs58 0.4.0", - "bytemuck", - "byteorder", - "chrono", - "derivation-path", - "digest 0.10.7", - "ed25519-dalek", - "ed25519-dalek-bip32", - "generic-array", - "hmac 0.12.1", - "itertools", - "js-sys", - "lazy_static", - "libsecp256k1", - "log", - "memmap2", - "num-derive 0.4.2", - "num-traits", - "num_enum 0.7.2", - "pbkdf2 0.11.0", - "qstring", - "qualifier_attr", - "rand 0.7.3", - "rand 0.8.5", - "rustc_version", - "rustversion", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "serde_with 2.3.3", - "sha2 0.10.8", - "sha3 0.10.8", - "siphasher", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-program", - "solana-sdk-macro", - "thiserror", - "uriparse", - "wasm-bindgen", -] - -[[package]] -name = "solana-sdk-macro" -version = "1.18.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "869483c05f18d37d4d95a08d9e05e00a4f76a8c8349aeedeee9ba2d013cbacde" -dependencies = [ - "bs58 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.60", -] - -[[package]] -name = "solana-zk-token-sdk" -version = "1.18.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459c27f7b954798677d8243aa53b8080cfb314ecfecbf8889a5a65c91ad11fee" -dependencies = [ - "aes-gcm-siv", - "base64 0.21.7", - "bincode", - "bytemuck", - "byteorder", - "curve25519-dalek", - "getrandom 0.1.16", - "itertools", - "lazy_static", - "merlin", - "num-derive 0.4.2", - "num-traits", - "rand 0.7.3", - "serde", - "serde_json", - "sha3 0.9.1", - "solana-program", - "solana-sdk", - "subtle", - "thiserror", - "zeroize", -] - -[[package]] -name = "spl-associated-token-account" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978dba3bcbe88d0c2c58366c254d9ea41c5f73357e72fc0bdee4d6b5fc99c8f4" -dependencies = [ - "assert_matches", - "borsh 0.9.3", - "num-derive 0.3.3", - "num-traits", - "solana-program", - "spl-token", - "spl-token-2022", - "thiserror", -] - -[[package]] -name = "spl-memo" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" -dependencies = [ - "solana-program", -] - -[[package]] -name = "spl-token" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.3.3", - "num-traits", - "num_enum 0.5.11", - "solana-program", - "thiserror", -] - -[[package]] -name = "spl-token-2022" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0043b590232c400bad5ee9eb983ced003d15163c4c5d56b090ac6d9a57457b47" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.3.3", - "num-traits", - "num_enum 0.5.11", - "solana-program", - "solana-zk-token-sdk", - "spl-memo", - "spl-token", - "thiserror", -] - -[[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.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[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.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-bip39" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -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_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "universal-hash" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array", - "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 = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[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.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.60", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - -[[package]] -name = "zerocopy" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "zeroize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] diff --git a/program-states/Cargo.toml b/program-states/Cargo.toml deleted file mode 100644 index 629449b7..00000000 --- a/program-states/Cargo.toml +++ /dev/null @@ -1,20 +0,0 @@ -[package] -name = "mplx-staking-states" -version = "0.0.1" -homepage = "https://github.com/blockworks-foundation/voter-stake-registry" -description = "MPLX staking program's state dependencies" -license = "GPL-3.0-or-later" -edition = "2021" -readme = "README.md" - -[lib] -crate-type = ["cdylib", "lib"] - -[features] -test-sbf = [] - -[dependencies] -anchor-lang = { version = "0.26.0", features = ["init-if-needed"] } -anchor-spl = { version = "0.26.0" } -static_assertions = "1.1" -bytemuck = "1.9.1" \ No newline at end of file diff --git a/program-states/src/lib.rs b/program-states/src/lib.rs deleted file mode 100644 index a5afd1e4..00000000 --- a/program-states/src/lib.rs +++ /dev/null @@ -1,10 +0,0 @@ -use anchor_lang::prelude::*; - -#[macro_use] -extern crate static_assertions; - -pub mod error; -pub mod state; - -// Requires by Anchor to declare accounts in crate -declare_id!("9XZ7Ku7FYGVk3veKba6BRKTFXoYJyh4b4ZHC6MfaTUE8"); diff --git a/programs/voter-stake-registry/Cargo.toml b/programs/voter-stake-registry/Cargo.toml index d95fc1f9..08e41859 100644 --- a/programs/voter-stake-registry/Cargo.toml +++ b/programs/voter-stake-registry/Cargo.toml @@ -41,7 +41,6 @@ spl-governance-addin-api = "=0.1.1" solana-program = "1.14.10" static_assertions = "1.1" -mplx-staking-states = { path="../../program-states" } [dev-dependencies] solana-sdk = "1.14.10" diff --git a/programs/voter-stake-registry/src/cpi_instructions.rs b/programs/voter-stake-registry/src/cpi_instructions.rs index 02008092..b7120542 100644 --- a/programs/voter-stake-registry/src/cpi_instructions.rs +++ b/programs/voter-stake-registry/src/cpi_instructions.rs @@ -1,8 +1,8 @@ +use crate::state::LockupPeriod; use anchor_lang::{ prelude::{borsh, Pubkey}, AnchorDeserialize, AnchorSerialize, Key, }; -use mplx_staking_states::state::LockupPeriod; use solana_program::{ account_info::AccountInfo, entrypoint::ProgramResult, diff --git a/program-states/src/error.rs b/programs/voter-stake-registry/src/error.rs similarity index 100% rename from program-states/src/error.rs rename to programs/voter-stake-registry/src/error.rs diff --git a/programs/voter-stake-registry/src/instructions/claim.rs b/programs/voter-stake-registry/src/instructions/claim.rs index 1a960499..3b1cf27c 100644 --- a/programs/voter-stake-registry/src/instructions/claim.rs +++ b/programs/voter-stake-registry/src/instructions/claim.rs @@ -1,7 +1,6 @@ -use crate::{borsh::BorshDeserialize, cpi_instructions}; +use crate::{borsh::BorshDeserialize, cpi_instructions, error::VsrError}; use anchor_lang::prelude::*; use anchor_spl::token::{Token, TokenAccount}; -use mplx_staking_states::error::VsrError; use solana_program::program::get_return_data; use std::borrow::Borrow; diff --git a/programs/voter-stake-registry/src/instructions/close_deposit_entry.rs b/programs/voter-stake-registry/src/instructions/close_deposit_entry.rs index 2508e10f..cb03de08 100644 --- a/programs/voter-stake-registry/src/instructions/close_deposit_entry.rs +++ b/programs/voter-stake-registry/src/instructions/close_deposit_entry.rs @@ -1,8 +1,8 @@ -use anchor_lang::prelude::*; -use mplx_staking_states::{ +use crate::{ error::VsrError, state::{DepositEntry, Voter}, }; +use anchor_lang::prelude::*; #[derive(Accounts)] pub struct CloseDepositEntry<'info> { diff --git a/programs/voter-stake-registry/src/instructions/close_voter.rs b/programs/voter-stake-registry/src/instructions/close_voter.rs index 50f49fb6..b87a1a3b 100644 --- a/programs/voter-stake-registry/src/instructions/close_voter.rs +++ b/programs/voter-stake-registry/src/instructions/close_voter.rs @@ -1,12 +1,12 @@ -use crate::{clock_unix_timestamp, cpi_instructions}; -use anchor_lang::prelude::*; -use anchor_spl::token::{self, CloseAccount, Token, TokenAccount, Transfer}; -use bytemuck::bytes_of_mut; -use mplx_staking_states::{ +use crate::{ + clock_unix_timestamp, cpi_instructions, error::VsrError, state::{Registrar, Voter}, voter_seeds, }; +use anchor_lang::prelude::*; +use anchor_spl::token::{self, CloseAccount, Token, TokenAccount, Transfer}; +use bytemuck::bytes_of_mut; use std::ops::DerefMut; // Remaining accounts must be all the token token accounts owned by voter, he wants to close, diff --git a/programs/voter-stake-registry/src/instructions/configure_voting_mint.rs b/programs/voter-stake-registry/src/instructions/configure_voting_mint.rs index ee961fa1..0e077ad8 100644 --- a/programs/voter-stake-registry/src/instructions/configure_voting_mint.rs +++ b/programs/voter-stake-registry/src/instructions/configure_voting_mint.rs @@ -1,9 +1,9 @@ -use anchor_lang::prelude::*; -use anchor_spl::token::Mint; -use mplx_staking_states::{ +use crate::{ error::VsrError, state::{Registrar, VotingMintConfig}, }; +use anchor_lang::prelude::*; +use anchor_spl::token::Mint; // Remaining accounts must be all the token mints that have registered // as voting mints, including the newly registered one. diff --git a/programs/voter-stake-registry/src/instructions/create_deposit_entry.rs b/programs/voter-stake-registry/src/instructions/create_deposit_entry.rs index fff0ba31..3d0d75ce 100644 --- a/programs/voter-stake-registry/src/instructions/create_deposit_entry.rs +++ b/programs/voter-stake-registry/src/instructions/create_deposit_entry.rs @@ -1,13 +1,13 @@ -use crate::clock_unix_timestamp; +use crate::{ + clock_unix_timestamp, + error::VsrError, + state::{DepositEntry, Lockup, LockupKind, LockupPeriod, Registrar, Voter}, +}; use anchor_lang::prelude::*; use anchor_spl::{ associated_token::AssociatedToken, token::{Mint, Token, TokenAccount}, }; -use mplx_staking_states::{ - error::VsrError, - state::{DepositEntry, Lockup, LockupKind, LockupPeriod, Registrar, Voter}, -}; #[derive(Accounts)] pub struct CreateDepositEntry<'info> { diff --git a/programs/voter-stake-registry/src/instructions/create_registrar.rs b/programs/voter-stake-registry/src/instructions/create_registrar.rs index 6be5ca7d..90a28036 100644 --- a/programs/voter-stake-registry/src/instructions/create_registrar.rs +++ b/programs/voter-stake-registry/src/instructions/create_registrar.rs @@ -1,7 +1,6 @@ -use crate::cpi_instructions; +use crate::{cpi_instructions, error::VsrError, state::Registrar}; use anchor_lang::prelude::*; use anchor_spl::token::{Mint, Token}; -use mplx_staking_states::{error::VsrError, state::Registrar}; use spl_governance::state::realm; use std::mem::size_of; diff --git a/programs/voter-stake-registry/src/instructions/create_voter.rs b/programs/voter-stake-registry/src/instructions/create_voter.rs index c1b1cb1f..f2566c43 100644 --- a/programs/voter-stake-registry/src/instructions/create_voter.rs +++ b/programs/voter-stake-registry/src/instructions/create_voter.rs @@ -1,9 +1,10 @@ -use crate::{cpi_instructions, voter::VoterWeightRecord}; -use anchor_lang::{prelude::*, solana_program::sysvar::instructions as tx_instructions}; -use mplx_staking_states::{ +use crate::{ + cpi_instructions, error::VsrError, state::{Registrar, Voter}, + voter::VoterWeightRecord, }; +use anchor_lang::{prelude::*, solana_program::sysvar::instructions as tx_instructions}; use std::mem::size_of; #[derive(Accounts)] diff --git a/programs/voter-stake-registry/src/instructions/deposit.rs b/programs/voter-stake-registry/src/instructions/deposit.rs index ee819fd8..723ba938 100644 --- a/programs/voter-stake-registry/src/instructions/deposit.rs +++ b/programs/voter-stake-registry/src/instructions/deposit.rs @@ -1,10 +1,10 @@ -use crate::clock_unix_timestamp; -use anchor_lang::prelude::*; -use anchor_spl::token::{self, Token, TokenAccount}; -use mplx_staking_states::{ +use crate::{ + clock_unix_timestamp, error::VsrError, state::{LockupKind, LockupPeriod, Registrar, Voter}, }; +use anchor_lang::prelude::*; +use anchor_spl::token::{self, Token, TokenAccount}; #[derive(Accounts)] pub struct Deposit<'info> { diff --git a/programs/voter-stake-registry/src/instructions/extend_stake.rs b/programs/voter-stake-registry/src/instructions/extend_stake.rs index d7de8731..4ff9ba51 100644 --- a/programs/voter-stake-registry/src/instructions/extend_stake.rs +++ b/programs/voter-stake-registry/src/instructions/extend_stake.rs @@ -1,10 +1,11 @@ -use crate::{clock_unix_timestamp, cpi_instructions::extend_deposit}; -use anchor_lang::prelude::*; -use anchor_spl::token::{self, Token, TokenAccount, Transfer}; -use mplx_staking_states::{ +use crate::{ + clock_unix_timestamp, + cpi_instructions::extend_deposit, error::VsrError, state::{LockupKind, LockupPeriod, Registrar, Voter}, }; +use anchor_lang::prelude::*; +use anchor_spl::token::{self, Token, TokenAccount, Transfer}; #[derive(Accounts)] pub struct ExtendStake<'info> { diff --git a/programs/voter-stake-registry/src/instructions/log_voter_info.rs b/programs/voter-stake-registry/src/instructions/log_voter_info.rs index 7314b72f..9cab16f7 100644 --- a/programs/voter-stake-registry/src/instructions/log_voter_info.rs +++ b/programs/voter-stake-registry/src/instructions/log_voter_info.rs @@ -1,6 +1,9 @@ -use crate::{clock_unix_timestamp, events::*}; +use crate::{ + clock_unix_timestamp, + events::*, + state::{LockupKind, Registrar, Voter}, +}; use anchor_lang::prelude::*; -use mplx_staking_states::state::{LockupKind, Registrar, Voter}; #[derive(Accounts)] pub struct LogVoterInfo<'info> { diff --git a/programs/voter-stake-registry/src/instructions/stake.rs b/programs/voter-stake-registry/src/instructions/stake.rs index 5f83df45..2c1f9f75 100644 --- a/programs/voter-stake-registry/src/instructions/stake.rs +++ b/programs/voter-stake-registry/src/instructions/stake.rs @@ -1,9 +1,9 @@ -use crate::{clock_unix_timestamp, cpi_instructions}; -use anchor_lang::prelude::*; -use mplx_staking_states::{ +use crate::{ + clock_unix_timestamp, cpi_instructions, error::VsrError, state::{LockupKind, Registrar, Voter}, }; +use anchor_lang::prelude::*; #[derive(Accounts)] pub struct Stake<'info> { diff --git a/programs/voter-stake-registry/src/instructions/unlock_tokens.rs b/programs/voter-stake-registry/src/instructions/unlock_tokens.rs index 530d63d9..41fedaf7 100644 --- a/programs/voter-stake-registry/src/instructions/unlock_tokens.rs +++ b/programs/voter-stake-registry/src/instructions/unlock_tokens.rs @@ -1,9 +1,10 @@ -use crate::{clock_unix_timestamp, cpi_instructions::withdraw_mining}; -use anchor_lang::prelude::*; -use mplx_staking_states::{ +use crate::{ + clock_unix_timestamp, + cpi_instructions::withdraw_mining, error::VsrError, - state::{Registrar, Voter, COOLDOWN_SECS}, + state::{LockupPeriod, Registrar, Voter, COOLDOWN_SECS}, }; +use anchor_lang::prelude::*; #[derive(Accounts)] pub struct UnlockTokens<'info> { @@ -50,9 +51,19 @@ pub fn unlock_tokens(ctx: Context, deposit_entry_index: u8) -> Res ); deposit_entry.lockup.cooldown_requested = true; - deposit_entry.lockup.cooldown_ends_at = curr_ts - .checked_add(COOLDOWN_SECS) - .ok_or(VsrError::InvalidTimestampArguments)?; + // deposit_entry.lockup.cooldown_ends_at = curr_ts + // .checked_add(COOLDOWN_SECS) + // .ok_or(VsrError::InvalidTimestampArguments)?; + + deposit_entry.lockup.cooldown_ends_at = if deposit_entry.lockup.period == LockupPeriod::Test { + curr_ts + .checked_add(60) + .ok_or(VsrError::InvalidTimestampArguments)? + } else { + curr_ts + .checked_add(COOLDOWN_SECS) + .ok_or(VsrError::InvalidTimestampArguments)? + }; let rewards_program = &ctx.accounts.rewards_program; let reward_pool = &ctx.accounts.reward_pool; diff --git a/programs/voter-stake-registry/src/instructions/update_voter_weight_record.rs b/programs/voter-stake-registry/src/instructions/update_voter_weight_record.rs index 9baba923..93070c7d 100644 --- a/programs/voter-stake-registry/src/instructions/update_voter_weight_record.rs +++ b/programs/voter-stake-registry/src/instructions/update_voter_weight_record.rs @@ -1,6 +1,8 @@ -use crate::voter::VoterWeightRecord; +use crate::{ + state::{Registrar, Voter}, + voter::VoterWeightRecord, +}; use anchor_lang::prelude::*; -use mplx_staking_states::state::{Registrar, Voter}; #[derive(Accounts)] pub struct UpdateVoterWeightRecord<'info> { diff --git a/programs/voter-stake-registry/src/instructions/withdraw.rs b/programs/voter-stake-registry/src/instructions/withdraw.rs index d2c7117b..dae37e9d 100644 --- a/programs/voter-stake-registry/src/instructions/withdraw.rs +++ b/programs/voter-stake-registry/src/instructions/withdraw.rs @@ -1,14 +1,12 @@ use crate::{ clock_unix_timestamp, - voter::{load_token_owner_record, VoterWeightRecord}, -}; -use anchor_lang::prelude::*; -use anchor_spl::token::{self, Token, TokenAccount}; -use mplx_staking_states::{ error::VsrError, state::{DepositEntry, LockupKind, LockupPeriod, Registrar, Voter}, + voter::{load_token_owner_record, VoterWeightRecord}, voter_seeds, }; +use anchor_lang::prelude::*; +use anchor_spl::token::{self, Token, TokenAccount}; #[derive(Accounts)] pub struct Withdraw<'info> { diff --git a/programs/voter-stake-registry/src/lib.rs b/programs/voter-stake-registry/src/lib.rs index 1c63d42f..194b923b 100644 --- a/programs/voter-stake-registry/src/lib.rs +++ b/programs/voter-stake-registry/src/lib.rs @@ -1,11 +1,13 @@ use anchor_lang::prelude::*; use instructions::*; -use mplx_staking_states::state::lockup::{LockupKind, LockupPeriod}; +use state::lockup::{LockupKind, LockupPeriod}; pub mod cpi_instructions; +mod error; pub mod events; mod governance; mod instructions; +pub mod state; pub mod voter; // The program address. diff --git a/program-states/src/state/deposit_entry.rs b/programs/voter-stake-registry/src/state/deposit_entry.rs similarity index 98% rename from program-states/src/state/deposit_entry.rs rename to programs/voter-stake-registry/src/state/deposit_entry.rs index 2405bc7d..7e3a095a 100644 --- a/program-states/src/state/deposit_entry.rs +++ b/programs/voter-stake-registry/src/state/deposit_entry.rs @@ -1,5 +1,6 @@ use crate::state::lockup::{Lockup, LockupKind}; use anchor_lang::prelude::*; +use static_assertions::const_assert; /// Bookkeeping for a single deposit for a given mint and lockup schedule. #[zero_copy] diff --git a/program-states/src/state/lockup.rs b/programs/voter-stake-registry/src/state/lockup.rs similarity index 98% rename from program-states/src/state/lockup.rs rename to programs/voter-stake-registry/src/state/lockup.rs index 4199a4f5..79a092ae 100644 --- a/program-states/src/state/lockup.rs +++ b/programs/voter-stake-registry/src/state/lockup.rs @@ -1,5 +1,6 @@ use crate::error::*; use anchor_lang::prelude::*; +use static_assertions::const_assert; /// Seconds in one day. pub const SECS_PER_DAY: u64 = 86_400; @@ -151,6 +152,7 @@ pub enum LockupPeriod { SixMonths, OneYear, Flex, + Test, } impl Default for LockupPeriod { @@ -167,6 +169,7 @@ impl LockupPeriod { LockupPeriod::OneYear => SECS_PER_MONTH * 12, LockupPeriod::Flex => SECS_PER_DAY * 5, LockupPeriod::None => 0, + LockupPeriod::Test => 120, } } } diff --git a/program-states/src/state/mod.rs b/programs/voter-stake-registry/src/state/mod.rs similarity index 100% rename from program-states/src/state/mod.rs rename to programs/voter-stake-registry/src/state/mod.rs diff --git a/program-states/src/state/registrar.rs b/programs/voter-stake-registry/src/state/registrar.rs similarity index 98% rename from program-states/src/state/registrar.rs rename to programs/voter-stake-registry/src/state/registrar.rs index 8fae850a..661e7a27 100644 --- a/program-states/src/state/registrar.rs +++ b/programs/voter-stake-registry/src/state/registrar.rs @@ -66,3 +66,4 @@ macro_rules! registrar_seeds { } pub use registrar_seeds; +use static_assertions::const_assert; diff --git a/program-states/src/state/voter.rs b/programs/voter-stake-registry/src/state/voter.rs similarity index 98% rename from program-states/src/state/voter.rs rename to programs/voter-stake-registry/src/state/voter.rs index 810cc4af..65d8900c 100644 --- a/program-states/src/state/voter.rs +++ b/programs/voter-stake-registry/src/state/voter.rs @@ -80,4 +80,5 @@ macro_rules! voter_seeds { }; } +use static_assertions::const_assert; pub use voter_seeds; diff --git a/program-states/src/state/voting_mint_config.rs b/programs/voter-stake-registry/src/state/voting_mint_config.rs similarity index 95% rename from program-states/src/state/voting_mint_config.rs rename to programs/voter-stake-registry/src/state/voting_mint_config.rs index c249853e..a39b3a89 100644 --- a/program-states/src/state/voting_mint_config.rs +++ b/programs/voter-stake-registry/src/state/voting_mint_config.rs @@ -1,4 +1,5 @@ use anchor_lang::prelude::*; +use static_assertions::const_assert; /// Exchange rate for an asset that can be used to mint voting rights. /// diff --git a/programs/voter-stake-registry/src/voter.rs b/programs/voter-stake-registry/src/voter.rs index 25588a72..f33187b5 100644 --- a/programs/voter-stake-registry/src/voter.rs +++ b/programs/voter-stake-registry/src/voter.rs @@ -1,6 +1,5 @@ -use crate::vote_weight_record; +use crate::{error::VsrError, state::Registrar, vote_weight_record}; use anchor_lang::prelude::*; -use mplx_staking_states::{error::VsrError, state::Registrar}; use spl_governance::state::token_owner_record; pub fn load_token_owner_record( diff --git a/programs/voter-stake-registry/tests/fixtures/mplx_rewards.so b/programs/voter-stake-registry/tests/fixtures/mplx_rewards.so index aa2b00b1bfe6a9d65ffc80d293e5f144bed2fb4e..ccdacef30bfcdb2a621312b092f6ff08de55c0f0 100755 GIT binary patch delta 34137 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 BQfB}F delta 34650 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 Jtf{xg{%__4*>eB@ diff --git a/programs/voter-stake-registry/tests/program_test/addin.rs b/programs/voter-stake-registry/tests/program_test/addin.rs index 4fc3c657..4d07d417 100644 --- a/programs/voter-stake-registry/tests/program_test/addin.rs +++ b/programs/voter-stake-registry/tests/program_test/addin.rs @@ -1,12 +1,12 @@ use crate::*; use anchor_lang::Key; -use mplx_staking_states::state::Voter; use solana_sdk::{ instruction::Instruction, pubkey::Pubkey, signature::{Keypair, Signer}, }; use std::{cell::RefCell, rc::Rc}; +use voter_stake_registry::state::Voter; #[derive(Clone)] pub struct AddinCookie { diff --git a/programs/voter-stake-registry/tests/program_test/rewards.rs b/programs/voter-stake-registry/tests/program_test/rewards.rs index 0d994cb1..d04a847a 100644 --- a/programs/voter-stake-registry/tests/program_test/rewards.rs +++ b/programs/voter-stake-registry/tests/program_test/rewards.rs @@ -1,6 +1,5 @@ use crate::SolanaCookie; use anchor_lang::{prelude::*, AnchorDeserialize}; -use mplx_staking_states::state::LockupPeriod; use solana_program_test::*; use solana_sdk::{ instruction::{AccountMeta, Instruction}, @@ -11,7 +10,7 @@ use solana_sdk::{ system_program, }; use std::rc::Rc; -use voter_stake_registry::cpi_instructions::RewardsInstruction; +use voter_stake_registry::{cpi_instructions::RewardsInstruction, state::LockupPeriod}; pub struct RewardsCookie { pub solana: Rc, diff --git a/programs/voter-stake-registry/tests/test_all_deposits.rs b/programs/voter-stake-registry/tests/test_all_deposits.rs index 603b3bd7..a6e31832 100644 --- a/programs/voter-stake-registry/tests/test_all_deposits.rs +++ b/programs/voter-stake-registry/tests/test_all_deposits.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; #[tokio::test] diff --git a/programs/voter-stake-registry/tests/test_basic.rs b/programs/voter-stake-registry/tests/test_basic.rs index 4bd4442f..df688112 100644 --- a/programs/voter-stake-registry/tests/test_basic.rs +++ b/programs/voter-stake-registry/tests/test_basic.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; diff --git a/programs/voter-stake-registry/tests/test_claim.rs b/programs/voter-stake-registry/tests/test_claim.rs index fd338cc3..47a2511a 100644 --- a/programs/voter-stake-registry/tests/test_claim.rs +++ b/programs/voter-stake-registry/tests/test_claim.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; diff --git a/programs/voter-stake-registry/tests/test_deposit_constant.rs b/programs/voter-stake-registry/tests/test_deposit_constant.rs index 8865140d..100ee78d 100644 --- a/programs/voter-stake-registry/tests/test_deposit_constant.rs +++ b/programs/voter-stake-registry/tests/test_deposit_constant.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{pubkey::Pubkey, signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; diff --git a/programs/voter-stake-registry/tests/test_deposit_no_locking.rs b/programs/voter-stake-registry/tests/test_deposit_no_locking.rs index 79791e8b..b46a38e7 100644 --- a/programs/voter-stake-registry/tests/test_deposit_no_locking.rs +++ b/programs/voter-stake-registry/tests/test_deposit_no_locking.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{pubkey::Pubkey, signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; diff --git a/programs/voter-stake-registry/tests/test_extend_deposit.rs b/programs/voter-stake-registry/tests/test_extend_deposit.rs index 0c534f0f..0e8fb190 100644 --- a/programs/voter-stake-registry/tests/test_extend_deposit.rs +++ b/programs/voter-stake-registry/tests/test_extend_deposit.rs @@ -1,10 +1,10 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{ clock::SECONDS_PER_DAY, signature::Keypair, signer::Signer, transport::TransportError, }; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; diff --git a/programs/voter-stake-registry/tests/test_lockup.rs b/programs/voter-stake-registry/tests/test_lockup.rs index 9d10d7a2..9583d0ad 100644 --- a/programs/voter-stake-registry/tests/test_lockup.rs +++ b/programs/voter-stake-registry/tests/test_lockup.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; diff --git a/programs/voter-stake-registry/tests/test_log_voter_info.rs b/programs/voter-stake-registry/tests/test_log_voter_info.rs index 6ce58e56..a27d3cf5 100644 --- a/programs/voter-stake-registry/tests/test_log_voter_info.rs +++ b/programs/voter-stake-registry/tests/test_log_voter_info.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; diff --git a/programs/voter-stake-registry/tests/test_voting.rs b/programs/voter-stake-registry/tests/test_voting.rs index 287ef6b3..48a33b1f 100644 --- a/programs/voter-stake-registry/tests/test_voting.rs +++ b/programs/voter-stake-registry/tests/test_voting.rs @@ -1,8 +1,8 @@ use anchor_spl::token::TokenAccount; -use mplx_staking_states::state::{LockupKind, LockupPeriod}; use program_test::*; use solana_program_test::*; use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use voter_stake_registry::state::{LockupKind, LockupPeriod}; mod program_test; #[tokio::test] async fn test_voting() -> Result<(), TransportError> { From 74f09a2eb5724c825711d4cbdbca084b33799816 Mon Sep 17 00:00:00 2001 From: Kyrylo Stepanov Date: Wed, 3 Jul 2024 14:27:30 +0300 Subject: [PATCH 2/2] update idl --- idl/voter_stake_registry.ts | 1096 +++++++++++++++++++++-------------- 1 file changed, 665 insertions(+), 431 deletions(-) diff --git a/idl/voter_stake_registry.ts b/idl/voter_stake_registry.ts index 95aab438..e10c71f4 100644 --- a/idl/voter_stake_registry.ts +++ b/idl/voter_stake_registry.ts @@ -13,10 +13,9 @@ export type VoterStakeRegistry = { "", "- Create a SPL governance realm.", "- Create a governance registry account.", - "- Add exchange rates for any tokens one wants to deposit. For example,", - "if one wants to vote with tokens A and B, where token B has twice the", - "voting power of token A, then the exchange rate of B would be 2 and the", - "exchange rate of A would be 1.", + "- Add exchange rates for any tokens one wants to deposit. For example, if one wants to vote with", + "tokens A and B, where token B has twice the voting power of token A, then the exchange rate of", + "B would be 2 and the exchange rate of A would be 1.", "- Create a voter account.", "- Deposit tokens into this program, with an optional lockup period.", "- Vote.", @@ -181,22 +180,6 @@ export type VoterStakeRegistry = { "name": "idx", "type": "u16" }, - { - "name": "digitShift", - "type": "i8" - }, - { - "name": "baselineVoteWeightScaledFactor", - "type": "u64" - }, - { - "name": "maxExtraLockupVoteWeightScaledFactor", - "type": "u64" - }, - { - "name": "lockupSaturationSecs", - "type": "u64" - }, { "name": "grantAuthority", "type": { @@ -269,7 +252,8 @@ export type VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"reward_pool\", deposit_authority , fill_authority], reward_program)" + "PDA([\"reward_pool\", deposit_authority , fill_authority],", + "reward_program)" ] }, { @@ -277,7 +261,8 @@ export type VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { @@ -344,11 +329,6 @@ export type VoterStakeRegistry = { "name": "associatedTokenProgram", "isMut": false, "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false } ], "args": [ @@ -475,21 +455,6 @@ export type VoterStakeRegistry = { "name": "tokenProgram", "isMut": false, "isSigner": false - }, - { - "name": "rewardPool", - "isMut": true, - "isSigner": false - }, - { - "name": "depositMining", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardsProgram", - "isMut": false, - "isSigner": false } ], "args": [ @@ -500,18 +465,6 @@ export type VoterStakeRegistry = { { "name": "amount", "type": "u64" - }, - { - "name": "registrarBump", - "type": "u8" - }, - { - "name": "realmGoverningMintPubkey", - "type": "publicKey" - }, - { - "name": "realmPubkey", - "type": "publicKey" } ] }, @@ -579,6 +532,21 @@ export type VoterStakeRegistry = { "name": "voterAuthority", "isMut": false, "isSigner": true + }, + { + "name": "rewardPool", + "isMut": true, + "isSigner": false + }, + { + "name": "depositMining", + "isMut": true, + "isSigner": false + }, + { + "name": "rewardsProgram", + "isMut": false, + "isSigner": false } ], "args": [ @@ -606,6 +574,23 @@ export type VoterStakeRegistry = { "isMut": false, "isSigner": true }, + { + "name": "depositMining", + "isMut": true, + "isSigner": false, + "docs": [ + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" + ] + }, + { + "name": "rewardPool", + "isMut": false, + "isSigner": false, + "docs": [ + "PDA([\"reward_pool\", deposit_authority[aka registrar in our case]], rewards_program)" + ] + }, { "name": "solDestination", "isMut": true, @@ -615,6 +600,11 @@ export type VoterStakeRegistry = { "name": "tokenProgram", "isMut": false, "isSigner": false + }, + { + "name": "rewardsProgram", + "isMut": false, + "isSigner": false } ], "args": [] @@ -645,7 +635,7 @@ export type VoterStakeRegistry = { ] }, { - "name": "lockTokens", + "name": "stake", "accounts": [ { "name": "registrar", @@ -667,7 +657,8 @@ export type VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"reward_pool\", deposit_authority , fill_authority], reward_program)" + "PDA([\"reward_pool\", deposit_authority , fill_authority],", + "reward_program)" ] }, { @@ -675,7 +666,8 @@ export type VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { @@ -696,19 +688,11 @@ export type VoterStakeRegistry = { { "name": "amount", "type": "u64" - }, - { - "name": "realmGoverningMintPubkey", - "type": "publicKey" - }, - { - "name": "realmPubkey", - "type": "publicKey" } ] }, { - "name": "restakeDeposit", + "name": "extendStake", "accounts": [ { "name": "registrar", @@ -753,7 +737,8 @@ export type VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { @@ -821,12 +806,13 @@ export type VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { "name": "miningOwner", - "isMut": true, + "isMut": false, "isSigner": true }, { @@ -872,7 +858,7 @@ export type VoterStakeRegistry = { ], "accounts": [ { - "name": "Registrar", + "name": "registrar", "docs": [ "Instance of a voting rights distributor." ], @@ -910,22 +896,24 @@ export type VoterStakeRegistry = { ] } }, - { - "name": "timeOffset", - "docs": [ - "Debug only: time offset, to allow tests to move forward in time." - ], - "type": "i64" - }, { "name": "bump", "type": "u8" + }, + { + "name": "padding", + "type": { + "array": [ + "u8", + 7 + ] + } } ] } }, { - "name": "Voter", + "name": "voter", "docs": [ "User account for minting voting rights." ], @@ -973,6 +961,63 @@ export type VoterStakeRegistry = { } ], "types": [ + { + "name": "VestingInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "rate", + "docs": [ + "Amount of tokens vested each period" + ], + "type": "u64" + }, + { + "name": "nextTimestamp", + "docs": [ + "Time of the next upcoming vesting" + ], + "type": "u64" + } + ] + } + }, + { + "name": "LockingInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount of locked tokens" + ], + "type": "u64" + }, + { + "name": "endTimestamp", + "docs": [ + "Time at which the lockup fully ends (None for Constant lockup)" + ], + "type": { + "option": "u64" + } + }, + { + "name": "vesting", + "docs": [ + "Information about vesting, if any" + ], + "type": { + "option": { + "defined": "VestingInfo" + } + } + } + ] + } + }, { "name": "DepositEntry", "docs": [ @@ -1033,8 +1078,6 @@ export type VoterStakeRegistry = { { "name": "startTs", "docs": [ - "Note, that if start_ts is in the future, the funds are nevertheless", - "locked up!", "Start of the lockup." ], "type": "u64" @@ -1091,15 +1134,205 @@ export type VoterStakeRegistry = { } }, { - "name": "LockupKind", + "name": "VotingMintConfig", + "docs": [ + "Exchange rate for an asset that can be used to mint voting rights.", + "", + "See documentation of configure_voting_mint for details on how", + "native token amounts convert to vote weight." + ], + "type": { + "kind": "struct", + "fields": [ + { + "name": "mint", + "docs": [ + "Mint for this entry." + ], + "type": "publicKey" + }, + { + "name": "grantAuthority", + "docs": [ + "The authority that is allowed to push grants into voters" + ], + "type": "publicKey" + } + ] + } + }, + { + "name": "RewardsInstruction", "type": { "kind": "enum", "variants": [ { - "name": "None" + "name": "InitializePool", + "fields": [ + { + "name": "deposit_authority", + "docs": [ + "Account responsible for charging mining owners" + ], + "type": "publicKey" + }, + { + "name": "fill_authority", + "docs": [ + "Account can fill the reward vault" + ], + "type": "publicKey" + }, + { + "name": "distribution_authority", + "docs": [ + "Account can distribute rewards for stakers" + ], + "type": "publicKey" + } + ] + }, + { + "name": "FillVault", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount to fill" + ], + "type": "u64" + }, + { + "name": "distribution_ends_at", + "docs": [ + "Rewards distribution ends at given date" + ], + "type": "u64" + } + ] }, { - "name": "Constant" + "name": "InitializeMining", + "fields": [ + { + "name": "mining_owner", + "docs": [ + "Represent the end-user, owner of the mining" + ], + "type": "publicKey" + } + ] + }, + { + "name": "DepositMining", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount to deposit" + ], + "type": "u64" + }, + { + "name": "lockup_period", + "docs": [ + "Lockup Period" + ], + "type": { + "defined": "LockupPeriod" + } + }, + { + "name": "owner", + "docs": [ + "Specifies the owner of the Mining Account" + ], + "type": "publicKey" + } + ] + }, + { + "name": "WithdrawMining", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount to withdraw" + ], + "type": "u64" + }, + { + "name": "owner", + "docs": [ + "Specifies the owner of the Mining Account" + ], + "type": "publicKey" + } + ] + }, + { + "name": "Claim" + }, + { + "name": "ExtendStake", + "fields": [ + { + "name": "old_lockup_period", + "docs": [ + "Lockup period before restaking. Actually it's only needed", + "for Flex to AnyPeriod edge case" + ], + "type": { + "defined": "LockupPeriod" + } + }, + { + "name": "new_lockup_period", + "docs": [ + "Requested lockup period for restaking" + ], + "type": { + "defined": "LockupPeriod" + } + }, + { + "name": "deposit_start_ts", + "docs": [ + "Deposit start_ts" + ], + "type": "u64" + }, + { + "name": "base_amount", + "docs": [ + "Amount of tokens to be restaked, this", + "number cannot be decreased. It reflects the number of staked tokens", + "before the extend_stake function call" + ], + "type": "u64" + }, + { + "name": "additional_amount", + "docs": [ + "In case user wants to increase it's staked number of tokens,", + "the addition amount might be provided" + ], + "type": "u64" + }, + { + "name": "mining_owner", + "docs": [ + "The wallet who owns the mining account" + ], + "type": "publicKey" + } + ] + }, + { + "name": "DistributeRewards" + }, + { + "name": "CloseMining" } ] } @@ -1131,137 +1364,36 @@ export type VoterStakeRegistry = { } }, { - "name": "VotingMintConfig", - "docs": [ - "Exchange rate for an asset that can be used to mint voting rights.", - "", - "See documentation of configure_voting_mint for details on how", - "native token amounts convert to vote weight." - ], + "name": "LockupKind", "type": { - "kind": "struct", - "fields": [ - { - "name": "mint", - "docs": [ - "Mint for this entry." - ], - "type": "publicKey" - }, - { - "name": "grantAuthority", - "docs": [ - "The authority that is allowed to push grants into voters" - ], - "type": "publicKey" - }, - { - "name": "baselineVoteWeightScaledFactor", - "docs": [ - "Vote weight factor for all funds in the account, no matter if locked or not.", - "", - "In 1/SCALED_FACTOR_BASE units." - ], - "type": "u64" - }, - { - "name": "maxExtraLockupVoteWeightScaledFactor", - "docs": [ - "Maximum extra vote weight factor for lockups.", - "", - "This is the extra votes gained for lockups lasting lockup_saturation_secs or", - "longer. Shorter lockups receive only a fraction of the maximum extra vote weight,", - "based on lockup_time divided by lockup_saturation_secs.", - "", - "In 1/SCALED_FACTOR_BASE units." - ], - "type": "u64" - }, - { - "name": "lockupSaturationSecs", - "docs": [ - "Number of seconds of lockup needed to reach the maximum lockup bonus." - ], - "type": "u64" - }, + "kind": "enum", + "variants": [ { - "name": "digitShift", - "docs": [ - "Number of digits to shift native amounts, applying a 10^digit_shift factor." - ], - "type": "i8" + "name": "None" }, { - "name": "padding", - "type": { - "array": [ - "u8", - 7 - ] - } - } - ] - } - }, - { - "name": "LockingInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "amount", - "docs": [ - "Amount of locked tokens" - ], - "type": "u64" - }, - { - "name": "endTimestamp", - "docs": [ - "Time at which the lockup fully ends (None for Constant lockup)" - ], - "type": { - "option": "u64" - } - }, - { - "name": "vesting", - "docs": [ - "Information about vesting, if any" - ], - "type": { - "option": { - "defined": "VestingInfo" - } - } - } - ] - } - }, - { - "name": "VestingInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "rate", - "docs": [ - "Amount of tokens vested each period" - ], - "type": "u64" - }, - { - "name": "nextTimestamp", - "docs": [ - "Time of the next upcoming vesting" - ], - "type": "u64" + "name": "Constant" } ] } } ], "events": [ + { + "name": "VoterInfo", + "fields": [ + { + "name": "votingPower", + "type": "u64", + "index": false + }, + { + "name": "votingPowerBaseline", + "type": "u64", + "index": false + } + ] + }, { "name": "DepositEntryInfo", "fields": [ @@ -1300,21 +1432,6 @@ export type VoterStakeRegistry = { "index": false } ] - }, - { - "name": "VoterInfo", - "fields": [ - { - "name": "votingPower", - "type": "u64", - "index": false - }, - { - "name": "votingPowerBaseline", - "type": "u64", - "index": false - } - ] } ], "errors": [ @@ -1435,7 +1552,7 @@ export type VoterStakeRegistry = { }, { "code": 6023, - "name": "RestakeDepositIsNotAllowed", + "name": "ExtendDepositIsNotAllowed", "msg": "" }, { @@ -1476,10 +1593,9 @@ export const IDL: VoterStakeRegistry = { "", "- Create a SPL governance realm.", "- Create a governance registry account.", - "- Add exchange rates for any tokens one wants to deposit. For example,", - "if one wants to vote with tokens A and B, where token B has twice the", - "voting power of token A, then the exchange rate of B would be 2 and the", - "exchange rate of A would be 1.", + "- Add exchange rates for any tokens one wants to deposit. For example, if one wants to vote with", + "tokens A and B, where token B has twice the voting power of token A, then the exchange rate of", + "B would be 2 and the exchange rate of A would be 1.", "- Create a voter account.", "- Deposit tokens into this program, with an optional lockup period.", "- Vote.", @@ -1644,22 +1760,6 @@ export const IDL: VoterStakeRegistry = { "name": "idx", "type": "u16" }, - { - "name": "digitShift", - "type": "i8" - }, - { - "name": "baselineVoteWeightScaledFactor", - "type": "u64" - }, - { - "name": "maxExtraLockupVoteWeightScaledFactor", - "type": "u64" - }, - { - "name": "lockupSaturationSecs", - "type": "u64" - }, { "name": "grantAuthority", "type": { @@ -1732,7 +1832,8 @@ export const IDL: VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"reward_pool\", deposit_authority , fill_authority], reward_program)" + "PDA([\"reward_pool\", deposit_authority , fill_authority],", + "reward_program)" ] }, { @@ -1740,7 +1841,8 @@ export const IDL: VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { @@ -1807,11 +1909,6 @@ export const IDL: VoterStakeRegistry = { "name": "associatedTokenProgram", "isMut": false, "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false } ], "args": [ @@ -1938,21 +2035,6 @@ export const IDL: VoterStakeRegistry = { "name": "tokenProgram", "isMut": false, "isSigner": false - }, - { - "name": "rewardPool", - "isMut": true, - "isSigner": false - }, - { - "name": "depositMining", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardsProgram", - "isMut": false, - "isSigner": false } ], "args": [ @@ -1963,18 +2045,6 @@ export const IDL: VoterStakeRegistry = { { "name": "amount", "type": "u64" - }, - { - "name": "registrarBump", - "type": "u8" - }, - { - "name": "realmGoverningMintPubkey", - "type": "publicKey" - }, - { - "name": "realmPubkey", - "type": "publicKey" } ] }, @@ -2042,6 +2112,21 @@ export const IDL: VoterStakeRegistry = { "name": "voterAuthority", "isMut": false, "isSigner": true + }, + { + "name": "rewardPool", + "isMut": true, + "isSigner": false + }, + { + "name": "depositMining", + "isMut": true, + "isSigner": false + }, + { + "name": "rewardsProgram", + "isMut": false, + "isSigner": false } ], "args": [ @@ -2069,6 +2154,23 @@ export const IDL: VoterStakeRegistry = { "isMut": false, "isSigner": true }, + { + "name": "depositMining", + "isMut": true, + "isSigner": false, + "docs": [ + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" + ] + }, + { + "name": "rewardPool", + "isMut": false, + "isSigner": false, + "docs": [ + "PDA([\"reward_pool\", deposit_authority[aka registrar in our case]], rewards_program)" + ] + }, { "name": "solDestination", "isMut": true, @@ -2078,6 +2180,11 @@ export const IDL: VoterStakeRegistry = { "name": "tokenProgram", "isMut": false, "isSigner": false + }, + { + "name": "rewardsProgram", + "isMut": false, + "isSigner": false } ], "args": [] @@ -2108,7 +2215,7 @@ export const IDL: VoterStakeRegistry = { ] }, { - "name": "lockTokens", + "name": "stake", "accounts": [ { "name": "registrar", @@ -2130,7 +2237,8 @@ export const IDL: VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"reward_pool\", deposit_authority , fill_authority], reward_program)" + "PDA([\"reward_pool\", deposit_authority , fill_authority],", + "reward_program)" ] }, { @@ -2138,7 +2246,8 @@ export const IDL: VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { @@ -2159,19 +2268,11 @@ export const IDL: VoterStakeRegistry = { { "name": "amount", "type": "u64" - }, - { - "name": "realmGoverningMintPubkey", - "type": "publicKey" - }, - { - "name": "realmPubkey", - "type": "publicKey" } ] }, { - "name": "restakeDeposit", + "name": "extendStake", "accounts": [ { "name": "registrar", @@ -2216,7 +2317,8 @@ export const IDL: VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { @@ -2284,12 +2386,13 @@ export const IDL: VoterStakeRegistry = { "isMut": true, "isSigner": false, "docs": [ - "PDA([\"mining\", mining owner , reward_pool], reward_program)" + "PDA([\"mining\", mining owner , reward_pool],", + "reward_program)" ] }, { "name": "miningOwner", - "isMut": true, + "isMut": false, "isSigner": true }, { @@ -2335,7 +2438,7 @@ export const IDL: VoterStakeRegistry = { ], "accounts": [ { - "name": "Registrar", + "name": "registrar", "docs": [ "Instance of a voting rights distributor." ], @@ -2373,22 +2476,24 @@ export const IDL: VoterStakeRegistry = { ] } }, - { - "name": "timeOffset", - "docs": [ - "Debug only: time offset, to allow tests to move forward in time." - ], - "type": "i64" - }, { "name": "bump", "type": "u8" + }, + { + "name": "padding", + "type": { + "array": [ + "u8", + 7 + ] + } } ] } }, { - "name": "Voter", + "name": "voter", "docs": [ "User account for minting voting rights." ], @@ -2436,6 +2541,63 @@ export const IDL: VoterStakeRegistry = { } ], "types": [ + { + "name": "VestingInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "rate", + "docs": [ + "Amount of tokens vested each period" + ], + "type": "u64" + }, + { + "name": "nextTimestamp", + "docs": [ + "Time of the next upcoming vesting" + ], + "type": "u64" + } + ] + } + }, + { + "name": "LockingInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount of locked tokens" + ], + "type": "u64" + }, + { + "name": "endTimestamp", + "docs": [ + "Time at which the lockup fully ends (None for Constant lockup)" + ], + "type": { + "option": "u64" + } + }, + { + "name": "vesting", + "docs": [ + "Information about vesting, if any" + ], + "type": { + "option": { + "defined": "VestingInfo" + } + } + } + ] + } + }, { "name": "DepositEntry", "docs": [ @@ -2496,8 +2658,6 @@ export const IDL: VoterStakeRegistry = { { "name": "startTs", "docs": [ - "Note, that if start_ts is in the future, the funds are nevertheless", - "locked up!", "Start of the lockup." ], "type": "u64" @@ -2553,46 +2713,6 @@ export const IDL: VoterStakeRegistry = { ] } }, - { - "name": "LockupKind", - "type": { - "kind": "enum", - "variants": [ - { - "name": "None" - }, - { - "name": "Constant" - } - ] - } - }, - { - "name": "LockupPeriod", - "type": { - "kind": "enum", - "variants": [ - { - "name": "None" - }, - { - "name": "ThreeMonths" - }, - { - "name": "SixMonths" - }, - { - "name": "OneYear" - }, - { - "name": "Flex" - }, - { - "name": "Test" - } - ] - } - }, { "name": "VotingMintConfig", "docs": [ @@ -2617,114 +2737,243 @@ export const IDL: VoterStakeRegistry = { "The authority that is allowed to push grants into voters" ], "type": "publicKey" - }, - { - "name": "baselineVoteWeightScaledFactor", - "docs": [ - "Vote weight factor for all funds in the account, no matter if locked or not.", - "", - "In 1/SCALED_FACTOR_BASE units." - ], - "type": "u64" - }, + } + ] + } + }, + { + "name": "RewardsInstruction", + "type": { + "kind": "enum", + "variants": [ { - "name": "maxExtraLockupVoteWeightScaledFactor", - "docs": [ - "Maximum extra vote weight factor for lockups.", - "", - "This is the extra votes gained for lockups lasting lockup_saturation_secs or", - "longer. Shorter lockups receive only a fraction of the maximum extra vote weight,", - "based on lockup_time divided by lockup_saturation_secs.", - "", - "In 1/SCALED_FACTOR_BASE units." - ], - "type": "u64" + "name": "InitializePool", + "fields": [ + { + "name": "deposit_authority", + "docs": [ + "Account responsible for charging mining owners" + ], + "type": "publicKey" + }, + { + "name": "fill_authority", + "docs": [ + "Account can fill the reward vault" + ], + "type": "publicKey" + }, + { + "name": "distribution_authority", + "docs": [ + "Account can distribute rewards for stakers" + ], + "type": "publicKey" + } + ] + }, + { + "name": "FillVault", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount to fill" + ], + "type": "u64" + }, + { + "name": "distribution_ends_at", + "docs": [ + "Rewards distribution ends at given date" + ], + "type": "u64" + } + ] }, { - "name": "lockupSaturationSecs", - "docs": [ - "Number of seconds of lockup needed to reach the maximum lockup bonus." - ], - "type": "u64" + "name": "InitializeMining", + "fields": [ + { + "name": "mining_owner", + "docs": [ + "Represent the end-user, owner of the mining" + ], + "type": "publicKey" + } + ] + }, + { + "name": "DepositMining", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount to deposit" + ], + "type": "u64" + }, + { + "name": "lockup_period", + "docs": [ + "Lockup Period" + ], + "type": { + "defined": "LockupPeriod" + } + }, + { + "name": "owner", + "docs": [ + "Specifies the owner of the Mining Account" + ], + "type": "publicKey" + } + ] + }, + { + "name": "WithdrawMining", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount to withdraw" + ], + "type": "u64" + }, + { + "name": "owner", + "docs": [ + "Specifies the owner of the Mining Account" + ], + "type": "publicKey" + } + ] + }, + { + "name": "Claim" + }, + { + "name": "ExtendStake", + "fields": [ + { + "name": "old_lockup_period", + "docs": [ + "Lockup period before restaking. Actually it's only needed", + "for Flex to AnyPeriod edge case" + ], + "type": { + "defined": "LockupPeriod" + } + }, + { + "name": "new_lockup_period", + "docs": [ + "Requested lockup period for restaking" + ], + "type": { + "defined": "LockupPeriod" + } + }, + { + "name": "deposit_start_ts", + "docs": [ + "Deposit start_ts" + ], + "type": "u64" + }, + { + "name": "base_amount", + "docs": [ + "Amount of tokens to be restaked, this", + "number cannot be decreased. It reflects the number of staked tokens", + "before the extend_stake function call" + ], + "type": "u64" + }, + { + "name": "additional_amount", + "docs": [ + "In case user wants to increase it's staked number of tokens,", + "the addition amount might be provided" + ], + "type": "u64" + }, + { + "name": "mining_owner", + "docs": [ + "The wallet who owns the mining account" + ], + "type": "publicKey" + } + ] }, { - "name": "digitShift", - "docs": [ - "Number of digits to shift native amounts, applying a 10^digit_shift factor." - ], - "type": "i8" + "name": "DistributeRewards" }, { - "name": "padding", - "type": { - "array": [ - "u8", - 7 - ] - } + "name": "CloseMining" } ] } }, { - "name": "LockingInfo", + "name": "LockupPeriod", "type": { - "kind": "struct", - "fields": [ + "kind": "enum", + "variants": [ { - "name": "amount", - "docs": [ - "Amount of locked tokens" - ], - "type": "u64" + "name": "None" }, { - "name": "endTimestamp", - "docs": [ - "Time at which the lockup fully ends (None for Constant lockup)" - ], - "type": { - "option": "u64" - } + "name": "ThreeMonths" }, { - "name": "vesting", - "docs": [ - "Information about vesting, if any" - ], - "type": { - "option": { - "defined": "VestingInfo" - } - } + "name": "SixMonths" + }, + { + "name": "OneYear" + }, + { + "name": "Flex" + }, + { + "name": "Test" } ] } }, { - "name": "VestingInfo", + "name": "LockupKind", "type": { - "kind": "struct", - "fields": [ + "kind": "enum", + "variants": [ { - "name": "rate", - "docs": [ - "Amount of tokens vested each period" - ], - "type": "u64" + "name": "None" }, { - "name": "nextTimestamp", - "docs": [ - "Time of the next upcoming vesting" - ], - "type": "u64" + "name": "Constant" } ] } } ], "events": [ + { + "name": "VoterInfo", + "fields": [ + { + "name": "votingPower", + "type": "u64", + "index": false + }, + { + "name": "votingPowerBaseline", + "type": "u64", + "index": false + } + ] + }, { "name": "DepositEntryInfo", "fields": [ @@ -2763,21 +3012,6 @@ export const IDL: VoterStakeRegistry = { "index": false } ] - }, - { - "name": "VoterInfo", - "fields": [ - { - "name": "votingPower", - "type": "u64", - "index": false - }, - { - "name": "votingPowerBaseline", - "type": "u64", - "index": false - } - ] } ], "errors": [ @@ -2898,7 +3132,7 @@ export const IDL: VoterStakeRegistry = { }, { "code": 6023, - "name": "RestakeDepositIsNotAllowed", + "name": "ExtendDepositIsNotAllowed", "msg": "" }, {