diff --git a/Anchor.toml b/Anchor.toml index ec3ac3ee..c937b949 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -1,5 +1,5 @@ -anchor_version = "0.24.2" -solana_version = "1.10.24" +anchor_version = "0.26.0" +solana_version = "1.14.10" [features] seeds = false diff --git a/Cargo.lock b/Cargo.lock index 9ce254d3..cd2347ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7,14 +7,9 @@ name = "Inflector" version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" - -[[package]] -name = "addr2line" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "lazy_static", + "regex", ] [[package]] @@ -23,6 +18,42 @@ 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 0.3.0", + "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 0.3.0", + "ctr", + "polyval", + "subtle", + "zeroize", +] + [[package]] name = "ahash" version = "0.7.6" @@ -49,129 +80,144 @@ 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.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b75d05b6b4ac9d95bb6e3b786b27d3a708c4c5a87c92ffaa25bbe9ae4c5d91" +checksum = "cf7d535e1381be3de2c0716c0a1c1e32ad9df1042cddcf7bc18d743569e53319" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", + "proc-macro2 1.0.49", + "quote 1.0.23", "regex", - "syn", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-account" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "485351a6d8157750d10d88c8e256f1bf8339262b2220ae9125aed3471309b5de" +checksum = "c3bcd731f21048a032be27c7791701120e44f3f6371358fc4261a7f716283d29" dependencies = [ "anchor-syn", "anyhow", "bs58 0.4.0", - "proc-macro2", - "quote", + "proc-macro2 1.0.49", + "quote 1.0.23", "rustversion", - "syn", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-constant" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc632c540913dd051a78b00587cc47f57013d303163ddfaf4fa18717f7ccc1e0" +checksum = "e1be64a48e395fe00b8217287f226078be2cf32dae42fdf8a885b997945c3d28" dependencies = [ "anchor-syn", - "proc-macro2", - "syn", + "proc-macro2 1.0.49", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-error" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5bd1dcfa7f3bc22dacef233d70a9e0bee269c4ac484510662f257cba2353a1" +checksum = "38ea6713d1938c0da03656ff8a693b17dc0396da66d1ba320557f07e86eca0d4" dependencies = [ "anchor-syn", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-event" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c6f9e6ce551ac9a177a45c99a65699a860c9e95fac68675138af1246e2591b0" +checksum = "d401f11efb3644285685f8339829a9786d43ed7490bb1699f33c478d04d5a582" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-interface" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d104aa17418cb329ed7418b227e083d5f326a27f26ce98f5d92e33da62a5f459" +checksum = "c6700a6f5c888a9c33fe8afc0c64fd8575fa28d05446037306d0f96102ae4480" dependencies = [ "anchor-syn", "anyhow", - "heck", - "proc-macro2", - "quote", - "syn", + "heck 0.3.3", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-program" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6831b920b173c004ddf7ae1167d1d25e9f002ffcb1773bbc5c7ce532a4441e1" +checksum = "6ad769993b5266714e8939e47fbdede90e5c030333c7522d99a4d4748cf26712" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-state" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde147b10c71d95dc679785db0b5f3abac0091f789167aa62ac0135e2f54e8b9" +checksum = "4e677fae4a016a554acdd0e3b7f178d3acafaa7e7ffac6b8690cf4e171f1c116" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "anchor-derive-accounts" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cde98a0e1a56046b040ff591dfda391f88917af2b6487d02b45093c05be3514" +checksum = "340beef6809d1c3fcc7ae219153d981e95a8a277ff31985bd7050e32645dc9a8" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "anchor-lang" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85dd2c5e29e20c7f4701a43724d6cd5406d0ee5694705522e43da0f26542a84" +checksum = "662ceafe667448ee4199a4be2ee83b6bb76da28566eee5cea05f96ab38255af8" dependencies = [ "anchor-attribute-access-control", "anchor-attribute-account", @@ -193,9 +239,9 @@ dependencies = [ [[package]] name = "anchor-spl" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0188c33b4a3c124c4e593f2b440415aaea70a7650fac6ba0772395385d71c003" +checksum = "f32390ce8356f54c0f0245ea156f8190717e37285b8bf4f406a613dc4b954cde" dependencies = [ "anchor-lang", "solana-program", @@ -205,23 +251,32 @@ dependencies = [ [[package]] name = "anchor-syn" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03549dc2eae0b20beba6333b14520e511822a6321cdb1760f841064a69347316" +checksum = "0418bcb5daac3b8cb1b60d8fdb1d468ca36f5509f31fb51179326fae1028fdcc" dependencies = [ "anyhow", "bs58 0.3.1", - "heck", - "proc-macro2", + "heck 0.3.3", + "proc-macro2 1.0.49", "proc-macro2-diagnostics", - "quote", + "quote 1.0.23", "serde", "serde_json", - "sha2", - "syn", + "sha2 0.9.9", + "syn 1.0.107", "thiserror", ] +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + [[package]] name = "anyhow" version = "1.0.56" @@ -246,21 +301,83 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" +[[package]] +name = "asn1-rs" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" +dependencies = [ + "asn1-rs-derive", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.17", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +dependencies = [ + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", + "synstructure", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" +dependencies = [ + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", +] + [[package]] name = "assert_matches" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +[[package]] +name = "async-compression" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +dependencies = [ + "brotli", + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", +] + +[[package]] +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.52" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" +checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -280,21 +397,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "backtrace" -version = "0.3.65" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide 0.5.1", - "object", - "rustc-demangle", -] - [[package]] name = "base64" version = "0.12.3" @@ -307,6 +409,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[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" @@ -322,6 +430,15 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + [[package]] name = "blake3" version = "1.3.1" @@ -333,7 +450,7 @@ dependencies = [ "cc", "cfg-if", "constant_time_eq", - "digest 0.10.3", + "digest 0.10.6", ] [[package]] @@ -368,7 +485,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" dependencies = [ "borsh-derive", - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -380,8 +497,8 @@ dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", - "proc-macro2", - "syn", + "proc-macro2 1.0.49", + "syn 1.0.107", ] [[package]] @@ -390,9 +507,9 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -401,9 +518,30 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", +] + +[[package]] +name = "brotli" +version = "3.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", ] [[package]] @@ -436,22 +574,22 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.8.0" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e851ca7c24871e7336801608a4797d7376545b6928a10d32d75685687141ead" +checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.0.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54" +checksum = "5fe233b960f12f8007e3db2d136e3cb1c291bfd7396e384ee76025fc1a3932b4" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -487,6 +625,16 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "caps" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" +dependencies = [ + "libc", + "thiserror", +] + [[package]] name = "cc" version = "1.0.73" @@ -512,7 +660,7 @@ dependencies = [ "num-integer", "num-traits", "serde", - "time", + "time 0.1.43", "winapi", ] @@ -525,6 +673,65 @@ dependencies = [ "chrono", ] +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array", +] + +[[package]] +name = "cipher" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim 0.8.0", + "textwrap 0.11.0", + "unicode-width", + "vec_map", +] + +[[package]] +name = "clap" +version = "3.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +dependencies = [ + "atty", + "bitflags", + "clap_lex", + "indexmap", + "once_cell", + "strsim 0.10.0", + "termcolor", + "textwrap 0.16.0", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "combine" version = "3.8.1" @@ -538,6 +745,20 @@ dependencies = [ "unreachable", ] +[[package]] +name = "console" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "terminal_size", + "unicode-width", + "winapi", +] + [[package]] name = "console_error_panic_hook" version = "0.1.7" @@ -558,12 +779,34 @@ dependencies = [ "web-sys", ] +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + [[package]] name = "constant_time_eq" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[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.1" @@ -653,23 +896,12 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.11.1" +name = "ctr" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "generic-array", - "subtle", + "cipher 0.3.0", ] [[package]] @@ -681,6 +913,7 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", + "serde", "subtle", "zeroize", ] @@ -696,13 +929,50 @@ dependencies = [ "rayon", ] +[[package]] +name = "data-encoding" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" + +[[package]] +name = "der" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +dependencies = [ + "const-oid", +] + +[[package]] +name = "der-parser" +version = "8.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +dependencies = [ + "asn1-rs", + "displaydoc", + "nom", + "num-bigint 0.4.3", + "num-traits", + "rusticata-macros", +] + [[package]] name = "derivation-path" -version = "0.1.3" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" + +[[package]] +name = "dialoguer" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193388a8c8c75a490b604ff61775e236541b8975e98e5ca1f6ea97d122b7e2db" +checksum = "a92e7e37ecef6857fdc0c0c5d42fd5b0938e46590c2183cc92dd310a6d078eb1" dependencies = [ - "failure", + "console", + "tempfile", + "zeroize", ] [[package]] @@ -716,9 +986,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.2", "crypto-common", @@ -735,80 +1005,166 @@ dependencies = [ ] [[package]] -name = "ed25519" -version = "1.4.0" +name = "dirs-next" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed12bbf7b5312f8da1c2722bc06d8c6b12c2d86a7fb35a194c7f3e6fc2bbe39" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ - "signature", + "cfg-if", + "dirs-sys-next", ] [[package]] -name = "ed25519-dalek" -version = "1.0.1" +name = "dirs-sys-next" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ - "curve25519-dalek", - "ed25519", - "rand 0.7.3", - "serde", - "sha2", - "zeroize", + "libc", + "redox_users", + "winapi", ] [[package]] -name = "ed25519-dalek-bip32" -version = "0.1.1" +name = "displaydoc" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057f328f31294b5ab432e6c39642f54afd1531677d6d4ba2905932844cc242f3" +checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ - "derivation-path", - "ed25519-dalek", - "failure", - "hmac 0.9.0", - "sha2", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] -name = "educe" -version = "0.4.19" +name = "dlopen" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07b7cc9cd8c08d10db74fca3b20949b9b6199725c04a0cce6d543496098fcac" +checksum = "71e80ad39f814a9abe68583cd50a2d45c8a67561c3361ab8da240587dda80937" dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn", + "dlopen_derive", + "lazy_static", + "libc", + "winapi", ] [[package]] -name = "either" -version = "1.6.1" +name = "dlopen_derive" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "f236d9e1b1fbd81cea0f9cbdc8dcc7e8ebcd80e6659cd7cb2ad5f6c05946c581" +dependencies = [ + "libc", + "quote 0.6.13", + "syn 0.15.44", +] [[package]] -name = "encoding_rs" -version = "0.8.30" +name = "eager" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abe71d579d1812060163dff96056261deb5bf6729b100fa2e36a68b9649ba3d3" + +[[package]] +name = "ed25519" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eed12bbf7b5312f8da1c2722bc06d8c6b12c2d86a7fb35a194c7f3e6fc2bbe39" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "ed25519-dalek-bip32" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" +dependencies = [ + "derivation-path", + "ed25519-dalek", + "hmac 0.12.1", + "sha2 0.10.6", +] + +[[package]] +name = "educe" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07b7cc9cd8c08d10db74fca3b20949b9b6199725c04a0cce6d543496098fcac" +dependencies = [ + "enum-ordinalize", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", +] + +[[package]] +name = "either" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" dependencies = [ "cfg-if", ] +[[package]] +name = "enum-iterator" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" +dependencies = [ + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", +] + [[package]] name = "enum-ordinalize" version = "3.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2170fc0efee383079a8bdd05d6ea2a184d2a0f07a1c1dcabdb2fd5e9f24bc36c" dependencies = [ - "num-bigint", + "num-bigint 0.4.3", "num-traits", - "proc-macro2", - "quote", + "proc-macro2 1.0.49", + "quote 1.0.23", "rustc_version", - "syn", + "syn 1.0.107", ] [[package]] @@ -818,9 +1174,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eb359f1476bf611266ac1f5355bc14aeca37b299d0ebccc038ee7058891c9cb" dependencies = [ "once_cell", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -837,26 +1193,10 @@ dependencies = [ ] [[package]] -name = "failure" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" +name = "event-listener" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" @@ -887,14 +1227,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.22" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ - "cfg-if", "crc32fast", - "libc", - "miniz_oxide 0.4.4", + "miniz_oxide", ] [[package]] @@ -913,12 +1251,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs_extra" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" - [[package]] name = "futures" version = "0.3.21" @@ -973,9 +1305,9 @@ version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -1008,6 +1340,15 @@ dependencies = [ "slab", ] +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + [[package]] name = "generic-array" version = "0.14.5" @@ -1021,9 +1362,9 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4addc164932852d066774c405dbbdb7914742d2b39e39e1a7ca949c856d054d1" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" dependencies = [ "libc", "winapi", @@ -1049,21 +1390,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.10.2+wasi-snapshot-preview1", + "wasm-bindgen", ] -[[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" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32401e89c6446dcd28185931a01b1093726d0356820ac744023e6850689bf926" +checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" dependencies = [ "log", "plain", @@ -1080,14 +1417,14 @@ dependencies = [ "borsh", "enum_dispatch", "itertools", - "num", + "num 0.4.0", "num-derive", "num-traits", "solana-gateway", "solana-program", "solana-program-test", "solana-sdk", - "spl-governance", + "spl-governance 2.2.4", "spl-governance-addin-api", "spl-governance-addin-mock", "spl-governance-tools", @@ -1107,7 +1444,7 @@ dependencies = [ "solana-program", "solana-program-test", "solana-sdk", - "spl-governance", + "spl-governance 3.1.0", "spl-governance-tools", "spl-token", ] @@ -1123,7 +1460,7 @@ dependencies = [ "solana-program", "solana-program-test", "solana-sdk", - "spl-governance", + "spl-governance 2.2.4", "spl-governance-tools", "spl-token", ] @@ -1143,15 +1480,15 @@ dependencies = [ "indexmap", "slab", "tokio", - "tokio-util", + "tokio-util 0.6.9", "tracing", ] [[package]] name = "hash32" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4041af86e63ac4298ce40e5cca669066e75b6f1aa3390fe2561ffa5e1d9f4cc" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" dependencies = [ "byteorder", ] @@ -1165,6 +1502,15 @@ dependencies = [ "ahash", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + [[package]] name = "heck" version = "0.3.3" @@ -1174,6 +1520,12 @@ dependencies = [ "unicode-segmentation", ] +[[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" @@ -1184,33 +1536,28 @@ dependencies = [ ] [[package]] -name = "hmac" -version = "0.8.1" +name = "histogram" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", -] +checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" [[package]] name = "hmac" -version = "0.9.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deae6d9dbb35ec2c502d62b8f7b1c000a0822c3b0794ba36b3149c0a1c840dff" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" dependencies = [ - "crypto-mac 0.9.1", + "crypto-mac", "digest 0.9.0", ] [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", + "digest 0.10.6", ] [[package]] @@ -1248,9 +1595,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -1266,9 +1613,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.17" +version = "0.14.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043f0e083e9901b6cc658a77d1eb86f4fc650bbb977a4337dd63192826aa85dd" +checksum = "abfba89e19b959ca163c7752ba59d737c1ceea53a5d31a149c805446fc958064" dependencies = [ "bytes", "futures-channel", @@ -1312,6 +1659,22 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "im" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" +dependencies = [ + "bitmaps", + "rand_core 0.6.3", + "rand_xoshiro", + "rayon", + "serde", + "sized-chunks", + "typenum", + "version_check", +] + [[package]] name = "index_list" version = "0.2.7" @@ -1320,12 +1683,33 @@ checksum = "5a9d968042a4902e08810946fc7cd5851eb75e80301342305af755ca06cb82ce" [[package]] name = "indexmap" -version = "1.8.0" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", +] + +[[package]] +name = "indicatif" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" +dependencies = [ + "console", + "lazy_static", + "number_prefix", + "regex", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", ] [[package]] @@ -1369,13 +1753,28 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.56" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpc-core" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" +dependencies = [ + "futures", + "futures-executor", + "futures-util", + "log", + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "keccak" version = "0.1.0" @@ -1390,9 +1789,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.119" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libloading" @@ -1419,7 +1818,7 @@ dependencies = [ "libsecp256k1-gen-genmult", "rand 0.7.3", "serde", - "sha2", + "sha2 0.9.9", "typenum", ] @@ -1452,6 +1851,12 @@ dependencies = [ "libsecp256k1-core", ] +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + [[package]] name = "lock_api" version = "0.4.6" @@ -1463,13 +1868,33 @@ dependencies = [ [[package]] name = "log" -version = "0.4.14" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if", ] +[[package]] +name = "lz4" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +dependencies = [ + "libc", + "lz4-sys", +] + +[[package]] +name = "lz4-sys" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "matches" version = "0.1.9" @@ -1500,6 +1925,18 @@ dependencies = [ "autocfg", ] +[[package]] +name = "merlin" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.3", + "zeroize", +] + [[package]] name = "mime" version = "0.3.16" @@ -1507,29 +1944,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] -name = "miniz_oxide" -version = "0.4.4" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg", -] +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.0" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ "libc", "log", @@ -1547,6 +1980,27 @@ dependencies = [ "winapi", ] +[[package]] +name = "modular-bitfield" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +dependencies = [ + "modular-bitfield-impl", + "static_assertions", +] + +[[package]] +name = "modular-bitfield-impl" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +dependencies = [ + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", +] + [[package]] name = "mpl-token-metadata" version = "1.2.5" @@ -1578,6 +2032,28 @@ dependencies = [ "thiserror", ] +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset", +] + +[[package]] +name = "nom" +version = "7.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "ntapi" version = "0.3.7" @@ -1587,17 +2063,42 @@ dependencies = [ "winapi", ] +[[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 0.2.4", + "num-integer", + "num-iter", + "num-rational 0.2.4", + "num-traits", +] + [[package]] name = "num" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" dependencies = [ - "num-bigint", - "num-complex", + "num-bigint 0.4.3", + "num-complex 0.4.1", "num-integer", "num-iter", - "num-rational", + "num-rational 0.4.0", + "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", ] @@ -1612,6 +2113,16 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-complex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" +dependencies = [ + "autocfg", + "num-traits", +] + [[package]] name = "num-complex" version = "0.4.1" @@ -1627,9 +2138,9 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -1655,19 +2166,31 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.0" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.2.6", "num-integer", "num-traits", ] [[package]] -name = "num-traits" -version = "0.2.14" +name = "num-rational" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +dependencies = [ + "autocfg", + "num-bigint 0.4.3", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" dependencies = [ @@ -1700,25 +2223,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" dependencies = [ "proc-macro-crate 1.1.3", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] -name = "object" -version = "0.28.3" +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "oid-registry" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "memchr", + "asn1-rs", ] [[package]] name = "once_cell" -version = "1.10.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -1726,15 +2255,23 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[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.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf9b1c4e9a6c4de793c632496fa490bdc0e1eea73f0c91394f7b6990935d22" +checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" dependencies = [ "async-trait", "crossbeam-channel", - "futures", + "futures-channel", + "futures-executor", + "futures-util", "js-sys", "lazy_static", "percent-encoding", @@ -1743,28 +2280,33 @@ dependencies = [ "thiserror", ] +[[package]] +name = "os_str_bytes" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + [[package]] name = "ouroboros" -version = "0.13.0" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f357ef82d1b4db66fbed0b8d542cbd3c22d0bf5b393b3c257b9ba4568e70c9c3" +checksum = "dfbb50b356159620db6ac971c6d5c9ab788c9cc38a6f49619fca2a27acb062ca" dependencies = [ "aliasable", "ouroboros_macro", - "stable_deref_trait", ] [[package]] name = "ouroboros_macro" -version = "0.13.0" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44a0b52c2cbaef7dffa5fec1a43274afe8bd2a644fa9fc50a9ef4ff0269b1257" +checksum = "4a0d9d1a6191c4f391f87219d1ea42b23f09ee84d64763cd05ee6ea88d9f384d" dependencies = [ "Inflector", "proc-macro-error", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -1812,16 +2354,34 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.32.0", ] [[package]] name = "pbkdf2" -version = "0.9.0" +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.6", +] + +[[package]] +name = "pem" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" +checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" dependencies = [ - "crypto-mac 0.11.1", + "base64 0.13.0", ] [[package]] @@ -1830,6 +2390,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +[[package]] +name = "percentage" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd23b938276f14057220b707937bcb42fa76dda7560e57a2da30cb52d557937" +dependencies = [ + "num 0.2.1", +] + [[package]] name = "pin-project" version = "1.0.10" @@ -1845,9 +2414,9 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -1862,6 +2431,17 @@ 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.24" @@ -1874,6 +2454,18 @@ 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 = "ppv-lite86" version = "0.2.16" @@ -1906,9 +2498,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", "version_check", ] @@ -1918,18 +2510,27 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.49", + "quote 1.0.23", "version_check", ] [[package]] name = "proc-macro2" -version = "1.0.36" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +dependencies = [ + "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] @@ -1938,9 +2539,9 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", "version_check", "yansi", ] @@ -1954,13 +2555,75 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "quinn" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b435e71d9bfa0d8889927231970c51fb89c58fa63bffcab117c9c7a41e5ef8f" +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.15" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ - "proc-macro2", + "proc-macro2 1.0.49", ] [[package]] @@ -1974,7 +2637,6 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc", - "rand_pcg", ] [[package]] @@ -2036,39 +2698,48 @@ dependencies = [ ] [[package]] -name = "rand_pcg" -version = "0.2.1" +name = "rand_xoshiro" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" dependencies = [ - "rand_core 0.5.1", + "rand_core 0.6.3", ] [[package]] name = "rayon" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" dependencies = [ - "autocfg", - "crossbeam-deque", "either", "rayon-core", ] [[package]] name = "rayon-core" -version = "1.9.1" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" dependencies = [ "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "lazy_static", "num_cpus", ] +[[package]] +name = "rcgen" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +dependencies = [ + "pem", + "ring", + "time 0.3.17", + "yasna", +] + [[package]] name = "redox_syscall" version = "0.2.11" @@ -2078,11 +2749,22 @@ dependencies = [ "bitflags", ] +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom 0.2.5", + "redox_syscall", + "thiserror", +] + [[package]] name = "regex" -version = "1.5.5" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2091,9 +2773,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.25" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -2106,10 +2788,11 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.9" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f242f1488a539a79bac6dbe7c8609ae43b7914b7736210f239a37cccb32525" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ + "async-compression", "base64 0.13.0", "bytes", "encoding_rs", @@ -2122,18 +2805,20 @@ dependencies = [ "hyper-rustls", "ipnet", "js-sys", - "lazy_static", "log", "mime", + "once_cell", "percent-encoding", "pin-project-lite", "rustls", - "rustls-pemfile", + "rustls-pemfile 1.0.1", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-rustls", + "tokio-util 0.7.2", + "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -2157,12 +2842,30 @@ dependencies = [ "winapi", ] +[[package]] +name = "rpassword" +version = "6.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf099a1888612545b683d2661a1940089f6c2e5a8e38979b2159da876bfd956" +dependencies = [ + "libc", + "serde", + "serde_json", + "winapi", +] + [[package]] name = "rustc-demangle" version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +[[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" @@ -2172,11 +2875,20 @@ 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 = "rustls" -version = "0.20.4" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ "log", "ring", @@ -2184,6 +2896,18 @@ dependencies = [ "webpki", ] +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile 1.0.1", + "schannel", + "security-framework", +] + [[package]] name = "rustls-pemfile" version = "0.2.1" @@ -2193,11 +2917,20 @@ dependencies = [ "base64 0.13.0", ] +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64 0.13.0", +] + [[package]] name = "rustversion" -version = "1.0.6" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" @@ -2214,6 +2947,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + [[package]] name = "scopeguard" version = "1.1.0" @@ -2222,22 +2965,22 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scroll" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda28d4b4830b807a8b43f7b0e6b5df875311b3e7621d84577188c175b6ec1ec" +checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" dependencies = [ "scroll_derive", ] [[package]] name = "scroll_derive" -version = "0.10.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaaae8f38bb311444cfb7f1979af0bc9240d95795f75f9ceddf6a59b79ceffa0" +checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -2250,17 +2993,40 @@ dependencies = [ "untrusted", ] +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" -version = "1.0.6" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "serde" -version = "1.0.136" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" dependencies = [ "serde_derive", ] @@ -2276,20 +3042,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "serde_json" -version = "1.0.79" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", @@ -2308,6 +3074,29 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_yaml" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +dependencies = [ + "indexmap", + "ryu", + "serde", + "yaml-rust", +] + +[[package]] +name = "sha-1" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.6", +] + [[package]] name = "sha2" version = "0.9.9" @@ -2321,6 +3110,17 @@ dependencies = [ "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.6", +] + [[package]] name = "sha3" version = "0.9.1" @@ -2333,6 +3133,16 @@ dependencies = [ "opaque-debug", ] +[[package]] +name = "sha3" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +dependencies = [ + "digest 0.10.6", + "keccak", +] + [[package]] name = "sharded-slab" version = "0.1.4" @@ -2357,6 +3167,16 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" +[[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.5" @@ -2393,20 +3213,46 @@ dependencies = [ ] [[package]] -name = "solana-address-lookup-table-program" -version = "1.9.17" +name = "solana-account-decoder" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1c55b7304ab892d207c68f6049b292d23c2b4533e09c65e0f909bf9b8475faa" +checksum = "701ca0143761d40eb6e2933e8854d1c0a2918ede7419264b71bd142980c5fb32" dependencies = [ + "Inflector", + "base64 0.13.0", "bincode", - "bytemuck", - "log", - "num-derive", - "num-traits", - "rustc_version", + "bs58 0.4.0", + "bv", + "lazy_static", "serde", - "solana-frozen-abi", + "serde_derive", + "serde_json", + "solana-address-lookup-table-program", + "solana-config-program", + "solana-sdk", + "solana-vote-program", + "spl-token", + "spl-token-2022", + "thiserror", + "zstd", +] + +[[package]] +name = "solana-address-lookup-table-program" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03f403a837de4e5d6135bb8100b7aa982a1e5ecc166386258ce3583cd12e2d7c" +dependencies = [ + "bincode", + "bytemuck", + "log", + "num-derive", + "num-traits", + "rustc_version", + "serde", + "solana-frozen-abi", "solana-frozen-abi-macro", + "solana-program", "solana-program-runtime", "solana-sdk", "thiserror", @@ -2414,9 +3260,9 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16e829fa2a389d63f3d19b73aa41919c9be20d3997ac32eeed978d5de3c0d2b" +checksum = "ff6ec147cbc090269a141bfb8956e376c024aa7bf5813eb34c8288145a96595a" dependencies = [ "borsh", "futures", @@ -2431,9 +3277,9 @@ dependencies = [ [[package]] name = "solana-banks-interface" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b7ea0bf3313b8773a23e81a235c399065ac80c1ca409a548cd6846f1de00ab" +checksum = "c283d14c217ebb5aaa59cbcd3ed75df50f52074504aead0a1b1504d68a009a10" dependencies = [ "serde", "solana-sdk", @@ -2442,13 +3288,15 @@ dependencies = [ [[package]] name = "solana-banks-server" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22098f89ab47ec97c67a69609724009db8321c17ace35178b2356e92db9738b8" +checksum = "9d1c8a1bac13f3b79ab5b1b9d40236a1c968002a33007b33dff1909b89783ecc" dependencies = [ "bincode", + "crossbeam-channel", "futures", "solana-banks-interface", + "solana-client", "solana-runtime", "solana-sdk", "solana-send-transaction-service", @@ -2458,30 +3306,11 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "solana-bloom" -version = "1.9.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07f309d576f01df9f91125dcf961655e61545ab3707cbddd38aea8cdc9573058" -dependencies = [ - "bv", - "fnv", - "log", - "rand 0.7.3", - "rayon", - "rustc_version", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", -] - [[package]] name = "solana-bpf-loader-program" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9317274a9b3275aa5c900f06fcf5cdebd707e27530e1253dca1e5ebe32a28f6" +checksum = "d288b850b004df3b5ac8af53b0510c5fdf37a2240b6bdd2fb78f4625d30fa497" dependencies = [ "bincode", "byteorder", @@ -2491,32 +3320,119 @@ dependencies = [ "solana-metrics", "solana-program-runtime", "solana-sdk", + "solana-zk-token-sdk", "solana_rbpf", "thiserror", ] [[package]] name = "solana-bucket-map" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06adcde94393e385cb80ef046b1bc58c1f4edcd6ddf2466cf6a6ab09523aa451" +checksum = "9df2cd8e820633da71a0167054a42d191bc829a00636d994cf92dec0a045445f" dependencies = [ - "fs_extra", "log", "memmap2", + "modular-bitfield", "rand 0.7.3", - "rayon", - "solana-logger", "solana-measure", "solana-sdk", "tempfile", ] +[[package]] +name = "solana-clap-utils" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94635c6ba33899361777993370090a027abcefda4463f0f51863e0508cc0cd8a" +dependencies = [ + "chrono", + "clap 2.34.0", + "rpassword", + "solana-perf", + "solana-remote-wallet", + "solana-sdk", + "thiserror", + "tiny-bip39", + "uriparse", + "url", +] + +[[package]] +name = "solana-cli-config" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f3185e08728970d1cb67dbcd887180feef72d05b2c0a3a3c61af7f3df5383ed" +dependencies = [ + "dirs-next", + "lazy_static", + "serde", + "serde_derive", + "serde_yaml", + "solana-clap-utils", + "solana-sdk", + "url", +] + +[[package]] +name = "solana-client" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1263dd1bd7473cc367e703f5198396e11dc83be37d10fb3f12fceca0a1eec749" +dependencies = [ + "async-mutex", + "async-trait", + "base64 0.13.0", + "bincode", + "bs58 0.4.0", + "bytes", + "clap 2.34.0", + "crossbeam-channel", + "enum_dispatch", + "futures", + "futures-util", + "indexmap", + "indicatif", + "itertools", + "jsonrpc-core", + "lazy_static", + "log", + "quinn", + "quinn-proto", + "rand 0.7.3", + "rand_chacha 0.2.2", + "rayon", + "reqwest", + "rustls", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-clap-utils", + "solana-faucet", + "solana-measure", + "solana-metrics", + "solana-net-utils", + "solana-sdk", + "solana-streamer", + "solana-transaction-status", + "solana-version", + "solana-vote-program", + "spl-token-2022", + "thiserror", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tungstenite", + "url", +] + [[package]] name = "solana-compute-budget-program" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c927ec4babd1e0f7521e4c28cee3256cd70337bfa74612df398ebfd4ec7604" +checksum = "abbbf355bee3a5ce0ac65d34ab892b866f064af0f84cfbbd9ae2316488a03fa9" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -2524,9 +3440,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ae8513de0d713037466a27887c8e5b608ef3b15c2138be8628334fc6010be4d" +checksum = "16219e0c1b2f0c919f238c8951078b45b9c6c00b18acec547eebe2821d2db916" dependencies = [ "bincode", "chrono", @@ -2536,36 +3452,74 @@ dependencies = [ "solana-sdk", ] +[[package]] +name = "solana-faucet" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435cfeb35c5f1e67e7e2ad5ac4106f04edaca0609ad52dbbc7ac051d884d6eca" +dependencies = [ + "bincode", + "byteorder", + "clap 2.34.0", + "crossbeam-channel", + "log", + "serde", + "serde_derive", + "solana-clap-utils", + "solana-cli-config", + "solana-logger", + "solana-metrics", + "solana-sdk", + "solana-version", + "spl-memo", + "thiserror", + "tokio", +] + [[package]] name = "solana-frozen-abi" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a42d57a501d4e6b7f9867ba1d43e30fd2c01293018aee1bbdbe361fcb38ca8f" +checksum = "6c5a383f43792311db749bbed4e7794222c9f118b609bc8252b4ea3ad88b4188" dependencies = [ + "ahash", + "blake3", + "block-buffer 0.9.0", "bs58 0.4.0", "bv", + "byteorder", + "cc", + "either", "generic-array", + "getrandom 0.1.16", + "hashbrown 0.12.3", + "im", + "lazy_static", "log", "memmap2", + "once_cell", + "rand_core 0.6.3", "rustc_version", "serde", + "serde_bytes", "serde_derive", - "sha2", + "serde_json", + "sha2 0.10.6", "solana-frozen-abi-macro", - "solana-logger", + "subtle", "thiserror", ] [[package]] name = "solana-frozen-abi-macro" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8e74b463a20856db7c34e623fb9e617f4487b6a9646db70e99fff2244a8d0dd" +checksum = "062e282539e770967500945cd2fdb78170a1ea45aff7ad1b4ce4e2cc0b557db8" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.49", + "quote 1.0.23", "rustc_version", - "syn", + "syn 1.0.107", ] [[package]] @@ -2585,9 +3539,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0bbd0c9b975384bb5e775532cadf101e053858c52f58b970b2e2ad4f0ec3ad5" +checksum = "0c2bcbaba2c683e7bf80ff4f3a3cdcdaabdb0b21333e8d89aed06be136193d39" dependencies = [ "env_logger", "lazy_static", @@ -2596,9 +3550,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4f8d52d73bbfa5cf9bb800c08cc8e4261f8cf4642940dc153db7826fdb1282c" +checksum = "33bbb0e7ee37cdfd18f2636e687cfafcc2e85a7768e283941fd08da022bd0f66" dependencies = [ "log", "solana-sdk", @@ -2606,11 +3560,11 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1c7084a52d604634c850762b01b85e46108751c310227f840a2e1c6e3826a6" +checksum = "f77f7044d57975f001a2c8f3756e4a04f10ca886c69eb8ce0b1786aad52c663d" dependencies = [ - "env_logger", + "crossbeam-channel", "gethostname", "lazy_static", "log", @@ -2618,11 +3572,60 @@ dependencies = [ "solana-sdk", ] +[[package]] +name = "solana-net-utils" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96e4f0b106e881e087226056612ed06ad3c4ff6260d3f9a1c1d54649c127d34f" +dependencies = [ + "bincode", + "clap 3.2.23", + "crossbeam-channel", + "log", + "nix", + "rand 0.7.3", + "serde", + "serde_derive", + "socket2", + "solana-logger", + "solana-sdk", + "solana-version", + "tokio", + "url", +] + +[[package]] +name = "solana-perf" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02d0782ecaf35dafc7a88c63ec1f265edf6051b55489180d95757d71a4d66d6" +dependencies = [ + "ahash", + "bincode", + "bv", + "caps", + "curve25519-dalek", + "dlopen", + "dlopen_derive", + "fnv", + "lazy_static", + "libc", + "log", + "nix", + "rand 0.7.3", + "rayon", + "serde", + "solana-metrics", + "solana-rayon-threadlimit", + "solana-sdk", + "solana-vote-program", +] + [[package]] name = "solana-program" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b955659c41053e2e7d58d4716c15519dd67a418ac5a57c09499691322170911" +checksum = "75602376f2cea17ac301292a3ded6db73e968310ac482857237d95a34473b62a" dependencies = [ "base64 0.13.0", "bincode", @@ -2633,66 +3636,76 @@ dependencies = [ "bs58 0.4.0", "bv", "bytemuck", + "cc", "console_error_panic_hook", "console_log", "curve25519-dalek", - "getrandom 0.1.16", + "getrandom 0.2.5", "itertools", "js-sys", "lazy_static", + "libc", "libsecp256k1", "log", + "memoffset", "num-derive", "num-traits", - "parking_lot 0.11.2", + "parking_lot 0.12.0", "rand 0.7.3", + "rand_chacha 0.2.2", "rustc_version", "rustversion", "serde", "serde_bytes", "serde_derive", - "sha2", - "sha3", + "serde_json", + "sha2 0.10.6", + "sha3 0.10.6", "solana-frozen-abi", "solana-frozen-abi-macro", - "solana-logger", "solana-sdk-macro", "thiserror", + "tiny-bip39", "wasm-bindgen", + "zeroize", ] [[package]] name = "solana-program-runtime" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be23f8b37543a44b8fc5172b3f76d928c966e49105a95312ffc7f4c35741963" +checksum = "eb4a1b61c005eb9c0767b215e428c51adfa6e0023691d37f05653a4cd29bce2b" dependencies = [ "base64 0.13.0", "bincode", + "eager", + "enum-iterator", "itertools", "libc", "libloading", "log", "num-derive", "num-traits", + "rand 0.7.3", "rustc_version", "serde", "solana-frozen-abi", "solana-frozen-abi-macro", - "solana-logger", "solana-measure", + "solana-metrics", "solana-sdk", "thiserror", ] [[package]] name = "solana-program-test" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0625240876358ec4a29a2b8450917e32e44ef375b2eaa383302d40c2289ea1" +checksum = "c20b272afb2c20891cd073aa1c8c437b1f6c4cf9e2140b167f4656f59eea12d7" dependencies = [ + "assert_matches", "async-trait", - "base64 0.12.3", + "base64 0.13.0", "bincode", "chrono-humanize", "log", @@ -2711,19 +3724,38 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b577874682b894ba5c2dfd5fd7e3bbcb4ff09a74bd347346bf79a7d801078a" +checksum = "7091fe2ae498f482f549450e9c5c04e89867dd8622612c742e7c1586b11cc2c1" dependencies = [ "lazy_static", "num_cpus", ] +[[package]] +name = "solana-remote-wallet" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "874c76b56601eaf7a91a4d119824b57625c638ce42c601166d1e44eef4b28fc6" +dependencies = [ + "console", + "dialoguer", + "log", + "num-derive", + "num-traits", + "parking_lot 0.12.0", + "qstring", + "semver", + "solana-sdk", + "thiserror", + "uriparse", +] + [[package]] name = "solana-runtime" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6154bbb33773d9a087450a5caa0ab613aa6dc7777074532e388d28ff75a655b" +checksum = "77c023c21c8c5015113a33b1ec3644d913db2a591e06e6cca9a647bc9a0f58c0" dependencies = [ "arrayref", "bincode", @@ -2737,14 +3769,17 @@ dependencies = [ "dir-diff", "flate2", "fnv", + "im", "index_list", "itertools", "lazy_static", "log", + "lz4", "memmap2", "num-derive", "num-traits", "num_cpus", + "once_cell", "ouroboros", "rand 0.7.3", "rayon", @@ -2753,13 +3788,11 @@ dependencies = [ "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", @@ -2767,6 +3800,10 @@ dependencies = [ "solana-sdk", "solana-stake-program", "solana-vote-program", + "solana-zk-token-proof-program", + "solana-zk-token-sdk", + "strum", + "strum_macros", "symlink", "tar", "tempfile", @@ -2776,9 +3813,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ea9fcedb32801da35d83ece7bdd0a42018e0263ef40adb2215c5f5b6e04119" +checksum = "a46085d2548bb943e7210b28b09378e361350577b391a94457ad78af1a9f75ef" dependencies = [ "assert_matches", "base64 0.13.0", @@ -2790,11 +3827,11 @@ dependencies = [ "byteorder", "chrono", "derivation-path", - "digest 0.9.0", + "digest 0.10.6", "ed25519-dalek", "ed25519-dalek-bip32", "generic-array", - "hmac 0.11.0", + "hmac 0.12.1", "itertools", "js-sys", "lazy_static", @@ -2803,7 +3840,7 @@ dependencies = [ "memmap2", "num-derive", "num-traits", - "pbkdf2", + "pbkdf2 0.11.0", "qstring", "rand 0.7.3", "rand_chacha 0.2.2", @@ -2813,8 +3850,8 @@ dependencies = [ "serde_bytes", "serde_derive", "serde_json", - "sha2", - "sha3", + "sha2 0.10.6", + "sha3 0.10.6", "solana-frozen-abi", "solana-frozen-abi-macro", "solana-logger", @@ -2827,25 +3864,27 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b9e0d05a4a15d4d5f1c146437fc97319beceff21064f36d8f5280d03a82cd9" +checksum = "faa38323e649c70b698e49f1ded17849a9b5da2e0821a38ad08327307009e274" dependencies = [ "bs58 0.4.0", - "proc-macro2", - "quote", + "proc-macro2 1.0.49", + "quote 1.0.23", "rustversion", - "syn", + "syn 1.0.107", ] [[package]] name = "solana-send-transaction-service" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31af72e5089666cb96553452d24ac2c8345ad9b3b6b0d5603e097a8c3ea27b18" +checksum = "0df295d36fc53f0a87d00334fef1fc68242b695531719685a160c190ac938da1" dependencies = [ + "crossbeam-channel", "log", - "solana-logger", + "solana-client", + "solana-measure", "solana-metrics", "solana-runtime", "solana-sdk", @@ -2853,9 +3892,9 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9566af3477bafa9d7ec2b927579d896026724f646ebd393aa7ecd0646c473166" +checksum = "2c2463c564273fdabc6eb5d8aeacf4440aad54fcebf3b1bd57c12b5af81c299c" dependencies = [ "bincode", "log", @@ -2874,11 +3913,85 @@ dependencies = [ "thiserror", ] +[[package]] +name = "solana-streamer" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57ec79681ce38d1b80ffad5507a4b25f6fc9eba827a589fc789561a022a605cf" +dependencies = [ + "crossbeam-channel", + "futures-util", + "histogram", + "indexmap", + "itertools", + "libc", + "log", + "nix", + "pem", + "percentage", + "pkcs8", + "quinn", + "rand 0.7.3", + "rcgen", + "rustls", + "solana-metrics", + "solana-perf", + "solana-sdk", + "thiserror", + "tokio", + "x509-parser", +] + +[[package]] +name = "solana-transaction-status" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d3da9fd5d3d7b7c0bc8c071e614c15f73d75612b1a724a4ebf3139458cbb24" +dependencies = [ + "Inflector", + "base64 0.13.0", + "bincode", + "borsh", + "bs58 0.4.0", + "lazy_static", + "log", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-address-lookup-table-program", + "solana-measure", + "solana-metrics", + "solana-sdk", + "solana-vote-program", + "spl-associated-token-account", + "spl-memo", + "spl-token", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "solana-version" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9592a3fb652a0b84593e18935db930e5f7e9614efaf26e15f3cace1c6d47151" +dependencies = [ + "log", + "rustc_version", + "semver", + "serde", + "serde_derive", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-sdk", +] + [[package]] name = "solana-vote-program" -version = "1.9.17" +version = "1.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514eefafc9d1d6fb9bf88ef36fcf649eb2debafbbb57dc64fea03b44cbfed7d1" +checksum = "1eddab05371499a937a222f101fd9e2b708b87c575ca3cf01e0c012e14aff79d" dependencies = [ "bincode", "log", @@ -2889,18 +4002,63 @@ dependencies = [ "serde_derive", "solana-frozen-abi", "solana-frozen-abi-macro", - "solana-logger", "solana-metrics", "solana-program-runtime", "solana-sdk", "thiserror", ] +[[package]] +name = "solana-zk-token-proof-program" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82ca75686a92656caf2aa29c66020dc1b2e1b1cc7ffce6ada8a6f89201d84d54" +dependencies = [ + "bytemuck", + "getrandom 0.1.16", + "num-derive", + "num-traits", + "solana-program-runtime", + "solana-sdk", + "solana-zk-token-sdk", +] + +[[package]] +name = "solana-zk-token-sdk" +version = "1.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d81faf1b8f5c550923f01e9b2c41aec8f646cceff7fd72ca6712d10a4022f163" +dependencies = [ + "aes-gcm-siv", + "arrayref", + "base64 0.13.0", + "bincode", + "bytemuck", + "byteorder", + "cipher 0.4.3", + "curve25519-dalek", + "getrandom 0.1.16", + "itertools", + "lazy_static", + "merlin", + "num-derive", + "num-traits", + "rand 0.7.3", + "serde", + "serde_json", + "sha3 0.9.1", + "solana-program", + "solana-sdk", + "subtle", + "thiserror", + "zeroize", +] + [[package]] name = "solana_rbpf" -version = "0.2.24" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e138f6d6d4eb6a65f8e9f01ca620bc9907d79648d5038a69dd3f07b6ed3f1f" +checksum = "80a28c5dfe7e8af38daa39d6561c8e8b9ed7a2f900951ebe7362ad6348d36c73" dependencies = [ "byteorder", "combine", @@ -2908,11 +4066,10 @@ dependencies = [ "hash32", "libc", "log", - "rand 0.7.3", + "rand 0.8.5", "rustc-demangle", "scroll", "thiserror", - "time", ] [[package]] @@ -2921,14 +4078,30 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[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 = "1.0.3" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393e2240d521c3dd770806bff25c2c00d761ac962be106e14e22dd912007f428" +checksum = "fbc000f0fdf1f12f99d77d398137c1751345b18c88258ce0f99b7872cf6c9bd6" dependencies = [ + "assert_matches", + "borsh", + "num-derive", + "num-traits", "solana-program", "spl-token", + "spl-token-2022", + "thiserror", ] [[package]] @@ -2951,11 +4124,31 @@ dependencies = [ "thiserror", ] +[[package]] +name = "spl-governance" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0e20402049d3c185837f4d97aa005b83f8d5e8c6a54ddc6ba800dbe82e736e8" +dependencies = [ + "arrayref", + "bincode", + "borsh", + "num-derive", + "num-traits", + "serde", + "serde_derive", + "solana-program", + "spl-governance-addin-api", + "spl-governance-tools", + "spl-token", + "thiserror", +] + [[package]] name = "spl-governance-addin-api" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5df620226aed88689457ef18a80dfed709721365bee0bf8c843dcef30279d5fc" +checksum = "1e0feddb2c7efa42f39954e3bb1b0bfc6dc7e9292ca467eff40ecd934c14106b" dependencies = [ "borsh", "solana-program", @@ -2984,9 +4177,9 @@ dependencies = [ [[package]] name = "spl-governance-tools" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a206f0837415046d919f3075d6b3af9bd3f1f707c887898c335a6210b194627" +checksum = "3bd674d9e8f3fc9ea628dcbe56d48991ea1cb05b994a7845782572c705efd836" dependencies = [ "arrayref", "bincode", @@ -3000,13 +4193,23 @@ dependencies = [ "thiserror", ] +[[package]] +name = "spl-memo" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +dependencies = [ + "solana-program", +] + [[package]] name = "spl-token" -version = "3.3.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc67166ef99d10c18cb5e9c208901e6d8255c6513bb1f877977eba48e6cc4fb" +checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" dependencies = [ "arrayref", + "bytemuck", "num-derive", "num-traits", "num_enum", @@ -3015,10 +4218,22 @@ dependencies = [ ] [[package]] -name = "stable_deref_trait" -version = "1.2.0" +name = "spl-token-2022" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "0edb869dbe159b018f17fb9bfa67118c30f232d7f54a73742bc96794dff77ed8" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-program", + "solana-zk-token-sdk", + "spl-memo", + "spl-token", + "thiserror", +] [[package]] name = "static_assertions" @@ -3026,6 +4241,40 @@ 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 = "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.0", + "proc-macro2 1.0.49", + "quote 1.0.23", + "rustversion", + "syn 1.0.107", +] + [[package]] name = "subtle" version = "2.4.1" @@ -3040,13 +4289,24 @@ checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" [[package]] name = "syn" -version = "1.0.86" +version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "unicode-xid 0.1.0", +] + +[[package]] +name = "syn" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", + "proc-macro2 1.0.49", + "quote 1.0.23", + "unicode-ident", ] [[package]] @@ -3055,10 +4315,10 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2", - "quote", - "syn", - "unicode-xid", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", + "unicode-xid 0.2.2", ] [[package]] @@ -3074,9 +4334,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", @@ -3091,7 +4351,7 @@ dependencies = [ "thiserror", "tokio", "tokio-serde", - "tokio-util", + "tokio-util 0.6.9", "tracing", "tracing-opentelemetry", ] @@ -3102,9 +4362,9 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee42b4e559f17bce0385ebf511a7beb67d5cc33c12c96b7f4e9789919d9c10f" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -3130,24 +4390,49 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" +dependencies = [ + "libc", + "winapi", +] + +[[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.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -3169,6 +4454,52 @@ dependencies = [ "winapi", ] +[[package]] +name = "time" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" +dependencies = [ + "itoa", + "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.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tinyvec" version = "1.5.1" @@ -3186,20 +4517,20 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.17.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" +checksum = "b9d0183f6f6001549ab68f8c7585093bb732beefbcf6d23a10b9b95c73a1dd49" dependencies = [ + "autocfg", "bytes", "libc", "memchr", "mio", "num_cpus", "once_cell", - "parking_lot 0.12.0", + "parking_lot 0.11.2", "pin-project-lite", "signal-hook-registry", - "socket2", "tokio-macros", "winapi", ] @@ -3210,9 +4541,9 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -3244,15 +4575,31 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3" +checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", "pin-project-lite", "tokio", ] +[[package]] +name = "tokio-tungstenite" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" +dependencies = [ + "futures-util", + "log", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki", + "webpki-roots", +] + [[package]] name = "tokio-util" version = "0.6.9" @@ -3268,6 +4615,20 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-util" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + [[package]] name = "toml" version = "0.5.8" @@ -3302,9 +4663,9 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -3319,10 +4680,11 @@ dependencies = [ [[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", @@ -3331,9 +4693,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.2.25" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" dependencies = [ "sharded-slab", "thread_local", @@ -3346,6 +4708,28 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +[[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.15.0" @@ -3358,6 +4742,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +[[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.19" @@ -3373,12 +4763,34 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +[[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.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +[[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" @@ -3396,9 +4808,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[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", @@ -3416,12 +4828,24 @@ dependencies = [ "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.4" @@ -3469,9 +4893,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3479,16 +4903,16 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", - "lazy_static", "log", - "proc-macro2", - "quote", - "syn", + "once_cell", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", "wasm-bindgen-shared", ] @@ -3506,32 +4930,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ - "quote", + "quote 1.0.23", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "web-sys" @@ -3599,11 +5023,24 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.32.0", + "windows_i686_gnu 0.32.0", + "windows_i686_msvc 0.32.0", + "windows_x86_64_gnu 0.32.0", + "windows_x86_64_msvc 0.32.0", +] + +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] [[package]] @@ -3612,39 +5049,87 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_i686_gnu" version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_msvc" version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_x86_64_gnu" version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_msvc" version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "winreg" -version = "0.7.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ "winapi", ] +[[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 = "0.2.2" @@ -3654,12 +5139,30 @@ dependencies = [ "libc", ] +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] + [[package]] name = "yansi" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71" +[[package]] +name = "yasna" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" +dependencies = [ + "time 0.3.17", +] + [[package]] name = "zeroize" version = "1.3.0" @@ -3675,26 +5178,26 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.49", + "quote 1.0.23", + "syn 1.0.107", "synstructure", ] [[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", @@ -3702,9 +5205,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.6.2+zstd.1.5.1" +version = "2.0.4+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f" +checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0" dependencies = [ "cc", "libc", diff --git a/programs/gateway/Cargo.toml b/programs/gateway/Cargo.toml index 8883b171..64dd05dd 100644 --- a/programs/gateway/Cargo.toml +++ b/programs/gateway/Cargo.toml @@ -18,8 +18,8 @@ default = [] [dependencies] arrayref = "0.3.6" -anchor-lang = { version = "0.24.2", features = ["init-if-needed"] } -anchor-spl = "0.24.2" +anchor-lang = { version = "0.26.0", features = ["init-if-needed"] } +anchor-spl = "0.26.0" enum_dispatch = "0.3.8" itertools = "0.10.2" num = "0.4" diff --git a/programs/nft-voter/Cargo.toml b/programs/nft-voter/Cargo.toml index 56831590..a3b14710 100644 --- a/programs/nft-voter/Cargo.toml +++ b/programs/nft-voter/Cargo.toml @@ -18,16 +18,16 @@ default = [] [dependencies] arrayref = "0.3.6" -anchor-lang = { version = "0.24.2", features = ["init-if-needed"] } -anchor-spl = "0.24.2" +anchor-lang = { version = "0.26.0", features = ["init-if-needed"] } +anchor-spl = "0.26.0" itertools = "0.10.2" mpl-token-metadata = { version = "1.1.0", features = ["no-entrypoint"] } -solana-program = "1.9.13" -spl-governance = { version = "2.2.2", features = ["no-entrypoint"] } -spl-governance-tools= "0.1.2" +solana-program = "1.14.10" +spl-governance = { version = "3.1.0", features = ["no-entrypoint"] } +spl-governance-tools= "0.1.3" spl-token = { version = "3.3", features = [ "no-entrypoint" ] } [dev-dependencies] borsh = "0.9.1" -solana-sdk = "1.9.5" -solana-program-test = "1.9.13" \ No newline at end of file +solana-sdk = "1.14.10" +solana-program-test = "1.14.10" \ No newline at end of file diff --git a/programs/nft-voter/src/instructions/cast_nft_vote.rs b/programs/nft-voter/src/instructions/cast_nft_vote.rs index be2c6a7e..c869deb7 100644 --- a/programs/nft-voter/src/instructions/cast_nft_vote.rs +++ b/programs/nft-voter/src/instructions/cast_nft_vote.rs @@ -116,6 +116,7 @@ pub fn cast_nft_vote<'a, 'b, 'c, 'info>( &id(), &ctx.accounts.system_program.to_account_info(), &rent, + 0, )?; } diff --git a/programs/nft-voter/src/instructions/configure_collection.rs b/programs/nft-voter/src/instructions/configure_collection.rs index 1d62fe30..dab3b5aa 100644 --- a/programs/nft-voter/src/instructions/configure_collection.rs +++ b/programs/nft-voter/src/instructions/configure_collection.rs @@ -65,11 +65,6 @@ pub fn configure_collection( NftVoterError::InvalidRealmAuthority ); - // Changes to the collections config can accidentally tip the scales for outstanding proposals and hence we disallow it - if realm.voting_proposal_count > 0 { - return err!(NftVoterError::CannotConfigureCollectionWithVotingProposals); - } - let collection = &ctx.accounts.collection; let collection_config = CollectionConfig { diff --git a/programs/nft-voter/src/instructions/relinquish_nft_vote.rs b/programs/nft-voter/src/instructions/relinquish_nft_vote.rs index 7f0239e8..f395b45c 100644 --- a/programs/nft-voter/src/instructions/relinquish_nft_vote.rs +++ b/programs/nft-voter/src/instructions/relinquish_nft_vote.rs @@ -136,7 +136,7 @@ pub fn relinquish_nft_vote(ctx: Context) -> Result<()> { &governing_token_owner, )?; - dispose_account(nft_vote_record_info, &ctx.accounts.beneficiary); + dispose_account(nft_vote_record_info, &ctx.accounts.beneficiary)?; } // Reset VoterWeightRecord and set expiry to expired to prevent it from being used diff --git a/programs/nft-voter/tests/cast_nft_vote.rs b/programs/nft-voter/tests/cast_nft_vote.rs index 97e3934e..a88289db 100644 --- a/programs/nft-voter/tests/cast_nft_vote.rs +++ b/programs/nft-voter/tests/cast_nft_vote.rs @@ -8,13 +8,13 @@ use program_test::{ }; use solana_program_test::*; -use solana_sdk::transport::TransportError; + use spl_governance::error::GovernanceError; mod program_test; #[tokio::test] -async fn test_cast_nft_vote() -> Result<(), TransportError> { +async fn test_cast_nft_vote() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -104,7 +104,7 @@ async fn test_cast_nft_vote() -> Result<(), TransportError> { } #[tokio::test] -async fn test_cast_nft_vote_with_multiple_nfts() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_multiple_nfts() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -205,7 +205,7 @@ async fn test_cast_nft_vote_with_multiple_nfts() -> Result<(), TransportError> { } #[tokio::test] -async fn test_cast_nft_vote_with_nft_already_voted_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_nft_already_voted_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -288,7 +288,7 @@ async fn test_cast_nft_vote_with_nft_already_voted_error() -> Result<(), Transpo } #[tokio::test] -async fn test_cast_nft_vote_with_invalid_voter_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_invalid_voter_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -358,7 +358,7 @@ async fn test_cast_nft_vote_with_invalid_voter_error() -> Result<(), TransportEr } #[tokio::test] -async fn test_cast_nft_vote_with_unverified_collection_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_unverified_collection_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -436,7 +436,7 @@ async fn test_cast_nft_vote_with_unverified_collection_error() -> Result<(), Tra } #[tokio::test] -async fn test_cast_nft_vote_with_invalid_owner_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_invalid_owner_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -508,7 +508,7 @@ async fn test_cast_nft_vote_with_invalid_owner_error() -> Result<(), TransportEr } #[tokio::test] -async fn test_cast_nft_vote_with_invalid_collection_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_invalid_collection_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -580,7 +580,7 @@ async fn test_cast_nft_vote_with_invalid_collection_error() -> Result<(), Transp } #[tokio::test] -async fn test_cast_nft_vote_with_invalid_metadata_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_invalid_metadata_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -665,7 +665,7 @@ async fn test_cast_nft_vote_with_invalid_metadata_error() -> Result<(), Transpor } #[tokio::test] -async fn test_cast_nft_vote_with_same_nft_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_same_nft_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -733,7 +733,7 @@ async fn test_cast_nft_vote_with_same_nft_error() -> Result<(), TransportError> } #[tokio::test] -async fn test_cast_nft_vote_with_no_nft_error() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_no_nft_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -810,7 +810,7 @@ async fn test_cast_nft_vote_with_no_nft_error() -> Result<(), TransportError> { } #[tokio::test] -async fn test_cast_nft_vote_with_max_5_nfts() -> Result<(), TransportError> { +async fn test_cast_nft_vote_with_max_5_nfts() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -913,7 +913,7 @@ async fn test_cast_nft_vote_with_max_5_nfts() -> Result<(), TransportError> { } #[tokio::test] -async fn test_cast_nft_vote_using_multiple_instructions() -> Result<(), TransportError> { +async fn test_cast_nft_vote_using_multiple_instructions() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -1022,7 +1022,7 @@ async fn test_cast_nft_vote_using_multiple_instructions() -> Result<(), Transpor #[tokio::test] async fn test_cast_nft_vote_using_multiple_instructions_with_nft_already_voted_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -1111,7 +1111,7 @@ async fn test_cast_nft_vote_using_multiple_instructions_with_nft_already_voted_e #[tokio::test] async fn test_cast_nft_vote_using_multiple_instructions_with_attempted_sandwiched_relinquish( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -1217,7 +1217,7 @@ async fn test_cast_nft_vote_using_multiple_instructions_with_attempted_sandwiche } #[tokio::test] -async fn test_cast_nft_vote_using_delegate() -> Result<(), TransportError> { +async fn test_cast_nft_vote_using_delegate() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -1300,7 +1300,7 @@ async fn test_cast_nft_vote_using_delegate() -> Result<(), TransportError> { #[tokio::test] async fn test_cast_nft_vote_with_invalid_voter_weight_token_owner_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; diff --git a/programs/nft-voter/tests/configure_collection.rs b/programs/nft-voter/tests/configure_collection.rs index 6ff5afbf..cea9fec1 100644 --- a/programs/nft-voter/tests/configure_collection.rs +++ b/programs/nft-voter/tests/configure_collection.rs @@ -5,14 +5,14 @@ use program_test::{ }; use solana_program_test::*; -use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use solana_sdk::{signature::Keypair, signer::Signer}; use crate::program_test::nft_voter_test::ConfigureCollectionArgs; mod program_test; #[tokio::test] -async fn test_configure_collection() -> Result<(), TransportError> { +async fn test_configure_collection() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -63,7 +63,7 @@ async fn test_configure_collection() -> Result<(), TransportError> { } #[tokio::test] -async fn test_configure_multiple_collections() -> Result<(), TransportError> { +async fn test_configure_multiple_collections() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -118,7 +118,7 @@ async fn test_configure_multiple_collections() -> Result<(), TransportError> { } #[tokio::test] -async fn test_configure_max_collections() -> Result<(), TransportError> { +async fn test_configure_max_collections() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -166,7 +166,7 @@ async fn test_configure_max_collections() -> Result<(), TransportError> { } #[tokio::test] -async fn test_configure_existing_collection() -> Result<(), TransportError> { +async fn test_configure_existing_collection() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -223,7 +223,7 @@ async fn test_configure_existing_collection() -> Result<(), TransportError> { // TODO: Remove collection test #[tokio::test] -async fn test_configure_collection_with_invalid_realm_error() -> Result<(), TransportError> { +async fn test_configure_collection_with_invalid_realm_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -263,7 +263,7 @@ async fn test_configure_collection_with_invalid_realm_error() -> Result<(), Tran #[tokio::test] async fn test_configure_collection_with_realm_authority_must_sign_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -299,8 +299,8 @@ async fn test_configure_collection_with_realm_authority_must_sign_error( } #[tokio::test] -async fn test_configure_collection_with_invalid_realm_authority_error() -> Result<(), TransportError> -{ +async fn test_configure_collection_with_invalid_realm_authority_error( +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -339,7 +339,7 @@ async fn test_configure_collection_with_invalid_realm_authority_error() -> Resul #[tokio::test] async fn test_configure_collection_with_invalid_max_voter_weight_realm_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -376,7 +376,7 @@ async fn test_configure_collection_with_invalid_max_voter_weight_realm_error( #[tokio::test] async fn test_configure_collection_with_invalid_max_voter_weight_mint_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -411,62 +411,3 @@ async fn test_configure_collection_with_invalid_max_voter_weight_mint_error( Ok(()) } - -#[tokio::test] -async fn test_configure_collection_with_voting_proposal_error() -> Result<(), TransportError> { - // Arrange - let mut nft_voter_test = NftVoterTest::start_new().await; - - let realm_cookie = nft_voter_test.governance.with_realm().await?; - - let registrar_cookie = nft_voter_test.with_registrar(&realm_cookie).await?; - - let nft_collection_cookie = nft_voter_test.token_metadata.with_nft_collection().await?; - - let max_voter_weight_record_cookie = nft_voter_test - .with_max_voter_weight_record(®istrar_cookie) - .await?; - - nft_voter_test - .with_collection( - ®istrar_cookie, - &nft_collection_cookie, - &max_voter_weight_record_cookie, - Some(ConfigureCollectionArgs { - weight: 10, - size: 20, - }), - ) - .await?; - - nft_voter_test - .governance - .with_proposal(&realm_cookie) - .await?; - - nft_voter_test.bench.advance_clock().await; - - // Act - - let err = nft_voter_test - .with_collection( - ®istrar_cookie, - &nft_collection_cookie, - &max_voter_weight_record_cookie, - Some(ConfigureCollectionArgs { - weight: 10, - size: 20, - }), - ) - .await - .err() - .unwrap(); - - // Assert - assert_nft_voter_err( - err, - NftVoterError::CannotConfigureCollectionWithVotingProposals, - ); - - Ok(()) -} diff --git a/programs/nft-voter/tests/create_max_voter_weight_record.rs b/programs/nft-voter/tests/create_max_voter_weight_record.rs index 2e5c7b35..28643ef4 100644 --- a/programs/nft-voter/tests/create_max_voter_weight_record.rs +++ b/programs/nft-voter/tests/create_max_voter_weight_record.rs @@ -1,12 +1,15 @@ -use program_test::{nft_voter_test::NftVoterTest, tools::assert_ix_err}; +use anchor_lang::prelude::ErrorCode; +use program_test::{ + nft_voter_test::NftVoterTest, + tools::{assert_anchor_err, assert_ix_err}, +}; use solana_program::instruction::InstructionError; use solana_program_test::*; -use solana_sdk::transport::TransportError; mod program_test; #[tokio::test] -async fn test_create_max_voter_weight_record() -> Result<(), TransportError> { +async fn test_create_max_voter_weight_record() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -34,8 +37,8 @@ async fn test_create_max_voter_weight_record() -> Result<(), TransportError> { } #[tokio::test] -async fn test_create_max_voter_weight_record_with_invalid_realm_error() -> Result<(), TransportError> -{ +async fn test_create_max_voter_weight_record_with_invalid_realm_error( +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -56,15 +59,15 @@ async fn test_create_max_voter_weight_record_with_invalid_realm_error() -> Resul // Assert - // PDA doesn't match and hence the error is PrivilegeEscalation - assert_ix_err(err, InstructionError::PrivilegeEscalation); + // PDA doesn't match and hence the error is ConstraintSeeds + assert_anchor_err(err, ErrorCode::ConstraintSeeds); Ok(()) } #[tokio::test] -async fn test_create_max_voter_weight_record_with_invalid_mint_error() -> Result<(), TransportError> -{ +async fn test_create_max_voter_weight_record_with_invalid_mint_error( +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -85,15 +88,15 @@ async fn test_create_max_voter_weight_record_with_invalid_mint_error() -> Result // Assert - // PDA doesn't match and hence the error is PrivilegeEscalation - assert_ix_err(err, InstructionError::PrivilegeEscalation); + // PDA doesn't match and hence the error is ConstraintSeeds + assert_anchor_err(err, ErrorCode::ConstraintSeeds); Ok(()) } #[tokio::test] async fn test_create_max_voter_weight_record_with_already_exists_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; diff --git a/programs/nft-voter/tests/create_registrar.rs b/programs/nft-voter/tests/create_registrar.rs index 29a9cc30..f38951ca 100644 --- a/programs/nft-voter/tests/create_registrar.rs +++ b/programs/nft-voter/tests/create_registrar.rs @@ -1,17 +1,16 @@ mod program_test; -use anchor_lang::prelude::Pubkey; +use anchor_lang::prelude::{ErrorCode, Pubkey}; use gpl_nft_voter::error::NftVoterError; use program_test::nft_voter_test::NftVoterTest; -use solana_program::instruction::InstructionError; use solana_program_test::*; -use solana_sdk::{signature::Keypair, transport::TransportError}; +use solana_sdk::signature::Keypair; -use program_test::tools::{assert_anchor_err, assert_ix_err, assert_nft_voter_err}; +use program_test::tools::{assert_anchor_err, assert_nft_voter_err}; #[tokio::test] -async fn test_create_registrar() -> Result<(), TransportError> { +async fn test_create_registrar() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -31,7 +30,8 @@ async fn test_create_registrar() -> Result<(), TransportError> { } #[tokio::test] -async fn test_create_registrar_with_invalid_realm_authority_error() -> Result<(), TransportError> { +async fn test_create_registrar_with_invalid_realm_authority_error() -> Result<(), BanksClientError> +{ // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -51,7 +51,7 @@ async fn test_create_registrar_with_invalid_realm_authority_error() -> Result<() } #[tokio::test] -async fn test_create_registrar_with_realm_authority_must_sign_error() -> Result<(), TransportError> +async fn test_create_registrar_with_realm_authority_must_sign_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -76,8 +76,8 @@ async fn test_create_registrar_with_realm_authority_must_sign_error() -> Result< } #[tokio::test] -async fn test_create_registrar_with_invalid_spl_gov_program_id_error() -> Result<(), TransportError> -{ +async fn test_create_registrar_with_invalid_spl_gov_program_id_error( +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -104,7 +104,7 @@ async fn test_create_registrar_with_invalid_spl_gov_program_id_error() -> Result } #[tokio::test] -async fn test_create_registrar_with_invalid_realm_error() -> Result<(), TransportError> { +async fn test_create_registrar_with_invalid_realm_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -122,15 +122,15 @@ async fn test_create_registrar_with_invalid_realm_error() -> Result<(), Transpor .err() .unwrap(); - // PDA doesn't match and hence the error is PrivilegeEscalation - assert_ix_err(err, InstructionError::PrivilegeEscalation); + // PDA doesn't match and hence the error is ConstraintSeeds + assert_anchor_err(err, ErrorCode::ConstraintSeeds); Ok(()) } #[tokio::test] async fn test_create_registrar_with_invalid_governing_token_mint_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -150,8 +150,8 @@ async fn test_create_registrar_with_invalid_governing_token_mint_error( .err() .unwrap(); - // PDA doesn't match and hence the error is PrivilegeEscalation - assert_ix_err(err, InstructionError::PrivilegeEscalation); + // PDA doesn't match and hence the error is ConstraintSeeds + assert_anchor_err(err, ErrorCode::ConstraintSeeds); Ok(()) } diff --git a/programs/nft-voter/tests/create_voter_weight_record.rs b/programs/nft-voter/tests/create_voter_weight_record.rs index c23d7858..a00549ae 100644 --- a/programs/nft-voter/tests/create_voter_weight_record.rs +++ b/programs/nft-voter/tests/create_voter_weight_record.rs @@ -1,13 +1,13 @@ +use anchor_lang::prelude::ErrorCode; use program_test::nft_voter_test::NftVoterTest; -use program_test::tools::assert_ix_err; +use program_test::tools::{assert_anchor_err, assert_ix_err}; use solana_program::instruction::InstructionError; use solana_program_test::*; -use solana_sdk::transport::TransportError; mod program_test; #[tokio::test] -async fn test_create_voter_weight_record() -> Result<(), TransportError> { +async fn test_create_voter_weight_record() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -34,7 +34,8 @@ async fn test_create_voter_weight_record() -> Result<(), TransportError> { } #[tokio::test] -async fn test_create_voter_weight_record_with_invalid_realm_error() -> Result<(), TransportError> { +async fn test_create_voter_weight_record_with_invalid_realm_error() -> Result<(), BanksClientError> +{ // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -57,14 +58,14 @@ async fn test_create_voter_weight_record_with_invalid_realm_error() -> Result<() // Assert - // PDA doesn't match and hence the error is PrivilegeEscalation - assert_ix_err(err, InstructionError::PrivilegeEscalation); + // PDA doesn't match and hence the error is ConstraintSeeds + assert_anchor_err(err, ErrorCode::ConstraintSeeds); Ok(()) } #[tokio::test] -async fn test_create_voter_weight_record_with_invalid_mint_error() -> Result<(), TransportError> { +async fn test_create_voter_weight_record_with_invalid_mint_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -87,14 +88,15 @@ async fn test_create_voter_weight_record_with_invalid_mint_error() -> Result<(), // Assert - // PDA doesn't match and hence the error is PrivilegeEscalation - assert_ix_err(err, InstructionError::PrivilegeEscalation); + // PDA doesn't match and hence the error is ConstraintSeeds + assert_anchor_err(err, ErrorCode::ConstraintSeeds); Ok(()) } #[tokio::test] -async fn test_create_voter_weight_record_with_already_exists_error() -> Result<(), TransportError> { +async fn test_create_voter_weight_record_with_already_exists_error() -> Result<(), BanksClientError> +{ // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; diff --git a/programs/nft-voter/tests/fixtures/spl_governance.so b/programs/nft-voter/tests/fixtures/spl_governance.so deleted file mode 100755 index 9a6f5962..00000000 Binary files a/programs/nft-voter/tests/fixtures/spl_governance.so and /dev/null differ diff --git a/programs/nft-voter/tests/fixtures/spl_governance_3_1_0.so b/programs/nft-voter/tests/fixtures/spl_governance_3_1_0.so new file mode 100755 index 00000000..76d50106 Binary files /dev/null and b/programs/nft-voter/tests/fixtures/spl_governance_3_1_0.so differ diff --git a/programs/nft-voter/tests/program_test/governance_test.rs b/programs/nft-voter/tests/program_test/governance_test.rs index 37786c05..71bde009 100644 --- a/programs/nft-voter/tests/program_test/governance_test.rs +++ b/programs/nft-voter/tests/program_test/governance_test.rs @@ -1,8 +1,8 @@ use std::{str::FromStr, sync::Arc}; use anchor_lang::prelude::Pubkey; -use solana_program_test::ProgramTest; -use solana_sdk::{signature::Keypair, signer::Signer, transport::TransportError}; +use solana_program_test::{BanksClientError, ProgramTest}; +use solana_sdk::{signature::Keypair, signer::Signer}; use spl_governance::{ instruction::{ create_governance, create_proposal, create_realm, create_token_owner_record, @@ -10,12 +10,13 @@ use spl_governance::{ }, state::{ enums::{ - GovernanceAccountType, MintMaxVoteWeightSource, ProposalState, VoteThresholdPercentage, + GovernanceAccountType, MintMaxVoterWeightSource, ProposalState, VoteThreshold, VoteTipping, }, governance::get_governance_address, proposal::{get_proposal_address, ProposalV2}, - realm::{get_realm_address, RealmConfig, RealmV2}, + realm::{get_realm_address, GoverningTokenConfigAccountArgs, RealmConfig, RealmV2}, + realm_config::GoverningTokenType, token_owner_record::{get_token_owner_record_address, TokenOwnerRecordV2}, }, }; @@ -64,7 +65,7 @@ impl GovernanceTest { #[allow(dead_code)] pub fn add_program(program_test: &mut ProgramTest) { - program_test.add_program("spl_governance", Self::program_id(), None); + program_test.add_program("spl_governance_3_1_0", Self::program_id(), None); } #[allow(dead_code)] @@ -83,7 +84,7 @@ impl GovernanceTest { } #[allow(dead_code)] - pub async fn with_realm(&mut self) -> Result { + pub async fn with_realm(&mut self) -> Result { let realm_authority = Keypair::new(); let community_mint_cookie = self.bench.with_mint().await?; @@ -93,21 +94,27 @@ impl GovernanceTest { let realm_name = format!("Realm #{}", self.next_id).to_string(); let min_community_weight_to_create_governance = 1; - let community_mint_max_vote_weight_source = MintMaxVoteWeightSource::FULL_SUPPLY_FRACTION; + let community_mint_max_voter_weight_source = MintMaxVoterWeightSource::FULL_SUPPLY_FRACTION; let realm_key = get_realm_address(&self.program_id, &realm_name); + let community_token_config_args = GoverningTokenConfigAccountArgs { + voter_weight_addin: self.community_voter_weight_addin, + max_voter_weight_addin: self.max_community_voter_weight_addin, + token_type: GoverningTokenType::default(), + }; + let create_realm_ix = create_realm( &self.program_id, &realm_authority.pubkey(), &community_mint_cookie.address, &self.bench.payer.pubkey(), Some(council_mint_cookie.address), - self.community_voter_weight_addin, - self.max_community_voter_weight_addin, + Some(community_token_config_args), + None, realm_name.clone(), min_community_weight_to_create_governance, - community_mint_max_vote_weight_source.clone(), + community_mint_max_voter_weight_source.clone(), ); self.bench @@ -125,12 +132,13 @@ impl GovernanceTest { council_mint: Some(council_mint_cookie.address), reserved: [0; 6], min_community_weight_to_create_governance, - community_mint_max_vote_weight_source, - use_community_voter_weight_addin: false, - use_max_community_voter_weight_addin: false, + community_mint_max_voter_weight_source, + legacy1: 0, + legacy2: 0, }, - voting_proposal_count: 0, + reserved_v2: [0; 128], + legacy1: 0, }; Ok(RealmCookie { @@ -146,7 +154,7 @@ impl GovernanceTest { pub async fn with_proposal( &mut self, realm_cookie: &RealmCookie, - ) -> Result { + ) -> Result { let token_account_cookie = self .bench .with_token_account(&realm_cookie.account.community_mint) @@ -208,13 +216,18 @@ impl GovernanceTest { &realm_cookie.realm_authority.pubkey(), None, spl_governance::state::governance::GovernanceConfig { - vote_threshold_percentage: VoteThresholdPercentage::YesVote(60), + community_vote_threshold: VoteThreshold::YesVotePercentage(60), min_community_weight_to_create_proposal: 1, min_transaction_hold_up_time: 0, - max_voting_time: 600, - vote_tipping: VoteTipping::Disabled, - proposal_cool_off_time: 0, + voting_base_time: 600, + community_vote_tipping: VoteTipping::Strict, min_council_weight_to_create_proposal: 1, + council_vote_threshold: VoteThreshold::Disabled, + 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, }, ); @@ -225,14 +238,14 @@ impl GovernanceTest { ) .await?; - let proposal_index: u32 = 0; let proposal_governing_token_mint = realm_cookie.account.community_mint; + let proposal_seed = Pubkey::new_unique(); let proposal_key = get_proposal_address( &self.program_id, &governance_key, &proposal_governing_token_mint, - &proposal_index.to_le_bytes(), + &proposal_seed, ); let create_proposal_ix = create_proposal( @@ -249,7 +262,7 @@ impl GovernanceTest { spl_governance::state::proposal::VoteType::SingleChoice, vec!["Yes".to_string()], true, - 0_u32, + &proposal_seed, ); let sign_off_proposal_ix = sign_off_proposal( @@ -276,7 +289,7 @@ impl GovernanceTest { vote_type: spl_governance::state::proposal::VoteType::SingleChoice, options: vec![], deny_vote_weight: Some(1), - veto_vote_weight: None, + veto_vote_weight: 0, abstain_vote_weight: None, start_voting_at: None, draft_at: 1, @@ -289,10 +302,11 @@ impl GovernanceTest { execution_flags: spl_governance::state::enums::InstructionExecutionFlags::None, max_vote_weight: None, max_voting_time: None, - vote_threshold_percentage: None, + vote_threshold: None, reserved: [0; 64], name: String::from("Proposal #1"), description_link: String::from("Proposal #1 link"), + reserved1: 0, }; Ok(ProposalCookie { @@ -306,7 +320,7 @@ impl GovernanceTest { &mut self, realm_cookie: &RealmCookie, token_owner_cookie: &WalletCookie, - ) -> Result { + ) -> Result { let token_owner_record_key = get_token_owner_record_address( &self.program_id, &realm_cookie.address, @@ -333,11 +347,11 @@ impl GovernanceTest { governing_token_owner: token_owner_cookie.address, governing_token_deposit_amount: 0, unrelinquished_votes_count: 0, - total_votes_count: 0, outstanding_proposal_count: 0, - reserved: [0; 7], + reserved: [0; 6], governance_delegate: None, reserved_v2: [0; 128], + version: 1, }; Ok(TokenOwnerRecordCookie { @@ -352,9 +366,10 @@ impl GovernanceTest { proposal_cookie: &ProposalCookie, token_owner_cookie: &WalletCookie, token_owner_record_cookie: &TokenOwnerRecordCookie, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let relinquish_vote_ix = relinquish_vote( &self.program_id, + &token_owner_record_cookie.account.realm, &proposal_cookie.account.governance, &proposal_cookie.address, &token_owner_record_cookie.address, diff --git a/programs/nft-voter/tests/program_test/nft_voter_test.rs b/programs/nft-voter/tests/program_test/nft_voter_test.rs index 3e9f7dd6..309bdf71 100644 --- a/programs/nft-voter/tests/program_test/nft_voter_test.rs +++ b/programs/nft-voter/tests/program_test/nft_voter_test.rs @@ -6,7 +6,7 @@ use gpl_nft_voter::state::max_voter_weight_record::{ get_max_voter_weight_record_address, MaxVoterWeightRecord, }; use gpl_nft_voter::state::*; -use solana_sdk::transport::TransportError; + use spl_governance::instruction::cast_vote; use spl_governance::state::vote_record::{self, Vote, VoteChoice}; @@ -14,7 +14,7 @@ use gpl_nft_voter::state::{ get_nft_vote_record_address, get_registrar_address, CollectionConfig, NftVoteRecord, Registrar, }; -use solana_program_test::ProgramTest; +use solana_program_test::{BanksClientError, ProgramTest}; use solana_sdk::instruction::Instruction; use solana_sdk::signature::Keypair; use solana_sdk::signer::Signer; @@ -121,7 +121,7 @@ impl NftVoterTest { pub async fn with_registrar( &mut self, realm_cookie: &RealmCookie, - ) -> Result { + ) -> Result { self.with_registrar_using_ix(realm_cookie, NopOverride, None) .await } @@ -132,7 +132,7 @@ impl NftVoterTest { realm_cookie: &RealmCookie, instruction_override: F, signers_override: Option<&[&Keypair]>, - ) -> Result { + ) -> Result { let registrar_key = get_registrar_address(&realm_cookie.address, &realm_cookie.account.community_mint); @@ -192,7 +192,7 @@ impl NftVoterTest { &self, registrar_cookie: &RegistrarCookie, voter_cookie: &WalletCookie, - ) -> Result { + ) -> Result { self.with_voter_weight_record_using_ix(registrar_cookie, voter_cookie, NopOverride) .await } @@ -203,7 +203,7 @@ impl NftVoterTest { registrar_cookie: &RegistrarCookie, voter_cookie: &WalletCookie, instruction_override: F, - ) -> Result { + ) -> Result { let governing_token_owner = voter_cookie.address; let (voter_weight_record_key, _) = Pubkey::find_program_address( @@ -264,7 +264,7 @@ impl NftVoterTest { pub async fn with_max_voter_weight_record( &mut self, registrar_cookie: &RegistrarCookie, - ) -> Result { + ) -> Result { self.with_max_voter_weight_record_using_ix(registrar_cookie, NopOverride) .await } @@ -274,7 +274,7 @@ impl NftVoterTest { &mut self, registrar_cookie: &RegistrarCookie, instruction_override: F, - ) -> Result { + ) -> Result { let max_voter_weight_record_key = get_max_voter_weight_record_address( ®istrar_cookie.account.realm, ®istrar_cookie.account.governing_token_mint, @@ -326,7 +326,7 @@ impl NftVoterTest { voter_weight_record_cookie: &mut VoterWeightRecordCookie, voter_weight_action: VoterWeightAction, nft_cookies: &[&NftCookie], - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let data = anchor_lang::InstructionData::data( &gpl_nft_voter::instruction::UpdateVoterWeightRecord { voter_weight_action, @@ -363,7 +363,7 @@ impl NftVoterTest { voter_cookie: &WalletCookie, voter_token_owner_record_cookie: &TokenOwnerRecordCookie, nft_vote_record_cookies: &Vec, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let data = anchor_lang::InstructionData::data(&gpl_nft_voter::instruction::RelinquishNftVote {}); @@ -410,7 +410,7 @@ impl NftVoterTest { nft_collection_cookie: &NftCollectionCookie, max_voter_weight_record_cookie: &MaxVoterWeightRecordCookie, args: Option, - ) -> Result { + ) -> Result { self.with_collection_using_ix( registrar_cookie, nft_collection_cookie, @@ -431,7 +431,7 @@ impl NftVoterTest { args: Option, instruction_override: F, signers_override: Option<&[&Keypair]>, - ) -> Result { + ) -> Result { let args = args.unwrap_or_default(); let data = @@ -485,7 +485,7 @@ impl NftVoterTest { voter_token_owner_record_cookie: &TokenOwnerRecordCookie, nft_cookies: &[&NftCookie], args: Option, - ) -> Result, TransportError> { + ) -> Result, BanksClientError> { let args = args.unwrap_or_default(); let data = anchor_lang::InstructionData::data(&gpl_nft_voter::instruction::CastNftVote { diff --git a/programs/nft-voter/tests/program_test/program_test_bench.rs b/programs/nft-voter/tests/program_test/program_test_bench.rs index 150a6009..22e907b5 100644 --- a/programs/nft-voter/tests/program_test/program_test_bench.rs +++ b/programs/nft-voter/tests/program_test/program_test_bench.rs @@ -6,7 +6,7 @@ use anchor_lang::{ }; use solana_program::{borsh::try_from_slice_unchecked, system_program}; -use solana_program_test::{ProgramTest, ProgramTestContext}; +use solana_program_test::{BanksClientError, ProgramTest, ProgramTestContext}; use solana_sdk::{ account::{Account, ReadableAccount}, instruction::Instruction, @@ -15,7 +15,6 @@ use solana_sdk::{ signer::Signer, system_instruction, transaction::Transaction, - transport::TransportError, }; use borsh::BorshDeserialize; @@ -67,7 +66,7 @@ impl ProgramTestBench { &self, instructions: &[Instruction], signers: Option<&[&Keypair]>, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let mut context = self.context.borrow_mut(); let mut transaction = @@ -108,7 +107,7 @@ impl ProgramTestBench { .unwrap(); } - pub async fn with_mint(&self) -> Result { + pub async fn with_mint(&self) -> Result { let mint_keypair = Keypair::new(); let mint_authority = Keypair::new(); let freeze_authority = Keypair::new(); @@ -129,7 +128,7 @@ impl ProgramTestBench { mint_keypair: &Keypair, mint_authority: &Pubkey, freeze_authority: Option<&Pubkey>, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let mint_rent = self.rent.minimum_balance(spl_token::state::Mint::LEN); let instructions = [ @@ -158,7 +157,7 @@ impl ProgramTestBench { pub async fn with_token_account( &self, token_mint: &Pubkey, - ) -> Result { + ) -> Result { let token_account_keypair = Keypair::new(); self.create_token_account(&token_account_keypair, token_mint, &self.payer.pubkey()) .await?; @@ -174,7 +173,7 @@ impl ProgramTestBench { mint_cookie: &MintCookie, owner: &Pubkey, amount: u64, - ) -> Result { + ) -> Result { let token_account_keypair = Keypair::new(); self.create_token_account(&token_account_keypair, &mint_cookie.address, owner) @@ -199,7 +198,7 @@ impl ProgramTestBench { token_mint_authority: &Keypair, token_account: &Pubkey, amount: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let mint_instruction = spl_token::instruction::mint_to( &spl_token::id(), token_mint, @@ -220,7 +219,7 @@ impl ProgramTestBench { token_account_keypair: &Keypair, token_mint: &Pubkey, owner: &Pubkey, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let rent = self .context .borrow_mut() diff --git a/programs/nft-voter/tests/program_test/token_metadata_test.rs b/programs/nft-voter/tests/program_test/token_metadata_test.rs index 3ac0f97f..36b5da50 100644 --- a/programs/nft-voter/tests/program_test/token_metadata_test.rs +++ b/programs/nft-voter/tests/program_test/token_metadata_test.rs @@ -2,8 +2,8 @@ use std::{str::FromStr, sync::Arc}; use anchor_lang::prelude::Pubkey; use mpl_token_metadata::state::Collection; -use solana_program_test::ProgramTest; -use solana_sdk::{signer::Signer, transport::TransportError}; +use solana_program_test::{BanksClientError, ProgramTest}; +use solana_sdk::signer::Signer; use crate::program_test::program_test_bench::{MintCookie, ProgramTestBench, WalletCookie}; @@ -57,7 +57,7 @@ impl TokenMetadataTest { } #[allow(dead_code)] - pub async fn with_nft_collection(&self) -> Result { + pub async fn with_nft_collection(&self) -> Result { let update_authority = self.bench.context.borrow().payer.pubkey(); let payer = self.bench.context.borrow().payer.pubkey(); @@ -144,7 +144,7 @@ impl TokenMetadataTest { nft_collection_cookie: &NftCollectionCookie, nft_owner_cookie: &WalletCookie, args: Option, - ) -> Result { + ) -> Result { let CreateNftArgs { verify_collection, amount, diff --git a/programs/nft-voter/tests/program_test/tools.rs b/programs/nft-voter/tests/program_test/tools.rs index 6e0fd0ab..77a13c8e 100644 --- a/programs/nft-voter/tests/program_test/tools.rs +++ b/programs/nft-voter/tests/program_test/tools.rs @@ -1,6 +1,7 @@ use anchor_lang::prelude::ERROR_CODE_OFFSET; use gpl_nft_voter::error::NftVoterError; use solana_program::instruction::InstructionError; +use solana_program_test::BanksClientError; use solana_sdk::{signature::Keypair, transaction::TransactionError, transport::TransportError}; use spl_governance::error::GovernanceError; use spl_governance_tools::error::GovernanceToolsError; @@ -14,7 +15,7 @@ pub fn clone_keypair(source: &Keypair) -> Keypair { pub fn NopOverride(_: &mut T) {} #[allow(dead_code)] -pub fn assert_nft_voter_err(banks_client_error: TransportError, nft_locker_error: NftVoterError) { +pub fn assert_nft_voter_err(banks_client_error: BanksClientError, nft_locker_error: NftVoterError) { let tx_error = banks_client_error.unwrap(); match tx_error { @@ -47,7 +48,7 @@ pub fn assert_gov_tools_err( } #[allow(dead_code)] -pub fn assert_gov_err(banks_client_error: TransportError, gov_error: GovernanceError) { +pub fn assert_gov_err(banks_client_error: BanksClientError, gov_error: GovernanceError) { let tx_error = banks_client_error.unwrap(); match tx_error { @@ -63,7 +64,7 @@ pub fn assert_gov_err(banks_client_error: TransportError, gov_error: GovernanceE #[allow(dead_code)] pub fn assert_anchor_err( - banks_client_error: TransportError, + banks_client_error: BanksClientError, anchor_error: anchor_lang::error::ErrorCode, ) { let tx_error = banks_client_error.unwrap(); @@ -80,7 +81,7 @@ pub fn assert_anchor_err( } #[allow(dead_code)] -pub fn assert_ix_err(banks_client_error: TransportError, ix_error: InstructionError) { +pub fn assert_ix_err(banks_client_error: BanksClientError, ix_error: InstructionError) { let tx_error = banks_client_error.unwrap(); match tx_error { diff --git a/programs/nft-voter/tests/relinquish_nft_vote.rs b/programs/nft-voter/tests/relinquish_nft_vote.rs index 4f6005c1..c2f38bb2 100644 --- a/programs/nft-voter/tests/relinquish_nft_vote.rs +++ b/programs/nft-voter/tests/relinquish_nft_vote.rs @@ -3,13 +3,12 @@ use gpl_nft_voter::error::NftVoterError; use program_test::nft_voter_test::{CastNftVoteArgs, NftVoterTest}; use program_test::tools::{assert_gov_err, assert_nft_voter_err}; use solana_program_test::*; -use solana_sdk::transport::TransportError; use spl_governance::error::GovernanceError; mod program_test; #[tokio::test] -async fn test_relinquish_nft_vote() -> Result<(), TransportError> { +async fn test_relinquish_nft_vote() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -102,7 +101,7 @@ async fn test_relinquish_nft_vote() -> Result<(), TransportError> { } #[tokio::test] -async fn test_relinquish_nft_vote_for_proposal_in_voting_state() -> Result<(), TransportError> { +async fn test_relinquish_nft_vote_for_proposal_in_voting_state() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -206,7 +205,7 @@ async fn test_relinquish_nft_vote_for_proposal_in_voting_state() -> Result<(), T #[tokio::test] async fn test_relinquish_nft_vote_for_proposal_in_voting_state_and_vote_record_exists_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -285,7 +284,7 @@ async fn test_relinquish_nft_vote_for_proposal_in_voting_state_and_vote_record_e } #[tokio::test] -async fn test_relinquish_nft_vote_with_invalid_voter_error() -> Result<(), TransportError> { +async fn test_relinquish_nft_vote_with_invalid_voter_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -368,7 +367,7 @@ async fn test_relinquish_nft_vote_with_invalid_voter_error() -> Result<(), Trans } #[tokio::test] -async fn test_relinquish_nft_vote_with_unexpired_vote_weight_record() -> Result<(), TransportError> +async fn test_relinquish_nft_vote_with_unexpired_vote_weight_record() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -458,7 +457,7 @@ async fn test_relinquish_nft_vote_with_unexpired_vote_weight_record() -> Result< #[tokio::test] async fn test_relinquish_nft_vote_with_invalid_voter_weight_token_owner_error( -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -544,7 +543,7 @@ async fn test_relinquish_nft_vote_with_invalid_voter_weight_token_owner_error( } #[tokio::test] -async fn test_relinquish_nft_vote_using_delegate() -> Result<(), TransportError> { +async fn test_relinquish_nft_vote_using_delegate() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; diff --git a/programs/nft-voter/tests/update_voter_weight_record.rs b/programs/nft-voter/tests/update_voter_weight_record.rs index d29809a2..92138358 100644 --- a/programs/nft-voter/tests/update_voter_weight_record.rs +++ b/programs/nft-voter/tests/update_voter_weight_record.rs @@ -5,12 +5,11 @@ use program_test::nft_voter_test::NftVoterTest; use program_test::token_metadata_test::CreateNftArgs; use program_test::tools::*; use solana_program_test::*; -use solana_sdk::transport::TransportError; mod program_test; #[tokio::test] -async fn test_update_voter_weight_record() -> Result<(), TransportError> { +async fn test_update_voter_weight_record() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -78,7 +77,7 @@ async fn test_update_voter_weight_record() -> Result<(), TransportError> { } #[tokio::test] -async fn test_update_voter_weight_with_multiple_nfts() -> Result<(), TransportError> { +async fn test_update_voter_weight_with_multiple_nfts() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -151,7 +150,8 @@ async fn test_update_voter_weight_with_multiple_nfts() -> Result<(), TransportEr } #[tokio::test] -async fn test_update_voter_weight_with_cast_vote_not_allowed_error() -> Result<(), TransportError> { +async fn test_update_voter_weight_with_cast_vote_not_allowed_error() -> Result<(), BanksClientError> +{ // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -207,7 +207,8 @@ async fn test_update_voter_weight_with_cast_vote_not_allowed_error() -> Result<( } #[tokio::test] -async fn test_update_voter_weight_with_unverified_collection_error() -> Result<(), TransportError> { +async fn test_update_voter_weight_with_unverified_collection_error() -> Result<(), BanksClientError> +{ // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -271,7 +272,7 @@ async fn test_update_voter_weight_with_unverified_collection_error() -> Result<( } #[tokio::test] -async fn test_update_voter_weight_with_invalid_owner_error() -> Result<(), TransportError> { +async fn test_update_voter_weight_with_invalid_owner_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -329,7 +330,7 @@ async fn test_update_voter_weight_with_invalid_owner_error() -> Result<(), Trans } #[tokio::test] -async fn test_update_voter_weight_with_invalid_collection_error() -> Result<(), TransportError> { +async fn test_update_voter_weight_with_invalid_collection_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -387,7 +388,7 @@ async fn test_update_voter_weight_with_invalid_collection_error() -> Result<(), } #[tokio::test] -async fn test_update_voter_weight_with_invalid_metadata_error() -> Result<(), TransportError> { +async fn test_update_voter_weight_with_invalid_metadata_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -458,7 +459,7 @@ async fn test_update_voter_weight_with_invalid_metadata_error() -> Result<(), Tr } #[tokio::test] -async fn test_update_voter_weight_with_same_nft_error() -> Result<(), TransportError> { +async fn test_update_voter_weight_with_same_nft_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; @@ -512,7 +513,7 @@ async fn test_update_voter_weight_with_same_nft_error() -> Result<(), TransportE } #[tokio::test] -async fn test_update_voter_weight_record_with_no_nft_error() -> Result<(), TransportError> { +async fn test_update_voter_weight_record_with_no_nft_error() -> Result<(), BanksClientError> { // Arrange let mut nft_voter_test = NftVoterTest::start_new().await; diff --git a/programs/realm-voter/Cargo.toml b/programs/realm-voter/Cargo.toml index d68b0eb7..1549a9fa 100644 --- a/programs/realm-voter/Cargo.toml +++ b/programs/realm-voter/Cargo.toml @@ -18,8 +18,8 @@ default = [] [dependencies] arrayref = "0.3.6" -anchor-lang = { version = "0.24.2" } -anchor-spl = "0.24.2" +anchor-lang = { version = "0.26.0" } +anchor-spl = "0.26.0" solana-program = "1.9.13" spl-governance = { version = "2.2.2", features = ["no-entrypoint"] } spl-governance-tools= "0.1.2"