From 87da334128f24ba2436806f6bc99dde086887802 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Sat, 3 Aug 2024 13:51:55 +0400 Subject: [PATCH 1/7] upgrade anchor to latest version --- .github/workflows/ci-lint-test.yml | 6 +- .github/workflows/ci-soteria.yml | 2 +- Anchor.toml | 4 +- Cargo.lock | 6576 ++++++++++++----- Cargo.toml | 4 + README.md | 2 +- cli/Cargo.toml | 2 +- package.json | 3 +- programs/voter-stake-registry/Cargo.toml | 35 +- .../voter-stake-registry/src/governance.rs | 11 + .../src/instructions/close_voter.rs | 8 +- .../src/instructions/configure_voting_mint.rs | 4 +- .../src/instructions/create_registrar.rs | 2 +- .../src/instructions/create_voter.rs | 7 +- .../src/instructions/grant.rs | 7 +- .../src/instructions/log_voter_info.rs | 2 +- .../instructions/update_max_vote_weight.rs | 4 +- programs/voter-stake-registry/src/lib.rs | 15 +- .../src/state/deposit_entry.rs | 4 +- .../voter-stake-registry/src/state/lockup.rs | 7 +- .../src/state/registrar.rs | 3 +- .../voter-stake-registry/src/state/voter.rs | 2 +- .../src/state/voting_mint_config.rs | 3 - .../tests/program_test/addin.rs | 24 +- .../tests/program_test/governance.rs | 75 +- .../tests/program_test/mod.rs | 3 +- .../tests/program_test/solana.rs | 3 +- .../tests/test_all_deposits.rs | 2 + .../voter-stake-registry/tests/test_grants.rs | 12 +- .../voter-stake-registry/tests/test_voting.rs | 1 + run-test.sh | 2 +- src/client.ts | 8 +- src/voter_stake_registry.json | 2378 ++++++ src/voter_stake_registry.ts | 3581 +++++---- yarn.lock | 477 +- 35 files changed, 9176 insertions(+), 4103 deletions(-) create mode 100644 src/voter_stake_registry.json diff --git a/.github/workflows/ci-lint-test.yml b/.github/workflows/ci-lint-test.yml index 04b7a36f..2209c8ec 100644 --- a/.github/workflows/ci-lint-test.yml +++ b/.github/workflows/ci-lint-test.yml @@ -6,7 +6,7 @@ on: env: CARGO_TERM_COLOR: always - SOLANA_VERSION: "1.9.5" + SOLANA_VERSION: "1.18.18" RUST_TOOLCHAIN: stable defaults: @@ -68,5 +68,5 @@ jobs: echo "Generating keypair..." solana-keygen new -o "$HOME/.config/solana/id.json" --no-passphrase --silent - - name: Run bpf tests - run: cargo test-bpf + - name: Run sbf tests + run: cargo test-sbf diff --git a/.github/workflows/ci-soteria.yml b/.github/workflows/ci-soteria.yml index 6b486289..59886819 100644 --- a/.github/workflows/ci-soteria.yml +++ b/.github/workflows/ci-soteria.yml @@ -7,7 +7,7 @@ on: env: CARGO_TERM_COLOR: always - SOLANA_VERSION: "1.9.5" + SOLANA_VERSION: "1.14.10" jobs: build: diff --git a/Anchor.toml b/Anchor.toml index 7ea44c0e..b185a333 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -1,5 +1,5 @@ -anchor_version = "0.20.1" -solana_version = "1.9.5" +anchor_version = "0.30.1" +solana_version = "1.18.18" [programs.localnet] voter_stake_registry = "4Q6WW2ouZ6V3iaNm56MTd5n2tnTm4C5fiH8miFHnAFHo" diff --git a/Cargo.lock b/Cargo.lock index 646efea5..6d96136d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7,12 +7,16 @@ name = "Inflector" version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] [[package]] name = "addr2line" -version = "0.17.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -23,17 +27,71 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[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.4.7" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom 0.2.15", + "once_cell", + "version_check", + "zerocopy", +] [[package]] name = "aho-corasick" -version = "0.7.18" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -44,2817 +102,5199 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + [[package]] name = "anchor-attribute-access-control" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b75d05b6b4ac9d95bb6e3b786b27d3a708c4c5a87c92ffaa25bbe9ae4c5d91" +checksum = "47fe28365b33e8334dd70ae2f34a43892363012fe239cf37d2ee91693575b1f8" dependencies = [ "anchor-syn", - "anyhow", "proc-macro2", "quote", - "regex", - "syn", + "syn 1.0.109", ] [[package]] name = "anchor-attribute-account" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "485351a6d8157750d10d88c8e256f1bf8339262b2220ae9125aed3471309b5de" +checksum = "3c288d496168268d198d9b53ee9f4f9d260a55ba4df9877ea1d4486ad6109e0f" dependencies = [ "anchor-syn", - "anyhow", - "bs58 0.4.0", + "bs58 0.5.1", "proc-macro2", "quote", - "rustversion", - "syn", + "syn 1.0.109", ] [[package]] name = "anchor-attribute-constant" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc632c540913dd051a78b00587cc47f57013d303163ddfaf4fa18717f7ccc1e0" +checksum = "49b77b6948d0eeaaa129ce79eea5bbbb9937375a9241d909ca8fb9e006bb6e90" dependencies = [ "anchor-syn", - "proc-macro2", - "syn", + "quote", + "syn 1.0.109", ] [[package]] name = "anchor-attribute-error" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5bd1dcfa7f3bc22dacef233d70a9e0bee269c4ac484510662f257cba2353a1" +checksum = "4d20bb569c5a557c86101b944721d865e1fd0a4c67c381d31a44a84f07f84828" dependencies = [ "anchor-syn", - "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "anchor-attribute-event" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c6f9e6ce551ac9a177a45c99a65699a860c9e95fac68675138af1246e2591b0" +checksum = "4cebd8d0671a3a9dc3160c48598d652c34c77de6be4d44345b8b514323284d57" dependencies = [ "anchor-syn", - "anyhow", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] -name = "anchor-attribute-interface" -version = "0.24.2" +name = "anchor-attribute-program" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d104aa17418cb329ed7418b227e083d5f326a27f26ce98f5d92e33da62a5f459" +checksum = "efb2a5eb0860e661ab31aff7bb5e0288357b176380e985bade4ccb395981b42d" dependencies = [ + "anchor-lang-idl", "anchor-syn", "anyhow", + "bs58 0.5.1", "heck 0.3.3", "proc-macro2", "quote", - "syn", + "serde_json", + "syn 1.0.109", ] [[package]] -name = "anchor-attribute-program" -version = "0.24.2" +name = "anchor-derive-accounts" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6831b920b173c004ddf7ae1167d1d25e9f002ffcb1773bbc5c7ce532a4441e1" +checksum = "04368b5abef4266250ca8d1d12f4dff860242681e4ec22b885dcfe354fd35aa1" dependencies = [ "anchor-syn", - "anyhow", - "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] -name = "anchor-attribute-state" -version = "0.24.2" +name = "anchor-derive-serde" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde147b10c71d95dc679785db0b5f3abac0091f789167aa62ac0135e2f54e8b9" +checksum = "e0bb0e0911ad4a70cab880cdd6287fe1e880a1a9d8e4e6defa8e9044b9796a6c" dependencies = [ "anchor-syn", - "anyhow", + "borsh-derive-internal 0.10.3", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] -name = "anchor-derive-accounts" -version = "0.24.2" +name = "anchor-derive-space" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cde98a0e1a56046b040ff591dfda391f88917af2b6487d02b45093c05be3514" +checksum = "5ef415ff156dc82e9ecb943189b0cb241b3a6bfc26a180234dc21bd3ef3ce0cb" dependencies = [ - "anchor-syn", - "anyhow", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "anchor-lang" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85dd2c5e29e20c7f4701a43724d6cd5406d0ee5694705522e43da0f26542a84" +checksum = "6620c9486d9d36a4389cab5e37dc34a42ed0bfaa62e6a75a2999ce98f8f2e373" 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", + "anchor-derive-serde", + "anchor-derive-space", + "anchor-lang-idl", "arrayref", - "base64 0.13.0", + "base64 0.21.7", "bincode", - "borsh", + "borsh 0.10.3", "bytemuck", + "getrandom 0.2.15", "solana-program", "thiserror", ] +[[package]] +name = "anchor-lang-idl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31cf97b4e6f7d6144a05e435660fcf757dbc3446d38d0e2b851d11ed13625bba" +dependencies = [ + "anchor-lang-idl-spec", + "anyhow", + "heck 0.3.3", + "regex", + "serde", + "serde_json", + "sha2 0.10.8", +] + +[[package]] +name = "anchor-lang-idl-spec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" +dependencies = [ + "anyhow", + "serde", +] + [[package]] name = "anchor-spl" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0188c33b4a3c124c4e593f2b440415aaea70a7650fac6ba0772395385d71c003" +checksum = "04bd077c34449319a1e4e0bc21cea572960c9ae0d0fefda0dd7c52fcc3c647a3" dependencies = [ "anchor-lang", - "solana-program", - "spl-associated-token-account", + "spl-associated-token-account 3.0.4", + "spl-pod 0.2.5", "spl-token", + "spl-token-2022 3.0.4", + "spl-token-group-interface 0.2.5", + "spl-token-metadata-interface 0.3.5", ] [[package]] name = "anchor-syn" -version = "0.24.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03549dc2eae0b20beba6333b14520e511822a6321cdb1760f841064a69347316" +checksum = "f99daacb53b55cfd37ce14d6c9905929721137fd4c67bbab44a19802aecb622f" dependencies = [ "anyhow", - "bs58 0.3.1", + "bs58 0.5.1", + "cargo_toml", "heck 0.3.3", "proc-macro2", - "proc-macro2-diagnostics", "quote", "serde", "serde_json", - "sha2", - "syn", + "sha2 0.10.8", + "syn 1.0.109", "thiserror", ] [[package]] -name = "anyhow" -version = "1.0.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "159bb86af3a200e19a068f4224eae4c8bb2d0fa054c7e5d1cacd5cef95e684cd" - -[[package]] -name = "arrayref" -version = "0.3.6" +name = "android-tzdata" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" [[package]] -name = "arrayvec" -version = "0.7.2" +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] [[package]] -name = "ascii" -version = "0.9.3" +name = "ansi_term" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] [[package]] -name = "assert_matches" -version = "1.5.0" +name = "anyhow" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] -name = "async-trait" -version = "0.1.52" +name = "aquamarine" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" +checksum = "d1da02abba9f9063d786eab1509833ebb2fac0f966862ca59439c76b9c566760" dependencies = [ + "include_dir", + "itertools", + "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] -name = "atty" -version = "0.2.14" +name = "ark-bn254" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" dependencies = [ - "hermit-abi", - "libc", - "winapi", + "ark-ec", + "ark-ff", + "ark-std", ] [[package]] -name = "autocfg" -version = "1.0.1" +name = "ark-ec" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools", + "num-traits", + "zeroize", +] [[package]] -name = "backtrace" -version = "0.3.63" +name = "ark-ff" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest 0.10.7", + "itertools", + "num-bigint 0.4.6", + "num-traits", + "paste", + "rustc_version", + "zeroize", ] [[package]] -name = "base64" -version = "0.12.3" +name = "ark-ff-asm" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] [[package]] -name = "base64" -version = "0.13.0" +name = "ark-ff-macros" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "bincode" -version = "1.3.3" +name = "ark-poly" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" dependencies = [ - "serde", + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", ] [[package]] -name = "bitflags" -version = "1.3.2" +name = "ark-serialize" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.10.7", + "num-bigint 0.4.6", +] [[package]] -name = "blake3" -version = "1.3.1" +name = "ark-serialize-derive" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", - "digest 0.10.1", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "block-buffer" -version = "0.9.0" +name = "ark-std" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ - "block-padding", - "generic-array", + "num-traits", + "rand 0.8.5", ] [[package]] -name = "block-buffer" -version = "0.10.0" +name = "arrayref" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" -dependencies = [ - "generic-array", -] +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] -name = "block-padding" -version = "0.2.1" +name = "arrayvec" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] -name = "borsh" -version = "0.9.1" +name = "ascii" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" -dependencies = [ - "borsh-derive", - "hashbrown 0.9.1", -] +checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" [[package]] -name = "borsh-derive" -version = "0.9.1" +name = "asn1-rs" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn", + "asn1-rs-derive", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time", ] [[package]] -name = "borsh-derive-internal" -version = "0.9.1" +name = "asn1-rs-derive" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", + "synstructure", ] [[package]] -name = "borsh-schema-derive-internal" -version = "0.9.1" +name = "asn1-rs-impl" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ "proc-macro2", "quote", - "syn", + "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.8.0" +name = "assert_matches" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" +checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] -name = "bv" -version = "0.11.1" +name = "async-channel" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ - "feature-probe", - "serde", + "concurrent-queue", + "event-listener", + "futures-core", ] [[package]] -name = "bytemuck" -version = "1.9.1" +name = "async-compression" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdead85bdec19c194affaeeb670c0e41fe23de31459efd1c174d049269cf02cc" +checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" dependencies = [ - "bytemuck_derive", + "brotli", + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", ] [[package]] -name = "bytemuck_derive" -version = "1.1.0" +name = "async-mutex" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-trait" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562e382481975bc61d11275ac5e62a19abd00b0547d99516a415336f183dcd0e" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.72", ] [[package]] -name = "byteorder" -version = "1.4.3" +name = "atty" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] [[package]] -name = "bytes" -version = "1.1.0" +name = "autocfg" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] -name = "bzip2" -version = "0.4.3" +name = "backtrace" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ - "bzip2-sys", + "addr2line", + "cc", + "cfg-if", "libc", + "miniz_oxide", + "object", + "rustc-demangle", ] [[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" +name = "base64" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] -name = "cc" -version = "1.0.72" +name = "base64" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" -dependencies = [ - "jobserver", -] +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] -name = "cfg-if" -version = "1.0.0" +name = "base64" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] -name = "chrono" -version = "0.4.19" +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" dependencies = [ - "libc", - "num-integer", - "num-traits", "serde", - "time", - "winapi", ] [[package]] -name = "chrono-humanize" -version = "0.2.1" +name = "bitflags" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eddc119501d583fd930cb92144e605f44e0252c38dd89d9247fffa1993375cb" -dependencies = [ - "chrono", -] +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] -name = "clap" -version = "3.1.2" +name = "bitflags" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5177fac1ab67102d8989464efd043c6ff44191b1557ec1ddd489b4f7e1447e77" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ - "atty", - "bitflags", - "clap_derive", - "indexmap", - "lazy_static", - "os_str_bytes", - "strsim", - "termcolor", - "textwrap", + "serde", ] [[package]] -name = "clap_derive" -version = "3.1.2" +name = "bitmaps" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d42c94ce7c2252681b5fed4d3627cc807b13dfc033246bd05d5b252399000e" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" dependencies = [ - "heck 0.4.0", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", + "typenum", ] [[package]] -name = "combine" -version = "3.8.1" +name = "blake3" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "digest 0.10.7", ] [[package]] -name = "console_error_panic_hook" -version = "0.1.7" +name = "block-buffer" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "cfg-if", - "wasm-bindgen", + "block-padding", + "generic-array", ] [[package]] -name = "console_log" -version = "0.2.0" +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "log", - "web-sys", + "generic-array", ] [[package]] -name = "constant_time_eq" -version = "0.1.5" +name = "block-padding" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] -name = "cpufeatures" -version = "0.2.1" +name = "borsh" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" dependencies = [ - "libc", + "borsh-derive 0.9.3", + "hashbrown 0.11.2", ] [[package]] -name = "crc32fast" -version = "1.3.0" +name = "borsh" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836" +checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ - "cfg-if", + "borsh-derive 0.10.3", + "hashbrown 0.13.2", ] [[package]] -name = "crossbeam-channel" -version = "0.5.1" +name = "borsh" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" dependencies = [ - "cfg-if", - "crossbeam-utils", + "borsh-derive 1.5.1", + "cfg_aliases", ] [[package]] -name = "crossbeam-deque" -version = "0.8.1" +name = "borsh-derive" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" dependencies = [ - "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", + "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 = "crossbeam-epoch" -version = "0.9.5" +name = "borsh-derive" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" dependencies = [ - "cfg-if", - "crossbeam-utils", - "lazy_static", - "memoffset", - "scopeguard", + "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 = "crossbeam-utils" -version = "0.8.5" +name = "borsh-derive" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ - "cfg-if", - "lazy_static", + "once_cell", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.72", + "syn_derive", ] [[package]] -name = "crunchy" -version = "0.2.2" +name = "borsh-derive-internal" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "crypto-common" -version = "0.1.1" +name = "borsh-derive-internal" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" +checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ - "generic-array", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "crypto-mac" -version = "0.8.0" +name = "borsh-schema-derive-internal" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "generic-array", - "subtle", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "crypto-mac" -version = "0.9.1" +name = "borsh-schema-derive-internal" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" +checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ - "generic-array", - "subtle", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "brotli" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" dependencies = [ - "generic-array", - "subtle", + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", ] [[package]] -name = "curve25519-dalek" -version = "3.2.0" +name = "brotli-decompressor" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", + "alloc-no-stdlib", + "alloc-stdlib", ] [[package]] -name = "dashmap" -version = "4.0.2" +name = "bs58" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" -dependencies = [ - "cfg-if", - "num_cpus", - "rayon", -] +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] -name = "derivation-path" -version = "0.1.3" +name = "bs58" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193388a8c8c75a490b604ff61775e236541b8975e98e5ca1f6ea97d122b7e2db" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "failure", + "tinyvec", ] [[package]] -name = "derivative" -version = "2.2.0" +name = "bumpalo" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] -name = "digest" -version = "0.9.0" +name = "bv" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" dependencies = [ - "generic-array", + "feature-probe", + "serde", ] [[package]] -name = "digest" -version = "0.10.1" +name = "bytemuck" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" dependencies = [ - "block-buffer 0.10.0", - "crypto-common", - "generic-array", - "subtle", + "bytemuck_derive", ] [[package]] -name = "dir-diff" -version = "0.3.2" +name = "bytemuck_derive" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2860407d7d7e2e004bb2128510ad9e8d669e76fa005ccf567977b5d71b8b4a0b" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ - "walkdir", + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] -name = "ed25519" -version = "1.3.0" +name = "byteorder" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" -dependencies = [ - "signature", -] +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] -name = "ed25519-dalek" -version = "1.0.1" +name = "bytes" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand 0.7.3", - "serde", - "sha2", - "zeroize", -] +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] -name = "ed25519-dalek-bip32" -version = "0.1.1" +name = "bzip2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057f328f31294b5ab432e6c39642f54afd1531677d6d4ba2905932844cc242f3" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" dependencies = [ - "derivation-path", - "ed25519-dalek", - "failure", - "hmac 0.9.0", - "sha2", + "bzip2-sys", + "libc", ] [[package]] -name = "educe" -version = "0.4.18" +name = "bzip2-sys" +version = "0.1.11+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86b50932a01e7ec5c06160492ab660fb19b6bb2a7878030dd6cd68d21df9d4d" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn", + "cc", + "libc", + "pkg-config", ] [[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - -[[package]] -name = "encoding_rs" -version = "0.8.30" +name = "caps" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" +checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" dependencies = [ - "cfg-if", + "libc", + "thiserror", ] [[package]] -name = "enum-ordinalize" -version = "3.1.10" +name = "cargo_toml" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b166c9e378360dd5a6666a9604bb4f54ae0cac39023ffbac425e917a2a04fef" +checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be" dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn", + "serde", + "toml 0.8.19", ] [[package]] -name = "env_logger" -version = "0.9.0" +name = "cc" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", + "jobserver", + "libc", ] [[package]] -name = "failure" -version = "0.1.8" +name = "cfg-if" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "failure_derive" -version = "0.1.8" +name = "cfg_aliases" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] -name = "feature-probe" -version = "0.1.1" +name = "chrono" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.52.6", +] [[package]] -name = "filetime" -version = "0.2.15" +name = "chrono-humanize" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" +checksum = "799627e6b4d27827a814e837b9d8a504832086081806d45b1afa34dc982b023b" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "winapi", + "chrono", ] [[package]] -name = "flate2" -version = "1.0.22" +name = "cipher" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" dependencies = [ - "cfg-if", - "crc32fast", - "libc", - "miniz_oxide", + "generic-array", ] [[package]] -name = "fnv" -version = "1.0.7" +name = "clap" +version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags 1.3.2", + "strsim 0.8.0", + "textwrap 0.11.0", + "unicode-width", + "vec_map", +] [[package]] -name = "form_urlencoded" -version = "1.0.1" +name = "clap" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ - "matches", - "percent-encoding", + "atty", + "bitflags 1.3.2", + "clap_derive", + "clap_lex", + "indexmap 1.9.3", + "once_cell", + "strsim 0.10.0", + "termcolor", + "textwrap 0.16.1", ] [[package]] -name = "fs_extra" -version = "1.2.0" +name = "clap_derive" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "futures" -version = "0.3.18" +name = "clap_lex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd0210d8c325c245ff06fd95a3b13689a1a276ac8cfa8e8720cb840bfb84b9e" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", + "os_str_bytes", ] [[package]] -name = "futures-channel" -version = "0.3.18" +name = "combine" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc8cd39e3dbf865f7340dce6a2d401d24fd37c6fe6c4f0ee0de8bfca2252d27" +checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" dependencies = [ - "futures-core", - "futures-sink", + "ascii", + "byteorder", + "either", + "memchr", + "unreachable", ] [[package]] -name = "futures-core" -version = "0.3.18" +name = "concurrent-queue" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629316e42fe7c2a0b9a65b47d159ceaa5453ab14e8f0a3c5eedbb8cd55b4a445" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] [[package]] -name = "futures-executor" -version = "0.3.18" +name = "console" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b808bf53348a36cab739d7e04755909b9fcaaa69b7d7e588b37b6ec62704c97" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ - "futures-core", - "futures-task", - "futures-util", + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", ] [[package]] -name = "futures-io" -version = "0.3.18" +name = "console_error_panic_hook" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e481354db6b5c353246ccf6a728b0c5511d752c08da7260546fc0933869daa11" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] [[package]] -name = "futures-macro" -version = "0.3.18" +name = "console_log" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89f17b21645bc4ed773c69af9c9a0effd4a3f1a3876eadd453469f8854e7fdd" +checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f" dependencies = [ - "proc-macro2", - "quote", - "syn", + "log", + "web-sys", ] [[package]] -name = "futures-sink" -version = "0.3.18" +name = "const-oid" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "996c6442437b62d21a32cd9906f9c41e7dc1e19a9579843fad948696769305af" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] -name = "futures-task" -version = "0.3.18" +name = "constant_time_eq" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dabf1872aaab32c886832f2276d2f5399887e2bd613698a02359e4ea83f8de12" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] -name = "futures-util" -version = "0.3.18" +name = "core-foundation" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d22213122356472061ac0f1ab2cee28d2bac8491410fd68c2af53d1cedb83e" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", + "core-foundation-sys", + "libc", ] [[package]] -name = "generic-array" -version = "0.14.4" +name = "core-foundation-sys" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" -dependencies = [ - "serde", - "typenum", - "version_check", -] +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] -name = "gethostname" -version = "0.2.1" +name = "cpufeatures" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e692e296bfac1d2533ef168d0b60ff5897b8b70a4009276834014dd8924cc028" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", - "winapi", ] [[package]] -name = "getrandom" -version = "0.1.16" +name = "crc32fast" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", - "js-sys", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] -name = "getrandom" -version = "0.2.3" +name = "crossbeam-channel" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "cfg-if", - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", + "crossbeam-utils", ] [[package]] -name = "gimli" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" - -[[package]] -name = "goblin" -version = "0.4.3" +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32401e89c6446dcd28185931a01b1093726d0356820ac744023e6850689bf926" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "log", - "plain", - "scroll", + "crossbeam-epoch", + "crossbeam-utils", ] [[package]] -name = "h2" -version = "0.3.9" +name = "crossbeam-epoch" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f072413d126e57991455e0a922b31e4c8ba7c2ffbebf6b78b4f8521397d65cd" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", + "crossbeam-utils", ] [[package]] -name = "hash32" -version = "0.1.1" +name = "crossbeam-utils" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4041af86e63ac4298ce40e5cca669066e75b6f1aa3390fe2561ffa5e1d9f4cc" -dependencies = [ - "byteorder", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] -name = "hashbrown" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" +name = "crunchy" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] -name = "heck" -version = "0.3.3" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "unicode-segmentation", + "generic-array", + "typenum", ] [[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hermit-abi" -version = "0.1.19" +name = "crypto-mac" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "libc", + "generic-array", + "subtle", ] [[package]] -name = "hmac" -version = "0.8.1" +name = "ctr" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", + "cipher", ] [[package]] -name = "hmac" -version = "0.9.0" +name = "curve25519-dalek" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deae6d9dbb35ec2c502d62b8f7b1c000a0822c3b0794ba36b3149c0a1c840dff" +checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" dependencies = [ - "crypto-mac 0.9.1", + "byteorder", "digest 0.9.0", + "rand_core 0.5.1", + "serde", + "subtle", + "zeroize", ] [[package]] -name = "hmac" -version = "0.11.0" +name = "darling" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", + "darling_core", + "darling_macro", ] [[package]] -name = "hmac-drbg" -version = "0.3.0" +name = "darling_core" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.72", ] [[package]] -name = "http" -version = "0.2.5" +name = "darling_macro" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "bytes", - "fnv", - "itoa 0.4.8", + "darling_core", + "quote", + "syn 2.0.72", ] [[package]] -name = "http-body" -version = "0.4.4" +name = "dashmap" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ - "bytes", - "http", - "pin-project-lite", + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", + "rayon", ] [[package]] -name = "httparse" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "humantime" -version = "2.1.0" +name = "data-encoding" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] -name = "hyper" -version = "0.14.16" +name = "der" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa 0.4.8", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", + "const-oid", ] [[package]] -name = "hyper-rustls" -version = "0.23.0" +name = "der-parser" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "http", - "hyper", - "rustls", - "tokio", - "tokio-rustls", + "asn1-rs", + "displaydoc", + "nom", + "num-bigint 0.4.6", + "num-traits", + "rusticata-macros", ] [[package]] -name = "idna" -version = "0.2.3" +name = "deranged" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", + "powerfmt", ] [[package]] -name = "index_list" -version = "0.2.7" +name = "derivation-path" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9d968042a4902e08810946fc7cd5851eb75e80301342305af755ca06cb82ce" +checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" [[package]] -name = "indexmap" -version = "1.7.0" +name = "derivative" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "autocfg", - "hashbrown 0.11.2", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "instant" -version = "0.1.12" +name = "dialoguer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" dependencies = [ - "cfg-if", + "console", + "shell-words", + "tempfile", + "zeroize", ] [[package]] -name = "ipnet" -version = "2.3.1" +name = "difflib" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" [[package]] -name = "itertools" -version = "0.10.3" +name = "digest" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "either", + "generic-array", ] [[package]] -name = "itoa" -version = "0.4.8" +name = "digest" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "crypto-common", + "subtle", +] [[package]] -name = "itoa" -version = "1.0.1" +name = "dir-diff" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "a7ad16bf5f84253b50d6557681c58c3ab67c47c77d39fed9aeb56e947290bd10" +dependencies = [ + "walkdir", +] [[package]] -name = "jobserver" -version = "0.1.24" +name = "displaydoc" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "libc", + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] -name = "js-sys" -version = "0.3.55" +name = "dlopen2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" +checksum = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa" dependencies = [ - "wasm-bindgen", + "dlopen2_derive", + "libc", + "once_cell", + "winapi", ] [[package]] -name = "keccak" -version = "0.1.0" +name = "dlopen2_derive" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" +checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "downcast" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] -name = "libc" -version = "0.2.112" +name = "eager" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" +checksum = "abe71d579d1812060163dff96056261deb5bf6729b100fa2e36a68b9649ba3d3" [[package]] -name = "libloading" -version = "0.7.3" +name = "ed25519" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "cfg-if", - "winapi", + "signature", ] [[package]] -name = "libsecp256k1" -version = "0.6.0" +name = "ed25519-dalek" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "arrayref", - "base64 0.12.3", - "digest 0.9.0", - "hmac-drbg", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", + "curve25519-dalek", + "ed25519", "rand 0.7.3", "serde", - "sha2", - "typenum", + "sha2 0.9.9", + "zeroize", ] [[package]] -name = "libsecp256k1-core" -version = "0.2.2" +name = "ed25519-dalek-bip32" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" +checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", + "derivation-path", + "ed25519-dalek", + "hmac 0.12.1", + "sha2 0.10.8", ] [[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.2.1" +name = "educe" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" +checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" dependencies = [ - "libsecp256k1-core", + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "libsecp256k1-gen-genmult" -version = "0.2.1" +name = "either" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" -dependencies = [ - "libsecp256k1-core", -] +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] -name = "lock_api" -version = "0.4.5" +name = "encode_unicode" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" -dependencies = [ - "scopeguard", -] +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] -name = "log" -version = "0.4.14" +name = "encoding_rs" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] [[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - -[[package]] -name = "memchr" -version = "2.4.1" +name = "enum-iterator" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" +dependencies = [ + "enum-iterator-derive", +] [[package]] -name = "memmap2" -version = "0.5.2" +name = "enum-iterator-derive" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe3179b85e1fd8b14447cbebadb75e45a1002f541b925f0bfec366d56a81c56d" +checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ - "libc", + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] -name = "memoffset" -version = "0.6.5" +name = "enum-ordinalize" +version = "3.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" dependencies = [ - "autocfg", + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" - -[[package]] -name = "miniz_oxide" -version = "0.4.4" +name = "env_logger" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ - "adler", - "autocfg", + "atty", + "humantime", + "log", + "regex", + "termcolor", ] [[package]] -name = "mio" -version = "0.7.14" +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", - "log", - "miow", - "ntapi", - "winapi", + "windows-sys 0.52.0", ] [[package]] -name = "miow" -version = "0.3.7" +name = "event-listener" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi", -] +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] -name = "ntapi" -version = "0.3.6" +name = "fastrand" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" -dependencies = [ - "winapi", -] +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] -name = "num-bigint" -version = "0.4.3" +name = "feature-probe" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" + +[[package]] +name = "filetime" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", ] [[package]] -name = "num-derive" -version = "0.3.3" +name = "flate2" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ - "proc-macro2", - "quote", - "syn", + "crc32fast", + "miniz_oxide", ] [[package]] -name = "num-integer" -version = "0.1.44" +name = "float-cmp" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" dependencies = [ - "autocfg", "num-traits", ] [[package]] -name = "num-traits" -version = "0.2.14" +name = "fnv" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" -dependencies = [ - "autocfg", -] +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "num_cpus" -version = "1.13.0" +name = "form_urlencoded" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ - "hermit-abi", - "libc", + "percent-encoding", ] [[package]] -name = "num_enum" -version = "0.5.4" +name = "fragile" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9bd055fb730c4f8f4f57d45d35cd6b3f0980535b056dc7ff119cee6a66ed6f" -dependencies = [ - "derivative", - "num_enum_derive", -] +checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] -name = "num_enum_derive" -version = "0.5.4" +name = "futures" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486ea01961c4a818096de679a8b740b26d9033146ac5291b1c98557658f8cdd9" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ - "proc-macro-crate 1.1.0", - "proc-macro2", - "quote", - "syn", + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", ] [[package]] -name = "object" -version = "0.27.1" +name = "futures-channel" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ - "memchr", + "futures-core", + "futures-sink", ] [[package]] -name = "once_cell" -version = "1.8.0" +name = "futures-core" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] -name = "opaque-debug" -version = "0.3.0" +name = "futures-executor" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] [[package]] -name = "opentelemetry" -version = "0.16.0" +name = "futures-io" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf9b1c4e9a6c4de793c632496fa490bdc0e1eea73f0c91394f7b6990935d22" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures", - "js-sys", - "lazy_static", - "percent-encoding", - "pin-project", - "rand 0.8.4", - "thiserror", -] +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] -name = "os_str_bytes" -version = "6.0.0" +name = "futures-macro" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "memchr", + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] -name = "ouroboros" -version = "0.13.0" +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f357ef82d1b4db66fbed0b8d542cbd3c22d0bf5b393b3c257b9ba4568e70c9c3" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ - "aliasable", - "ouroboros_macro", - "stable_deref_trait", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", ] [[package]] -name = "ouroboros_macro" -version = "0.13.0" +name = "generic-array" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44a0b52c2cbaef7dffa5fec1a43274afe8bd2a644fa9fc50a9ef4ff0269b1257" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "Inflector", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", + "serde", + "typenum", + "version_check", ] [[package]] -name = "parking_lot" -version = "0.11.2" +name = "gethostname" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" dependencies = [ - "instant", - "lock_api", - "parking_lot_core", + "libc", + "winapi", ] [[package]] -name = "parking_lot_core" -version = "0.8.5" +name = "getrandom" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if", - "instant", + "js-sys", "libc", - "redox_syscall", - "smallvec", - "winapi", + "wasi 0.9.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] -name = "pbkdf2" -version = "0.9.0" +name = "getrandom" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ - "crypto-mac 0.11.1", + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] -name = "percent-encoding" -version = "2.1.0" +name = "gimli" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] -name = "pin-project" -version = "1.0.8" +name = "goblin" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" +checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" dependencies = [ - "pin-project-internal", + "log", + "plain", + "scroll", ] [[package]] -name = "pin-project-internal" -version = "1.0.8" +name = "h2" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ - "proc-macro2", - "quote", - "syn", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 2.3.0", + "slab", + "tokio", + "tokio-util 0.7.11", + "tracing", ] [[package]] -name = "pin-project-lite" -version = "0.2.7" +name = "hash32" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] [[package]] -name = "pin-utils" -version = "0.1.0" +name = "hashbrown" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash 0.7.8", +] [[package]] -name = "pkg-config" -version = "0.3.24" +name = "hashbrown" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] [[package]] -name = "plain" -version = "0.2.3" +name = "hashbrown" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.11", +] [[package]] -name = "ppv-lite86" -version = "0.2.15" +name = "hashbrown" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] -name = "proc-macro-crate" -version = "0.1.5" +name = "heck" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" dependencies = [ - "toml", + "unicode-segmentation", ] [[package]] -name = "proc-macro-crate" -version = "1.1.0" +name = "heck" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" -dependencies = [ - "thiserror", - "toml", -] +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "hermit-abi" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", + "libc", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "hermit-abi" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] -name = "proc-macro2" -version = "1.0.33" +name = "histogram" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a" -dependencies = [ - "unicode-xid", -] +checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" [[package]] -name = "proc-macro2-diagnostics" -version = "0.9.1" +name = "hmac" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" dependencies = [ - "proc-macro2", - "quote", - "syn", - "version_check", - "yansi", + "crypto-mac", + "digest 0.9.0", ] [[package]] -name = "qstring" -version = "0.7.2" +name = "hmac" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "percent-encoding", + "digest 0.10.7", ] [[package]] -name = "quote" -version = "1.0.10" +name = "hmac-drbg" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ - "proc-macro2", + "digest 0.9.0", + "generic-array", + "hmac 0.8.1", ] [[package]] -name = "rand" -version = "0.7.3" +name = "http" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", - "rand_pcg", + "bytes", + "fnv", + "itoa", ] [[package]] -name = "rand" -version = "0.8.4" +name = "http-body" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.3", - "rand_hc 0.3.1", + "bytes", + "http", + "pin-project-lite", ] [[package]] -name = "rand_chacha" -version = "0.2.2" +name = "httparse" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "httpdate" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.3", -] +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] -name = "rand_core" -version = "0.5.1" +name = "humantime" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] -name = "rand_core" -version = "0.6.3" +name = "hyper" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ - "getrandom 0.2.3", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", ] [[package]] -name = "rand_hc" -version = "0.2.0" +name = "hyper-rustls" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ - "rand_core 0.5.1", + "futures-util", + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", ] [[package]] -name = "rand_hc" -version = "0.3.1" +name = "iana-time-zone" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ - "rand_core 0.6.3", + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", ] [[package]] -name = "rand_pcg" -version = "0.2.1" +name = "iana-time-zone-haiku" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "rand_core 0.5.1", + "cc", ] [[package]] -name = "rayon" -version = "1.5.1" +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ - "autocfg", - "crossbeam-deque", - "either", - "rayon-core", + "unicode-bidi", + "unicode-normalization", ] [[package]] -name = "rayon-core" -version = "1.9.1" +name = "im" +version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "lazy_static", - "num_cpus", + "bitmaps", + "rand_core 0.6.4", + "rand_xoshiro", + "rayon", + "serde", + "sized-chunks", + "typenum", + "version_check", ] [[package]] -name = "redox_syscall" -version = "0.2.10" +name = "include_dir" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ - "bitflags", + "include_dir_macros", ] [[package]] -name = "regex" -version = "1.5.5" +name = "include_dir_macros" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", + "proc-macro2", + "quote", ] [[package]] -name = "regex-syntax" -version = "0.6.25" +name = "index_list" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +checksum = "4e6ba961c14e98151cd6416dd3685efe786a94c38bc1a535c06ceff0a1600813" [[package]] -name = "remove_dir_all" -version = "0.5.3" +name = "indexmap" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "winapi", + "autocfg", + "hashbrown 0.12.3", ] [[package]] -name = "reqwest" -version = "0.11.7" +name = "indexmap" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bea77bc708afa10e59905c3d4af7c8fd43c9214251673095ff8b14345fcbc5" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ - "base64 0.13.0", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "http", - "http-body", - "hyper", - "hyper-rustls", - "ipnet", - "js-sys", - "lazy_static", - "log", - "mime", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-rustls", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "webpki-roots", - "winreg", + "equivalent", + "hashbrown 0.14.5", ] [[package]] -name = "ring" -version = "0.16.20" +name = "indicatif" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted", - "web-sys", - "winapi", + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", ] [[package]] -name = "rustc-demangle" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" - -[[package]] -name = "rustc_version" -version = "0.4.0" +name = "instant" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ - "semver", + "cfg-if", ] [[package]] -name = "rustls" -version = "0.20.2" +name = "ipnet" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" -dependencies = [ - "log", - "ring", - "sct", - "webpki 0.22.0", -] +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] -name = "rustls-pemfile" -version = "0.2.1" +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ - "base64 0.13.0", + "either", ] [[package]] -name = "rustversion" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" - -[[package]] -name = "ryu" -version = "1.0.9" +name = "itoa" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] -name = "same-file" -version = "1.0.6" +name = "jobserver" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ - "winapi-util", + "libc", ] [[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scroll" -version = "0.10.2" +name = "js-sys" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda28d4b4830b807a8b43f7b0e6b5df875311b3e7621d84577188c175b6ec1ec" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ - "scroll_derive", + "wasm-bindgen", ] [[package]] -name = "scroll_derive" -version = "0.10.5" +name = "jsonrpc-core" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaaae8f38bb311444cfb7f1979af0bc9240d95795f75f9ceddf6a59b79ceffa0" +checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "proc-macro2", - "quote", - "syn", + "futures", + "futures-executor", + "futures-util", + "log", + "serde", + "serde_derive", + "serde_json", ] [[package]] -name = "sct" -version = "0.7.0" +name = "keccak" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ - "ring", - "untrusted", + "cpufeatures", ] [[package]] -name = "semver" -version = "1.0.4" +name = "lazy_static" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] -name = "serde" -version = "1.0.136" +name = "libc" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" -dependencies = [ - "serde_derive", -] +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] -name = "serde_bytes" -version = "0.11.5" +name = "libsecp256k1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ae07dd2f88a366f15bd0632ba725227018c69a1c8550a927324f8eb8368bb9" +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 = "serde_derive" -version = "1.0.136" +name = "libsecp256k1-core" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" dependencies = [ - "proc-macro2", - "quote", - "syn", + "crunchy", + "digest 0.9.0", + "subtle", ] [[package]] -name = "serde_json" -version = "1.0.73" +name = "libsecp256k1-gen-ecmult" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcbd0344bc6533bc7ec56df11d42fb70f1b912351c0825ccb7211b59d8af7cf5" +checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" dependencies = [ - "itoa 1.0.1", - "ryu", - "serde", + "libsecp256k1-core", ] [[package]] -name = "serde_urlencoded" -version = "0.7.0" +name = "libsecp256k1-gen-genmult" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" +checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" dependencies = [ - "form_urlencoded", - "itoa 0.4.8", - "ryu", - "serde", + "libsecp256k1-core", ] [[package]] -name = "sha2" -version = "0.9.8" +name = "light-poseidon" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" +checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "ark-bn254", + "ark-ff", + "num-bigint 0.4.6", + "thiserror", ] [[package]] -name = "sha3" -version = "0.9.1" +name = "linux-raw-sys" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug", + "autocfg", + "scopeguard", ] [[package]] -name = "sharded-slab" -version = "0.1.4" +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "lru" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" dependencies = [ - "lazy_static", + "hashbrown 0.12.3", ] [[package]] -name = "signal-hook-registry" -version = "1.4.0" +name = "lz4" +version = "1.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68" dependencies = [ "libc", + "lz4-sys", ] [[package]] -name = "signature" -version = "1.4.0" +name = "lz4-sys" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" +dependencies = [ + "cc", + "libc", +] [[package]] -name = "slab" -version = "0.4.5" +name = "memchr" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] -name = "smallvec" -version = "1.7.0" +name = "memmap2" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] [[package]] -name = "socket2" -version = "0.4.2" +name = "memoffset" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ - "libc", - "winapi", + "autocfg", ] [[package]] -name = "solana-address-lookup-table-program" -version = "1.9.18" +name = "memoffset" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d3ae01e1aa350228312868f4275460bd6f2945fe3b0ebf4d86f8e1d0b02acd" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "bincode", - "bytemuck", - "log", - "num-derive", - "num-traits", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-program-runtime", - "solana-sdk", - "thiserror", + "autocfg", ] [[package]] -name = "solana-banks-client" -version = "1.9.18" +name = "merlin" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f355273a7898a93be213d1fc24b35eef385cdb97260b506b3831e36c9a0bfa3a" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ - "borsh", - "futures", - "solana-banks-interface", - "solana-program", - "solana-sdk", - "tarpc", - "thiserror", - "tokio", - "tokio-serde", + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", ] [[package]] -name = "solana-banks-interface" -version = "1.9.18" +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27e8ee8f457f0e4ea18a3a2ba8c454d4fd3126cea9630a6f17de36ee5b61c892" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ - "serde", - "solana-sdk", - "tarpc", + "adler", ] [[package]] -name = "solana-banks-server" -version = "1.9.18" +name = "mio" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134b7366ee56251c4f312104f77af725d5855072ec5d114fddff5a19b461fe42" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" dependencies = [ - "bincode", - "futures", - "solana-banks-interface", - "solana-runtime", - "solana-sdk", - "solana-send-transaction-service", - "tarpc", - "tokio", - "tokio-serde", - "tokio-stream", + "hermit-abi 0.3.9", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", ] [[package]] -name = "solana-bloom" -version = "1.9.18" +name = "mockall" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60d9e40fa9c8f2faa0a52c3777ce06df43250b43901a38bfee057e9eae340d04" +checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" dependencies = [ - "bv", - "fnv", - "log", - "rand 0.7.3", - "rayon", - "rustc_version", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", + "cfg-if", + "downcast", + "fragile", + "lazy_static", + "mockall_derive", + "predicates", + "predicates-tree", ] [[package]] -name = "solana-bpf-loader-program" -version = "1.9.18" +name = "mockall_derive" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9a05b8a19e803d9d05d8df3a58e98280b52977b17211459e36c36386990059" +checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" dependencies = [ - "bincode", - "byteorder", - "libsecp256k1", - "log", - "solana-measure", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", - "solana_rbpf", - "thiserror", + "cfg-if", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "solana-bucket-map" -version = "1.9.18" +name = "modular-bitfield" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe1d8d78cc13320db78606dda3699143ceb7a2c4685d43522d7848a54af7b66d" +checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" dependencies = [ - "fs_extra", - "log", - "memmap2", - "rand 0.7.3", - "rayon", - "solana-logger", - "solana-measure", - "solana-sdk", - "tempfile", + "modular-bitfield-impl", + "static_assertions", ] [[package]] -name = "solana-compute-budget-program" -version = "1.9.18" +name = "modular-bitfield-impl" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b14d59fffbd8fcf666d7ebd977c289f072acd735a890226d32bfaa9e318edb3" +checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ - "solana-program-runtime", - "solana-sdk", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "solana-config-program" -version = "1.9.18" +name = "nix" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a3634cfb004b1698b34d17aad6a7c13f272242d332608748bae3bd4adf05e2" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "bincode", - "chrono", - "serde", - "serde_derive", - "solana-program-runtime", - "solana-sdk", + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", ] [[package]] -name = "solana-frozen-abi" -version = "1.9.18" +name = "nom" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3129f7367168973c21989602df241bfbf890450d2d8912b9b07e820101a070eb" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ - "bs58 0.4.0", - "bv", - "generic-array", - "log", - "memmap2", - "rustc_version", - "serde", - "serde_derive", - "sha2", - "solana-frozen-abi-macro", - "solana-logger", - "thiserror", + "memchr", + "minimal-lexical", ] [[package]] -name = "solana-frozen-abi-macro" -version = "1.9.18" +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + +[[package]] +name = "num" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d03ddde7f8bcc5a3847de5723efae88aea18931e559611a8cb0827d9add83f96" +checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn", + "num-bigint 0.2.6", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", ] [[package]] -name = "solana-logger" -version = "1.9.18" +name = "num-bigint" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8151da49e5338abba3cac5fbeda754e0ff02dfe2e6ac26f76928d0435170b6fc" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" dependencies = [ - "env_logger", - "lazy_static", - "log", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "solana-measure" -version = "1.9.18" +name = "num-bigint" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f2bb4fc58acc5eb0200bdc2e47ab0d087342f40c412cdb06e6389f97af276b2" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "log", - "solana-sdk", + "num-integer", + "num-traits", ] [[package]] -name = "solana-metrics" -version = "1.9.18" +name = "num-complex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389a663316a2c28be5947fd4e2d1f7ee6eecda6d1c24b08188546f31825861d4" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ - "env_logger", - "gethostname", - "lazy_static", - "log", - "reqwest", - "solana-sdk", + "autocfg", + "num-traits", ] [[package]] -name = "solana-program" -version = "1.9.18" +name = "num-conv" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3981394cc258fe1cb058b75bd5031eff01140ba0fa9b5a802b5c30f439ebeeba" -dependencies = [ - "base64 0.13.0", - "bincode", - "bitflags", +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.72", +] + +[[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-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg", + "num-bigint 0.2.6", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.9", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", +] + +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive 0.7.3", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "object" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" +dependencies = [ + "memchr", +] + +[[package]] +name = "oid-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" +dependencies = [ + "asn1-rs", +] + +[[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 = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "opentelemetry" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" +dependencies = [ + "async-trait", + "crossbeam-channel", + "futures-channel", + "futures-executor", + "futures-util", + "js-sys", + "lazy_static", + "percent-encoding", + "pin-project", + "rand 0.8.5", + "thiserror", +] + +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "ouroboros" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" +dependencies = [ + "aliasable", + "ouroboros_macro", +] + +[[package]] +name = "ouroboros_macro" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" +dependencies = [ + "Inflector", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.3", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[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 = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "percentage" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd23b938276f14057220b707937bcb42fa76dda7560e57a2da30cb52d557937" +dependencies = [ + "num", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[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 = "portable-atomic" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" + +[[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.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "predicates" +version = "2.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" +dependencies = [ + "difflib", + "float-cmp", + "itertools", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" + +[[package]] +name = "predicates-tree" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "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", + "syn 1.0.109", + "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.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[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.72", +] + +[[package]] +name = "quinn" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" +dependencies = [ + "bytes", + "rand 0.8.5", + "ring 0.16.20", + "rustc-hash", + "rustls", + "rustls-native-certs", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" +dependencies = [ + "bytes", + "libc", + "socket2", + "tracing", + "windows-sys 0.48.0", +] + +[[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.15", +] + +[[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 = "rcgen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +dependencies = [ + "pem", + "ring 0.16.20", + "time", + "yasna", +] + +[[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 = "redox_syscall" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "async-compression", + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-rustls", + "tokio-util 0.7.11", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.25.4", + "winreg", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "rpassword" +version = "7.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" +dependencies = [ + "libc", + "rtoolbox", + "windows-sys 0.48.0", +] + +[[package]] +name = "rtoolbox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[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 = "rusticata-macros" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" +dependencies = [ + "nom", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scroll" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +dependencies = [ + "scroll_derive", +] + +[[package]] +name = "scroll_derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + +[[package]] +name = "seqlock" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5c67b6f14ecc5b86c66fa63d76b5092352678545a8a3cdae80aef5128371910" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "serde" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bytes" +version = "0.11.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "serde_json" +version = "1.0.122" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "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", +] + +[[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.72", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[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 = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[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 = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "solana-account-decoder" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a1297281b114406a9165c6f55ff9f8706f6244545194c7aa837f9b25dee16e" +dependencies = [ + "Inflector", + "base64 0.21.7", + "bincode", + "bs58 0.4.0", + "bv", + "lazy_static", + "serde", + "serde_derive", + "serde_json", + "solana-config-program", + "solana-sdk", + "spl-token", + "spl-token-2022 1.0.0", + "spl-token-group-interface 0.1.0", + "spl-token-metadata-interface 0.2.0", + "thiserror", + "zstd", +] + +[[package]] +name = "solana-accounts-db" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff031129c39c32d0176be1e3bb9352dc83c521187058d6c16febfee2aedddca0" +dependencies = [ + "arrayref", + "bincode", + "blake3", + "bv", + "bytemuck", + "byteorder", + "bzip2", + "crossbeam-channel", + "dashmap", + "flate2", + "fnv", + "im", + "index_list", + "itertools", + "lazy_static", + "log", + "lz4", + "memmap2", + "modular-bitfield", + "num-derive 0.4.2", + "num-traits", + "num_cpus", + "num_enum 0.7.3", + "ouroboros", + "percentage", + "qualifier_attr", + "rand 0.8.5", + "rayon", + "regex", + "rustc_version", + "seqlock", + "serde", + "serde_derive", + "smallvec", + "solana-bucket-map", + "solana-config-program", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-measure", + "solana-metrics", + "solana-nohash-hasher", + "solana-program-runtime", + "solana-rayon-threadlimit", + "solana-sdk", + "solana-stake-program", + "solana-system-program", + "solana-vote-program", + "static_assertions", + "strum", + "strum_macros", + "tar", + "tempfile", + "thiserror", +] + +[[package]] +name = "solana-address-lookup-table-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622d95db00595a3dd2abd2ee22c37cf3744ba3df8f531d5c79faa3c155e2814b" +dependencies = [ + "bincode", + "bytemuck", + "log", + "num-derive 0.4.2", + "num-traits", + "rustc_version", + "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-program", + "solana-program-runtime", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-banks-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d29258deb3e9a052ccdb2bbe986fc0a0c5117a8488298b75e013b8681d793a9" +dependencies = [ + "borsh 1.5.1", + "futures", + "solana-banks-interface", + "solana-program", + "solana-sdk", + "tarpc", + "thiserror", + "tokio", + "tokio-serde", +] + +[[package]] +name = "solana-banks-interface" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "423a6215f7abd1af8e992785c91c685787651354b332781c06ad9fdd2b1095d8" +dependencies = [ + "serde", + "solana-sdk", + "tarpc", +] + +[[package]] +name = "solana-banks-server" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f986b20b5eecca738b8d2fd83fbaaffbbb2178d294c6d83813241dea48bcc0aa" +dependencies = [ + "bincode", + "crossbeam-channel", + "futures", + "solana-accounts-db", + "solana-banks-interface", + "solana-client", + "solana-runtime", + "solana-sdk", + "solana-send-transaction-service", + "tarpc", + "tokio", + "tokio-serde", +] + +[[package]] +name = "solana-bpf-loader-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9934493a6034c8cf05913ba6812c057f6cd4792ad75c335e8d971adf63ce01c7" +dependencies = [ + "bincode", + "byteorder", + "libsecp256k1", + "log", + "scopeguard", + "solana-measure", + "solana-program-runtime", + "solana-sdk", + "solana-zk-token-sdk", + "solana_rbpf", + "thiserror", +] + +[[package]] +name = "solana-bucket-map" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da941e0bde672cd33696961450efa2efb8b46322c4f814c1894c9c264122d1b" +dependencies = [ + "bv", + "bytemuck", + "log", + "memmap2", + "modular-bitfield", + "num_enum 0.7.3", + "rand 0.8.5", + "solana-measure", + "solana-sdk", + "tempfile", +] + +[[package]] +name = "solana-clap-utils" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "811569ed647c15e97afd142297b0ad14a87149c51e11df740014daa81f297f8b" +dependencies = [ + "chrono", + "clap 2.34.0", + "rpassword", + "solana-remote-wallet", + "solana-sdk", + "thiserror", + "tiny-bip39", + "uriparse", + "url", +] + +[[package]] +name = "solana-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "792ed1869858f35b4359f696771517b4848cd3ff6e2d58155c4bcb292f30166b" +dependencies = [ + "async-trait", + "bincode", + "dashmap", + "futures", + "futures-util", + "indexmap 2.3.0", + "indicatif", + "log", + "quinn", + "rayon", + "solana-connection-cache", + "solana-measure", + "solana-metrics", + "solana-pubsub-client", + "solana-quic-client", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-rpc-client-nonce-utils", + "solana-sdk", + "solana-streamer", + "solana-thin-client", + "solana-tpu-client", + "solana-udp-client", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-compute-budget-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dde13cdf503b7269435ceee5a94f8c42313e9257df00e6c2aa06466345dd3fc" +dependencies = [ + "solana-program-runtime", + "solana-sdk", +] + +[[package]] +name = "solana-config-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6db8509d749ff1396a0b538ade995908361563b4f2c875b09cf096ba4ba0fae" +dependencies = [ + "bincode", + "chrono", + "serde", + "serde_derive", + "solana-program-runtime", + "solana-sdk", +] + +[[package]] +name = "solana-connection-cache" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257511b6c2b54c28eae24c5a9b7bab74522439fcd721d09e63092768333ba7b7" +dependencies = [ + "async-trait", + "bincode", + "crossbeam-channel", + "futures-util", + "indexmap 2.3.0", + "log", + "rand 0.8.5", + "rayon", + "rcgen", + "solana-measure", + "solana-metrics", + "solana-sdk", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-cost-model" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c391b492eb79c24756ee149b19f5504f7a2554612a8d2860fb9701df4e202a8b" +dependencies = [ + "lazy_static", + "log", + "rustc_version", + "solana-address-lookup-table-program", + "solana-bpf-loader-program", + "solana-compute-budget-program", + "solana-config-program", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-loader-v4-program", + "solana-metrics", + "solana-program-runtime", + "solana-sdk", + "solana-stake-program", + "solana-system-program", + "solana-vote-program", +] + +[[package]] +name = "solana-frozen-abi" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f498a2b290abca1cf77feacef01b904be725fd46a7aea5ba121cce8c1269dcf" +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.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ab48d1be18021f5c13f94671e766699511044f81aab3376313f6a2392f8fab" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.72", +] + +[[package]] +name = "solana-loader-v4-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d5e1fcf36f771e210db47d9e4db1e88821d334b313e6fb3c19cf6a987617ffb" +dependencies = [ + "log", + "solana-measure", + "solana-program-runtime", + "solana-sdk", + "solana_rbpf", +] + +[[package]] +name = "solana-logger" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed08bcdd54232d2017071a6f5d664b34649ef0110801ac310a01418215f22ff7" +dependencies = [ + "env_logger", + "lazy_static", + "log", +] + +[[package]] +name = "solana-measure" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db05e4bba8562a2419cb980301152fc7f60f643065c3aba4b3b5d6e3bd66e45" +dependencies = [ + "log", + "solana-sdk", +] + +[[package]] +name = "solana-metrics" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7a77735beed78eb221e123e0d46a991dc91db9e199d5c5fdbea22a55149d162" +dependencies = [ + "crossbeam-channel", + "gethostname", + "lazy_static", + "log", + "reqwest", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-net-utils" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f76d98286bdb149ce5375c3c7d7301e5d1bf7bf2576789d3fd488cf93d32471" +dependencies = [ + "bincode", + "clap 3.2.25", + "crossbeam-channel", + "log", + "nix", + "rand 0.8.5", + "serde", + "serde_derive", + "socket2", + "solana-logger", + "solana-sdk", + "solana-version", + "tokio", + "url", +] + +[[package]] +name = "solana-nohash-hasher" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" + +[[package]] +name = "solana-perf" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0a1b27503716c3f5362c61215d2ccf88a3ecf95fce51b2b59951c38a9ad94c" +dependencies = [ + "ahash 0.8.11", + "bincode", + "bv", + "caps", + "curve25519-dalek", + "dlopen2", + "fnv", + "lazy_static", + "libc", + "log", + "nix", + "rand 0.8.5", + "rayon", + "rustc_version", + "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-metrics", + "solana-rayon-threadlimit", + "solana-sdk", + "solana-vote-program", +] + +[[package]] +name = "solana-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d97cec6d3d60ef58168c8b3e97fd88e8903fa059eff6635361427c61c946ec1e" +dependencies = [ + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "base64 0.21.7", + "bincode", + "bitflags 2.6.0", + "blake3", + "borsh 0.10.3", + "borsh 0.9.3", + "borsh 1.5.1", + "bs58 0.4.0", + "bv", + "bytemuck", + "cc", + "console_error_panic_hook", + "console_log", + "curve25519-dalek", + "getrandom 0.2.15", + "itertools", + "js-sys", + "lazy_static", + "libc", + "libsecp256k1", + "light-poseidon", + "log", + "memoffset 0.9.1", + "num-bigint 0.4.6", + "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-program-runtime" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b76599d73401663bc1fde39f9fa5e538bd74451ea4a8d4e3ac14541be0a5de" +dependencies = [ + "base64 0.21.7", + "bincode", + "eager", + "enum-iterator", + "itertools", + "libc", + "log", + "num-derive 0.4.2", + "num-traits", + "percentage", + "rand 0.8.5", + "rustc_version", + "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-measure", + "solana-metrics", + "solana-sdk", + "solana_rbpf", + "thiserror", +] + +[[package]] +name = "solana-program-test" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c65563d5196f76a7c2feb399543389d045c7352f099acb5f5222d46922664457" +dependencies = [ + "assert_matches", + "async-trait", + "base64 0.21.7", + "bincode", + "chrono-humanize", + "crossbeam-channel", + "log", + "serde", + "solana-accounts-db", + "solana-banks-client", + "solana-banks-interface", + "solana-banks-server", + "solana-bpf-loader-program", + "solana-logger", + "solana-program-runtime", + "solana-runtime", + "solana-sdk", + "solana-vote-program", + "solana_rbpf", + "test-case", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-pubsub-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09aacbdbeaa5722b2ab1f843673f66c317609741f494a6ef11e2e8928cc7449e" +dependencies = [ + "crossbeam-channel", + "futures-util", + "log", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-rpc-client-api", + "solana-sdk", + "thiserror", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tungstenite", + "url", +] + +[[package]] +name = "solana-quic-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2eeabd12e1039aa62cad34179fc1f139fca5c7bfeb7683057643bebff3506b0" +dependencies = [ + "async-mutex", + "async-trait", + "futures", + "itertools", + "lazy_static", + "log", + "quinn", + "quinn-proto", + "rcgen", + "rustls", + "solana-connection-cache", + "solana-measure", + "solana-metrics", + "solana-net-utils", + "solana-rpc-client-api", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-rayon-threadlimit" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ad791cc224c84d69498eeeaeadfc5af2cf710ec2719e48b51f2e2b6e67d8163" +dependencies = [ + "lazy_static", + "num_cpus", +] + +[[package]] +name = "solana-remote-wallet" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fca3c68439865c87d5a01c26dc0dcbcce2d45331adf8f0bf92a7c7d44853fefb" +dependencies = [ + "console", + "dialoguer", + "log", + "num-derive 0.4.2", + "num-traits", + "parking_lot", + "qstring", + "semver", + "solana-sdk", + "thiserror", + "uriparse", +] + +[[package]] +name = "solana-rpc-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1c9bdb88ebcea8b13103019ed0d39b7d4391dc84a0d614dc8ba2e1ca43468e9" +dependencies = [ + "async-trait", + "base64 0.21.7", + "bincode", + "bs58 0.4.0", + "indicatif", + "log", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-rpc-client-api", + "solana-sdk", + "solana-transaction-status", + "solana-version", + "solana-vote-program", + "tokio", +] + +[[package]] +name = "solana-rpc-client-api" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5bb93738a111d44dfeec6ccdd6a49f0478550a25a60e38badb2bd713599de44" +dependencies = [ + "base64 0.21.7", + "bs58 0.4.0", + "jsonrpc-core", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-sdk", + "solana-transaction-status", + "solana-version", + "spl-token-2022 1.0.0", + "thiserror", +] + +[[package]] +name = "solana-rpc-client-nonce-utils" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e066df081489cd10c91648f1e87d2b945fac2fcdfb34a715234a0b079a4c4375" +dependencies = [ + "clap 2.34.0", + "solana-clap-utils", + "solana-rpc-client", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-runtime" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8e16747198f45ab41f146d1ab1782d83016fb9ed1ce7612b9174018f907bd5" +dependencies = [ + "aquamarine", + "arrayref", + "base64 0.21.7", + "bincode", "blake3", - "borsh", - "borsh-derive", + "bv", + "bytemuck", + "byteorder", + "bzip2", + "crossbeam-channel", + "dashmap", + "dir-diff", + "flate2", + "fnv", + "im", + "index_list", + "itertools", + "lazy_static", + "log", + "lru", + "lz4", + "memmap2", + "mockall", + "modular-bitfield", + "num-derive 0.4.2", + "num-traits", + "num_cpus", + "num_enum 0.7.3", + "ouroboros", + "percentage", + "qualifier_attr", + "rand 0.8.5", + "rayon", + "regex", + "rustc_version", + "serde", + "serde_derive", + "serde_json", + "solana-accounts-db", + "solana-address-lookup-table-program", + "solana-bpf-loader-program", + "solana-bucket-map", + "solana-compute-budget-program", + "solana-config-program", + "solana-cost-model", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-loader-v4-program", + "solana-measure", + "solana-metrics", + "solana-perf", + "solana-program-runtime", + "solana-rayon-threadlimit", + "solana-sdk", + "solana-stake-program", + "solana-system-program", + "solana-version", + "solana-vote", + "solana-vote-program", + "solana-zk-token-proof-program", + "solana-zk-token-sdk", + "static_assertions", + "strum", + "strum_macros", + "symlink", + "tar", + "tempfile", + "thiserror", + "zstd", +] + +[[package]] +name = "solana-sdk" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c335bdf35728ea876506babffcfd85fa4dd66af6438f9472afc91b278946909" +dependencies = [ + "assert_matches", + "base64 0.21.7", + "bincode", + "bitflags 2.6.0", + "borsh 1.5.1", "bs58 0.4.0", - "bv", "bytemuck", - "console_error_panic_hook", - "console_log", - "curve25519-dalek", - "getrandom 0.1.16", + "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", - "num-derive", + "memmap2", + "num-derive 0.4.2", + "num-traits", + "num_enum 0.7.3", + "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", + "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.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ba67050b90454a8638913a7d5775703c0557157def04ddcc8b59c964cda8535" +dependencies = [ + "bs58 0.4.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.72", +] + +[[package]] +name = "solana-security-txt" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" + +[[package]] +name = "solana-send-transaction-service" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e8c1dd225716ecd66ec9a5a30c76355d8d1788c721d7db4d53ebb4c6ef34c8d" +dependencies = [ + "crossbeam-channel", + "log", + "solana-client", + "solana-measure", + "solana-metrics", + "solana-runtime", + "solana-sdk", + "solana-tpu-client", +] + +[[package]] +name = "solana-stake-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2ef08f7b2485af8578bfd4e23689286e5360b50d3cc9f350dfe3ad9fdabc679" +dependencies = [ + "bincode", + "log", + "rustc_version", + "solana-config-program", + "solana-program-runtime", + "solana-sdk", + "solana-vote-program", +] + +[[package]] +name = "solana-streamer" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27e8269eaa4aef1a9697fe8b9f659402272746c3fdd374fbffa96f68fe6745a6" +dependencies = [ + "async-channel", + "bytes", + "crossbeam-channel", + "futures-util", + "histogram", + "indexmap 2.3.0", + "itertools", + "libc", + "log", + "nix", + "pem", + "percentage", + "pkcs8", + "quinn", + "quinn-proto", + "rand 0.8.5", + "rcgen", + "rustls", + "smallvec", + "solana-metrics", + "solana-perf", + "solana-sdk", + "thiserror", + "tokio", + "x509-parser", +] + +[[package]] +name = "solana-system-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22c8b55398485962ea6127fe84c5768a5ae4a4ecdbd80a0917eb6945593481f9" +dependencies = [ + "bincode", + "log", + "serde", + "serde_derive", + "solana-program-runtime", + "solana-sdk", +] + +[[package]] +name = "solana-thin-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c174c724bbe19a53862156e1a5d2cf6cdf1bd5d5d9853b4696b2d9d836123b" +dependencies = [ + "bincode", + "log", + "rayon", + "solana-connection-cache", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", +] + +[[package]] +name = "solana-tpu-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcdf9d7109d25900d0532539b00f53e820fb7200f6dc18f90e9d2be20c3d466" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap 2.3.0", + "indicatif", + "log", + "rayon", + "solana-connection-cache", + "solana-measure", + "solana-metrics", + "solana-pubsub-client", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-transaction-status" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7595aef5a9ddfdecd0966cc12ad0006713e4f8d87eafb4cb7b60fb18d98eff3a" +dependencies = [ + "Inflector", + "base64 0.21.7", + "bincode", + "borsh 0.10.3", + "bs58 0.4.0", + "lazy_static", + "log", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-sdk", + "spl-associated-token-account 2.3.0", + "spl-memo", + "spl-token", + "spl-token-2022 1.0.0", + "thiserror", +] + +[[package]] +name = "solana-udp-client" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a59c49a3766232005385bd70f15b0fce756fa6e73fb6397ce9ed34113f090e2" +dependencies = [ + "async-trait", + "solana-connection-cache", + "solana-net-utils", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-version" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ece37d745e1fb3455acd69b8ba6ecea3ebcefde29e0f40ee8e6467acc4dc04" +dependencies = [ + "log", + "rustc_version", + "semver", + "serde", + "serde_derive", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-sdk", +] + +[[package]] +name = "solana-vote" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ca2744cf5509c7680a90d6704d00fbab899aa586542c4257fb23d4712b380c" +dependencies = [ + "crossbeam-channel", + "itertools", + "log", + "rustc_version", + "serde", + "serde_derive", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-sdk", + "solana-vote-program", + "thiserror", +] + +[[package]] +name = "solana-vote-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6944bb3f8f34cc815017f6a50027331f5e7f48321e7998f1572cc898438b6a8a" +dependencies = [ + "bincode", + "log", + "num-derive 0.4.2", + "num-traits", + "rustc_version", + "serde", + "serde_derive", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-metrics", + "solana-program", + "solana-program-runtime", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-zk-token-proof-program" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51bd480f4b1b87dea1cdca14f3c6ba8e778e88756dc44ac090e797aab9c8759d" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-program-runtime", + "solana-sdk", + "solana-zk-token-sdk", +] + +[[package]] +name = "solana-zk-token-sdk" +version = "1.18.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616130045004bccc9dd016fe03ac458db38bd61456f1d16f126acb60f968dcae" +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", - "parking_lot", "rand 0.7.3", - "rustc_version", - "rustversion", "serde", - "serde_bytes", - "serde_derive", - "sha2", - "sha3", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-sdk-macro", + "serde_json", + "sha3 0.9.1", + "solana-program", + "solana-sdk", + "subtle", "thiserror", - "wasm-bindgen", + "zeroize", ] [[package]] -name = "solana-program-runtime" -version = "1.9.18" +name = "solana_rbpf" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e0d4527c5b9203357e1bc070279b2714b6cc1abd5cd9c2264159f6cc7386eaa" +checksum = "3d457cc2ba742c120492a64b7fa60e22c575e891f6b55039f4d736568fb112a3" dependencies = [ - "base64 0.13.0", - "bincode", - "itertools", + "byteorder", + "combine", + "goblin", + "hash32", "libc", - "libloading", "log", - "num-derive", + "rand 0.8.5", + "rustc-demangle", + "scroll", + "thiserror", + "winapi", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "spl-associated-token-account" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "992d9c64c2564cc8f63a4b508bf3ebcdf2254b0429b13cd1d31adb6162432a5f" +dependencies = [ + "assert_matches", + "borsh 0.10.3", + "num-derive 0.4.2", "num-traits", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-measure", - "solana-sdk", + "solana-program", + "spl-token", + "spl-token-2022 1.0.0", "thiserror", ] [[package]] -name = "solana-program-test" -version = "1.9.18" +name = "spl-associated-token-account" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d554d670d40add2b09e86edccdf955714dd3ec8b6c44bb7284f43509b5229c4c" +checksum = "143109d789171379e6143ef23191786dfaac54289ad6e7917cfb26b36c432b10" dependencies = [ - "async-trait", - "base64 0.12.3", - "bincode", - "chrono-humanize", - "log", - "serde", - "solana-banks-client", - "solana-banks-server", - "solana-bpf-loader-program", - "solana-logger", - "solana-program-runtime", - "solana-runtime", - "solana-sdk", - "solana-vote-program", + "assert_matches", + "borsh 1.5.1", + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-token", + "spl-token-2022 3.0.4", "thiserror", - "tokio", ] [[package]] -name = "solana-rayon-threadlimit" -version = "1.9.18" +name = "spl-discriminator" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd6c70547188458e12a576d387d925b03dcdc7f9c7eac84473dbb0c3805264c" +checksum = "cce5d563b58ef1bb2cdbbfe0dfb9ffdc24903b10ae6a4df2d8f425ece375033f" dependencies = [ - "lazy_static", - "num_cpus", + "bytemuck", + "solana-program", + "spl-discriminator-derive 0.1.2", ] [[package]] -name = "solana-runtime" -version = "1.9.18" +name = "spl-discriminator" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "210101376962bb22bb13be6daea34656ea1cbc248fce2164b146e39203b55e03" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator-derive 0.2.0", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07fd7858fc4ff8fb0e34090e41d7eb06a823e1057945c26d480bfc21d2338a93" +dependencies = [ + "quote", + "spl-discriminator-syn 0.1.2", + "syn 2.0.72", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" +dependencies = [ + "quote", + "spl-discriminator-syn 0.2.0", + "syn 2.0.72", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fea7be851bd98d10721782ea958097c03a0c2a07d8d4997041d0ece6319a63" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.72", + "thiserror", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.72", + "thiserror", +] + +[[package]] +name = "spl-governance" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22926084f4843a42a651b7744b9b5b620e60dee3ddf46e0257dceb3c47b04be" +checksum = "79362b8e4616f4f84ca5a2a413f84e88fb4dd00322fe4baaa407254901ef6d62" dependencies = [ "arrayref", "bincode", - "blake3", - "bv", - "bytemuck", - "byteorder", - "bzip2", - "crossbeam-channel", - "dashmap", - "dir-diff", - "flate2", - "fnv", - "index_list", - "itertools", - "lazy_static", - "log", - "memmap2", - "num-derive", + "borsh 0.10.3", + "num-derive 0.4.2", "num-traits", - "num_cpus", - "ouroboros", - "rand 0.7.3", - "rayon", - "regex", - "rustc_version", "serde", "serde_derive", - "solana-address-lookup-table-program", - "solana-bloom", - "solana-bucket-map", - "solana-compute-budget-program", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-measure", - "solana-metrics", - "solana-program-runtime", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-stake-program", - "solana-vote-program", - "symlink", - "tar", - "tempfile", + "solana-program", + "spl-governance-addin-api", + "spl-governance-tools", + "spl-token", "thiserror", - "zstd", ] [[package]] -name = "solana-sdk" -version = "1.9.18" +name = "spl-governance-addin-api" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0b4eb7e8574748aa1f2c1c99594abfa97bfe21f1355e5f2ad5341ad1984cb7" +checksum = "9dc1be90f8b71e336933fedbe17f645cd33d36e8451dfb6ce1210ef585dc73b6" dependencies = [ - "assert_matches", - "base64 0.13.0", + "borsh 0.10.3", + "solana-program", + "spl-governance-tools", +] + +[[package]] +name = "spl-governance-tools" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b9c475357534e31e296a40491a5a834cf1289292f9eb592628a8f6e2525d7f" +dependencies = [ + "arrayref", "bincode", - "bitflags", - "borsh", - "bs58 0.4.0", - "bytemuck", - "byteorder", - "chrono", - "derivation-path", - "digest 0.9.0", - "ed25519-dalek", - "ed25519-dalek-bip32", - "generic-array", - "hmac 0.11.0", - "itertools", - "js-sys", - "lazy_static", - "libsecp256k1", - "log", - "memmap2", - "num-derive", + "borsh 0.10.3", + "num-derive 0.4.2", "num-traits", - "pbkdf2", - "qstring", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rustc_version", - "rustversion", "serde", - "serde_bytes", "serde_derive", - "serde_json", - "sha2", - "sha3", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", "solana-program", - "solana-sdk-macro", + "spl-token", "thiserror", - "uriparse", - "wasm-bindgen", ] [[package]] -name = "solana-sdk-macro" -version = "1.9.18" +name = "spl-memo" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f180b03318c3dbab3ef4e1e4d46d5211ae3c780940dd0a28695aba4b59a75a" +dependencies = [ + "solana-program", +] + +[[package]] +name = "spl-pod" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2881dddfca792737c0706fa0175345ab282b1b0879c7d877bad129645737c079" +dependencies = [ + "borsh 0.10.3", + "bytemuck", + "solana-program", + "solana-zk-token-sdk", + "spl-program-error 0.3.0", +] + +[[package]] +name = "spl-pod" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c52d84c55efeef8edcc226743dc089d7e3888b8e3474569aa3eff152b37b9996" +dependencies = [ + "borsh 1.5.1", + "bytemuck", + "solana-program", + "solana-zk-token-sdk", + "spl-program-error 0.4.4", +] + +[[package]] +name = "spl-program-error" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "249e0318493b6bcf27ae9902600566c689b7dfba9f1bdff5893e92253374e78c" +dependencies = [ + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-program-error-derive 0.3.2", + "thiserror", +] + +[[package]] +name = "spl-program-error" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e45a49acb925db68aa501b926096b2164adbdcade7a0c24152af9f0742d0a602" +dependencies = [ + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-program-error-derive 0.4.1", + "thiserror", +] + +[[package]] +name = "spl-program-error-derive" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1845dfe71fd68f70382232742e758557afe973ae19e6c06807b2c30f5d5cb474" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.72", +] + +[[package]] +name = "spl-program-error-derive" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7584154d8716cc4b2ad3cf7df3cf8e2be2639f85a0e63e6440eebc33cee97291" +checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" dependencies = [ - "bs58 0.4.0", "proc-macro2", "quote", - "rustversion", - "syn", + "sha2 0.10.8", + "syn 2.0.72", ] [[package]] -name = "solana-send-transaction-service" -version = "1.9.18" +name = "spl-tlv-account-resolution" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a736c40e28b8cb0d13a747e06a74e3c96fe836202c708f63d3e7bca65dfeb49" +checksum = "615d381f48ddd2bb3c57c7f7fb207591a2a05054639b18a62e785117dd7a8683" dependencies = [ - "log", - "solana-logger", - "solana-metrics", - "solana-runtime", - "solana-sdk", + "bytemuck", + "solana-program", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", + "spl-type-length-value 0.3.0", ] [[package]] -name = "solana-stake-program" -version = "1.9.18" +name = "spl-tlv-account-resolution" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ced08967dd1d702f0d11bc68c704722000267fe90eb1991f7a8632d20866163" +checksum = "fab8edfd37be5fa17c9e42c1bff86abbbaf0494b031b37957f2728ad2ff842ba" dependencies = [ - "bincode", - "log", - "num-derive", + "bytemuck", + "solana-program", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", + "spl-type-length-value 0.4.6", +] + +[[package]] +name = "spl-token" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08459ba1b8f7c1020b4582c4edf0f5c7511a5e099a7a97570c9698d4f2337060" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.3.3", "num-traits", - "rustc_version", - "serde", - "serde_derive", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", - "solana-vote-program", + "num_enum 0.6.1", + "solana-program", "thiserror", ] [[package]] -name = "solana-vote-program" -version = "1.9.18" +name = "spl-token-2022" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "288e3fe7fd38b2542fc1751bb738e4b7d08f77b6974c62bcaee320ebfa6c32a2" +checksum = "d697fac19fd74ff472dfcc13f0b442dd71403178ce1de7b5d16f83a33561c059" dependencies = [ - "bincode", - "log", - "num-derive", + "arrayref", + "bytemuck", + "num-derive 0.4.2", "num-traits", - "rustc_version", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", + "num_enum 0.7.3", + "solana-program", + "solana-security-txt", + "solana-zk-token-sdk", + "spl-memo", + "spl-pod 0.1.0", + "spl-token", + "spl-token-group-interface 0.1.0", + "spl-token-metadata-interface 0.2.0", + "spl-transfer-hook-interface 0.4.1", + "spl-type-length-value 0.3.0", "thiserror", ] [[package]] -name = "solana_rbpf" -version = "0.2.24" +name = "spl-token-2022" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e138f6d6d4eb6a65f8e9f01ca620bc9907d79648d5038a69dd3f07b6ed3f1f" +checksum = "b01d1b2851964e257187c0bca43a0de38d0af59192479ca01ac3e2b58b1bd95a" dependencies = [ - "byteorder", - "combine", - "goblin", - "hash32", - "libc", - "log", - "rand 0.7.3", - "rustc-demangle", - "scroll", + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum 0.7.3", + "solana-program", + "solana-security-txt", + "solana-zk-token-sdk", + "spl-memo", + "spl-pod 0.2.5", + "spl-token", + "spl-token-group-interface 0.2.5", + "spl-token-metadata-interface 0.3.5", + "spl-transfer-hook-interface 0.6.5", + "spl-type-length-value 0.4.6", "thiserror", - "time", ] [[package]] -name = "spin" -version = "0.5.2" +name = "spl-token-group-interface" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "b889509d49fa74a4a033ca5dae6c2307e9e918122d97e58562f5c4ffa795c75d" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", +] [[package]] -name = "spl-associated-token-account" -version = "1.0.3" +name = "spl-token-group-interface" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393e2240d521c3dd770806bff25c2c00d761ac962be106e14e22dd912007f428" +checksum = "014817d6324b1e20c4bbc883e8ee30a5faa13e59d91d1b2b95df98b920150c17" dependencies = [ + "bytemuck", "solana-program", - "spl-token", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", ] [[package]] -name = "spl-governance" -version = "2.2.1" +name = "spl-token-metadata-interface" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c13bfa6d1b1e922fe0dca06ec53a43fd56706906586fe8d0154f420c78af5aa" +checksum = "4c16ce3ba6979645fb7627aa1e435576172dd63088dc7848cb09aa331fa1fe4f" dependencies = [ - "arrayref", - "bincode", - "borsh", - "num-derive", - "num-traits", - "serde", - "serde_derive", + "borsh 0.10.3", "solana-program", - "spl-governance-addin-api", - "spl-governance-tools", - "spl-token", - "thiserror", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", + "spl-type-length-value 0.3.0", ] [[package]] -name = "spl-governance-addin-api" -version = "0.1.1" +name = "spl-token-metadata-interface" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9451f56e707e635a40a285965e1927733c956a0049a08f4b6c80215445aba7f1" +checksum = "f3da00495b602ebcf5d8ba8b3ecff1ee454ce4c125c9077747be49c2d62335ba" dependencies = [ - "borsh", + "borsh 1.5.1", "solana-program", - "spl-governance-tools", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", + "spl-type-length-value 0.4.6", ] [[package]] -name = "spl-governance-tools" -version = "0.1.2" +name = "spl-transfer-hook-interface" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a206f0837415046d919f3075d6b3af9bd3f1f707c887898c335a6210b194627" +checksum = "7aabdb7c471566f6ddcee724beb8618449ea24b399e58d464d6b5bc7db550259" dependencies = [ "arrayref", - "bincode", - "borsh", - "num-derive", - "num-traits", - "serde", - "serde_derive", + "bytemuck", "solana-program", - "spl-token", - "thiserror", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", + "spl-tlv-account-resolution 0.5.1", + "spl-type-length-value 0.3.0", ] [[package]] -name = "spl-token" -version = "3.3.0" +name = "spl-transfer-hook-interface" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc67166ef99d10c18cb5e9c208901e6d8255c6513bb1f877977eba48e6cc4fb" +checksum = "a9b5c08a89838e5a2931f79b17f611857f281a14a2100968a3ccef352cb7414b" dependencies = [ "arrayref", - "num-derive", - "num-traits", - "num_enum", + "bytemuck", "solana-program", - "thiserror", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", + "spl-tlv-account-resolution 0.6.5", + "spl-type-length-value 0.4.6", ] [[package]] -name = "stable_deref_trait" -version = "1.2.0" +name = "spl-type-length-value" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "a468e6f6371f9c69aae760186ea9f1a01c2908351b06a5e0026d21cfc4d7ecac" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", +] + +[[package]] +name = "spl-type-length-value" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c872f93d0600e743116501eba2d53460e73a12c9a496875a42a7d70e034fe06d" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", +] [[package]] name = "static_assertions" @@ -2862,12 +5302,46 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + [[package]] name = "strsim" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + [[package]] name = "subtle" version = "2.4.1" @@ -2882,15 +5356,44 @@ checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" [[package]] name = "syn" -version = "1.0.82" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +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.72", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "synstructure" version = "0.12.6" @@ -2899,15 +5402,36 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "unicode-xid", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tar" -version = "0.4.37" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f5515d3add52e0bbdcad7b83c388bb36ba7b754dda3b5f5bc2d38640cdba5c" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" dependencies = [ "filetime", "libc", @@ -2916,9 +5440,9 @@ dependencies = [ [[package]] name = "tarpc" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b85d0a9369a919ba0db919b142a2b704cd207dfc676f7a43c2d105d0bc225487" +checksum = "1c38a012bed6fb9681d3bf71ffaa4f88f3b4b9ed3198cda6e4c8462d24d4bb80" dependencies = [ "anyhow", "fnv", @@ -2926,14 +5450,14 @@ dependencies = [ "humantime", "opentelemetry", "pin-project", - "rand 0.8.4", + "rand 0.8.5", "serde", "static_assertions", "tarpc-plugins", "thiserror", "tokio", "tokio-serde", - "tokio-util", + "tokio-util 0.6.10", "tracing", "tracing-opentelemetry", ] @@ -2946,133 +5470,217 @@ checksum = "0ee42b4e559f17bce0385ebf511a7beb67d5cc33c12c96b7f4e9789919d9c10f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "tempfile" -version = "3.2.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53" dependencies = [ "cfg-if", - "libc", - "rand 0.8.4", - "redox_syscall", - "remove_dir_all", - "winapi", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.1.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] +[[package]] +name = "termtree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + +[[package]] +name = "test-case" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" +dependencies = [ + "test-case-macros", +] + +[[package]] +name = "test-case-core" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "test-case-macros" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", + "test-case-core", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + [[package]] name = "textwrap" -version = "0.14.2" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.72", ] [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ + "cfg-if", "once_cell", ] [[package]] name = "time" -version = "0.1.44" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", + "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.5.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.14.0" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", - "num_cpus", - "once_cell", "parking_lot", "pin-project-lite", "signal-hook-registry", + "socket2", "tokio-macros", - "winapi", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "1.6.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9efc1aba077437943f7515666aa2b882dfabfbfdf89c819ea75a8d6e9eaba5e" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.72", ] [[package]] name = "tokio-rustls" -version = "0.23.1" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4baa378e417d780beff82bf54ceb0d195193ea6a00c14e22359e7f39456b5689" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ "rustls", "tokio", - "webpki 0.22.0", ] [[package]] @@ -3093,20 +5701,35 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.8" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", "tokio", ] +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots 0.25.4", +] + [[package]] name = "tokio-util" -version = "0.6.9" +version = "0.6.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" +checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" dependencies = [ "bytes", "futures-core", @@ -3117,28 +5740,96 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-util" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "toml" -version = "0.5.8" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.20", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ + "indexmap 2.3.0", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.3.0", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +dependencies = [ + "indexmap 2.3.0", "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.18", ] [[package]] name = "tower-service" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.29" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -3147,30 +5838,32 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.18" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.72", ] [[package]] name = "tracing-core" -version = "0.1.21" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ - "lazy_static", + "once_cell", + "valuable", ] [[package]] name = "tracing-opentelemetry" -version = "0.15.0" +version = "0.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "599f388ecb26b28d9c1b2e4437ae019a7b336018b45ed911458cd9ebf91129f6" +checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" dependencies = [ + "once_cell", "opentelemetry", "tracing", "tracing-core", @@ -3179,9 +5872,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.2.25" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "sharded-slab", "thread_local", @@ -3190,42 +5883,85 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand 0.8.5", + "rustls", + "sha1", + "thiserror", + "url", + "utf-8", + "webpki-roots 0.24.0", +] [[package]] name = "typenum" -version = "1.14.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-bidi" -version = "0.3.7" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.19" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.8.0" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "universal-hash" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +dependencies = [ + "generic-array", + "subtle", +] [[package]] name = "unreachable" @@ -3242,11 +5978,17 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "uriparse" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e515b1ada404168e145ac55afba3c42f04cf972201a8552d42e2abb17c1b7221" +checksum = "0200d0fc04d809396c2ad43f3c95da3582a2556eba8d453c1087f4120ee352ff" dependencies = [ "fnv", "lazy_static", @@ -3254,21 +5996,38 @@ dependencies = [ [[package]] name = "url" -version = "2.2.2" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", - "matches", "percent-encoding", ] +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "void" @@ -3282,7 +6041,7 @@ version = "0.2.4" dependencies = [ "anchor-lang", "anchor-spl", - "base64 0.13.0", + "base64 0.13.1", "bincode", "bytemuck", "env_logger", @@ -3292,7 +6051,7 @@ dependencies = [ "solana-program", "solana-program-test", "solana-sdk", - "spl-associated-token-account", + "spl-associated-token-account 3.0.4", "spl-governance", "spl-governance-addin-api", "spl-token", @@ -3305,8 +6064,8 @@ version = "0.2.4" dependencies = [ "anchor-lang", "anyhow", - "base64 0.13.0", - "clap", + "base64 0.13.1", + "clap 3.2.25", "log", "serde", "serde_json", @@ -3315,22 +6074,20 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.3.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", - "winapi", "winapi-util", ] [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -3342,15 +6099,15 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.78" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3358,24 +6115,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.78" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", - "lazy_static", "log", + "once_cell", "proc-macro2", "quote", - "syn", + "syn 2.0.72", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.28" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -3385,9 +6142,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.78" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3395,61 +6152,47 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.78" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.78" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" -version = "0.3.55" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki" -version = "0.22.0" +name = "webpki-roots" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" dependencies = [ - "ring", - "untrusted", + "rustls-webpki", ] [[package]] name = "webpki-roots" -version = "0.21.1" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" -dependencies = [ - "webpki 0.21.4", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "winapi" @@ -3469,11 +6212,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -3482,65 +6225,284 @@ 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.6", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" -version = "0.7.0" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "x509-parser" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +dependencies = [ + "asn1-rs", + "base64 0.13.1", + "data-encoding", + "der-parser", + "lazy_static", + "nom", + "oid-registry", + "rusticata-macros", + "thiserror", + "time", ] [[package]] name = "xattr" -version = "0.2.2" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", + "linux-raw-sys", + "rustix", ] [[package]] -name = "yansi" -version = "0.5.0" +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] [[package]] name = "zeroize" -version = "1.4.3" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" +checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.2.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn", - "synstructure", + "syn 2.0.72", ] [[package]] name = "zstd" -version = "0.9.2+zstd.1.5.1" +version = "0.11.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2390ea1bf6c038c39674f22d95f0564725fc06034a47129179810b2fc58caa54" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "4.1.3+zstd.1.5.1" +version = "5.0.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99d81b99fb3c2c2c794e3fe56c305c63d5173a16a46b5850b07c935ffc7db79" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" dependencies = [ "libc", "zstd-sys", @@ -3548,10 +6510,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.6.2+zstd.1.5.1" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", - "libc", + "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 9cb65bcf..df46a7e4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,3 +5,7 @@ members = [ # Otherwise the build will fail since Anchor uploads only parts of the source tree. "cli/" ] +resolver = "1" + +[profile.release] +overflow-checks = true diff --git a/README.md b/README.md index 9089728e..724aa11d 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Users can: ## Rust * Built and developed using - rust stable(`rustc 1.57.0 (f1edd0429 2021-11-29)`) -* Run rust based tests - `cargo test-bpf` +* Run rust based tests - `cargo test-sbf` * `run-generate-anchor-types.sh` generates latest anchor types file and writes to `./voter_stake_registry.ts` * To install the typescript client, do - `yarn add @blockworks-foundation/voter-stake-registry-client` * usage diff --git a/cli/Cargo.toml b/cli/Cargo.toml index d79d0135..ebeb9014 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] voter-stake-registry = { path = "../programs/voter-stake-registry", features = ["no-entrypoint"] } -anchor-lang = "0.24.2" +anchor-lang = "0.30.1" serde = "^1.0" serde_json = "^1.0" diff --git a/package.json b/package.json index 98bd2964..6ae2ae33 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,7 @@ "trailingComma": "all" }, "dependencies": { - "@project-serum/anchor": "^0.24.2", - "@project-serum/serum": "^0.13.61" + "@coral-xyz/anchor": "^0.30.1" }, "license": "MIT" } diff --git a/programs/voter-stake-registry/Cargo.toml b/programs/voter-stake-registry/Cargo.toml index fdd545d6..eb7bad78 100644 --- a/programs/voter-stake-registry/Cargo.toml +++ b/programs/voter-stake-registry/Cargo.toml @@ -17,38 +17,31 @@ no-idl = [] cpi = ["no-entrypoint"] default = [] localnet = [] -test-bpf = [] +test-sbf = [] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build"] [dependencies] -# a) for deployment use these -anchor-lang = { version = "0.24.2", features = ["init-if-needed"] } -anchor-spl = { version = "0.24.2" } -# b) while testing, use below dependencies for debugging instead of above ones -# anchor-lang = { git = "https://github.com/microwavedcola1/anchor.git", branch = "master-debug" } -# anchor-spl = { git = "https://github.com/microwavedcola1/anchor.git", branch = "master-debug", features = ["governance"]} - -# The rev used for spl-governance must match what the fixture binary -# programs/voter-stake-registry/tests/fixtures/spl_governance.so is built from. - -bytemuck = "1.9.1" +anchor-lang = { version = "0.30.1", features = ["init-if-needed"] } +anchor-spl = { version = "0.30.1" } +bytemuck = {version = "1.9.1", features = ["derive", "min_const_generics"]} # WARNING: Be careful about upgrading the spl-governance dependency! # Recently the discriminator for new VoterWeightRecord accounts has changed, and upgrading # this dependency here without also upgrading the spl-governance program instance beforehand # would lead to VWR accounts that are unusable until the spl-governance program is upgraded. -spl-governance = { version = "=2.2.1", features = ["no-entrypoint"] } -spl-governance-addin-api = "=0.1.1" +spl-governance = { version = "4.0", features = ["no-entrypoint"] } +spl-governance-addin-api = "0.1.4" -solana-program = "~1.9.13" +solana-program = "1.18.18" static_assertions = "1.1" [dev-dependencies] -solana-sdk = "~1.9.13" -solana-program-test = "~1.9.13" -solana-logger = "~1.9.13" -spl-token = { version = "^3.0.0", features = ["no-entrypoint"] } -spl-associated-token-account = { version = "^1.0.3", features = ["no-entrypoint"] } -bytemuck = "^1.7.2" +solana-sdk = "1.18.18" +solana-program-test = "1.18.18" +solana-logger = "1.18.18" +spl-token = { version = "4.0.0", features = [ "no-entrypoint" ] } +spl-associated-token-account = { version = "^3.0.4", features = ["no-entrypoint"] } +bytemuck = "^1.9.1" serde = "^1.0" bincode = "^1.3.1" log = "0.4.14" diff --git a/programs/voter-stake-registry/src/governance.rs b/programs/voter-stake-registry/src/governance.rs index 48ae908e..a70922b5 100644 --- a/programs/voter-stake-registry/src/governance.rs +++ b/programs/voter-stake-registry/src/governance.rs @@ -54,5 +54,16 @@ macro_rules! vote_weight_record { &mut self.0 } } + + #[cfg(feature = "idl-build")] + impl anchor_lang::IdlBuild for VoterWeightRecord {} + + #[cfg(feature = "idl-build")] + impl anchor_lang::Discriminator for VoterWeightRecord { + const DISCRIMINATOR: [u8; 8] = [0; 8]; + fn discriminator() -> [u8; 8] { + spl_governance_addin_api::voter_weight::VoterWeightRecord::ACCOUNT_DISCRIMINATOR + } + } }; } diff --git a/programs/voter-stake-registry/src/instructions/close_voter.rs b/programs/voter-stake-registry/src/instructions/close_voter.rs index 2749dfde..084c2180 100644 --- a/programs/voter-stake-registry/src/instructions/close_voter.rs +++ b/programs/voter-stake-registry/src/instructions/close_voter.rs @@ -36,9 +36,7 @@ pub struct CloseVoter<'info> { /// Closes the voter account (Optionally, also token vaults, as part of remaining_accounts), /// allowing one to retrieve rent exemption SOL. /// Only accounts with no remaining deposits can be closed. -pub fn close_voter<'key, 'accounts, 'remaining, 'info>( - ctx: Context<'key, 'accounts, 'remaining, 'info, CloseVoter<'info>>, -) -> Result<()> { +pub fn close_voter<'info>(ctx: Context<'_, '_, 'info, 'info, CloseVoter<'info>>) -> Result<()> { { let voter = ctx.accounts.voter.load()?; let amount = voter.deposits.iter().fold(0u64, |sum, d| { @@ -47,8 +45,8 @@ pub fn close_voter<'key, 'accounts, 'remaining, 'info>( require_eq!(amount, 0, VsrError::VotingTokenNonZero); let voter_seeds = voter_seeds!(voter); - for account in &mut ctx.remaining_accounts.iter() { - let token = Account::::try_from(&account.clone()).unwrap(); + for account in ctx.remaining_accounts.iter() { + let token = Account::::try_from(&account).unwrap(); require_keys_eq!( token.owner, ctx.accounts.voter.key(), 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 23cb0f4e..32d4c141 100644 --- a/programs/voter-stake-registry/src/instructions/configure_voting_mint.rs +++ b/programs/voter-stake-registry/src/instructions/configure_voting_mint.rs @@ -69,8 +69,8 @@ pub struct ConfigureVotingMint<'info> { /// * B with digit_shift=0, baseline_vote_weight_scaled_factor=1e9, max_extra_lockup_vote_weight_scaled_factor=1e9 /// to not lose precision on B tokens. /// -pub fn configure_voting_mint( - ctx: Context, +pub fn configure_voting_mint<'info>( + ctx: Context<'_, '_, 'info, 'info, ConfigureVotingMint<'info>>, idx: u16, digit_shift: i8, baseline_vote_weight_scaled_factor: u64, diff --git a/programs/voter-stake-registry/src/instructions/create_registrar.rs b/programs/voter-stake-registry/src/instructions/create_registrar.rs index 0745ceb7..77ddb334 100644 --- a/programs/voter-stake-registry/src/instructions/create_registrar.rs +++ b/programs/voter-stake-registry/src/instructions/create_registrar.rs @@ -49,7 +49,7 @@ pub struct CreateRegistrar<'info> { /// used for voting. pub fn create_registrar(ctx: Context, registrar_bump: u8) -> Result<()> { let registrar = &mut ctx.accounts.registrar.load_init()?; - require_eq!(registrar_bump, *ctx.bumps.get("registrar").unwrap()); + require_eq!(registrar_bump, ctx.bumps.registrar); registrar.bump = registrar_bump; registrar.governance_program_id = ctx.accounts.governance_program_id.key(); registrar.realm = ctx.accounts.realm.key(); diff --git a/programs/voter-stake-registry/src/instructions/create_voter.rs b/programs/voter-stake-registry/src/instructions/create_voter.rs index f17e2a0c..e586432f 100644 --- a/programs/voter-stake-registry/src/instructions/create_voter.rs +++ b/programs/voter-stake-registry/src/instructions/create_voter.rs @@ -68,11 +68,8 @@ pub fn create_voter( ); } - require_eq!(voter_bump, *ctx.bumps.get("voter").unwrap()); - require_eq!( - voter_weight_record_bump, - *ctx.bumps.get("voter_weight_record").unwrap() - ); + require_eq!(voter_bump, ctx.bumps.voter); + require_eq!(voter_weight_record_bump, ctx.bumps.voter_weight_record); // Load accounts. let registrar = &ctx.accounts.registrar.load()?; diff --git a/programs/voter-stake-registry/src/instructions/grant.rs b/programs/voter-stake-registry/src/instructions/grant.rs index 124e70a5..d3fa4b8d 100644 --- a/programs/voter-stake-registry/src/instructions/grant.rs +++ b/programs/voter-stake-registry/src/instructions/grant.rs @@ -106,11 +106,8 @@ pub fn grant( allow_clawback: bool, amount: u64, ) -> Result<()> { - require_eq!(voter_bump, *ctx.bumps.get("voter").unwrap()); - require_eq!( - voter_weight_record_bump, - *ctx.bumps.get("voter_weight_record").unwrap() - ); + require_eq!(voter_bump, ctx.bumps.voter); + require_eq!(voter_weight_record_bump, ctx.bumps.voter_weight_record); // Load accounts. let registrar = &ctx.accounts.registrar.load()?; 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 b1a96f83..4de01f98 100644 --- a/programs/voter-stake-registry/src/instructions/log_voter_info.rs +++ b/programs/voter-stake-registry/src/instructions/log_voter_info.rs @@ -50,7 +50,7 @@ pub fn log_voter_info( let voting_mint_config = ®istrar.voting_mints[deposit.voting_mint_config_idx as usize]; let locking_info = (seconds_left > 0).then(|| LockingInfo { amount: deposit.amount_locked(curr_ts), - end_timestamp: (lockup.kind != LockupKind::Constant).then(|| end_ts), + end_timestamp: (lockup.kind != LockupKind::Constant).then_some(end_ts), vesting: lockup.kind.is_vesting().then(|| VestingInfo { rate: deposit .amount_initially_locked_native diff --git a/programs/voter-stake-registry/src/instructions/update_max_vote_weight.rs b/programs/voter-stake-registry/src/instructions/update_max_vote_weight.rs index 71b6606c..b2b0bcff 100644 --- a/programs/voter-stake-registry/src/instructions/update_max_vote_weight.rs +++ b/programs/voter-stake-registry/src/instructions/update_max_vote_weight.rs @@ -18,7 +18,9 @@ pub struct UpdateMaxVoteWeight<'info> { /// Note that this method is only safe to use if the cumulative supply for /// all tokens fits into a u64 *after* converting into common decimals, as /// defined by the registrar's `rate_decimal` field. -pub fn update_max_vote_weight(ctx: Context) -> Result<()> { +pub fn update_max_vote_weight<'info>( + ctx: Context<'_, '_, 'info, 'info, UpdateMaxVoteWeight<'info>>, +) -> Result<()> { let registrar = &ctx.accounts.registrar.load()?; let _max_vote_weight = registrar.max_vote_weight(ctx.remaining_accounts)?; // TODO: SPL governance has not yet implemented this feature. diff --git a/programs/voter-stake-registry/src/lib.rs b/programs/voter-stake-registry/src/lib.rs index 2cec722c..7d8d5447 100644 --- a/programs/voter-stake-registry/src/lib.rs +++ b/programs/voter-stake-registry/src/lib.rs @@ -1,3 +1,5 @@ +#![allow(clippy::result_large_err)] + use anchor_lang::prelude::*; use instructions::*; use state::*; @@ -66,8 +68,8 @@ pub mod voter_stake_registry { instructions::create_registrar(ctx, registrar_bump) } - pub fn configure_voting_mint( - ctx: Context, + pub fn configure_voting_mint<'info>( + ctx: Context<'_, '_, 'info, 'info, ConfigureVotingMint<'info>>, idx: u16, digit_shift: i8, baseline_vote_weight_scaled_factor: u64, @@ -120,6 +122,7 @@ pub mod voter_stake_registry { instructions::withdraw(ctx, deposit_entry_index, amount) } + #[allow(clippy::too_many_arguments)] pub fn grant( ctx: Context, voter_bump: u8, @@ -194,13 +197,13 @@ pub mod voter_stake_registry { instructions::update_voter_weight_record(ctx) } - pub fn update_max_vote_weight(ctx: Context) -> Result<()> { + pub fn update_max_vote_weight<'info>( + ctx: Context<'_, '_, 'info, 'info, UpdateMaxVoteWeight<'info>>, + ) -> Result<()> { instructions::update_max_vote_weight(ctx) } - pub fn close_voter<'key, 'accounts, 'remaining, 'info>( - ctx: Context<'key, 'accounts, 'remaining, 'info, CloseVoter<'info>>, - ) -> Result<()> { + pub fn close_voter<'info>(ctx: Context<'_, '_, 'info, 'info, CloseVoter<'info>>) -> Result<()> { instructions::close_voter(ctx) } diff --git a/programs/voter-stake-registry/src/state/deposit_entry.rs b/programs/voter-stake-registry/src/state/deposit_entry.rs index 2a261ccb..1a8e1cad 100644 --- a/programs/voter-stake-registry/src/state/deposit_entry.rs +++ b/programs/voter-stake-registry/src/state/deposit_entry.rs @@ -6,7 +6,7 @@ use std::cmp::min; use std::convert::TryFrom; /// Bookkeeping for a single deposit for a given mint and lockup schedule. -#[zero_copy] +#[zero_copy(unsafe)] #[derive(Default)] pub struct DepositEntry { // Locked state. @@ -145,7 +145,7 @@ impl DepositEntry { max_locked_vote_weight: u64, lockup_saturation_secs: u64, ) -> Result { - let mut altered = self.clone(); + let mut altered = *self; // Trigger the unlock phase for constant lockups if self.lockup.kind == LockupKind::Constant { diff --git a/programs/voter-stake-registry/src/state/lockup.rs b/programs/voter-stake-registry/src/state/lockup.rs index e4068a4f..b5df1669 100644 --- a/programs/voter-stake-registry/src/state/lockup.rs +++ b/programs/voter-stake-registry/src/state/lockup.rs @@ -1,6 +1,7 @@ use crate::error::*; use crate::vote_weight_record; use anchor_lang::prelude::*; +use bytemuck::{Pod, Zeroable}; use std::convert::TryFrom; // Generate a VoteWeightRecord Anchor wrapper, owned by the current program. @@ -26,7 +27,7 @@ pub const MAX_LOCKUP_PERIODS: u32 = 365 * 200; pub const MAX_LOCKUP_IN_FUTURE_SECS: i64 = 100 * 365 * 24 * 60 * 60; -#[zero_copy] +#[zero_copy(unsafe)] pub struct Lockup { /// Start of the lockup. /// @@ -163,7 +164,7 @@ impl Lockup { } #[repr(u8)] -#[derive(AnchorSerialize, AnchorDeserialize, Debug, Clone, Copy, PartialEq)] +#[derive(AnchorSerialize, AnchorDeserialize, Debug, Clone, Copy, PartialEq, Eq, Zeroable)] pub enum LockupKind { /// No lockup, tokens can be withdrawn as long as not engaged in a proposal. None, @@ -219,6 +220,8 @@ impl LockupKind { } } +unsafe impl Pod for LockupKind {} + #[cfg(test)] mod tests { use super::*; diff --git a/programs/voter-stake-registry/src/state/registrar.rs b/programs/voter-stake-registry/src/state/registrar.rs index c4a8dbd5..c9a5ff29 100644 --- a/programs/voter-stake-registry/src/state/registrar.rs +++ b/programs/voter-stake-registry/src/state/registrar.rs @@ -41,8 +41,7 @@ impl Registrar { .position(|r| r.mint == mint) .ok_or_else(|| error!(VsrError::VotingMintNotFound)) } - - pub fn max_vote_weight(&self, mint_accounts: &[AccountInfo]) -> Result { + pub fn max_vote_weight<'a>(&self, mint_accounts: &'a [AccountInfo<'a>]) -> Result { self.voting_mints .iter() .try_fold(0u64, |mut sum, voting_mint_config| -> Result { diff --git a/programs/voter-stake-registry/src/state/voter.rs b/programs/voter-stake-registry/src/state/voter.rs index 8e5ed36c..dd6fafe6 100644 --- a/programs/voter-stake-registry/src/state/voter.rs +++ b/programs/voter-stake-registry/src/state/voter.rs @@ -5,7 +5,7 @@ use anchor_lang::prelude::*; use spl_governance::state::token_owner_record; /// User account for minting voting rights. -#[account(zero_copy)] +#[account(zero_copy(unsafe))] pub struct Voter { pub voter_authority: Pubkey, pub registrar: Pubkey, diff --git a/programs/voter-stake-registry/src/state/voting_mint_config.rs b/programs/voter-stake-registry/src/state/voting_mint_config.rs index c346e750..f836e6ee 100644 --- a/programs/voter-stake-registry/src/state/voting_mint_config.rs +++ b/programs/voter-stake-registry/src/state/voting_mint_config.rs @@ -1,5 +1,4 @@ use crate::error::*; -use anchor_lang::__private::bytemuck::Zeroable; use anchor_lang::prelude::*; use std::convert::TryFrom; @@ -109,5 +108,3 @@ impl VotingMintConfig { || self.max_extra_lockup_vote_weight_scaled_factor > 0 } } - -unsafe impl Zeroable for VotingMintConfig {} diff --git a/programs/voter-stake-registry/tests/program_test/addin.rs b/programs/voter-stake-registry/tests/program_test/addin.rs index 43be704d..12e327f0 100644 --- a/programs/voter-stake-registry/tests/program_test/addin.rs +++ b/programs/voter-stake-registry/tests/program_test/addin.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use solana_sdk::pubkey::Pubkey; -use solana_sdk::transport::TransportError; + use solana_sdk::{ instruction::Instruction, signature::{Keypair, Signer}, @@ -234,7 +234,7 @@ impl AddinCookie { start_ts: Option, periods: u32, allow_clawback: bool, - ) -> std::result::Result<(), TransportError> { + ) -> std::result::Result<(), BanksClientError> { let vault = voter.vault_address(&voting_mint); let data = anchor_lang::InstructionData::data( @@ -287,7 +287,7 @@ impl AddinCookie { token_address: Pubkey, deposit_entry_index: u8, amount: u64, - ) -> std::result::Result<(), TransportError> { + ) -> std::result::Result<(), BanksClientError> { let vault = voter.vault_address(&voting_mint); let data = @@ -336,7 +336,7 @@ impl AddinCookie { deposit_token: Pubkey, token_authority: &Keypair, grant_authority: &Keypair, - ) -> std::result::Result { + ) -> std::result::Result { let (voter, voter_bump) = Pubkey::find_program_address( &[ ®istrar.address.to_bytes(), @@ -417,7 +417,7 @@ impl AddinCookie { realm_authority: &Keypair, token_address: Pubkey, deposit_entry_index: u8, - ) -> std::result::Result<(), TransportError> { + ) -> std::result::Result<(), BanksClientError> { let vault = voter.vault_address(&voting_mint); let data = @@ -461,7 +461,7 @@ impl AddinCookie { token_address: Pubkey, deposit_entry_index: u8, amount: u64, - ) -> std::result::Result<(), TransportError> { + ) -> std::result::Result<(), BanksClientError> { let vault = voter.vault_address(&voting_mint); let data = @@ -505,7 +505,7 @@ impl AddinCookie { voter: &VoterCookie, voting_mint: &VotingMintConfigCookie, voter_authority: &Keypair, - ) -> std::result::Result<(), TransportError> { + ) -> std::result::Result<(), BanksClientError> { let vault = voter.vault_address(&voting_mint); let data = @@ -568,7 +568,7 @@ impl AddinCookie { &self, registrar: &RegistrarCookie, voter: &VoterCookie, - ) -> std::result::Result { + ) -> std::result::Result { let instructions = vec![self.update_voter_weight_record_instruction(registrar, voter)]; self.solana.process_transaction(&instructions, None).await?; @@ -587,7 +587,7 @@ impl AddinCookie { voter: &VoterCookie, authority: &Keypair, deposit_entry_index: u8, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let data = anchor_lang::InstructionData::data( &voter_stake_registry::instruction::CloseDepositEntry { deposit_entry_index, @@ -625,7 +625,7 @@ impl AddinCookie { deposit_entry_index: u8, kind: voter_stake_registry::state::LockupKind, periods: u32, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let data = anchor_lang::InstructionData::data(&voter_stake_registry::instruction::ResetLockup { deposit_entry_index, @@ -665,7 +665,7 @@ impl AddinCookie { source_deposit_entry_index: u8, target_deposit_entry_index: u8, amount: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let data = anchor_lang::InstructionData::data( &voter_stake_registry::instruction::InternalTransferLocked { source_deposit_entry_index, @@ -706,7 +706,7 @@ impl AddinCookie { source_deposit_entry_index: u8, target_deposit_entry_index: u8, amount: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let data = anchor_lang::InstructionData::data( &voter_stake_registry::instruction::InternalTransferUnlocked { source_deposit_entry_index, diff --git a/programs/voter-stake-registry/tests/program_test/governance.rs b/programs/voter-stake-registry/tests/program_test/governance.rs index 3d7651f1..0b749bf2 100644 --- a/programs/voter-stake-registry/tests/program_test/governance.rs +++ b/programs/voter-stake-registry/tests/program_test/governance.rs @@ -3,6 +3,9 @@ use std::sync::Arc; use solana_program::instruction::Instruction; use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::{Keypair, Signer}; +use spl_governance::state::enums::{MintMaxVoterWeightSource, VoteThreshold, VoteTipping}; +use spl_governance::state::realm::GoverningTokenConfigAccountArgs; +use spl_governance::state::realm_config::GoverningTokenType; use spl_governance::state::{proposal, vote_record}; use crate::*; @@ -73,17 +76,24 @@ impl GovernanceCookie { ) .0; + let community_token_config_args = GoverningTokenConfigAccountArgs { + voter_weight_addin: Some(*voter_weight_addin), + max_voter_weight_addin: None, + token_type: GoverningTokenType::default(), + }; + + let community_mint_max_voter_weight_source = MintMaxVoterWeightSource::FULL_SUPPLY_FRACTION; let instructions = vec![spl_governance::instruction::create_realm( &self.program_id, &realm_authority, &community_token_mint.pubkey.unwrap(), &payer.pubkey(), None, - Some(*voter_weight_addin), + Some(community_token_config_args), None, name.to_string(), 0, - spl_governance::state::enums::MintMaxVoteWeightSource::SupplyFraction(10000000000), + community_mint_max_voter_weight_source, )]; let signer = Keypair::from_base58_string(&payer.to_base58_string()); @@ -166,14 +176,18 @@ impl GovernanceRealmCookie { &authority.pubkey(), Some(voter.voter_weight_record), spl_governance::state::governance::GovernanceConfig { - vote_threshold_percentage: - spl_governance::state::enums::VoteThresholdPercentage::YesVote(50), - min_community_weight_to_create_proposal: 1000, + min_community_weight_to_create_proposal: 1, min_transaction_hold_up_time: 0, - max_voting_time: 10, - vote_tipping: spl_governance::state::enums::VoteTipping::Disabled, - proposal_cool_off_time: 0, min_council_weight_to_create_proposal: 1, + community_vote_threshold: VoteThreshold::YesVotePercentage(50), + voting_base_time: 600, + community_vote_tipping: VoteTipping::Strict, + council_vote_threshold: VoteThreshold::YesVotePercentage(50), + council_veto_vote_threshold: VoteThreshold::Disabled, + council_vote_tipping: VoteTipping::Disabled, + community_veto_vote_threshold: VoteThreshold::Disabled, + voting_cool_off_time: 0, + deposit_exempt_proposal_count: 10, }, ), ]; @@ -221,14 +235,18 @@ impl GovernanceRealmCookie { &authority.pubkey(), Some(voter.voter_weight_record), spl_governance::state::governance::GovernanceConfig { - vote_threshold_percentage: - spl_governance::state::enums::VoteThresholdPercentage::YesVote(50), - min_community_weight_to_create_proposal: 1000, + min_community_weight_to_create_proposal: 1, min_transaction_hold_up_time: 0, - max_voting_time: 10, - vote_tipping: spl_governance::state::enums::VoteTipping::Disabled, - proposal_cool_off_time: 0, min_council_weight_to_create_proposal: 1, + community_vote_threshold: VoteThreshold::YesVotePercentage(50), + voting_base_time: 600, + community_vote_tipping: VoteTipping::Strict, + council_vote_threshold: VoteThreshold::YesVotePercentage(50), + council_veto_vote_threshold: VoteThreshold::Disabled, + council_vote_tipping: VoteTipping::Disabled, + community_veto_vote_threshold: VoteThreshold::Disabled, + voting_cool_off_time: 0, + deposit_exempt_proposal_count: 10, }, true, ), @@ -258,12 +276,13 @@ impl GovernanceRealmCookie { voter: &VoterCookie, payer: &Keypair, vwr_instruction: Instruction, - ) -> std::result::Result { + ) -> std::result::Result { + let proposal_seed = Pubkey::new_unique(); let proposal = spl_governance::state::proposal::get_proposal_address( &self.governance.program_id, &governance, &self.community_token_mint.pubkey.unwrap(), - &0u32.to_le_bytes(), + &proposal_seed, ); let instructions = vec![ @@ -282,16 +301,16 @@ impl GovernanceRealmCookie { proposal::VoteType::SingleChoice, vec!["yes".into()], true, - 0, - ), - spl_governance::instruction::add_signatory( - &self.governance.program_id, - &proposal, - &voter.token_owner_record, - &authority.pubkey(), - &payer.pubkey(), - &authority.pubkey(), + &proposal_seed, ), + // spl_governance::instruction::add_signatory( + // &self.governance.program_id, + // &proposal, + // &voter.token_owner_record, + // &authority.pubkey(), + // &payer.pubkey(), + // &authority.pubkey(), + // ), spl_governance::instruction::sign_off_proposal( &self.governance.program_id, &self.realm, @@ -325,7 +344,7 @@ impl GovernanceRealmCookie { authority: &Keypair, payer: &Keypair, vwr_instruction: Instruction, - ) -> std::result::Result<(), TransportError> { + ) -> std::result::Result<(), BanksClientError> { let instructions = vec![ vwr_instruction, spl_governance::instruction::cast_vote( @@ -364,9 +383,11 @@ impl GovernanceRealmCookie { token_owner_record: Pubkey, authority: &Keypair, beneficiary: Pubkey, - ) -> std::result::Result<(), TransportError> { + goverenance_realm: GovernanceRealmCookie, + ) -> std::result::Result<(), BanksClientError> { let instructions = vec![spl_governance::instruction::relinquish_vote( &self.governance.program_id, + &goverenance_realm.realm, &governance, &proposal.address, &token_owner_record, diff --git a/programs/voter-stake-registry/tests/program_test/mod.rs b/programs/voter-stake-registry/tests/program_test/mod.rs index 8b268369..efc295e6 100644 --- a/programs/voter-stake-registry/tests/program_test/mod.rs +++ b/programs/voter-stake-registry/tests/program_test/mod.rs @@ -110,7 +110,8 @@ impl TestContext { let mut test = ProgramTest::new( "voter_stake_registry", addin_program_id, - processor!(voter_stake_registry::entry), + // processor!(voter_stake_registry::entry), + None, ); // intentionally set to half the limit, to catch potential problems early test.set_compute_max_units(120000); diff --git a/programs/voter-stake-registry/tests/program_test/solana.rs b/programs/voter-stake-registry/tests/program_test/solana.rs index 2ff9b5b7..8aa58999 100644 --- a/programs/voter-stake-registry/tests/program_test/solana.rs +++ b/programs/voter-stake-registry/tests/program_test/solana.rs @@ -11,7 +11,6 @@ use solana_sdk::{ pubkey::Pubkey, signature::{Keypair, Signer}, transaction::Transaction, - transport::TransportError, }; use spl_token::*; @@ -27,7 +26,7 @@ impl SolanaCookie { &self, instructions: &[Instruction], signers: Option<&[&Keypair]>, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { *self.program_output.write().unwrap() = super::ProgramOutput::default(); let mut context = self.context.borrow_mut(); diff --git a/programs/voter-stake-registry/tests/test_all_deposits.rs b/programs/voter-stake-registry/tests/test_all_deposits.rs index e4e141fa..a790dbc1 100644 --- a/programs/voter-stake-registry/tests/test_all_deposits.rs +++ b/programs/voter-stake-registry/tests/test_all_deposits.rs @@ -1,3 +1,5 @@ +#![cfg(feature = "test-sbf")] + use anchor_spl::token::TokenAccount; use program_test::*; use solana_program_test::*; diff --git a/programs/voter-stake-registry/tests/test_grants.rs b/programs/voter-stake-registry/tests/test_grants.rs index dc665827..ebb5de19 100644 --- a/programs/voter-stake-registry/tests/test_grants.rs +++ b/programs/voter-stake-registry/tests/test_grants.rs @@ -127,8 +127,10 @@ async fn test_grants() -> Result<(), TransportError> { .await; let deposit = &voter_data.deposits[1]; assert_eq!(deposit.is_used, true); - assert_eq!(deposit.amount_deposited_native, 12000); - assert_eq!(deposit.amount_initially_locked_native, 12000); + let amount_deposited_native = deposit.amount_deposited_native; + let amount_initially_locked_native = deposit.amount_initially_locked_native; + assert_eq!(amount_deposited_native, 12000); + assert_eq!(amount_initially_locked_native, 12000); assert_eq!(deposit.allow_clawback, true); assert_eq!(deposit.lockup.kind, LockupKind::Monthly); assert_eq!(deposit.lockup.periods_total().unwrap(), 12); @@ -162,8 +164,10 @@ async fn test_grants() -> Result<(), TransportError> { .await; let deposit = &voter_data.deposits[2]; assert_eq!(deposit.is_used, true); - assert_eq!(deposit.amount_deposited_native, 12000); - assert_eq!(deposit.amount_initially_locked_native, 12000); + let amount_deposited_native = deposit.amount_deposited_native; + let amount_initially_locked_native = deposit.amount_initially_locked_native; + assert_eq!(amount_deposited_native, 12000); + assert_eq!(amount_initially_locked_native, 12000); assert_eq!(deposit.allow_clawback, true); assert_eq!(deposit.lockup.kind, LockupKind::Monthly); assert_eq!(deposit.lockup.periods_total().unwrap(), 12); diff --git a/programs/voter-stake-registry/tests/test_voting.rs b/programs/voter-stake-registry/tests/test_voting.rs index e6e342dd..a4460bb2 100644 --- a/programs/voter-stake-registry/tests/test_voting.rs +++ b/programs/voter-stake-registry/tests/test_voting.rs @@ -276,6 +276,7 @@ async fn test_voting() -> Result<(), TransportError> { voter2.token_owner_record, &voter2_authority, payer.pubkey(), + realm.clone(), ) .await .unwrap(); diff --git a/run-test.sh b/run-test.sh index a921b32a..0be49e78 100755 --- a/run-test.sh +++ b/run-test.sh @@ -2,4 +2,4 @@ set -euo pipefail -cargo test-bpf \ No newline at end of file +cargo test-sbf \ No newline at end of file diff --git a/src/client.ts b/src/client.ts index 3521738f..2aaf8867 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,6 +1,7 @@ -import { Program, Provider } from '@project-serum/anchor'; +import { Program, Provider } from '@coral-xyz/anchor'; import { PublicKey } from '@solana/web3.js'; -import { VoterStakeRegistry, IDL } from './voter_stake_registry'; +import { VoterStakeRegistry } from './voter_stake_registry'; +import VoterStakeRegistryIDL from './voter_stake_registry.json'; export const VSR_ID = new PublicKey( '4Q6WW2ouZ6V3iaNm56MTd5n2tnTm4C5fiH8miFHnAFHo', @@ -18,12 +19,11 @@ export class VsrClient { ): Promise { // alternatively we could fetch from chain // const idl = await Program.fetchIdl(VSR_ID, provider); - const idl = IDL; + const idl = VoterStakeRegistryIDL; return new VsrClient( new Program( idl as VoterStakeRegistry, - VSR_ID, provider, ), devnet, diff --git a/src/voter_stake_registry.json b/src/voter_stake_registry.json new file mode 100644 index 00000000..9d62fb53 --- /dev/null +++ b/src/voter_stake_registry.json @@ -0,0 +1,2378 @@ +{ + "address": "4Q6WW2ouZ6V3iaNm56MTd5n2tnTm4C5fiH8miFHnAFHo", + "metadata": { + "name": "voter_stake_registry", + "version": "0.2.4", + "spec": "0.1.0", + "description": "a voter weight plugin for spl-governance" + }, + "docs": [ + "# Introduction", + "", + "The governance registry is an \"addin\" to the SPL governance program that", + "allows one to both vote with many different ypes of tokens for voting and to", + "scale voting power as a linear function of time locked--subject to some", + "maximum upper bound.", + "", + "The flow for voting with this program is as follows:", + "", + "- 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.", + "- Create a voter account.", + "- Deposit tokens into this program, with an optional lockup period.", + "- Vote.", + "", + "Upon voting with SPL governance, a client is expected to call", + "`decay_voting_power` to get an up to date measurement of a given `Voter`'s", + "voting power for the given slot. If this is not done, then the transaction", + "will fail (since the SPL governance program will require the measurement", + "to be active for the current slot).", + "", + "# Interacting with SPL Governance", + "", + "This program does not directly interact with SPL governance via CPI.", + "Instead, it simply writes a `VoterWeightRecord` account with a well defined", + "format, which is then used by SPL governance as the voting power measurement", + "for a given user.", + "", + "# Max Vote Weight", + "", + "Given that one can use multiple tokens to vote, the max vote weight needs", + "to be a function of the total supply of all tokens, converted into a common", + "currency. For example, if you have Token A and Token B, where 1 Token B =", + "10 Token A, then the `max_vote_weight` should be `supply(A) + supply(B)*10`", + "where both are converted into common decimals. Then, when calculating the", + "weight of an individual voter, one can convert B into A via the given", + "exchange rate, which must be fixed.", + "", + "Note that the above also implies that the `max_vote_weight` must fit into", + "a u64." + ], + "instructions": [ + { + "name": "clawback", + "discriminator": [ + 111, + 92, + 142, + 79, + 33, + 234, + 82, + 27 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "realm_authority", + "signer": true, + "relations": [ + "registrar" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } + }, + { + "name": "vault", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "destination.mint", + "account": "TokenAccount" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } + }, + { + "name": "destination", + "writable": true + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + } + ], + "args": [ + { + "name": "deposit_entry_index", + "type": "u8" + } + ] + }, + { + "name": "close_deposit_entry", + "discriminator": [ + 236, + 190, + 87, + 34, + 251, + 131, + 138, + 237 + ], + "accounts": [ + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "signer": true, + "relations": [ + "voter" + ] + } + ], + "args": [ + { + "name": "deposit_entry_index", + "type": "u8" + } + ] + }, + { + "name": "close_voter", + "discriminator": [ + 117, + 35, + 234, + 247, + 206, + 131, + 182, + 149 + ], + "accounts": [ + { + "name": "registrar" + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "signer": true, + "relations": [ + "voter" + ] + }, + { + "name": "sol_destination", + "writable": true + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + } + ], + "args": [] + }, + { + "name": "configure_voting_mint", + "discriminator": [ + 113, + 153, + 141, + 236, + 184, + 9, + 135, + 15 + ], + "accounts": [ + { + "name": "registrar", + "writable": true + }, + { + "name": "realm_authority", + "signer": true, + "relations": [ + "registrar" + ] + }, + { + "name": "mint", + "docs": [ + "Tokens of this mint will produce vote weight" + ] + } + ], + "args": [ + { + "name": "idx", + "type": "u16" + }, + { + "name": "digit_shift", + "type": "i8" + }, + { + "name": "baseline_vote_weight_scaled_factor", + "type": "u64" + }, + { + "name": "max_extra_lockup_vote_weight_scaled_factor", + "type": "u64" + }, + { + "name": "lockup_saturation_secs", + "type": "u64" + }, + { + "name": "grant_authority", + "type": { + "option": "pubkey" + } + } + ] + }, + { + "name": "create_deposit_entry", + "discriminator": [ + 185, + 131, + 167, + 186, + 159, + 125, + 19, + 67 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "vault", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "deposit_mint" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } + }, + { + "name": "voter_authority", + "signer": true, + "relations": [ + "voter" + ] + }, + { + "name": "payer", + "writable": true, + "signer": true + }, + { + "name": "deposit_mint" + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + }, + { + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" + }, + { + "name": "rent", + "address": "SysvarRent111111111111111111111111111111111" + } + ], + "args": [ + { + "name": "deposit_entry_index", + "type": "u8" + }, + { + "name": "kind", + "type": { + "defined": { + "name": "LockupKind" + } + } + }, + { + "name": "start_ts", + "type": { + "option": "u64" + } + }, + { + "name": "periods", + "type": "u32" + }, + { + "name": "allow_clawback", + "type": "bool" + } + ] + }, + { + "name": "create_registrar", + "discriminator": [ + 132, + 235, + 36, + 49, + 139, + 66, + 202, + 69 + ], + "accounts": [ + { + "name": "registrar", + "docs": [ + "The voting registrar. There can only be a single registrar", + "per governance realm and governing mint." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "realm" + }, + { + "kind": "const", + "value": [ + 114, + 101, + 103, + 105, + 115, + 116, + 114, + 97, + 114 + ] + }, + { + "kind": "account", + "path": "realm_governing_token_mint" + } + ] + } + }, + { + "name": "realm", + "docs": [ + "An spl-governance realm", + "", + "- realm is owned by the governance_program_id", + "- realm_governing_token_mint must be the community or council mint", + "- realm_authority is realm.authority" + ] + }, + { + "name": "governance_program_id", + "docs": [ + "The program id of the spl-governance program the realm belongs to." + ] + }, + { + "name": "realm_governing_token_mint", + "docs": [ + "Either the realm community mint or the council mint." + ] + }, + { + "name": "realm_authority", + "signer": true + }, + { + "name": "payer", + "writable": true, + "signer": true + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + }, + { + "name": "rent", + "address": "SysvarRent111111111111111111111111111111111" + } + ], + "args": [ + { + "name": "registrar_bump", + "type": "u8" + } + ] + }, + { + "name": "create_voter", + "discriminator": [ + 6, + 24, + 245, + 52, + 243, + 255, + 148, + 25 + ], + "accounts": [ + { + "name": "registrar" + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "docs": [ + "The authority controling the voter. Must be the same as the", + "`governing_token_owner` in the token owner record used with", + "spl-governance." + ], + "signer": true + }, + { + "name": "voter_weight_record", + "docs": [ + "The voter weight record is the account that will be shown to spl-governance", + "to prove how much vote weight the voter has. See update_voter_weight_record." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "payer", + "writable": true, + "signer": true + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + }, + { + "name": "rent", + "address": "SysvarRent111111111111111111111111111111111" + }, + { + "name": "instructions", + "address": "Sysvar1nstructions1111111111111111111111111" + } + ], + "args": [ + { + "name": "voter_bump", + "type": "u8" + }, + { + "name": "voter_weight_record_bump", + "type": "u8" + } + ] + }, + { + "name": "deposit", + "discriminator": [ + 242, + 35, + 198, + 137, + 82, + 225, + 242, + 182 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } + }, + { + "name": "vault", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "deposit_token.mint", + "account": "TokenAccount" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } + }, + { + "name": "deposit_token", + "writable": true + }, + { + "name": "deposit_authority", + "signer": true + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + } + ], + "args": [ + { + "name": "deposit_entry_index", + "type": "u8" + }, + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "grant", + "discriminator": [ + 145, + 189, + 68, + 153, + 161, + 231, + 76, + 107 + ], + "accounts": [ + { + "name": "registrar" + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "docs": [ + "The account of the grantee / the address controlling the voter", + "that the grant is going to." + ] + }, + { + "name": "voter_weight_record", + "docs": [ + "The voter weight record is the account that will be shown to spl-governance", + "to prove how much vote weight the voter has. See update_voter_weight_record." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "vault", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "deposit_mint" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } + }, + { + "name": "deposit_token", + "writable": true + }, + { + "name": "token_authority", + "docs": [ + "Authority for transfering tokens away from deposit_token" + ], + "signer": true + }, + { + "name": "grant_authority", + "docs": [ + "Authority for making a grant to this voter account", + "", + "Verification inline in instruction" + ], + "signer": true + }, + { + "name": "payer", + "docs": [ + "Rent payer if a new account is to be created" + ], + "writable": true, + "signer": true + }, + { + "name": "deposit_mint" + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + }, + { + "name": "associated_token_program", + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" + }, + { + "name": "rent", + "address": "SysvarRent111111111111111111111111111111111" + } + ], + "args": [ + { + "name": "voter_bump", + "type": "u8" + }, + { + "name": "voter_weight_record_bump", + "type": "u8" + }, + { + "name": "kind", + "type": { + "defined": { + "name": "LockupKind" + } + } + }, + { + "name": "start_ts", + "type": { + "option": "u64" + } + }, + { + "name": "periods", + "type": "u32" + }, + { + "name": "allow_clawback", + "type": "bool" + }, + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "internal_transfer_locked", + "discriminator": [ + 246, + 200, + 90, + 231, + 133, + 22, + 25, + 220 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "signer": true, + "relations": [ + "voter" + ] + } + ], + "args": [ + { + "name": "source_deposit_entry_index", + "type": "u8" + }, + { + "name": "target_deposit_entry_index", + "type": "u8" + }, + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "internal_transfer_unlocked", + "discriminator": [ + 95, + 95, + 252, + 26, + 102, + 114, + 142, + 193 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "signer": true, + "relations": [ + "voter" + ] + } + ], + "args": [ + { + "name": "source_deposit_entry_index", + "type": "u8" + }, + { + "name": "target_deposit_entry_index", + "type": "u8" + }, + { + "name": "amount", + "type": "u64" + } + ] + }, + { + "name": "log_voter_info", + "discriminator": [ + 171, + 72, + 233, + 90, + 143, + 151, + 113, + 51 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter" + } + ], + "args": [ + { + "name": "deposit_entry_begin", + "type": "u8" + }, + { + "name": "deposit_entry_count", + "type": "u8" + } + ] + }, + { + "name": "reset_lockup", + "discriminator": [ + 243, + 20, + 24, + 247, + 238, + 148, + 94, + 62 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "signer": true, + "relations": [ + "voter" + ] + } + ], + "args": [ + { + "name": "deposit_entry_index", + "type": "u8" + }, + { + "name": "kind", + "type": { + "defined": { + "name": "LockupKind" + } + } + }, + { + "name": "periods", + "type": "u32" + } + ] + }, + { + "name": "set_time_offset", + "discriminator": [ + 89, + 238, + 89, + 160, + 239, + 113, + 25, + 123 + ], + "accounts": [ + { + "name": "registrar", + "writable": true + }, + { + "name": "realm_authority", + "signer": true, + "relations": [ + "registrar" + ] + } + ], + "args": [ + { + "name": "time_offset", + "type": "i64" + } + ] + }, + { + "name": "update_max_vote_weight", + "discriminator": [ + 78, + 221, + 185, + 255, + 240, + 128, + 244, + 162 + ], + "accounts": [ + { + "name": "registrar" + }, + { + "name": "max_vote_weight_record" + } + ], + "args": [] + }, + { + "name": "update_voter_weight_record", + "discriminator": [ + 45, + 185, + 3, + 36, + 109, + 190, + 115, + 169 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } + }, + { + "name": "voter_weight_record", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [] + }, + { + "name": "withdraw", + "discriminator": [ + 183, + 18, + 70, + 156, + 148, + 109, + 161, + 34 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "voter_authority", + "signer": true, + "relations": [ + "voter" + ] + }, + { + "name": "token_owner_record", + "docs": [ + "The token_owner_record for the voter_authority. This is needed", + "to be able to forbid withdraws while the voter is engaged with", + "a vote or has an open proposal.", + "", + "- owned by registrar.governance_program_id", + "- for the registrar.realm", + "- for the registrar.realm_governing_token_mint", + "- governing_token_owner is voter_authority" + ] + }, + { + "name": "voter_weight_record", + "docs": [ + "Withdraws must update the voter weight record, to prevent a stale", + "record being used to vote after the withdraw." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voter_authority" + } + ] + } + }, + { + "name": "vault", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "destination.mint", + "account": "TokenAccount" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } + }, + { + "name": "destination", + "writable": true + }, + { + "name": "token_program", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + } + ], + "args": [ + { + "name": "deposit_entry_index", + "type": "u8" + }, + { + "name": "amount", + "type": "u64" + } + ] + } + ], + "accounts": [ + { + "name": "Registrar", + "discriminator": [ + 193, + 202, + 205, + 51, + 78, + 168, + 150, + 128 + ] + }, + { + "name": "Voter", + "discriminator": [ + 241, + 93, + 35, + 191, + 254, + 147, + 17, + 202 + ] + } + ], + "types": [ + { + "name": "DepositEntry", + "docs": [ + "Bookkeeping for a single deposit for a given mint and lockup schedule." + ], + "serialization": "bytemuckunsafe", + "repr": { + "kind": "rust", + "packed": true + }, + "type": { + "kind": "struct", + "fields": [ + { + "name": "lockup", + "type": { + "defined": { + "name": "Lockup" + } + } + }, + { + "name": "amount_deposited_native", + "docs": [ + "Amount in deposited, in native currency. Withdraws of vested tokens", + "directly reduce this amount.", + "", + "This directly tracks the total amount added by the user. They may", + "never withdraw more than this amount." + ], + "type": "u64" + }, + { + "name": "amount_initially_locked_native", + "docs": [ + "Amount in locked when the lockup began, in native currency.", + "", + "Note that this is not adjusted for withdraws. It is possible for this", + "value to be bigger than amount_deposited_native after some vesting", + "and withdrawals.", + "", + "This value is needed to compute the amount that vests each peroid,", + "which should not change due to withdraws." + ], + "type": "u64" + }, + { + "name": "is_used", + "type": "bool" + }, + { + "name": "allow_clawback", + "docs": [ + "If the clawback authority is allowed to extract locked tokens." + ], + "type": "bool" + }, + { + "name": "voting_mint_config_idx", + "type": "u8" + }, + { + "name": "reserved", + "type": { + "array": [ + "u8", + 29 + ] + } + } + ] + } + }, + { + "name": "DepositEntryInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "deposit_entry_index", + "type": "u8" + }, + { + "name": "voting_mint_config_index", + "type": "u8" + }, + { + "name": "unlocked", + "docs": [ + "Amount that is unlocked" + ], + "type": "u64" + }, + { + "name": "voting_power", + "docs": [ + "Voting power implied by this deposit entry" + ], + "type": "u64" + }, + { + "name": "voting_power_baseline", + "docs": [ + "Voting power without any adjustments for lockup" + ], + "type": "u64" + }, + { + "name": "locking", + "docs": [ + "Information about locking, if any" + ], + "type": { + "option": { + "defined": { + "name": "LockingInfo" + } + } + } + } + ] + } + }, + { + "name": "LockingInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "amount", + "docs": [ + "Amount of locked tokens" + ], + "type": "u64" + }, + { + "name": "end_timestamp", + "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": { + "name": "VestingInfo" + } + } + } + } + ] + } + }, + { + "name": "Lockup", + "serialization": "bytemuckunsafe", + "repr": { + "kind": "rust", + "packed": true + }, + "type": { + "kind": "struct", + "fields": [ + { + "name": "start_ts", + "docs": [ + "Start of the lockup.", + "", + "Note, that if start_ts is in the future, the funds are nevertheless", + "locked up!", + "", + "Similarly vote power computations don't care about start_ts and always", + "assume the full interval from now to end_ts." + ], + "type": "i64" + }, + { + "name": "end_ts", + "docs": [ + "End of the lockup." + ], + "type": "i64" + }, + { + "name": "kind", + "docs": [ + "Type of lockup." + ], + "type": { + "defined": { + "name": "LockupKind" + } + } + }, + { + "name": "reserved", + "type": { + "array": [ + "u8", + 15 + ] + } + } + ] + } + }, + { + "name": "LockupKind", + "repr": { + "kind": "rust" + }, + "type": { + "kind": "enum", + "variants": [ + { + "name": "None" + }, + { + "name": "Daily" + }, + { + "name": "Monthly" + }, + { + "name": "Cliff" + }, + { + "name": "Constant" + } + ] + } + }, + { + "name": "Registrar", + "docs": [ + "Instance of a voting rights distributor." + ], + "serialization": "bytemuck", + "repr": { + "kind": "c" + }, + "type": { + "kind": "struct", + "fields": [ + { + "name": "governance_program_id", + "type": "pubkey" + }, + { + "name": "realm", + "type": "pubkey" + }, + { + "name": "realm_governing_token_mint", + "type": "pubkey" + }, + { + "name": "realm_authority", + "type": "pubkey" + }, + { + "name": "reserved1", + "type": { + "array": [ + "u8", + 32 + ] + } + }, + { + "name": "voting_mints", + "docs": [ + "Storage for voting mints and their configuration.", + "The length should be adjusted for one's use case." + ], + "type": { + "array": [ + { + "defined": { + "name": "VotingMintConfig" + } + }, + 4 + ] + } + }, + { + "name": "time_offset", + "docs": [ + "Debug only: time offset, to allow tests to move forward in time." + ], + "type": "i64" + }, + { + "name": "bump", + "type": "u8" + }, + { + "name": "reserved2", + "type": { + "array": [ + "u8", + 7 + ] + } + }, + { + "name": "reserved3", + "type": { + "array": [ + "u64", + 11 + ] + } + } + ] + } + }, + { + "name": "VestingInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "rate", + "docs": [ + "Amount of tokens vested each period" + ], + "type": "u64" + }, + { + "name": "next_timestamp", + "docs": [ + "Time of the next upcoming vesting" + ], + "type": "u64" + } + ] + } + }, + { + "name": "Voter", + "docs": [ + "User account for minting voting rights." + ], + "serialization": "bytemuckunsafe", + "repr": { + "kind": "rust", + "packed": true + }, + "type": { + "kind": "struct", + "fields": [ + { + "name": "voter_authority", + "type": "pubkey" + }, + { + "name": "registrar", + "type": "pubkey" + }, + { + "name": "deposits", + "type": { + "array": [ + { + "defined": { + "name": "DepositEntry" + } + }, + 32 + ] + } + }, + { + "name": "voter_bump", + "type": "u8" + }, + { + "name": "voter_weight_record_bump", + "type": "u8" + }, + { + "name": "reserved", + "type": { + "array": [ + "u8", + 94 + ] + } + } + ] + } + }, + { + "name": "VoterInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "voting_power", + "docs": [ + "Voter's total voting power" + ], + "type": "u64" + }, + { + "name": "voting_power_baseline", + "docs": [ + "Voter's total voting power, when ignoring any effects from lockup" + ], + "type": "u64" + } + ] + } + }, + { + "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." + ], + "serialization": "bytemuck", + "repr": { + "kind": "c" + }, + "type": { + "kind": "struct", + "fields": [ + { + "name": "mint", + "docs": [ + "Mint for this entry." + ], + "type": "pubkey" + }, + { + "name": "grant_authority", + "docs": [ + "The authority that is allowed to push grants into voters" + ], + "type": "pubkey" + }, + { + "name": "baseline_vote_weight_scaled_factor", + "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": "max_extra_lockup_vote_weight_scaled_factor", + "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": "lockup_saturation_secs", + "docs": [ + "Number of seconds of lockup needed to reach the maximum lockup bonus." + ], + "type": "u64" + }, + { + "name": "digit_shift", + "docs": [ + "Number of digits to shift native amounts, applying a 10^digit_shift factor." + ], + "type": "i8" + }, + { + "name": "reserved1", + "type": { + "array": [ + "u8", + 7 + ] + } + }, + { + "name": "reserved2", + "type": { + "array": [ + "u64", + 7 + ] + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/voter_stake_registry.ts b/src/voter_stake_registry.ts index 41ad7154..40bf9705 100644 --- a/src/voter_stake_registry.ts +++ b/src/voter_stake_registry.ts @@ -1,75 +1,366 @@ +/** + * Program IDL in camelCase format in order to be used in JS/TS. + * + * Note that this is only a type helper and is not the actual IDL. The original + * IDL can be found at `target/idl/voter_stake_registry.json`. + */ export type VoterStakeRegistry = { - "version": "0.2.1", - "name": "voter_stake_registry", + "address": "4Q6WW2ouZ6V3iaNm56MTd5n2tnTm4C5fiH8miFHnAFHo", + "metadata": { + "name": "voterStakeRegistry", + "version": "0.2.4", + "spec": "0.1.0", + "description": "a voter weight plugin for spl-governance" + }, + "docs": [ + "# Introduction", + "", + "The governance registry is an \"addin\" to the SPL governance program that", + "allows one to both vote with many different ypes of tokens for voting and to", + "scale voting power as a linear function of time locked--subject to some", + "maximum upper bound.", + "", + "The flow for voting with this program is as follows:", + "", + "- 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.", + "- Create a voter account.", + "- Deposit tokens into this program, with an optional lockup period.", + "- Vote.", + "", + "Upon voting with SPL governance, a client is expected to call", + "`decay_voting_power` to get an up to date measurement of a given `Voter`'s", + "voting power for the given slot. If this is not done, then the transaction", + "will fail (since the SPL governance program will require the measurement", + "to be active for the current slot).", + "", + "# Interacting with SPL Governance", + "", + "This program does not directly interact with SPL governance via CPI.", + "Instead, it simply writes a `VoterWeightRecord` account with a well defined", + "format, which is then used by SPL governance as the voting power measurement", + "for a given user.", + "", + "# Max Vote Weight", + "", + "Given that one can use multiple tokens to vote, the max vote weight needs", + "to be a function of the total supply of all tokens, converted into a common", + "currency. For example, if you have Token A and Token B, where 1 Token B =", + "10 Token A, then the `max_vote_weight` should be `supply(A) + supply(B)*10`", + "where both are converted into common decimals. Then, when calculating the", + "weight of an individual voter, one can convert B into A via the given", + "exchange rate, which must be fixed.", + "", + "Note that the above also implies that the `max_vote_weight` must fit into", + "a u64." + ], "instructions": [ { - "name": "createRegistrar", + "name": "clawback", + "discriminator": [ + 111, + 92, + 142, + 79, + 33, + 234, + 82, + 27 + ], "accounts": [ { "name": "registrar", - "isMut": true, - "isSigner": false + "relations": [ + "voter" + ] }, { - "name": "realm", - "isMut": false, - "isSigner": false + "name": "realmAuthority", + "signer": true, + "relations": [ + "registrar" + ] }, { - "name": "governanceProgramId", - "isMut": false, - "isSigner": false + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } }, { - "name": "realmGoverningTokenMint", - "isMut": false, - "isSigner": false + "name": "vault", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "destination.mint", + "account": "tokenAccount" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { - "name": "realmAuthority", - "isMut": false, - "isSigner": true + "name": "destination", + "writable": true }, { - "name": "payer", - "isMut": true, - "isSigner": true - }, + "name": "tokenProgram", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + } + ], + "args": [ { - "name": "systemProgram", - "isMut": false, - "isSigner": false + "name": "depositEntryIndex", + "type": "u8" + } + ] + }, + { + "name": "closeDepositEntry", + "discriminator": [ + 236, + 190, + 87, + 34, + 251, + 131, + 138, + 237 + ], + "accounts": [ + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { - "name": "rent", - "isMut": false, - "isSigner": false + "name": "voterAuthority", + "signer": true, + "relations": [ + "voter" + ] } ], "args": [ { - "name": "registrarBump", + "name": "depositEntryIndex", "type": "u8" } ] }, + { + "name": "closeVoter", + "discriminator": [ + 117, + 35, + 234, + 247, + 206, + 131, + 182, + 149 + ], + "accounts": [ + { + "name": "registrar" + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } + }, + { + "name": "voterAuthority", + "signer": true, + "relations": [ + "voter" + ] + }, + { + "name": "solDestination", + "writable": true + }, + { + "name": "tokenProgram", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + } + ], + "args": [] + }, { "name": "configureVotingMint", + "discriminator": [ + 113, + 153, + 141, + 236, + 184, + 9, + 135, + 15 + ], "accounts": [ { "name": "registrar", - "isMut": true, - "isSigner": false + "writable": true }, { "name": "realmAuthority", - "isMut": false, - "isSigner": true + "signer": true, + "relations": [ + "registrar" + ] }, { "name": "mint", - "isMut": false, - "isSigner": false + "docs": [ + "Tokens of this mint will produce vote weight" + ] } ], "args": [ @@ -96,118 +387,176 @@ export type VoterStakeRegistry = { { "name": "grantAuthority", "type": { - "option": "publicKey" + "option": "pubkey" } } ] }, - { - "name": "createVoter", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "instructions", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "voterBump", - "type": "u8" - }, - { - "name": "voterWeightRecordBump", - "type": "u8" - } - ] - }, { "name": "createDepositEntry", + "discriminator": [ + 185, + 131, + 167, + 186, + 159, + 125, + 19, + 67 + ], "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false + "relations": [ + "voter" + ] }, { "name": "voter", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { "name": "vault", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "depositMint" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { "name": "voterAuthority", - "isMut": false, - "isSigner": true + "signer": true, + "relations": [ + "voter" + ] }, { "name": "payer", - "isMut": true, - "isSigner": true + "writable": true, + "signer": true }, { - "name": "depositMint", - "isMut": false, - "isSigner": false + "name": "depositMint" }, { "name": "systemProgram", - "isMut": false, - "isSigner": false + "address": "11111111111111111111111111111111" }, { "name": "tokenProgram", - "isMut": false, - "isSigner": false + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { "name": "rent", - "isMut": false, - "isSigner": false + "address": "SysvarRent111111111111111111111111111111111" } ], "args": [ @@ -218,7 +567,9 @@ export type VoterStakeRegistry = { { "name": "kind", "type": { - "defined": "LockupKind" + "defined": { + "name": "lockupKind" + } } }, { @@ -238,92 +589,370 @@ export type VoterStakeRegistry = { ] }, { - "name": "deposit", + "name": "createRegistrar", + "discriminator": [ + 132, + 235, + 36, + 49, + 139, + 66, + 202, + 69 + ], "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false + "docs": [ + "The voting registrar. There can only be a single registrar", + "per governance realm and governing mint." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "realm" + }, + { + "kind": "const", + "value": [ + 114, + 101, + 103, + 105, + 115, + 116, + 114, + 97, + 114 + ] + }, + { + "kind": "account", + "path": "realmGoverningTokenMint" + } + ] + } }, { - "name": "voter", - "isMut": true, - "isSigner": false + "name": "realm", + "docs": [ + "An spl-governance realm", + "", + "- realm is owned by the governance_program_id", + "- realm_governing_token_mint must be the community or council mint", + "- realm_authority is realm.authority" + ] }, { - "name": "vault", - "isMut": true, - "isSigner": false + "name": "governanceProgramId", + "docs": [ + "The program id of the spl-governance program the realm belongs to." + ] }, { - "name": "depositToken", - "isMut": true, - "isSigner": false + "name": "realmGoverningTokenMint", + "docs": [ + "Either the realm community mint or the council mint." + ] }, { - "name": "depositAuthority", - "isMut": false, - "isSigner": true + "name": "realmAuthority", + "signer": true }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "payer", + "writable": true, + "signer": true + }, + { + "name": "systemProgram", + "address": "11111111111111111111111111111111" + }, + { + "name": "rent", + "address": "SysvarRent111111111111111111111111111111111" } ], "args": [ { - "name": "depositEntryIndex", + "name": "registrarBump", "type": "u8" - }, - { - "name": "amount", - "type": "u64" } ] }, { - "name": "withdraw", + "name": "createVoter", + "discriminator": [ + 6, + 24, + 245, + 52, + 243, + 255, + 148, + 25 + ], "accounts": [ { - "name": "registrar", - "isMut": false, - "isSigner": false + "name": "registrar" }, { "name": "voter", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { "name": "voterAuthority", - "isMut": false, - "isSigner": true + "docs": [ + "The authority controling the voter. Must be the same as the", + "`governing_token_owner` in the token owner record used with", + "spl-governance." + ], + "signer": true }, { - "name": "tokenOwnerRecord", - "isMut": false, - "isSigner": false + "name": "voterWeightRecord", + "docs": [ + "The voter weight record is the account that will be shown to spl-governance", + "to prove how much vote weight the voter has. See update_voter_weight_record." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false + "name": "payer", + "writable": true, + "signer": true + }, + { + "name": "systemProgram", + "address": "11111111111111111111111111111111" + }, + { + "name": "rent", + "address": "SysvarRent111111111111111111111111111111111" + }, + { + "name": "instructions", + "address": "Sysvar1nstructions1111111111111111111111111" + } + ], + "args": [ + { + "name": "voterBump", + "type": "u8" + }, + { + "name": "voterWeightRecordBump", + "type": "u8" + } + ] + }, + { + "name": "deposit", + "discriminator": [ + 242, + 35, + 198, + 137, + 82, + 225, + 242, + 182 + ], + "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, + { + "name": "voter", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } }, { "name": "vault", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "deposit_token.mint", + "account": "tokenAccount" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { - "name": "destination", - "isMut": true, - "isSigner": false + "name": "depositToken", + "writable": true + }, + { + "name": "depositAuthority", + "signer": true }, { "name": "tokenProgram", - "isMut": false, - "isSigner": false + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" } ], "args": [ @@ -339,76 +968,233 @@ export type VoterStakeRegistry = { }, { "name": "grant", + "discriminator": [ + 145, + 189, + 68, + 153, + 161, + 231, + 76, + 107 + ], "accounts": [ { - "name": "registrar", - "isMut": false, - "isSigner": false + "name": "registrar" }, { "name": "voter", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { "name": "voterAuthority", - "isMut": false, - "isSigner": false + "docs": [ + "The account of the grantee / the address controlling the voter", + "that the grant is going to." + ] }, { "name": "voterWeightRecord", - "isMut": true, - "isSigner": false + "docs": [ + "The voter weight record is the account that will be shown to spl-governance", + "to prove how much vote weight the voter has. See update_voter_weight_record." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { "name": "vault", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "depositMint" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { "name": "depositToken", - "isMut": true, - "isSigner": false + "writable": true }, { "name": "tokenAuthority", - "isMut": false, - "isSigner": true + "docs": [ + "Authority for transfering tokens away from deposit_token" + ], + "signer": true }, { "name": "grantAuthority", - "isMut": false, - "isSigner": true + "docs": [ + "Authority for making a grant to this voter account", + "", + "Verification inline in instruction" + ], + "signer": true }, { "name": "payer", - "isMut": true, - "isSigner": true + "docs": [ + "Rent payer if a new account is to be created" + ], + "writable": true, + "signer": true }, { - "name": "depositMint", - "isMut": false, - "isSigner": false + "name": "depositMint" }, { "name": "systemProgram", - "isMut": false, - "isSigner": false + "address": "11111111111111111111111111111111" }, { "name": "tokenProgram", - "isMut": false, - "isSigner": false + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false + "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { "name": "rent", - "isMut": false, - "isSigner": false + "address": "SysvarRent111111111111111111111111111111111" } ], "args": [ @@ -423,7 +1209,9 @@ export type VoterStakeRegistry = { { "name": "kind", "type": { - "defined": "LockupKind" + "defined": { + "name": "lockupKind" + } } }, { @@ -447,287 +1235,609 @@ export type VoterStakeRegistry = { ] }, { - "name": "clawback", + "name": "internalTransferLocked", + "discriminator": [ + 246, + 200, + 90, + 231, + 133, + 22, + 25, + 220 + ], "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true + "relations": [ + "voter" + ] }, { "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "destination", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false + "name": "voterAuthority", + "signer": true, + "relations": [ + "voter" + ] } ], "args": [ { - "name": "depositEntryIndex", + "name": "sourceDepositEntryIndex", + "type": "u8" + }, + { + "name": "targetDepositEntryIndex", "type": "u8" + }, + { + "name": "amount", + "type": "u64" } ] }, { - "name": "closeDepositEntry", + "name": "internalTransferUnlocked", + "discriminator": [ + 95, + 95, + 252, + 26, + 102, + 114, + 142, + 193 + ], "accounts": [ + { + "name": "registrar", + "relations": [ + "voter" + ] + }, { "name": "voter", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { "name": "voterAuthority", - "isMut": false, - "isSigner": true + "signer": true, + "relations": [ + "voter" + ] } ], "args": [ { - "name": "depositEntryIndex", + "name": "sourceDepositEntryIndex", + "type": "u8" + }, + { + "name": "targetDepositEntryIndex", "type": "u8" + }, + { + "name": "amount", + "type": "u64" } ] }, { - "name": "resetLockup", + "name": "logVoterInfo", + "discriminator": [ + 171, + 72, + 233, + 90, + 143, + 151, + 113, + 51 + ], "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false + "relations": [ + "voter" + ] }, { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true + "name": "voter" } ], "args": [ { - "name": "depositEntryIndex", + "name": "depositEntryBegin", "type": "u8" }, { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "periods", - "type": "u32" + "name": "depositEntryCount", + "type": "u8" } ] }, { - "name": "internalTransferLocked", + "name": "resetLockup", + "discriminator": [ + 243, + 20, + 24, + 247, + 238, + 148, + 94, + 62 + ], "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false + "relations": [ + "voter" + ] }, { "name": "voter", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { "name": "voterAuthority", - "isMut": false, - "isSigner": true + "signer": true, + "relations": [ + "voter" + ] } ], "args": [ { - "name": "sourceDepositEntryIndex", + "name": "depositEntryIndex", "type": "u8" }, { - "name": "targetDepositEntryIndex", - "type": "u8" + "name": "kind", + "type": { + "defined": { + "name": "lockupKind" + } + } }, { - "name": "amount", - "type": "u64" + "name": "periods", + "type": "u32" } ] }, { - "name": "internalTransferUnlocked", + "name": "setTimeOffset", + "discriminator": [ + 89, + 238, + 89, + 160, + 239, + 113, + 25, + 123 + ], "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false + "writable": true }, { - "name": "voterAuthority", - "isMut": false, - "isSigner": true + "name": "realmAuthority", + "signer": true, + "relations": [ + "registrar" + ] } ], "args": [ { - "name": "sourceDepositEntryIndex", - "type": "u8" - }, + "name": "timeOffset", + "type": "i64" + } + ] + }, + { + "name": "updateMaxVoteWeight", + "discriminator": [ + 78, + 221, + 185, + 255, + 240, + 128, + 244, + 162 + ], + "accounts": [ { - "name": "targetDepositEntryIndex", - "type": "u8" + "name": "registrar" }, { - "name": "amount", - "type": "u64" + "name": "maxVoteWeightRecord" } - ] + ], + "args": [] }, { "name": "updateVoterWeightRecord", + "discriminator": [ + 45, + 185, + 3, + 36, + 109, + 190, + 115, + 169 + ], "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false + "relations": [ + "voter" + ] }, { "name": "voter", - "isMut": false, - "isSigner": false + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } }, { "name": "voterWeightRecord", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voter" + } + ] + } }, { "name": "systemProgram", - "isMut": false, - "isSigner": false + "address": "11111111111111111111111111111111" } ], "args": [] }, { - "name": "updateMaxVoteWeight", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "maxVoteWeightRecord", - "isMut": false, - "isSigner": false - } + "name": "withdraw", + "discriminator": [ + 183, + 18, + 70, + 156, + 148, + 109, + 161, + 34 ], - "args": [] - }, - { - "name": "closeVoter", "accounts": [ { "name": "registrar", - "isMut": false, - "isSigner": false + "relations": [ + "voter" + ] }, { "name": "voter", - "isMut": true, - "isSigner": false + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { "name": "voterAuthority", - "isMut": false, - "isSigner": true + "signer": true, + "relations": [ + "voter" + ] }, { - "name": "solDestination", - "isMut": true, - "isSigner": false + "name": "tokenOwnerRecord", + "docs": [ + "The token_owner_record for the voter_authority. This is needed", + "to be able to forbid withdraws while the voter is engaged with", + "a vote or has an open proposal.", + "", + "- owned by registrar.governance_program_id", + "- for the registrar.realm", + "- for the registrar.realm_governing_token_mint", + "- governing_token_owner is voter_authority" + ] }, { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "logVoterInfo", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false + "name": "voterWeightRecord", + "docs": [ + "Withdraws must update the voter weight record, to prevent a stale", + "record being used to vote after the withdraw." + ], + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "registrar" + }, + { + "kind": "const", + "value": [ + 118, + 111, + 116, + 101, + 114, + 45, + 119, + 101, + 105, + 103, + 104, + 116, + 45, + 114, + 101, + 99, + 111, + 114, + 100 + ] + }, + { + "kind": "account", + "path": "voterAuthority" + } + ] + } }, { - "name": "voter", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryBegin", - "type": "u8" + "name": "vault", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "account", + "path": "voter" + }, + { + "kind": "const", + "value": [ + 6, + 221, + 246, + 225, + 215, + 101, + 161, + 147, + 217, + 203, + 225, + 70, + 206, + 235, + 121, + 172, + 28, + 180, + 133, + 237, + 95, + 91, + 55, + 145, + 58, + 140, + 245, + 133, + 126, + 255, + 0, + 169 + ] + }, + { + "kind": "account", + "path": "destination.mint", + "account": "tokenAccount" + } + ], + "program": { + "kind": "const", + "value": [ + 140, + 151, + 37, + 143, + 78, + 36, + 137, + 241, + 187, + 61, + 16, + 41, + 20, + 142, + 13, + 131, + 11, + 90, + 19, + 153, + 218, + 255, + 16, + 132, + 4, + 142, + 123, + 216, + 219, + 233, + 248, + 89 + ] + } + } }, { - "name": "depositEntryCount", - "type": "u8" - } - ] - }, - { - "name": "setTimeOffset", - "accounts": [ - { - "name": "registrar", - "isMut": true, - "isSigner": false + "name": "destination", + "writable": true }, { - "name": "realmAuthority", - "isMut": false, - "isSigner": true + "name": "tokenProgram", + "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" } ], "args": [ { - "name": "timeOffset", - "type": "i64" + "name": "depositEntryIndex", + "type": "u8" + }, + { + "name": "amount", + "type": "u64" } ] } @@ -735,137 +1845,76 @@ export type VoterStakeRegistry = { "accounts": [ { "name": "registrar", - "type": { - "kind": "struct", - "fields": [ - { - "name": "governanceProgramId", - "type": "publicKey" - }, - { - "name": "realm", - "type": "publicKey" - }, - { - "name": "realmGoverningTokenMint", - "type": "publicKey" - }, - { - "name": "realmAuthority", - "type": "publicKey" - }, - { - "name": "reserved1", - "type": { - "array": [ - "u8", - 32 - ] - } - }, - { - "name": "votingMints", - "type": { - "array": [ - { - "defined": "VotingMintConfig" - }, - 4 - ] - } - }, - { - "name": "timeOffset", - "type": "i64" - }, - { - "name": "bump", - "type": "u8" - }, - { - "name": "reserved2", - "type": { - "array": [ - "u8", - 7 - ] - } - }, - { - "name": "reserved3", - "type": { - "array": [ - "u64", - 11 - ] - } - } - ] - } + "discriminator": [ + 193, + 202, + 205, + 51, + 78, + 168, + 150, + 128 + ] }, { "name": "voter", - "type": { - "kind": "struct", - "fields": [ - { - "name": "voterAuthority", - "type": "publicKey" - }, - { - "name": "registrar", - "type": "publicKey" - }, - { - "name": "deposits", - "type": { - "array": [ - { - "defined": "DepositEntry" - }, - 32 - ] - } - }, - { - "name": "voterBump", - "type": "u8" - }, - { - "name": "voterWeightRecordBump", - "type": "u8" - }, - { - "name": "reserved", - "type": { - "array": [ - "u8", - 94 - ] - } - } - ] - } + "discriminator": [ + 241, + 93, + 35, + 191, + 254, + 147, + 17, + 202 + ] } ], "types": [ { - "name": "DepositEntry", + "name": "depositEntry", + "docs": [ + "Bookkeeping for a single deposit for a given mint and lockup schedule." + ], + "serialization": "bytemuckunsafe", + "repr": { + "kind": "rust", + "packed": true + }, "type": { "kind": "struct", "fields": [ { "name": "lockup", "type": { - "defined": "Lockup" + "defined": { + "name": "lockup" + } } }, { "name": "amountDepositedNative", + "docs": [ + "Amount in deposited, in native currency. Withdraws of vested tokens", + "directly reduce this amount.", + "", + "This directly tracks the total amount added by the user. They may", + "never withdraw more than this amount." + ], "type": "u64" }, { "name": "amountInitiallyLockedNative", + "docs": [ + "Amount in locked when the lockup began, in native currency.", + "", + "Note that this is not adjusted for withdraws. It is possible for this", + "value to be bigger than amount_deposited_native after some vesting", + "and withdrawals.", + "", + "This value is needed to compute the amount that vests each peroid,", + "which should not change due to withdraws." + ], "type": "u64" }, { @@ -874,6 +1923,9 @@ export type VoterStakeRegistry = { }, { "name": "allowClawback", + "docs": [ + "If the clawback authority is allowed to extract locked tokens." + ], "type": "bool" }, { @@ -893,41 +1945,86 @@ export type VoterStakeRegistry = { } }, { - "name": "VestingInfo", + "name": "depositEntryInfo", "type": { "kind": "struct", "fields": [ { - "name": "rate", + "name": "depositEntryIndex", + "type": "u8" + }, + { + "name": "votingMintConfigIndex", + "type": "u8" + }, + { + "name": "unlocked", + "docs": [ + "Amount that is unlocked" + ], "type": "u64" }, { - "name": "nextTimestamp", + "name": "votingPower", + "docs": [ + "Voting power implied by this deposit entry" + ], + "type": "u64" + }, + { + "name": "votingPowerBaseline", + "docs": [ + "Voting power without any adjustments for lockup" + ], "type": "u64" + }, + { + "name": "locking", + "docs": [ + "Information about locking, if any" + ], + "type": { + "option": { + "defined": { + "name": "lockingInfo" + } + } + } } ] } }, { - "name": "LockingInfo", + "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" + "defined": { + "name": "vestingInfo" + } } } } @@ -935,22 +2032,44 @@ export type VoterStakeRegistry = { } }, { - "name": "Lockup", + "name": "lockup", + "serialization": "bytemuckunsafe", + "repr": { + "kind": "rust", + "packed": true + }, "type": { "kind": "struct", "fields": [ { "name": "startTs", + "docs": [ + "Start of the lockup.", + "", + "Note, that if start_ts is in the future, the funds are nevertheless", + "locked up!", + "", + "Similarly vote power computations don't care about start_ts and always", + "assume the full interval from now to end_ts." + ], "type": "i64" }, { "name": "endTs", + "docs": [ + "End of the lockup." + ], "type": "i64" }, { "name": "kind", + "docs": [ + "Type of lockup." + ], "type": { - "defined": "LockupKind" + "defined": { + "name": "lockupKind" + } } }, { @@ -966,1084 +2085,58 @@ export type VoterStakeRegistry = { } }, { - "name": "VotingMintConfig", + "name": "lockupKind", + "repr": { + "kind": "rust" + }, "type": { - "kind": "struct", - "fields": [ + "kind": "enum", + "variants": [ { - "name": "mint", - "type": "publicKey" + "name": "none" }, { - "name": "grantAuthority", - "type": "publicKey" + "name": "daily" }, { - "name": "baselineVoteWeightScaledFactor", - "type": "u64" + "name": "monthly" }, { - "name": "maxExtraLockupVoteWeightScaledFactor", - "type": "u64" + "name": "cliff" }, { - "name": "lockupSaturationSecs", - "type": "u64" - }, - { - "name": "digitShift", - "type": "i8" - }, - { - "name": "reserved1", - "type": { - "array": [ - "u8", - 7 - ] - } - }, - { - "name": "reserved2", - "type": { - "array": [ - "u64", - 7 - ] - } - } - ] - } - }, - { - "name": "LockupKind", - "type": { - "kind": "enum", - "variants": [ - { - "name": "None" - }, - { - "name": "Daily" - }, - { - "name": "Monthly" - }, - { - "name": "Cliff" - }, - { - "name": "Constant" + "name": "constant" } ] } - } - ], - "events": [ - { - "name": "VoterInfo", - "fields": [ - { - "name": "votingPower", - "type": "u64", - "index": false - }, - { - "name": "votingPowerBaseline", - "type": "u64", - "index": false - } - ] - }, - { - "name": "DepositEntryInfo", - "fields": [ - { - "name": "depositEntryIndex", - "type": "u8", - "index": false - }, - { - "name": "votingMintConfigIndex", - "type": "u8", - "index": false - }, - { - "name": "unlocked", - "type": "u64", - "index": false - }, - { - "name": "votingPower", - "type": "u64", - "index": false - }, - { - "name": "votingPowerBaseline", - "type": "u64", - "index": false - }, - { - "name": "locking", - "type": { - "option": { - "defined": "LockingInfo" - } - }, - "index": false - } - ] - } - ], - "errors": [ - { - "code": 6000, - "name": "InvalidRate", - "msg": "Exchange rate must be greater than zero" - }, - { - "code": 6001, - "name": "RatesFull", - "msg": "" - }, - { - "code": 6002, - "name": "VotingMintNotFound", - "msg": "" - }, - { - "code": 6003, - "name": "DepositEntryNotFound", - "msg": "" - }, - { - "code": 6004, - "name": "DepositEntryFull", - "msg": "" - }, - { - "code": 6005, - "name": "VotingTokenNonZero", - "msg": "" - }, - { - "code": 6006, - "name": "OutOfBoundsDepositEntryIndex", - "msg": "" - }, - { - "code": 6007, - "name": "UnusedDepositEntryIndex", - "msg": "" - }, - { - "code": 6008, - "name": "InsufficientUnlockedTokens", - "msg": "" - }, - { - "code": 6009, - "name": "UnableToConvert", - "msg": "" - }, - { - "code": 6010, - "name": "InvalidLockupPeriod", - "msg": "" - }, - { - "code": 6011, - "name": "InvalidEndTs", - "msg": "" - }, - { - "code": 6012, - "name": "InvalidDays", - "msg": "" - }, - { - "code": 6013, - "name": "VotingMintConfigIndexAlreadyInUse", - "msg": "" - }, - { - "code": 6014, - "name": "OutOfBoundsVotingMintConfigIndex", - "msg": "" - }, - { - "code": 6015, - "name": "InvalidDecimals", - "msg": "Exchange rate decimals cannot be larger than registrar decimals" - }, - { - "code": 6016, - "name": "InvalidToDepositAndWithdrawInOneSlot", - "msg": "" - }, - { - "code": 6017, - "name": "ShouldBeTheFirstIxInATx", - "msg": "" - }, - { - "code": 6018, - "name": "ForbiddenCpi", - "msg": "" - }, - { - "code": 6019, - "name": "InvalidMint", - "msg": "" - }, - { - "code": 6020, - "name": "DebugInstruction", - "msg": "" - }, - { - "code": 6021, - "name": "ClawbackNotAllowedOnDeposit", - "msg": "" - }, - { - "code": 6022, - "name": "DepositStillLocked", - "msg": "" - }, - { - "code": 6023, - "name": "InvalidAuthority", - "msg": "" - }, - { - "code": 6024, - "name": "InvalidTokenOwnerRecord", - "msg": "" - }, - { - "code": 6025, - "name": "InvalidRealmAuthority", - "msg": "" - }, - { - "code": 6026, - "name": "VoterWeightOverflow", - "msg": "" - }, - { - "code": 6027, - "name": "LockupSaturationMustBePositive", - "msg": "" - }, - { - "code": 6028, - "name": "VotingMintConfiguredWithDifferentIndex", - "msg": "" - }, - { - "code": 6029, - "name": "InternalProgramError", - "msg": "" - }, - { - "code": 6030, - "name": "InsufficientLockedTokens", - "msg": "" - }, - { - "code": 6031, - "name": "MustKeepTokensLocked", - "msg": "" - }, - { - "code": 6032, - "name": "InvalidLockupKind", - "msg": "" - }, - { - "code": 6033, - "name": "InvalidChangeToClawbackDepositEntry", - "msg": "" - }, - { - "code": 6034, - "name": "InternalErrorBadLockupVoteWeight", - "msg": "" - }, - { - "code": 6035, - "name": "DepositStartTooFarInFuture", - "msg": "" - }, - { - "code": 6036, - "name": "VaultTokenNonZero", - "msg": "" - }, - { - "code": 6037, - "name": "InvalidTimestampArguments", - "msg": "" - } - ] -}; - -export const IDL: VoterStakeRegistry = { - "version": "0.2.1", - "name": "voter_stake_registry", - "instructions": [ - { - "name": "createRegistrar", - "accounts": [ - { - "name": "registrar", - "isMut": true, - "isSigner": false - }, - { - "name": "realm", - "isMut": false, - "isSigner": false - }, - { - "name": "governanceProgramId", - "isMut": false, - "isSigner": false - }, - { - "name": "realmGoverningTokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "registrarBump", - "type": "u8" - } - ] - }, - { - "name": "configureVotingMint", - "accounts": [ - { - "name": "registrar", - "isMut": true, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "mint", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "idx", - "type": "u16" - }, - { - "name": "digitShift", - "type": "i8" - }, - { - "name": "baselineVoteWeightScaledFactor", - "type": "u64" - }, - { - "name": "maxExtraLockupVoteWeightScaledFactor", - "type": "u64" - }, - { - "name": "lockupSaturationSecs", - "type": "u64" - }, - { - "name": "grantAuthority", - "type": { - "option": "publicKey" - } - } - ] - }, - { - "name": "createVoter", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "instructions", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "voterBump", - "type": "u8" - }, - { - "name": "voterWeightRecordBump", - "type": "u8" - } - ] - }, - { - "name": "createDepositEntry", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "depositMint", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "startTs", - "type": { - "option": "u64" - } - }, - { - "name": "periods", - "type": "u32" - }, - { - "name": "allowClawback", - "type": "bool" - } - ] - }, - { - "name": "deposit", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "depositToken", - "isMut": true, - "isSigner": false - }, - { - "name": "depositAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "withdraw", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenOwnerRecord", - "isMut": false, - "isSigner": false - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "destination", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "grant", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": false - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "depositToken", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "grantAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "depositMint", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "voterBump", - "type": "u8" - }, - { - "name": "voterWeightRecordBump", - "type": "u8" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "startTs", - "type": { - "option": "u64" - } - }, - { - "name": "periods", - "type": "u32" - }, - { - "name": "allowClawback", - "type": "bool" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "clawback", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "destination", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - } - ] - }, - { - "name": "closeDepositEntry", - "accounts": [ - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - } - ] - }, - { - "name": "resetLockup", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "periods", - "type": "u32" - } - ] - }, - { - "name": "internalTransferLocked", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "sourceDepositEntryIndex", - "type": "u8" - }, - { - "name": "targetDepositEntryIndex", - "type": "u8" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "internalTransferUnlocked", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "sourceDepositEntryIndex", - "type": "u8" - }, - { - "name": "targetDepositEntryIndex", - "type": "u8" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "updateVoterWeightRecord", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": false, - "isSigner": false - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "updateMaxVoteWeight", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "maxVoteWeightRecord", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "closeVoter", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "solDestination", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "logVoterInfo", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryBegin", - "type": "u8" - }, - { - "name": "depositEntryCount", - "type": "u8" - } - ] }, - { - "name": "setTimeOffset", - "accounts": [ - { - "name": "registrar", - "isMut": true, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "timeOffset", - "type": "i64" - } - ] - } - ], - "accounts": [ { "name": "registrar", + "docs": [ + "Instance of a voting rights distributor." + ], + "serialization": "bytemuck", + "repr": { + "kind": "c" + }, "type": { "kind": "struct", "fields": [ { "name": "governanceProgramId", - "type": "publicKey" + "type": "pubkey" }, { "name": "realm", - "type": "publicKey" + "type": "pubkey" }, { "name": "realmGoverningTokenMint", - "type": "publicKey" + "type": "pubkey" }, { "name": "realmAuthority", - "type": "publicKey" + "type": "pubkey" }, { "name": "reserved1", @@ -2056,10 +2149,16 @@ export const IDL: VoterStakeRegistry = { }, { "name": "votingMints", + "docs": [ + "Storage for voting mints and their configuration.", + "The length should be adjusted for one's use case." + ], "type": { "array": [ { - "defined": "VotingMintConfig" + "defined": { + "name": "votingMintConfig" + } }, 4 ] @@ -2067,6 +2166,9 @@ export const IDL: VoterStakeRegistry = { }, { "name": "timeOffset", + "docs": [ + "Debug only: time offset, to allow tests to move forward in time." + ], "type": "i64" }, { @@ -2094,25 +2196,57 @@ export const IDL: VoterStakeRegistry = { ] } }, + { + "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": "voter", + "docs": [ + "User account for minting voting rights." + ], + "serialization": "bytemuckunsafe", + "repr": { + "kind": "rust", + "packed": true + }, "type": { "kind": "struct", "fields": [ { "name": "voterAuthority", - "type": "publicKey" + "type": "pubkey" }, { "name": "registrar", - "type": "publicKey" + "type": "pubkey" }, { "name": "deposits", "type": { "array": [ { - "defined": "DepositEntry" + "defined": { + "name": "depositEntry" + } }, 32 ] @@ -2137,152 +2271,92 @@ export const IDL: VoterStakeRegistry = { } ] } - } - ], - "types": [ - { - "name": "DepositEntry", - "type": { - "kind": "struct", - "fields": [ - { - "name": "lockup", - "type": { - "defined": "Lockup" - } - }, - { - "name": "amountDepositedNative", - "type": "u64" - }, - { - "name": "amountInitiallyLockedNative", - "type": "u64" - }, - { - "name": "isUsed", - "type": "bool" - }, - { - "name": "allowClawback", - "type": "bool" - }, - { - "name": "votingMintConfigIdx", - "type": "u8" - }, - { - "name": "reserved", - "type": { - "array": [ - "u8", - 29 - ] - } - } - ] - } }, { - "name": "VestingInfo", + "name": "voterInfo", "type": { "kind": "struct", "fields": [ { - "name": "rate", + "name": "votingPower", + "docs": [ + "Voter's total voting power" + ], "type": "u64" }, { - "name": "nextTimestamp", - "type": "u64" - } - ] - } - }, - { - "name": "LockingInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "amount", + "name": "votingPowerBaseline", + "docs": [ + "Voter's total voting power, when ignoring any effects from lockup" + ], "type": "u64" - }, - { - "name": "endTimestamp", - "type": { - "option": "u64" - } - }, - { - "name": "vesting", - "type": { - "option": { - "defined": "VestingInfo" - } - } - } - ] - } - }, - { - "name": "Lockup", - "type": { - "kind": "struct", - "fields": [ - { - "name": "startTs", - "type": "i64" - }, - { - "name": "endTs", - "type": "i64" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "reserved", - "type": { - "array": [ - "u8", - 15 - ] - } } ] } }, { - "name": "VotingMintConfig", + "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." + ], + "serialization": "bytemuck", + "repr": { + "kind": "c" + }, "type": { "kind": "struct", "fields": [ { "name": "mint", - "type": "publicKey" + "docs": [ + "Mint for this entry." + ], + "type": "pubkey" }, { "name": "grantAuthority", - "type": "publicKey" + "docs": [ + "The authority that is allowed to push grants into voters" + ], + "type": "pubkey" }, { "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" }, { "name": "digitShift", + "docs": [ + "Number of digits to shift native amounts, applying a 10^digit_shift factor." + ], "type": "i8" }, { @@ -2305,277 +2379,6 @@ export const IDL: VoterStakeRegistry = { } ] } - }, - { - "name": "LockupKind", - "type": { - "kind": "enum", - "variants": [ - { - "name": "None" - }, - { - "name": "Daily" - }, - { - "name": "Monthly" - }, - { - "name": "Cliff" - }, - { - "name": "Constant" - } - ] - } - } - ], - "events": [ - { - "name": "VoterInfo", - "fields": [ - { - "name": "votingPower", - "type": "u64", - "index": false - }, - { - "name": "votingPowerBaseline", - "type": "u64", - "index": false - } - ] - }, - { - "name": "DepositEntryInfo", - "fields": [ - { - "name": "depositEntryIndex", - "type": "u8", - "index": false - }, - { - "name": "votingMintConfigIndex", - "type": "u8", - "index": false - }, - { - "name": "unlocked", - "type": "u64", - "index": false - }, - { - "name": "votingPower", - "type": "u64", - "index": false - }, - { - "name": "votingPowerBaseline", - "type": "u64", - "index": false - }, - { - "name": "locking", - "type": { - "option": { - "defined": "LockingInfo" - } - }, - "index": false - } - ] - } - ], - "errors": [ - { - "code": 6000, - "name": "InvalidRate", - "msg": "Exchange rate must be greater than zero" - }, - { - "code": 6001, - "name": "RatesFull", - "msg": "" - }, - { - "code": 6002, - "name": "VotingMintNotFound", - "msg": "" - }, - { - "code": 6003, - "name": "DepositEntryNotFound", - "msg": "" - }, - { - "code": 6004, - "name": "DepositEntryFull", - "msg": "" - }, - { - "code": 6005, - "name": "VotingTokenNonZero", - "msg": "" - }, - { - "code": 6006, - "name": "OutOfBoundsDepositEntryIndex", - "msg": "" - }, - { - "code": 6007, - "name": "UnusedDepositEntryIndex", - "msg": "" - }, - { - "code": 6008, - "name": "InsufficientUnlockedTokens", - "msg": "" - }, - { - "code": 6009, - "name": "UnableToConvert", - "msg": "" - }, - { - "code": 6010, - "name": "InvalidLockupPeriod", - "msg": "" - }, - { - "code": 6011, - "name": "InvalidEndTs", - "msg": "" - }, - { - "code": 6012, - "name": "InvalidDays", - "msg": "" - }, - { - "code": 6013, - "name": "VotingMintConfigIndexAlreadyInUse", - "msg": "" - }, - { - "code": 6014, - "name": "OutOfBoundsVotingMintConfigIndex", - "msg": "" - }, - { - "code": 6015, - "name": "InvalidDecimals", - "msg": "Exchange rate decimals cannot be larger than registrar decimals" - }, - { - "code": 6016, - "name": "InvalidToDepositAndWithdrawInOneSlot", - "msg": "" - }, - { - "code": 6017, - "name": "ShouldBeTheFirstIxInATx", - "msg": "" - }, - { - "code": 6018, - "name": "ForbiddenCpi", - "msg": "" - }, - { - "code": 6019, - "name": "InvalidMint", - "msg": "" - }, - { - "code": 6020, - "name": "DebugInstruction", - "msg": "" - }, - { - "code": 6021, - "name": "ClawbackNotAllowedOnDeposit", - "msg": "" - }, - { - "code": 6022, - "name": "DepositStillLocked", - "msg": "" - }, - { - "code": 6023, - "name": "InvalidAuthority", - "msg": "" - }, - { - "code": 6024, - "name": "InvalidTokenOwnerRecord", - "msg": "" - }, - { - "code": 6025, - "name": "InvalidRealmAuthority", - "msg": "" - }, - { - "code": 6026, - "name": "VoterWeightOverflow", - "msg": "" - }, - { - "code": 6027, - "name": "LockupSaturationMustBePositive", - "msg": "" - }, - { - "code": 6028, - "name": "VotingMintConfiguredWithDifferentIndex", - "msg": "" - }, - { - "code": 6029, - "name": "InternalProgramError", - "msg": "" - }, - { - "code": 6030, - "name": "InsufficientLockedTokens", - "msg": "" - }, - { - "code": 6031, - "name": "MustKeepTokensLocked", - "msg": "" - }, - { - "code": 6032, - "name": "InvalidLockupKind", - "msg": "" - }, - { - "code": 6033, - "name": "InvalidChangeToClawbackDepositEntry", - "msg": "" - }, - { - "code": 6034, - "name": "InternalErrorBadLockupVoteWeight", - "msg": "" - }, - { - "code": 6035, - "name": "DepositStartTooFarInFuture", - "msg": "" - }, - { - "code": 6036, - "name": "VaultTokenNonZero", - "msg": "" - }, - { - "code": 6037, - "name": "InvalidTimestampArguments", - "msg": "" } ] }; diff --git a/yarn.lock b/yarn.lock index 8aef7fb4..be8307d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,12 +23,46 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/runtime@^7.10.5", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" - integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== +"@babel/runtime@^7.24.8": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" + integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== + dependencies: + regenerator-runtime "^0.14.0" + +"@coral-xyz/anchor-errors@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.30.1.tgz#bdfd3a353131345244546876eb4afc0e125bec30" + integrity sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ== + +"@coral-xyz/anchor@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.30.1.tgz#17f3e9134c28cd0ea83574c6bab4e410bcecec5d" + integrity sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ== + dependencies: + "@coral-xyz/anchor-errors" "^0.30.1" + "@coral-xyz/borsh" "^0.30.1" + "@noble/hashes" "^1.3.1" + "@solana/web3.js" "^1.68.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^6.3.0" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + +"@coral-xyz/borsh@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.30.1.tgz#869d8833abe65685c72e9199b8688477a4f6b0e3" + integrity sha512-aaxswpPrCFKl8vZTbxLssA2RvwX2zmKLlRCIktJOwW+VpVwYtXRtlWiIP+c2pPRKneiTiWCN2GEMSH9j1zTlWQ== dependencies: - regenerator-runtime "^0.13.4" + bn.js "^5.1.2" + buffer-layout "^1.2.0" "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -45,27 +79,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@ethersproject/bytes@^5.6.0": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7" - integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/logger@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a" - integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== - -"@ethersproject/sha2@^5.5.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.0.tgz#364c4c11cc753bda36f31f001628706ebadb64d9" - integrity sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - hash.js "1.1.7" - "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -80,6 +93,18 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@noble/curves@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/hashes@1.4.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -101,105 +126,40 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@project-serum/anchor@^0.11.1": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.11.1.tgz#155bff2c70652eafdcfd5559c81a83bb19cec9ff" - integrity sha512-oIdm4vTJkUy6GmE6JgqDAuQPKI7XM4TPJkjtoIzp69RZe0iAD9JP2XHx7lV1jLdYXeYHqDXfBt3zcq7W91K6PA== - dependencies: - "@project-serum/borsh" "^0.2.2" - "@solana/web3.js" "^1.17.0" - base64-js "^1.5.1" - bn.js "^5.1.2" - bs58 "^4.0.1" - buffer-layout "^1.2.0" - camelcase "^5.3.1" - crypto-hash "^1.3.0" - eventemitter3 "^4.0.7" - find "^0.3.0" - js-sha256 "^0.9.0" - pako "^2.0.3" - snake-case "^3.0.4" - toml "^3.0.0" - -"@project-serum/anchor@^0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.24.2.tgz#a3c52a99605c80735f446ca9b3a4885034731004" - integrity sha512-0/718g8/DnEuwAidUwh5wLYphUYXhUbiClkuRNhvNoa+1Y8a4g2tJyxoae+emV+PG/Gikd/QUBNMkIcimiIRTA== - dependencies: - "@project-serum/borsh" "^0.2.5" - "@solana/web3.js" "^1.36.0" - base64-js "^1.5.1" - bn.js "^5.1.2" - bs58 "^4.0.1" - buffer-layout "^1.2.2" - camelcase "^5.3.1" - cross-fetch "^3.1.5" - crypto-hash "^1.3.0" - eventemitter3 "^4.0.7" - js-sha256 "^0.9.0" - pako "^2.0.3" - snake-case "^3.0.4" - toml "^3.0.0" - -"@project-serum/borsh@^0.2.2", "@project-serum/borsh@^0.2.5": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663" - integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q== - dependencies: - bn.js "^5.1.2" - buffer-layout "^1.2.0" - -"@project-serum/serum@^0.13.61": - version "0.13.65" - resolved "https://registry.yarnpkg.com/@project-serum/serum/-/serum-0.13.65.tgz#6d3cf07912f13985765237f053cca716fe84b0b0" - integrity sha512-BHRqsTqPSfFB5p+MgI2pjvMBAQtO8ibTK2fYY96boIFkCI3TTwXDt2gUmspeChKO2pqHr5aKevmexzAcXxrSRA== - dependencies: - "@project-serum/anchor" "^0.11.1" - "@solana/spl-token" "^0.1.6" - "@solana/web3.js" "^1.21.0" - bn.js "^5.1.2" - buffer-layout "^1.2.0" - -"@solana/buffer-layout@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz#75b1b11adc487234821c81dfae3119b73a5fd734" - integrity sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ== +"@solana/buffer-layout@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== dependencies: buffer "~6.0.3" -"@solana/spl-token@^0.1.6": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.1.8.tgz#f06e746341ef8d04165e21fc7f555492a2a0faa6" - integrity sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ== - dependencies: - "@babel/runtime" "^7.10.5" - "@solana/web3.js" "^1.21.0" - bn.js "^5.1.0" - buffer "6.0.3" - buffer-layout "^1.2.0" - dotenv "10.0.0" - -"@solana/web3.js@^1.17.0", "@solana/web3.js@^1.21.0", "@solana/web3.js@^1.36.0": - version "1.41.3" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.41.3.tgz#77ef4927d533cf67d7adfeee799d5061d75a06ee" - integrity sha512-H+zRDh7zpzma8fvA6S16DJY2sDemw4HHU/3WR9kXQG+3jsRtIJxhOD2NAwu1M2JrXoblyE2QYHWneLKDV2Bu6g== - dependencies: - "@babel/runtime" "^7.12.5" - "@ethersproject/sha2" "^5.5.0" - "@solana/buffer-layout" "^4.0.0" - bn.js "^5.0.0" +"@solana/web3.js@^1.68.0": + version "1.95.2" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.2.tgz#6f8a0362fa75886a21550dbec49aad54481463a6" + integrity sha512-SjlHp0G4qhuhkQQc+YXdGkI8EerCqwxvgytMgBpzMUQTafrkNant3e7pgilBGgjy/iM40ICvWBLgASTPMrQU7w== + dependencies: + "@babel/runtime" "^7.24.8" + "@noble/curves" "^1.4.2" + "@noble/hashes" "^1.4.0" + "@solana/buffer-layout" "^4.0.1" + agentkeepalive "^4.5.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" borsh "^0.7.0" bs58 "^4.0.1" - buffer "6.0.1" - cross-fetch "^3.1.4" + buffer "6.0.3" fast-stable-stringify "^1.0.0" - jayson "^3.4.4" - js-sha3 "^0.8.0" - rpc-websockets "^7.4.2" - secp256k1 "^4.0.2" - sinon-chai "^3.7.0" - superstruct "^0.14.2" - tweetnacl "^1.0.0" + jayson "^4.1.1" + node-fetch "^2.7.0" + rpc-websockets "^9.0.2" + superstruct "^2.0.2" + +"@swc/helpers@^0.5.11": + version "0.5.12" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.12.tgz#37aaca95284019eb5d2207101249435659709f4b" + integrity sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g== + dependencies: + tslib "^2.4.0" "@tsconfig/recommended@^1.0.1": version "1.0.1" @@ -213,25 +173,11 @@ dependencies: "@types/node" "*" -"@types/express-serve-static-core@^4.17.9": - version "4.17.28" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" - integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/json-schema@^7.0.7": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/lodash@^4.14.159": - version "4.14.182" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" - integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== - "@types/node@*": version "17.0.30" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.30.tgz#2c6e8512acac70815e8176aa30c38025067880ef" @@ -242,15 +188,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.50.tgz#14ba5198f1754ffd0472a2f84ab433b45ee0b65e" integrity sha512-+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA== -"@types/qs@*": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== +"@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@types/ws@^7.4.4": version "7.4.7" @@ -259,6 +200,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.2.2": + version "8.5.12" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" + integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== + dependencies: + "@types/node" "*" + "@typescript-eslint/eslint-plugin@^4.14.2": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" @@ -347,6 +295,13 @@ acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +agentkeepalive@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -425,21 +380,35 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -base64-js@^1.3.1, base64-js@^1.5.1: +base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== + dependencies: + bindings "^1.3.0" -bn.js@^5.0.0, bn.js@^5.1.0, bn.js@^5.1.2, bn.js@^5.2.0: +bindings@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bn.js@^5.1.2, bn.js@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + borsh@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" @@ -471,11 +440,6 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" @@ -493,15 +457,7 @@ buffer-layout@^1.2.0, buffer-layout@^1.2.2: resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== -buffer@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2" - integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -buffer@6.0.3, buffer@~6.0.3: +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -521,10 +477,10 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== chalk@^2.0.0: version "2.4.2" @@ -582,7 +538,7 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-fetch@^3.1.4, cross-fetch@^3.1.5: +cross-fetch@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== @@ -647,24 +603,6 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dotenv@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -830,6 +768,11 @@ eventemitter3@^4.0.7: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + eyes@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" @@ -880,6 +823,11 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -887,13 +835,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/find/-/find-0.3.0.tgz#4082e8fc8d8320f1a382b5e4f521b9bc50775cb8" - integrity sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw== - dependencies: - traverse-chain "~0.1.0" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -965,22 +906,12 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" + ms "^2.0.0" ieee754@^1.2.1: version "1.2.1" @@ -1018,7 +949,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4: +inherits@2: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1055,14 +986,12 @@ isomorphic-ws@^4.0.1: resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== -jayson@^3.4.4: - version "3.6.6" - resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.6.6.tgz#189984f624e398f831bd2be8e8c80eb3abf764a1" - integrity sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ== +jayson@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.1.tgz#282ff13d3cea09776db684b7eeca98c47b2fa99a" + integrity sha512-5ZWm4Q/0DHPyeMfAsrwViwUS2DMVsQgWh8bEEIVTkfb3DzHZ2L3G5WUnF+AKmGjjM9r1uAv73SaqC1/U4RL45w== dependencies: "@types/connect" "^3.4.33" - "@types/express-serve-static-core" "^4.17.9" - "@types/lodash" "^4.14.159" "@types/node" "^12.12.54" "@types/ws" "^7.4.4" JSONStream "^1.3.5" @@ -1072,19 +1001,8 @@ jayson@^3.4.4: eyes "^0.1.8" isomorphic-ws "^4.0.1" json-stringify-safe "^5.0.1" - lodash "^4.17.20" uuid "^8.3.2" - ws "^7.4.5" - -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + ws "^7.5.10" js-tokens@^4.0.0: version "4.0.0" @@ -1147,11 +1065,6 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -lodash@^4.17.20: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - lower-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" @@ -1194,16 +1107,6 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - minimatch@^3.0.4: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -1223,6 +1126,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.0.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -1236,11 +1144,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - node-fetch@2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -1248,7 +1151,14 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: +node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-gyp-build@^4.3.0: version "4.4.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== @@ -1329,10 +1239,10 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== regexpp@^3.1.0: version "3.2.0" @@ -1361,13 +1271,16 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -rpc-websockets@^7.4.2: - version "7.4.18" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.4.18.tgz#274c825c0efadbf6fe75f10289229ae537fe9ffb" - integrity sha512-bVu+4qM5CkGVlTqJa6FaAxLbb5uRnyH4te7yjFvoCzbnif7PT4BcvXtNTprHlNvsH+/StB81zUQicxMrUrIomA== +rpc-websockets@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.0.2.tgz#4c1568d00b8100f997379a363478f41f8f4b242c" + integrity sha512-YzggvfItxMY3Lwuax5rC18inhbjJv9Py7JXRHxTIi94JOLrqBsSsUUc5bbl5W6c11tXhdfpDPK0KzBhoGe8jjw== dependencies: - "@babel/runtime" "^7.17.2" - eventemitter3 "^4.0.7" + "@swc/helpers" "^0.5.11" + "@types/uuid" "^8.3.4" + "@types/ws" "^8.2.2" + buffer "^6.0.3" + eventemitter3 "^5.0.1" uuid "^8.3.2" ws "^8.5.0" optionalDependencies: @@ -1386,15 +1299,6 @@ safe-buffer@^5.0.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -secp256k1@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - semver@^7.2.1, semver@^7.3.5: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" @@ -1423,11 +1327,6 @@ shiki@^0.10.1: vscode-oniguruma "^1.6.1" vscode-textmate "5.2.0" -sinon-chai@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.7.0.tgz#cfb7dec1c50990ed18c153f1840721cf13139783" - integrity sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g== - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -1489,10 +1388,15 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== +superstruct@^0.15.4: + version "0.15.5" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" + integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== + +superstruct@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54" + integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== supports-color@^5.3.0: version "5.5.0" @@ -1551,11 +1455,6 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -traverse-chain@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1" - integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE= - ts-node@^9.1.1: version "9.1.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" @@ -1578,6 +1477,11 @@ tslib@^2.0.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@^2.4.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -1585,11 +1489,6 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tweetnacl@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -1682,10 +1581,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@^7.4.5: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== +ws@^7.5.10: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.5.0: version "8.5.0" From ea589d773108662ca111504eadb75ed368a7f439 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Sat, 3 Aug 2024 13:59:52 +0400 Subject: [PATCH 2/7] small fixes --- Cargo.lock | 500 ++++-------------- README.md | 2 +- programs/voter-stake-registry/Cargo.toml | 5 - .../voter-stake-registry/tests/test_grants.rs | 4 +- 4 files changed, 113 insertions(+), 398 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 81636980..bfaeb623 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,8 +18,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ - "lazy_static", - "regex", + "gimli", ] [[package]] @@ -639,12 +638,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "base64ct" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" - [[package]] name = "bincode" version = "1.3.3" @@ -1148,22 +1141,6 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" - [[package]] name = "cpufeatures" version = "0.2.12" @@ -2497,31 +2474,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" -dependencies = [ - "num-bigint 0.2.6", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.2.6" @@ -2613,29 +2565,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -2709,7 +2638,7 @@ version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" dependencies = [ - "asn1-rs", + "memchr", ] [[package]] @@ -2794,17 +2723,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.8.5", -] - -[[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 0.9.5", + "parking_lot_core", ] [[package]] @@ -2868,15 +2787,6 @@ dependencies = [ "num", ] -[[package]] -name = "percentage" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd23b938276f14057220b707937bcb42fa76dda7560e57a2da30cb52d557937" -dependencies = [ - "num", -] - [[package]] name = "pin-project" version = "1.1.5" @@ -3042,8 +2952,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.49", - "quote 1.0.23", + "proc-macro2", + "quote", "version_check", ] @@ -3130,69 +3040,7 @@ version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "fxhash", - "quinn-proto", - "quinn-udp", - "rustls", - "thiserror", - "tokio", - "tracing", - "webpki", -] - -[[package]] -name = "quinn-proto" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fce546b9688f767a57530652488420d419a8b1f44a478b451c3d1ab6d992a55" -dependencies = [ - "bytes", - "fxhash", - "rand 0.8.5", - "ring", - "rustls", - "rustls-native-certs", - "rustls-pemfile 0.2.1", - "slab", - "thiserror", - "tinyvec", - "tracing", - "webpki", -] - -[[package]] -name = "quinn-udp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07946277141531aea269befd949ed16b2c85a780ba1043244eda0969e538e54" -dependencies = [ - "futures-util", - "libc", - "quinn-proto", - "socket2", - "tokio", - "tracing", -] - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - -[[package]] -name = "quote" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" -dependencies = [ - "proc-macro2 1.0.49", + "proc-macro2", ] [[package]] @@ -3379,7 +3227,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls", - "rustls-pemfile 1.0.1", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", @@ -3460,12 +3308,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[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" @@ -3831,16 +3673,6 @@ dependencies = [ "typenum", ] -[[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 = "slab" version = "0.4.9" @@ -3868,9 +3700,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a1297281b114406a9165c6f55ff9f8706f6244545194c7aa837f9b25dee16e" +checksum = "f3d8168d37b0e66b06d6da63e7256f28d94b16b37a2ae91d07cd2aaa5149ecf6" dependencies = [ "Inflector", "base64 0.21.7", @@ -3893,9 +3725,9 @@ dependencies = [ [[package]] name = "solana-accounts-db" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff031129c39c32d0176be1e3bb9352dc83c521187058d6c16febfee2aedddca0" +checksum = "b4e2d6c949031c4c37829c6181234cc4205ed73d8a2b35f86081cbecc1f4818c" dependencies = [ "arrayref", "bincode", @@ -3954,9 +3786,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622d95db00595a3dd2abd2ee22c37cf3744ba3df8f531d5c79faa3c155e2814b" +checksum = "4798fdfd80df46251475a6d12d83d258edabf55a27c9dbb8428fb642c687425d" dependencies = [ "bincode", "bytemuck", @@ -3975,9 +3807,9 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d29258deb3e9a052ccdb2bbe986fc0a0c5117a8488298b75e013b8681d793a9" +checksum = "1ec9773c8c81ca1eefccf786f0a979663f850d2f7201b903acbd643070b705f2" dependencies = [ "borsh 1.5.1", "futures", @@ -3992,9 +3824,9 @@ dependencies = [ [[package]] name = "solana-banks-interface" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "423a6215f7abd1af8e992785c91c685787651354b332781c06ad9fdd2b1095d8" +checksum = "9fd5c7a728d99bd0c1ff497f95e0c5396141ac43041d580c727bec96987e47db" dependencies = [ "serde", "solana-sdk", @@ -4003,9 +3835,9 @@ dependencies = [ [[package]] name = "solana-banks-server" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f986b20b5eecca738b8d2fd83fbaaffbbb2178d294c6d83813241dea48bcc0aa" +checksum = "74f9eda7bb67c127595211e0ff46812272ff704cf19b4d4c906038d47603dba3" dependencies = [ "bincode", "crossbeam-channel", @@ -4023,9 +3855,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9934493a6034c8cf05913ba6812c057f6cd4792ad75c335e8d971adf63ce01c7" +checksum = "a73b513098afa5147efe88cdc76d390f40893ae6c147a3e5edace85b8db6fb80" dependencies = [ "bincode", "byteorder", @@ -4042,9 +3874,9 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da941e0bde672cd33696961450efa2efb8b46322c4f814c1894c9c264122d1b" +checksum = "31ea40f10bac047063dc25208e0fdda37fc4a6ae7519d805ead2fc4da5c6466a" dependencies = [ "bv", "bytemuck", @@ -4060,9 +3892,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "811569ed647c15e97afd142297b0ad14a87149c51e11df740014daa81f297f8b" +checksum = "9942a743ee81e21899497a9a337b9800e27b119f3cb5281edd39a022ecebac26" dependencies = [ "chrono", "clap 2.34.0", @@ -4077,9 +3909,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "792ed1869858f35b4359f696771517b4848cd3ff6e2d58155c4bcb292f30166b" +checksum = "124e1491fe6272625b749cdae6711e2d2de56debf0f146e69f0741d01e17d670" dependencies = [ "async-trait", "bincode", @@ -4110,9 +3942,9 @@ dependencies = [ [[package]] name = "solana-compute-budget-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dde13cdf503b7269435ceee5a94f8c42313e9257df00e6c2aa06466345dd3fc" +checksum = "d04bbdb54fdf0f52816c0a46f083be0d9fd024638baf81934140a3470066c424" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -4120,9 +3952,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6db8509d749ff1396a0b538ade995908361563b4f2c875b09cf096ba4ba0fae" +checksum = "43a011aa77b8c0d86478e62139a04e1d82d867c675f4ce367885ff1adc8e2830" dependencies = [ "bincode", "chrono", @@ -4134,9 +3966,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257511b6c2b54c28eae24c5a9b7bab74522439fcd721d09e63092768333ba7b7" +checksum = "974b0429f0d9685396ec7303c67aa1595a8a985707c2cc37a48cc0067538ea8e" dependencies = [ "async-trait", "bincode", @@ -4156,9 +3988,9 @@ dependencies = [ [[package]] name = "solana-cost-model" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c391b492eb79c24756ee149b19f5504f7a2554612a8d2860fb9701df4e202a8b" +checksum = "679800c745db86bdd2e68fdbe90836385ab19f9b19f9962c467793df77798e96" dependencies = [ "lazy_static", "log", @@ -4180,9 +4012,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f498a2b290abca1cf77feacef01b904be725fd46a7aea5ba121cce8c1269dcf" +checksum = "9aa49cd7eef8103e5f06e5ef3da844fef2e01290897814b1495dda2be63bfcde" dependencies = [ "block-buffer 0.10.4", "bs58 0.4.0", @@ -4192,6 +4024,8 @@ dependencies = [ "im", "lazy_static", "log", + "memmap2", + "rustc_version", "serde", "serde_bytes", "serde_derive", @@ -4203,21 +4037,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab48d1be18021f5c13f94671e766699511044f81aab3376313f6a2392f8fab" +checksum = "3aeb9e6679ac24dc9087f8bcc31c4912cb729a41897278a1fefe5b0a14636f6c" dependencies = [ - "proc-macro2 1.0.49", - "quote 1.0.23", + "proc-macro2", + "quote", "rustc_version", "syn 2.0.72", ] [[package]] name = "solana-loader-v4-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d5e1fcf36f771e210db47d9e4db1e88821d334b313e6fb3c19cf6a987617ffb" +checksum = "ed605943e33ea71faf25c0e76d15c945b13f08ee704a8e7fbcbff40b79dff302" dependencies = [ "log", "solana-measure", @@ -4228,9 +4062,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed08bcdd54232d2017071a6f5d664b34649ef0110801ac310a01418215f22ff7" +checksum = "141e96bc474ec11533eeddcd597097308e42965d05601ea1f3c321b879f91534" dependencies = [ "env_logger", "lazy_static", @@ -4239,9 +4073,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db05e4bba8562a2419cb980301152fc7f60f643065c3aba4b3b5d6e3bd66e45" +checksum = "2ca65f25bae6a8dfe6ce344ff2cc5cd9ee6dc30b38c992b5927ec153ea1c6f18" dependencies = [ "log", "solana-sdk", @@ -4249,9 +4083,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7a77735beed78eb221e123e0d46a991dc91db9e199d5c5fdbea22a55149d162" +checksum = "c79f5a044af88d36ba9d29134d898478b007e7605a1a8ae1012cbf33af8839c7" dependencies = [ "crossbeam-channel", "gethostname", @@ -4264,9 +4098,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f76d98286bdb149ce5375c3c7d7301e5d1bf7bf2576789d3fd488cf93d32471" +checksum = "ecdf376b0bdf2f049b55d531159a0978b541c095dde1677a4359145a44882e3d" dependencies = [ "bincode", "clap 3.2.25", @@ -4292,9 +4126,9 @@ checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" [[package]] name = "solana-perf" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0a1b27503716c3f5362c61215d2ccf88a3ecf95fce51b2b59951c38a9ad94c" +checksum = "680be85877792dc79e198fd4c52df0a05cd4c59aad9cc3a23c6de43a826e83be" dependencies = [ "ahash 0.8.11", "bincode", @@ -4321,9 +4155,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97cec6d3d60ef58168c8b3e97fd88e8903fa059eff6635361427c61c946ec1e" +checksum = "11e245fdb69973415d6d1f08c4ea2c82cce16c1100c800fc4dae396eac9c3305" dependencies = [ "ark-bn254", "ark-ec", @@ -4376,9 +4210,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4b76599d73401663bc1fde39f9fa5e538bd74451ea4a8d4e3ac14541be0a5de" +checksum = "68fbfdc6bc45d40c45e85fc9d3fc70c555f0657ffe9f5d7463885b1bf9db0c60" dependencies = [ "base64 0.21.7", "bincode", @@ -4404,9 +4238,9 @@ dependencies = [ [[package]] name = "solana-program-test" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c65563d5196f76a7c2feb399543389d045c7352f099acb5f5222d46922664457" +checksum = "ef6ceda700f2c9c54308cf0035a6d6f859f6ed4b3c69b04e75bb2cddc59e00fc" dependencies = [ "assert_matches", "async-trait", @@ -4434,9 +4268,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09aacbdbeaa5722b2ab1f843673f66c317609741f494a6ef11e2e8928cc7449e" +checksum = "84fa3d885969a622ecf12d93fce41012d0c697b7572f5e1cf3db50cf0fa48ff7" dependencies = [ "crossbeam-channel", "futures-util", @@ -4459,9 +4293,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eeabd12e1039aa62cad34179fc1f139fca5c7bfeb7683057643bebff3506b0" +checksum = "122040ced5a4755c3f26a7ef17aa4bf46bf78405b99187457bb6bfd5eef8f308" dependencies = [ "async-mutex", "async-trait", @@ -4486,9 +4320,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad791cc224c84d69498eeeaeadfc5af2cf710ec2719e48b51f2e2b6e67d8163" +checksum = "b165a28814de4ddf435c36ece935acd0c75947f1659b28e9227a13afe3495332" dependencies = [ "lazy_static", "num_cpus", @@ -4496,9 +4330,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca3c68439865c87d5a01c26dc0dcbcce2d45331adf8f0bf92a7c7d44853fefb" +checksum = "e790eab46252b3d3ef10f7d75588ca74a9a17b02be2f642ac57d938a744772f0" dependencies = [ "console", "dialoguer", @@ -4515,9 +4349,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c9bdb88ebcea8b13103019ed0d39b7d4391dc84a0d614dc8ba2e1ca43468e9" +checksum = "0a7b4103449add6d6afe0c2eaa2a3e4479466d952446045059f99f9ec3b49c50" dependencies = [ "async-trait", "base64 0.21.7", @@ -4541,9 +4375,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5bb93738a111d44dfeec6ccdd6a49f0478550a25a60e38badb2bd713599de44" +checksum = "45d3ed6a78686055bfa7769b35640f86d71f86328be06dd9551a84be37b12f40" dependencies = [ "base64 0.21.7", "bs58 0.4.0", @@ -4563,9 +4397,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e066df081489cd10c91648f1e87d2b945fac2fcdfb34a715234a0b079a4c4375" +checksum = "615b3c0da68a23dd98058883e9186128468a367edc56b27d3f9a22b262878f53" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -4576,9 +4410,9 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8e16747198f45ab41f146d1ab1782d83016fb9ed1ce7612b9174018f907bd5" +checksum = "5b6aafb546ccabcc0c3f3784edc77c3a34c6a5168d3a32ee4b86e2a1f47fdf30" dependencies = [ "aquamarine", "arrayref", @@ -4653,9 +4487,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c335bdf35728ea876506babffcfd85fa4dd66af6438f9472afc91b278946909" +checksum = "92947ea7072e0dfadc53d79e570c1d13e830b74047ca8b938c3fa799707ebd34" dependencies = [ "assert_matches", "base64 0.21.7", @@ -4708,13 +4542,13 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba67050b90454a8638913a7d5775703c0557157def04ddcc8b59c964cda8535" +checksum = "6548235a0d4babb0f410f0a41b05425013f1168a739bfc447860d5eb2d82f849" dependencies = [ "bs58 0.4.0", - "proc-macro2 1.0.49", - "quote 1.0.23", + "proc-macro2", + "quote", "rustversion", "syn 2.0.72", ] @@ -4727,9 +4561,9 @@ checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" [[package]] name = "solana-send-transaction-service" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e8c1dd225716ecd66ec9a5a30c76355d8d1788c721d7db4d53ebb4c6ef34c8d" +checksum = "27fbdc158d23d3db3d70a5ec2083c0c63bb1b9fe30104b0d7ba5220489c18361" dependencies = [ "crossbeam-channel", "log", @@ -4743,9 +4577,9 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ef08f7b2485af8578bfd4e23689286e5360b50d3cc9f350dfe3ad9fdabc679" +checksum = "c3601a5c71787be08838085ea057261e61474abd72560e27b1bd1364d34daeb3" dependencies = [ "bincode", "log", @@ -4758,9 +4592,9 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27e8269eaa4aef1a9697fe8b9f659402272746c3fdd374fbffa96f68fe6745a6" +checksum = "b8ae3a138900a027e80141e6b7ace032446c96842af43b5d6f2d19a3b626d60f" dependencies = [ "async-channel", "bytes", @@ -4791,9 +4625,9 @@ dependencies = [ [[package]] name = "solana-system-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22c8b55398485962ea6127fe84c5768a5ae4a4ecdbd80a0917eb6945593481f9" +checksum = "7914514d000d9f3f6bb87a6d08a2b97db643b88d3d8c4236ed24e714777f3cd9" dependencies = [ "bincode", "log", @@ -4805,9 +4639,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c174c724bbe19a53862156e1a5d2cf6cdf1bd5d5d9853b4696b2d9d836123b" +checksum = "351970dd51b57c0677b71d302d594ff3117f9c0ce7737024265a41aa6a9f38d7" dependencies = [ "bincode", "log", @@ -4820,9 +4654,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcdf9d7109d25900d0532539b00f53e820fb7200f6dc18f90e9d2be20c3d466" +checksum = "88461a3829db961ba8d301e9c05c6fff6cf2d167b8252e4b925ba093ba68fd69" dependencies = [ "async-trait", "bincode", @@ -4844,9 +4678,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7595aef5a9ddfdecd0966cc12ad0006713e4f8d87eafb4cb7b60fb18d98eff3a" +checksum = "5da7ad143a9cea370e981c807d4e1f8f674eb446cf4b14eadfc2c96047984e81" dependencies = [ "Inflector", "base64 0.21.7", @@ -4869,9 +4703,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a59c49a3766232005385bd70f15b0fce756fa6e73fb6397ce9ed34113f090e2" +checksum = "5cbc4e3f3848844d81e5e256b4da1766ab0dd277339d715982f8994d0d508b7c" dependencies = [ "async-trait", "solana-connection-cache", @@ -4884,9 +4718,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ece37d745e1fb3455acd69b8ba6ecea3ebcefde29e0f40ee8e6467acc4dc04" +checksum = "6d22ff1045286d1ac620827df97990138be51c10f75c0cedab3687e4fdf090df" dependencies = [ "log", "rustc_version", @@ -4900,9 +4734,9 @@ dependencies = [ [[package]] name = "solana-vote" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ca2744cf5509c7680a90d6704d00fbab899aa586542c4257fb23d4712b380c" +checksum = "f1bfffbf5d984061df85b87678cfef5f216f33e37ee92614170a22d1bd0bfdd0" dependencies = [ "crossbeam-channel", "itertools", @@ -4919,9 +4753,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6944bb3f8f34cc815017f6a50027331f5e7f48321e7998f1572cc898438b6a8a" +checksum = "61f6423d2ea6c05c74d84ff346306e3dc0783765181eb531bb5e1bc5b49fa441" dependencies = [ "bincode", "log", @@ -4941,9 +4775,9 @@ dependencies = [ [[package]] name = "solana-zk-token-proof-program" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bd480f4b1b87dea1cdca14f3c6ba8e778e88756dc44ac090e797aab9c8759d" +checksum = "a0bd41d030758c95cc887ae7ee38af136b79f46d373d23868348ffe0c6cf2302" dependencies = [ "bytemuck", "num-derive 0.4.2", @@ -4955,9 +4789,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.18.18" +version = "1.18.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616130045004bccc9dd016fe03ac458db38bd61456f1d16f126acb60f968dcae" +checksum = "43318fb5bd649bc57711188908b561f70ee3e506d26300018af7fd36585fdf90" dependencies = [ "aes-gcm-siv", "base64 0.21.7", @@ -5795,52 +5629,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "time" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" -dependencies = [ - "itoa 1.0.1", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" - -[[package]] -name = "time-macros" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" -dependencies = [ - "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.8", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tinyvec" version = "1.8.0" @@ -6120,28 +5908,6 @@ dependencies = [ "webpki-roots 0.24.0", ] -[[package]] -name = "tungstenite" -version = "0.17.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" -dependencies = [ - "base64 0.13.0", - "byteorder", - "bytes", - "http", - "httparse", - "log", - "rand 0.8.5", - "rustls", - "sha-1", - "thiserror", - "url", - "utf-8", - "webpki", - "webpki-roots", -] - [[package]] name = "typenum" version = "1.17.0" @@ -6160,12 +5926,6 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-ident" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" - [[package]] name = "unicode-normalization" version = "0.1.23" @@ -6187,18 +5947,6 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - [[package]] name = "unicode-xid" version = "0.2.4" @@ -6215,16 +5963,6 @@ dependencies = [ "subtle", ] -[[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 = "unreachable" version = "1.0.0" @@ -6408,7 +6146,7 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ - "quote 1.0.23", + "quote", "wasm-bindgen-macro-support", ] @@ -6690,24 +6428,6 @@ dependencies = [ "time", ] -[[package]] -name = "x509-parser" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" -dependencies = [ - "asn1-rs", - "base64 0.13.0", - "data-encoding", - "der-parser", - "lazy_static", - "nom", - "oid-registry", - "rusticata-macros", - "thiserror", - "time 0.3.17", -] - [[package]] name = "xattr" version = "1.3.1" diff --git a/README.md b/README.md index 724aa11d..3226a0be 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Users can: # Development ## Rust -* Built and developed using - rust stable(`rustc 1.57.0 (f1edd0429 2021-11-29)`) +* Built and developed using - rust stable(`rustc 1.79.0 (f1edd0429 2024-06-10)`) * Run rust based tests - `cargo test-sbf` * `run-generate-anchor-types.sh` generates latest anchor types file and writes to `./voter_stake_registry.ts` * To install the typescript client, do - `yarn add @blockworks-foundation/voter-stake-registry-client` diff --git a/programs/voter-stake-registry/Cargo.toml b/programs/voter-stake-registry/Cargo.toml index eb7bad78..52925515 100644 --- a/programs/voter-stake-registry/Cargo.toml +++ b/programs/voter-stake-registry/Cargo.toml @@ -24,11 +24,6 @@ idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build"] anchor-lang = { version = "0.30.1", features = ["init-if-needed"] } anchor-spl = { version = "0.30.1" } bytemuck = {version = "1.9.1", features = ["derive", "min_const_generics"]} - -# WARNING: Be careful about upgrading the spl-governance dependency! -# Recently the discriminator for new VoterWeightRecord accounts has changed, and upgrading -# this dependency here without also upgrading the spl-governance program instance beforehand -# would lead to VWR accounts that are unusable until the spl-governance program is upgraded. spl-governance = { version = "4.0", features = ["no-entrypoint"] } spl-governance-addin-api = "0.1.4" diff --git a/programs/voter-stake-registry/tests/test_grants.rs b/programs/voter-stake-registry/tests/test_grants.rs index ebb5de19..7085547b 100644 --- a/programs/voter-stake-registry/tests/test_grants.rs +++ b/programs/voter-stake-registry/tests/test_grants.rs @@ -126,12 +126,12 @@ async fn test_grants() -> Result<(), TransportError> { .get_account::(voter.address) .await; let deposit = &voter_data.deposits[1]; - assert_eq!(deposit.is_used, true); + assert_eq!(deposit.is_used, true.into()); let amount_deposited_native = deposit.amount_deposited_native; let amount_initially_locked_native = deposit.amount_initially_locked_native; assert_eq!(amount_deposited_native, 12000); assert_eq!(amount_initially_locked_native, 12000); - assert_eq!(deposit.allow_clawback, true); + assert_eq!(deposit.allow_clawback, true.into()); assert_eq!(deposit.lockup.kind, LockupKind::Monthly); assert_eq!(deposit.lockup.periods_total().unwrap(), 12); From 45dac13110a8709219c2c903995aa67737850c52 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Sat, 3 Aug 2024 14:00:54 +0400 Subject: [PATCH 3/7] readme fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3226a0be..028945a3 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Users can: # Development ## Rust -* Built and developed using - rust stable(`rustc 1.79.0 (f1edd0429 2024-06-10)`) +* Built and developed using - rust stable(`rustc 1.79.0 (129f3b996 2024-06-10)`) * Run rust based tests - `cargo test-sbf` * `run-generate-anchor-types.sh` generates latest anchor types file and writes to `./voter_stake_registry.ts` * To install the typescript client, do - `yarn add @blockworks-foundation/voter-stake-registry-client` From 632b7897f47bb6b2f9f8cdf039af8cdee7cd1ffe Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Mon, 5 Aug 2024 17:41:22 +0400 Subject: [PATCH 4/7] force using old acount discriminator for VoterWeightRecord --- programs/voter-stake-registry/src/governance.rs | 4 ++-- .../voter-stake-registry/src/instructions/create_voter.rs | 4 ++-- programs/voter-stake-registry/src/instructions/grant.rs | 4 ++-- programs/voter-stake-registry/tests/test_grants.rs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/programs/voter-stake-registry/src/governance.rs b/programs/voter-stake-registry/src/governance.rs index a70922b5..ef3c5ed3 100644 --- a/programs/voter-stake-registry/src/governance.rs +++ b/programs/voter-stake-registry/src/governance.rs @@ -58,11 +58,11 @@ macro_rules! vote_weight_record { #[cfg(feature = "idl-build")] impl anchor_lang::IdlBuild for VoterWeightRecord {} - #[cfg(feature = "idl-build")] impl anchor_lang::Discriminator for VoterWeightRecord { const DISCRIMINATOR: [u8; 8] = [0; 8]; fn discriminator() -> [u8; 8] { - spl_governance_addin_api::voter_weight::VoterWeightRecord::ACCOUNT_DISCRIMINATOR + // legacy discriminator which is not compatible with Anchor but is used by older plugins + *b"2ef99b4b" } } }; diff --git a/programs/voter-stake-registry/src/instructions/create_voter.rs b/programs/voter-stake-registry/src/instructions/create_voter.rs index e586432f..650b8ea3 100644 --- a/programs/voter-stake-registry/src/instructions/create_voter.rs +++ b/programs/voter-stake-registry/src/instructions/create_voter.rs @@ -2,6 +2,7 @@ use crate::error::*; use crate::state::*; use anchor_lang::prelude::*; use anchor_lang::solana_program::sysvar::instructions as tx_instructions; +use anchor_lang::Discriminator; use std::mem::size_of; #[derive(Accounts)] @@ -82,8 +83,7 @@ pub fn create_voter( voter.registrar = ctx.accounts.registrar.key(); let voter_weight_record = &mut ctx.accounts.voter_weight_record; - voter_weight_record.account_discriminator = - spl_governance_addin_api::voter_weight::VoterWeightRecord::ACCOUNT_DISCRIMINATOR; + voter_weight_record.account_discriminator = VoterWeightRecord::discriminator(); voter_weight_record.realm = registrar.realm; voter_weight_record.governing_token_mint = registrar.realm_governing_token_mint; voter_weight_record.governing_token_owner = voter_authority; diff --git a/programs/voter-stake-registry/src/instructions/grant.rs b/programs/voter-stake-registry/src/instructions/grant.rs index d3fa4b8d..3bae496a 100644 --- a/programs/voter-stake-registry/src/instructions/grant.rs +++ b/programs/voter-stake-registry/src/instructions/grant.rs @@ -1,6 +1,7 @@ use crate::error::*; use crate::state::*; use anchor_lang::prelude::*; +use anchor_lang::Discriminator; use anchor_spl::associated_token::AssociatedToken; use anchor_spl::token::{self, Mint, Token, TokenAccount}; use std::convert::TryFrom; @@ -145,8 +146,7 @@ pub fn grant( // Note that vote_weight_record is not an Anchor account, is_freshly_initialized() // would not work. let voter_weight_record = &mut ctx.accounts.voter_weight_record; - voter_weight_record.account_discriminator = - spl_governance_addin_api::voter_weight::VoterWeightRecord::ACCOUNT_DISCRIMINATOR; + voter_weight_record.account_discriminator = VoterWeightRecord::discriminator(); voter_weight_record.realm = registrar.realm; voter_weight_record.governing_token_mint = registrar.realm_governing_token_mint; voter_weight_record.governing_token_owner = voter_authority; diff --git a/programs/voter-stake-registry/tests/test_grants.rs b/programs/voter-stake-registry/tests/test_grants.rs index 7085547b..ebb5de19 100644 --- a/programs/voter-stake-registry/tests/test_grants.rs +++ b/programs/voter-stake-registry/tests/test_grants.rs @@ -126,12 +126,12 @@ async fn test_grants() -> Result<(), TransportError> { .get_account::(voter.address) .await; let deposit = &voter_data.deposits[1]; - assert_eq!(deposit.is_used, true.into()); + assert_eq!(deposit.is_used, true); let amount_deposited_native = deposit.amount_deposited_native; let amount_initially_locked_native = deposit.amount_initially_locked_native; assert_eq!(amount_deposited_native, 12000); assert_eq!(amount_initially_locked_native, 12000); - assert_eq!(deposit.allow_clawback, true.into()); + assert_eq!(deposit.allow_clawback, true); assert_eq!(deposit.lockup.kind, LockupKind::Monthly); assert_eq!(deposit.lockup.periods_total().unwrap(), 12); From e9fa01cd3e96ff7fcfa41b411215fd21aa3b2b3b Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Thu, 8 Aug 2024 15:23:45 +0400 Subject: [PATCH 5/7] handle changes from review --- .../tests/program_test/governance.rs | 21 ++++++++++--------- .../tests/program_test/mod.rs | 1 - 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/programs/voter-stake-registry/tests/program_test/governance.rs b/programs/voter-stake-registry/tests/program_test/governance.rs index 0b749bf2..121a3e9e 100644 --- a/programs/voter-stake-registry/tests/program_test/governance.rs +++ b/programs/voter-stake-registry/tests/program_test/governance.rs @@ -3,6 +3,7 @@ use std::sync::Arc; use solana_program::instruction::Instruction; use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::{Keypair, Signer}; +use spl_governance::instruction::AddSignatoryAuthority; use spl_governance::state::enums::{MintMaxVoterWeightSource, VoteThreshold, VoteTipping}; use spl_governance::state::realm::GoverningTokenConfigAccountArgs; use spl_governance::state::realm_config::GoverningTokenType; @@ -176,7 +177,7 @@ impl GovernanceRealmCookie { &authority.pubkey(), Some(voter.voter_weight_record), spl_governance::state::governance::GovernanceConfig { - min_community_weight_to_create_proposal: 1, + min_community_weight_to_create_proposal: 1000, min_transaction_hold_up_time: 0, min_council_weight_to_create_proposal: 1, community_vote_threshold: VoteThreshold::YesVotePercentage(50), @@ -284,7 +285,7 @@ impl GovernanceRealmCookie { &self.community_token_mint.pubkey.unwrap(), &proposal_seed, ); - + let add_signatory_authority = AddSignatoryAuthority::ProposalOwner { governance_authority: authority.pubkey(), token_owner_record: voter.token_owner_record }; let instructions = vec![ vwr_instruction, spl_governance::instruction::create_proposal( @@ -303,14 +304,14 @@ impl GovernanceRealmCookie { true, &proposal_seed, ), - // spl_governance::instruction::add_signatory( - // &self.governance.program_id, - // &proposal, - // &voter.token_owner_record, - // &authority.pubkey(), - // &payer.pubkey(), - // &authority.pubkey(), - // ), + spl_governance::instruction::add_signatory( + &self.governance.program_id, + &proposal, + &voter.token_owner_record, + &add_signatory_authority, + &payer.pubkey(), + &authority.pubkey(), + ), spl_governance::instruction::sign_off_proposal( &self.governance.program_id, &self.realm, diff --git a/programs/voter-stake-registry/tests/program_test/mod.rs b/programs/voter-stake-registry/tests/program_test/mod.rs index efc295e6..37792432 100644 --- a/programs/voter-stake-registry/tests/program_test/mod.rs +++ b/programs/voter-stake-registry/tests/program_test/mod.rs @@ -110,7 +110,6 @@ impl TestContext { let mut test = ProgramTest::new( "voter_stake_registry", addin_program_id, - // processor!(voter_stake_registry::entry), None, ); // intentionally set to half the limit, to catch potential problems early From 25edd4db5cb815619f38e2021574d54a55b6783a Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Thu, 8 Aug 2024 15:26:41 +0400 Subject: [PATCH 6/7] min_community_weight_to_create_proposal to 1000 --- programs/voter-stake-registry/tests/program_test/governance.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/voter-stake-registry/tests/program_test/governance.rs b/programs/voter-stake-registry/tests/program_test/governance.rs index 121a3e9e..e426552d 100644 --- a/programs/voter-stake-registry/tests/program_test/governance.rs +++ b/programs/voter-stake-registry/tests/program_test/governance.rs @@ -236,7 +236,7 @@ impl GovernanceRealmCookie { &authority.pubkey(), Some(voter.voter_weight_record), spl_governance::state::governance::GovernanceConfig { - min_community_weight_to_create_proposal: 1, + min_community_weight_to_create_proposal: 1000, min_transaction_hold_up_time: 0, min_council_weight_to_create_proposal: 1, community_vote_threshold: VoteThreshold::YesVotePercentage(50), From fd08b93a9323bd1ba5f4a1483a1971cf14ce53ce Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Thu, 8 Aug 2024 15:33:54 +0400 Subject: [PATCH 7/7] cargo format fix --- .../voter-stake-registry/tests/program_test/governance.rs | 5 ++++- programs/voter-stake-registry/tests/program_test/mod.rs | 6 +----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/programs/voter-stake-registry/tests/program_test/governance.rs b/programs/voter-stake-registry/tests/program_test/governance.rs index e426552d..3fc237fb 100644 --- a/programs/voter-stake-registry/tests/program_test/governance.rs +++ b/programs/voter-stake-registry/tests/program_test/governance.rs @@ -285,7 +285,10 @@ impl GovernanceRealmCookie { &self.community_token_mint.pubkey.unwrap(), &proposal_seed, ); - let add_signatory_authority = AddSignatoryAuthority::ProposalOwner { governance_authority: authority.pubkey(), token_owner_record: voter.token_owner_record }; + let add_signatory_authority = AddSignatoryAuthority::ProposalOwner { + governance_authority: authority.pubkey(), + token_owner_record: voter.token_owner_record, + }; let instructions = vec![ vwr_instruction, spl_governance::instruction::create_proposal( diff --git a/programs/voter-stake-registry/tests/program_test/mod.rs b/programs/voter-stake-registry/tests/program_test/mod.rs index 37792432..26c4c34a 100644 --- a/programs/voter-stake-registry/tests/program_test/mod.rs +++ b/programs/voter-stake-registry/tests/program_test/mod.rs @@ -107,11 +107,7 @@ impl TestContext { let addin_program_id = voter_stake_registry::id(); - let mut test = ProgramTest::new( - "voter_stake_registry", - addin_program_id, - None, - ); + let mut test = ProgramTest::new("voter_stake_registry", addin_program_id, None); // intentionally set to half the limit, to catch potential problems early test.set_compute_max_units(120000);