diff --git a/Dockerfile.client b/Dockerfile.client index 0c01c8374..6e7da8eb7 100644 --- a/Dockerfile.client +++ b/Dockerfile.client @@ -1,18 +1,13 @@ #syntax=docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230a333fdbcc -FROM docker.io/library/rust:1.49@sha256:a50165ea96983c21832578afb1c8c028674c965bc1ed43b607871b1f362e06a5 +FROM ghcr.io/certusone/solana:1.10.31@sha256:d31e8db926a1d3fbaa9d9211d9979023692614b7b64912651aba0383e8c01bad AS solana -RUN apt-get update && apt-get install -yq libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang ncat +# libudev is needed by spl-token-cli, and ncat is needed by the devnet setup +# script to be able to signal a health status for tilt +RUN apt-get update && apt-get install -yq libudev-dev ncat RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs -RUN curl -sSfL https://release.solana.com/v1.9.4/install | sh - -RUN rustup default nightly-2022-01-02 -RUN rustup component add rustfmt RUN --mount=type=cache,target=/root/.cache \ - cargo install --version =2.0.12 spl-token-cli - -ENV SOLANA_BIN_PATH="/root/.local/share/solana/install/active_release/bin" -ENV PATH="$SOLANA_BIN_PATH:$PATH" + cargo install --version =2.0.12 --locked spl-token-cli WORKDIR /usr/src/clients/js COPY clients/js/package.json clients/js/package-lock.json ./ diff --git a/sdk/rust/sdk/Cargo.toml b/sdk/rust/sdk/Cargo.toml index fef71d734..6799e6de9 100644 --- a/sdk/rust/sdk/Cargo.toml +++ b/sdk/rust/sdk/Cargo.toml @@ -34,13 +34,13 @@ opt-level = 3 lto = "thin" [dependencies] -borsh = { version="=0.9.1" } +borsh = { version="=0.9.3" } nom = { version="7", default-features=false, features=["alloc"] } primitive-types = { version = "0.9.0", default-features = false } wormhole-core = { path="../core", version="0.1.0" } # Solana Specific -solana-program = { version="=1.9.4", optional=true } +solana-program = { version="=1.10.31", optional=true } # Terra Specific cosmwasm-std = { version = "0.16.0", optional=true } diff --git a/solana/Cargo.lock b/solana/Cargo.lock index 5b3957d58..353911178 100644 --- a/solana/Cargo.lock +++ b/solana/Cargo.lock @@ -12,15 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "addr2line" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" -dependencies = [ - "gimli", -] - [[package]] name = "adler" version = "1.0.2" @@ -28,10 +19,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] -name = "ahash" -version = "0.4.7" +name = "aead" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.6", + "once_cell", + "version_check", +] [[package]] name = "aho-corasick" @@ -48,6 +80,21 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +[[package]] +name = "alloc-no-stdlib" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ef4730490ad1c4eae5c4325b2a95f521d023e5c885853ff7aca0a6a1631db3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "697ed7edc0f1711de49ce108c541623a0af97c6c60b2f6e2b65229847ac843c2" +dependencies = [ + "alloc-no-stdlib", +] + [[package]] name = "ansi_term" version = "0.12.1" @@ -81,12 +128,74 @@ 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.11", +] + +[[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.37", + "quote 1.0.18", + "syn 1.0.91", + "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.37", + "quote 1.0.18", + "syn 1.0.91", +] + [[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.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345fd392ab01f746c717b1357165b76f0b67a60192007b234058c9045fdcf695" +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.53" @@ -115,27 +224,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "backtrace" -version = "0.3.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base32" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa" - [[package]] name = "base64" version = "0.12.3" @@ -148,6 +236,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "base64ct" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bdca834647821e0b13d9539a8634eb62d3501b6b6c2cec1722786ee6671b851" + [[package]] name = "bincode" version = "1.3.3" @@ -163,6 +257,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" @@ -204,19 +307,19 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "borsh" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" +checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" dependencies = [ "borsh-derive", - "hashbrown 0.9.1", + "hashbrown 0.11.2", ] [[package]] name = "borsh-derive" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", @@ -227,9 +330,9 @@ dependencies = [ [[package]] name = "borsh-derive-internal" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ "proc-macro2 1.0.37", "quote 1.0.18", @@ -238,9 +341,9 @@ dependencies = [ [[package]] name = "borsh-schema-derive-internal" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ "proc-macro2 1.0.37", "quote 1.0.18", @@ -278,7 +381,7 @@ dependencies = [ "libsecp256k1", "primitive-types", "rand 0.7.3", - "sha3", + "sha3 0.9.1", "solana-client", "solana-program", "solana-sdk", @@ -286,6 +389,27 @@ dependencies = [ "wormhole-bridge-solana", ] +[[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]] name = "bs58" version = "0.4.0" @@ -408,7 +532,7 @@ dependencies = [ "num-integer", "num-traits", "serde", - "time", + "time 0.1.43", "winapi", ] @@ -421,6 +545,25 @@ 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" @@ -484,12 +627,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 = "cpi-poster" version = "0.1.0" @@ -501,7 +666,7 @@ dependencies = [ "libsecp256k1", "primitive-types", "rand 0.7.3", - "sha3", + "sha3 0.9.1", "solana-client", "solana-program", "solana-sdk", @@ -550,11 +715,10 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.8" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" +checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" dependencies = [ - "autocfg", "cfg-if", "crossbeam-utils", "lazy_static", @@ -599,34 +763,24 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.9.1" +name = "ctr" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" -dependencies = [ - "generic-array", - "subtle", + "cipher 0.3.0", ] [[package]] name = "curve25519-dalek" -version = "3.2.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", + "serde", "subtle", "zeroize", ] @@ -643,22 +797,47 @@ dependencies = [ ] [[package]] -name = "derivation-path" -version = "0.1.3" +name = "data-encoding" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193388a8c8c75a490b604ff61775e236541b8975e98e5ca1f6ea97d122b7e2db" +checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" + +[[package]] +name = "der" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" dependencies = [ - "failure", + "const-oid", ] [[package]] -name = "dialoguer" -version = "0.9.0" +name = "der-parser" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61579ada4ec0c6031cfac3f86fdba0d195a7ebeb5e36693bd53cb5999a25beeb" +checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +dependencies = [ + "asn1-rs", + "displaydoc", + "nom", + "num-bigint 0.4.3", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "derivation-path" +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 = "a92e7e37ecef6857fdc0c0c5d42fd5b0938e46590c2183cc92dd310a6d078eb1" dependencies = [ "console", - "lazy_static", "tempfile", "zeroize", ] @@ -713,6 +892,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "displaydoc" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +dependencies = [ + "proc-macro2 1.0.37", + "quote 1.0.18", + "syn 1.0.91", +] + [[package]] name = "dlopen" version = "0.1.8" @@ -755,21 +945,20 @@ dependencies = [ "ed25519", "rand 0.7.3", "serde", - "sha2", + "sha2 0.9.9", "zeroize", ] [[package]] name = "ed25519-dalek-bip32" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057f328f31294b5ab432e6c39642f54afd1531677d6d4ba2905932844cc242f3" +checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" dependencies = [ "derivation-path", "ed25519-dalek", - "failure", - "hmac 0.9.0", - "sha2", + "hmac 0.12.1", + "sha2 0.10.2", ] [[package]] @@ -805,13 +994,33 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "enum-iterator" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" +dependencies = [ + "proc-macro2 1.0.37", + "quote 1.0.18", + "syn 1.0.91", +] + [[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 1.0.37", "quote 1.0.18", @@ -819,6 +1028,18 @@ dependencies = [ "syn 1.0.91", ] +[[package]] +name = "enum_dispatch" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eb359f1476bf611266ac1f5355bc14aeca37b299d0ebccc038ee7058891c9cb" +dependencies = [ + "once_cell", + "proc-macro2 1.0.37", + "quote 1.0.18", + "syn 1.0.91", +] + [[package]] name = "env_logger" version = "0.9.0" @@ -854,26 +1075,10 @@ dependencies = [ ] [[package]] -name = "failure" -version = "0.1.8" +name = "event-listener" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2 1.0.37", - "quote 1.0.18", - "syn 1.0.91", - "synstructure", -] +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" @@ -939,12 +1144,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" @@ -1034,6 +1233,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" @@ -1079,12 +1287,6 @@ dependencies = [ "wasi 0.10.2+wasi-snapshot-preview1", ] -[[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" @@ -1126,18 +1328,27 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.9.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ "ahash", ] [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] name = "hermit-abi" @@ -1161,15 +1372,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] -name = "hidapi" -version = "1.4.0" +name = "histogram" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "253bfb01a7a31d71212dc3e920540546fa4a4fe08e2d87fc3299c42bae7ee2f9" -dependencies = [ - "cc", - "libc", - "pkg-config", -] +checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" [[package]] name = "hmac" @@ -1177,28 +1383,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac", "digest 0.9.0", ] [[package]] name = "hmac" -version = "0.9.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deae6d9dbb35ec2c502d62b8f7b1c000a0822c3b0794ba36b3149c0a1c840dff" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac 0.9.1", - "digest 0.9.0", -] - -[[package]] -name = "hmac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" -dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", + "digest 0.10.3", ] [[package]] @@ -1300,6 +1495,28 @@ 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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a9d968042a4902e08810946fc7cd5851eb75e80301342305af755ca06cb82ce" + [[package]] name = "indexmap" version = "1.8.1" @@ -1322,6 +1539,15 @@ dependencies = [ "regex", ] +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + [[package]] name = "instant" version = "0.1.12" @@ -1428,7 +1654,7 @@ dependencies = [ "libsecp256k1-gen-genmult", "rand 0.7.3", "serde", - "sha2", + "sha2 0.9.9", "typenum", ] @@ -1469,11 +1695,10 @@ checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ - "autocfg", "scopeguard", ] @@ -1486,6 +1711,35 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown 0.12.3", +] + +[[package]] +name = "lz4" +version = "1.23.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4edcb94251b1c375c459e5abe9fb0168c1c826c3370172684844f8f3f8d1a885" +dependencies = [ + "libc", + "lz4-sys", +] + +[[package]] +name = "lz4-sys" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7be8908e2ed6f31c02db8a9fa962f03e36c53fbfde437363eae3306b85d7e17" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "matches" version = "0.1.9" @@ -1516,12 +1770,30 @@ 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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.4.4" @@ -1534,15 +1806,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.2" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ "libc", "log", "miow", "ntapi", - "wasi 0.11.0+wasi-snapshot-preview1", "winapi", ] @@ -1555,6 +1826,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.37", + "quote 1.0.18", + "syn 1.0.91", +] + [[package]] name = "nft-bridge" version = "0.1.0" @@ -1569,7 +1861,7 @@ dependencies = [ "rand 0.7.3", "rocksalt", "serde", - "sha3", + "sha3 0.9.1", "solana-program", "solana-program-test", "solana-sdk", @@ -1594,6 +1886,16 @@ dependencies = [ "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" @@ -1603,6 +1905,31 @@ 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", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-bigint" version = "0.4.3" @@ -1614,6 +1941,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-derive" version = "0.3.3" @@ -1635,6 +1972,29 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg", + "num-bigint 0.2.6", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.14" @@ -1675,6 +2035,15 @@ dependencies = [ "syn 1.0.91", ] +[[package]] +name = "num_threads" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +dependencies = [ + "libc", +] + [[package]] name = "number_prefix" version = "0.4.0" @@ -1682,12 +2051,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] -name = "object" -version = "0.27.1" +name = "oid-registry" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" +checksum = "7d4bda43fd1b844cbc6e6e54b5444e2b1bc7838bce59ad205902cccbb26d6761" dependencies = [ - "memchr", + "asn1-rs", ] [[package]] @@ -1702,6 +2071,12 @@ 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" @@ -1721,9 +2096,9 @@ dependencies = [ [[package]] name = "ouroboros" -version = "0.13.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f357ef82d1b4db66fbed0b8d542cbd3c22d0bf5b393b3c257b9ba4568e70c9c3" +checksum = "71643f290d126e18ac2598876d01e1d57aed164afc78fdb6e2a0c6589a1f6662" dependencies = [ "aliasable", "ouroboros_macro", @@ -1732,9 +2107,9 @@ dependencies = [ [[package]] name = "ouroboros_macro" -version = "0.13.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44a0b52c2cbaef7dffa5fec1a43274afe8bd2a644fa9fc50a9ef4ff0269b1257" +checksum = "ed9a247206016d424fe8497bc611e510887af5c261fbbf977877c4bb55ca4d82" dependencies = [ "Inflector", "proc-macro-error", @@ -1788,7 +2163,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.34.0", ] [[package]] @@ -1797,16 +2172,25 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac", ] [[package]] name = "pbkdf2" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" +checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" dependencies = [ - "crypto-mac 0.11.1", + "digest 0.10.3", +] + +[[package]] +name = "pem" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" +dependencies = [ + "base64 0.13.0", ] [[package]] @@ -1815,6 +2199,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", +] + [[package]] name = "pin-project" version = "1.0.10" @@ -1847,6 +2240,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.25" @@ -1859,6 +2263,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" @@ -1945,6 +2361,59 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "quinn" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7542006acd6e057ff632307d219954c44048f818898da03113d6c0086bfddd9" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "fxhash", + "quinn-proto", + "quinn-udp", + "rustls", + "thiserror", + "tokio", + "tracing", + "webpki", +] + +[[package]] +name = "quinn-proto" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a13a5c0a674c1ce7150c9df7bc4a1e46c2fbbe7c710f56c0dc78b1a810e779e" +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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3149f7237331015f1a6adf065c397d1be71e032fcf110ba41da52e7926b882f" +dependencies = [ + "futures-util", + "libc", + "quinn-proto", + "socket2", + "tokio", + "tracing", +] + [[package]] name = "quote" version = "0.6.13" @@ -2044,6 +2513,15 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core 0.6.3", +] + [[package]] name = "rayon" version = "1.5.1" @@ -2069,6 +2547,18 @@ dependencies = [ "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.11", + "yasna", +] + [[package]] name = "redox_syscall" version = "0.2.13" @@ -2127,6 +2617,7 @@ version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb" dependencies = [ + "async-compression", "base64 0.13.0", "bytes", "encoding_rs", @@ -2145,12 +2636,13 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls", - "rustls-pemfile", + "rustls-pemfile 0.3.0", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-rustls", + "tokio-util 0.6.9", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -2181,18 +2673,20 @@ dependencies = [ "byteorder", "proc-macro2 1.0.37", "quote 1.0.18", - "sha3", + "sha3 0.9.1", "solana-program", "syn 1.0.91", ] [[package]] name = "rpassword" -version = "5.0.1" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" +checksum = "2bf099a1888612545b683d2661a1940089f6c2e5a8e38979b2159da876bfd956" dependencies = [ "libc", + "serde", + "serde_json", "winapi", ] @@ -2217,6 +2711,15 @@ 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" @@ -2229,6 +2732,27 @@ 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.0", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +dependencies = [ + "base64 0.13.0", +] + [[package]] name = "rustls-pemfile" version = "0.3.0" @@ -2238,6 +2762,15 @@ dependencies = [ "base64 0.13.0", ] +[[package]] +name = "rustls-pemfile" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7522c9de787ff061458fe9a829dc790a3f5b22dc571694fc5883f448b94d9a9" +dependencies = [ + "base64 0.13.0", +] + [[package]] name = "rustversion" version = "1.0.6" @@ -2259,6 +2792,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" @@ -2295,6 +2838,29 @@ dependencies = [ "untrusted", ] +[[package]] +name = "security-framework" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" +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.7" @@ -2367,15 +2933,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.8" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" dependencies = [ - "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "digest 0.10.3", ] [[package]] @@ -2391,6 +2955,17 @@ dependencies = [ "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.3", +] + [[package]] name = "sha3" version = "0.9.1" @@ -2403,6 +2978,16 @@ dependencies = [ "opaque-debug", ] +[[package]] +name = "sha3" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a31480366ec990f395a61b7c08122d99bd40544fdb5abcfc1b06bb29994312c" +dependencies = [ + "digest 0.10.3", + "keccak", +] + [[package]] name = "sharded-slab" version = "0.1.4" @@ -2436,6 +3021,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.6" @@ -2460,12 +3055,12 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73dbbe43a11077d2207740a4044d653130aa06c437fc0481753ff0753f5be5f" +checksum = "8d08d1662c7c136edfe9cf2280ca50d03c26fbeb1afd671cafe96ae3482d67f5" dependencies = [ "Inflector", - "base64 0.12.3", + "base64 0.13.0", "bincode", "bs58", "bv", @@ -2477,15 +3072,16 @@ dependencies = [ "solana-sdk", "solana-vote-program", "spl-token", + "spl-token-2022", "thiserror", "zstd", ] [[package]] name = "solana-address-lookup-table-program" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545979985b604cf5c0c3f45cf465790a62b5109cce14edb6e1d839281fb71d41" +checksum = "d480f83338321c6f668b897a6ab885f9f824b3b1e0ed97f1402b9ace47538ccd" dependencies = [ "bincode", "bytemuck", @@ -2496,6 +3092,7 @@ dependencies = [ "serde", "solana-frozen-abi", "solana-frozen-abi-macro", + "solana-program", "solana-program-runtime", "solana-sdk", "thiserror", @@ -2503,9 +3100,9 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d773f6f6446808589ce0c82ecf4f3a0a6c1e03ae07976a87c6b09da73f4fc63" +checksum = "ccf643cbbcceae5c19a9be70f5f90de55d0152eab8d72e149f1bcbf273a2c06f" dependencies = [ "borsh", "futures", @@ -2520,9 +3117,9 @@ dependencies = [ [[package]] name = "solana-banks-interface" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165d9233bb2b089cd23fd75bcf3256d1dc48e963172e83c19152087158ae8ed0" +checksum = "fe328ffa6bc6c7a7486fcc0c4392601ddefa480eadc783f185f854c82c1d222e" dependencies = [ "serde", "solana-sdk", @@ -2531,13 +3128,15 @@ dependencies = [ [[package]] name = "solana-banks-server" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "962b50fc11c8f9cbd50cebc3464dba85af73379130b34b84515e8f5ea9f1aac7" +checksum = "022f6ecc185cfb66adfcdd48ce1e1f4a0412683b5e50f7c2e27392fb3619f549" dependencies = [ "bincode", + "crossbeam-channel", "futures", "solana-banks-interface", + "solana-client", "solana-runtime", "solana-sdk", "solana-send-transaction-service", @@ -2549,9 +3148,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05671461b1191239932ce933cde1df4736ed1fdd098051fd9ef47d2c45cf1109" +checksum = "ae58c79e140c9ba215690f85a1b674f0b7b19a4f27e9ba7f68123ad3c48688f1" dependencies = [ "bincode", "byteorder", @@ -2561,22 +3160,21 @@ dependencies = [ "solana-metrics", "solana-program-runtime", "solana-sdk", + "solana-zk-token-sdk 1.10.31", "solana_rbpf", "thiserror", ] [[package]] name = "solana-bucket-map" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47427a1fce977163be8df0c889e6574c0724eac310a6f90553e3c36b8d4e0692" +checksum = "5ce30aa5774dcceca50f34d9a711d2db77ffc2e1bbb5dd6a624ec4cf2d69012b" dependencies = [ - "fs_extra", "log", "memmap2", + "modular-bitfield", "rand 0.7.3", - "rayon", - "solana-logger", "solana-measure", "solana-sdk", "tempfile", @@ -2584,9 +3182,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670c0fddeaf1b64d1175f1a6221dc66c5f6b4c763cb9cb1bf65ee3ac9fef2e89" +checksum = "31c3b376c469a550be2f45890c81246362aed55bf06b5b4195002f1e84492f1c" dependencies = [ "chrono", "clap", @@ -2602,33 +3200,53 @@ dependencies = [ [[package]] name = "solana-cli-config" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0912423440feef8b93a6a94c0d807c890dbc407a5bc23187eed491fb3897d7" +checksum = "785f2a03d0a6ff9faea80da2b4c293c3f62c3981cb60afd8921a2d6ffaa049db" dependencies = [ "dirs-next", "lazy_static", "serde", "serde_derive", "serde_yaml", + "solana-clap-utils", + "solana-sdk", "url", ] [[package]] name = "solana-client" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8ec26e0d31f3a317b56a33ac3c6704c53f3edb4a81ba46d32ca71ba37198aa7" +checksum = "e41177bc4766dab40ee608ab22d4d2c25a9b83ba82af76569ff55aa89a196127" dependencies = [ + "async-mutex", + "async-trait", "base64 0.13.0", "bincode", "bs58", + "bytes", "clap", + "crossbeam-channel", + "enum_dispatch", + "futures", + "futures-util", + "indexmap", "indicatif", + "itertools", "jsonrpc-core", + "lazy_static", "log", + "lru", + "pkcs8", + "quinn", + "quinn-proto", + "rand 0.7.3", + "rand_chacha 0.2.2", "rayon", + "rcgen", "reqwest", + "rustls", "semver", "serde", "serde_derive", @@ -2637,22 +3255,27 @@ dependencies = [ "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.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c275dde46baa7b1c1a100aa5a82a4dddd27e8cf643cbbdcf27f8d94a843091d" +checksum = "504ef0bc9a7437dcb12bc73bbd950653dc57eb9f009ce5235c9a1e5d118082fb" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -2660,9 +3283,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aa938b89aed5fc51b6ff1ff6d0b3099daf2b873380491b4d1b2c4ba0096313c" +checksum = "ed3a2ae68a6a79ba4a695ede777e7b9573bedc57565a9be1685662ce741f7bc6" dependencies = [ "bincode", "chrono", @@ -2674,13 +3297,14 @@ dependencies = [ [[package]] name = "solana-faucet" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021064348145bfd31ac1a7fc87e3de2948b63529c3bc873740f15fbe9fe9843a" +checksum = "e99dd10530cbd7f7c056a381e2df892dafec8a45abbf95b8e30d7871ff44809a" dependencies = [ "bincode", "byteorder", "clap", + "crossbeam-channel", "log", "serde", "serde_derive", @@ -2697,29 +3321,31 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89bcde59ac3e8d4dbf7c4d990b0627b8ca0d25394c4ce17896dde7a1452e40c" +checksum = "68f2b153f8eb8c4d22f2b739d3d31bac4122ca17376869cb717bf3a45200ea63" dependencies = [ "bs58", "bv", "generic-array", + "im", + "lazy_static", "log", "memmap2", "rustc_version", "serde", + "serde_bytes", "serde_derive", - "sha2", + "sha2 0.10.2", "solana-frozen-abi-macro", - "solana-logger", "thiserror", ] [[package]] name = "solana-frozen-abi-macro" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56a7d630da35993631ecc4dd155f92d0d58000cdde3d5e2764fe9fd49d20a3a8" +checksum = "0cd23aad847403a28dd1452611490b5e8f040470ed251882cca0492c5e566280" dependencies = [ "proc-macro2 1.0.37", "quote 1.0.18", @@ -2729,9 +3355,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eaf925bb665de46f96fcea2c8a900d0d870a96fd1f50cf2bad16e22a1da71c4" +checksum = "c33c4e4133e5b72f237bc8d39ab5a02255919e314674171fc08c57e48d33e2d0" dependencies = [ "env_logger", "lazy_static", @@ -2740,9 +3366,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ccdb4297b195811bdc95be328fb74e1547ea1d16f2600a200e66bfc2e32eb54" +checksum = "67d54a127c1a06b4b346d9d8ed92dd5f6a051d10f0ffe4b8734e28d34500957b" dependencies = [ "log", "solana-sdk", @@ -2750,11 +3376,11 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7d103dd77acc8cbb39b85c170548bd4f51f19e0931d22f9621c5a1bb57b94c" +checksum = "e2a5ab5217bbc8dce972a521f817f5635606f88aac45f850254c07c18de46190" dependencies = [ - "env_logger", + "crossbeam-channel", "gethostname", "lazy_static", "log", @@ -2764,12 +3390,13 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93819a9cb345a8960c8e886811be3dda59f9759f6add8a99d983016a9d06686d" +checksum = "e0a3c31c9f64d268110f59f162023dee05fb41f8d033d69fb980d6e80566f6b1" dependencies = [ "bincode", "clap", + "crossbeam-channel", "log", "nix", "rand 0.7.3", @@ -2785,15 +3412,18 @@ dependencies = [ [[package]] name = "solana-perf" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b056da9866e14547ebdccb7a4948c75e9650e3ce8832965b58996f8bee32bea" +checksum = "e3051f0009af3307bfa4ec5fbc748ebe116578228331f23bf51cc998878d26e2" dependencies = [ + "ahash", "bincode", + "bv", "caps", "curve25519-dalek", "dlopen", "dlopen_derive", + "fnv", "lazy_static", "libc", "log", @@ -2801,7 +3431,6 @@ dependencies = [ "rand 0.7.3", "rayon", "serde", - "solana-logger", "solana-metrics", "solana-rayon-threadlimit", "solana-sdk", @@ -2810,9 +3439,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc4d7a0baa649a3bda06d6a1cc30bd3d8ac692702a75fa8e76369cf7b3f6329" +checksum = "37be82a1fe85b24aa036153650053fd9628489c07c834b6b2dc027c4052bdbe5" dependencies = [ "base64 0.13.0", "bincode", @@ -2834,18 +3463,17 @@ dependencies = [ "log", "num-derive", "num-traits", - "parking_lot 0.11.2", + "parking_lot 0.12.0", "rand 0.7.3", "rustc_version", "rustversion", "serde", "serde_bytes", "serde_derive", - "sha2", - "sha3", + "sha2 0.10.2", + "sha3 0.10.2", "solana-frozen-abi", "solana-frozen-abi-macro", - "solana-logger", "solana-sdk-macro", "thiserror", "wasm-bindgen", @@ -2853,12 +3481,13 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "012304a7ccc59ed153ebc26470c070371651af22ea06554f4298e2ca60c74028" +checksum = "59ea2c8a1f394a598a67b1b12202ed96f4033b765d50fe24a4546b4fff70b684" dependencies = [ "base64 0.13.0", "bincode", + "enum-iterator", "itertools", "libc", "libloading", @@ -2867,7 +3496,8 @@ dependencies = [ "num-traits", "rustc_version", "serde", - "solana-logger", + "solana-frozen-abi", + "solana-frozen-abi-macro", "solana-measure", "solana-sdk", "thiserror", @@ -2875,12 +3505,12 @@ dependencies = [ [[package]] name = "solana-program-test" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e606d824595d7a0b45a5ede3bbfec1f3316a01c5c64774da8c08873abc507f78" +checksum = "cead3a2861b6d973d3347a33cd7f6b4b0a77da294f308c72c254e13e3711b19e" dependencies = [ "async-trait", - "base64 0.12.3", + "base64 0.13.0", "bincode", "chrono-humanize", "log", @@ -2899,9 +3529,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6248a0a230cd45af4c9f81ea468b95cab1bf163f57219ddce4cf8d062537578e" +checksum = "a90fb70dc9a52d152b8a9e8bd3037fa1d93746a9827501a3e892c015c5696bb7" dependencies = [ "lazy_static", "num_cpus", @@ -2909,18 +3539,16 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a03587d5bf5f7bc9302385f9ada8412662cdb93b5e3d40fee2a02553a932277c" +checksum = "a01597dd382b25087a01c6fa0e7b3d9165a98caedb9cc8fca3385f05ec799abf" dependencies = [ - "base32", "console", "dialoguer", - "hidapi", "log", "num-derive", "num-traits", - "parking_lot 0.11.2", + "parking_lot 0.12.0", "qstring", "semver", "solana-sdk", @@ -2930,14 +3558,15 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09941a801d47848cf4840be37f1a00ef1dd823e5ab38485c4b3d57a1c3effe10" +checksum = "b08d01a6fb011f11e635823aa1eba8c427bb6af6ef14055d2c3ed7550072b625" dependencies = [ "arrayref", "bincode", "blake3", "bv", + "bytemuck", "byteorder", "bzip2", "crossbeam-channel", @@ -2945,9 +3574,12 @@ dependencies = [ "dir-diff", "flate2", "fnv", + "im", + "index_list", "itertools", "lazy_static", "log", + "lz4", "memmap2", "num-derive", "num-traits", @@ -2965,7 +3597,6 @@ dependencies = [ "solana-config-program", "solana-frozen-abi", "solana-frozen-abi-macro", - "solana-logger", "solana-measure", "solana-metrics", "solana-program-runtime", @@ -2973,6 +3604,10 @@ dependencies = [ "solana-sdk", "solana-stake-program", "solana-vote-program", + "solana-zk-token-proof-program", + "solana-zk-token-sdk 1.10.31", + "strum", + "strum_macros", "symlink", "tar", "tempfile", @@ -2982,9 +3617,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10932f74eeff6804d15e48a1546e40ad14b17ae8a335f9c1c331f94ab40cf3ad" +checksum = "52f5045b84f57ba203d1080fa595b463b4fd72c11af96f7735de0e2ffd698e1a" dependencies = [ "assert_matches", "base64 0.13.0", @@ -2996,11 +3631,11 @@ dependencies = [ "byteorder", "chrono", "derivation-path", - "digest 0.9.0", + "digest 0.10.3", "ed25519-dalek", "ed25519-dalek-bip32", "generic-array", - "hmac 0.11.0", + "hmac 0.12.1", "itertools", "js-sys", "lazy_static", @@ -3009,7 +3644,7 @@ dependencies = [ "memmap2", "num-derive", "num-traits", - "pbkdf2 0.9.0", + "pbkdf2 0.10.1", "qstring", "rand 0.7.3", "rand_chacha 0.2.2", @@ -3019,8 +3654,8 @@ dependencies = [ "serde_bytes", "serde_derive", "serde_json", - "sha2", - "sha3", + "sha2 0.10.2", + "sha3 0.10.2", "solana-frozen-abi", "solana-frozen-abi-macro", "solana-logger", @@ -3033,9 +3668,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec22a924c73abe3376a2046715a2f6a9ae4094095b8ea08e8e56e8de198264ad" +checksum = "275c52edaaaa86ce649a226c03f75579d570c01880a43ee1de77a973994754ce" dependencies = [ "bs58", "proc-macro2 1.0.37", @@ -3046,12 +3681,14 @@ dependencies = [ [[package]] name = "solana-send-transaction-service" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5782c5c8dbe7009c58231340087a7b750b035508616b33a2beeb29395e9e30bc" +checksum = "766f45bf998cb4090361e3c76f76ed121b78119f398ee0f682c0b467c8851001" dependencies = [ + "crossbeam-channel", "log", - "solana-logger", + "solana-client", + "solana-measure", "solana-metrics", "solana-runtime", "solana-sdk", @@ -3059,9 +3696,9 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "574fd1a039d44c341e297307b483d56899f94bc399da828f89c164da980f735e" +checksum = "6d1700796a9b7854fe4de8f35f0867c946d4b2acb0f182620585e49424931800" dependencies = [ "bincode", "log", @@ -3081,14 +3718,44 @@ dependencies = [ ] [[package]] -name = "solana-transaction-status" -version = "1.9.4" +name = "solana-streamer" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ab72a2e93a45b8582c839bffa3e8a90ccfa35acfe3677633d43a56b7180b05" +checksum = "4251d86721ae9959a2153007d8fd87e193c26ccb77b3b38bd436916ff27a41a8" +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.10.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e087a2cbb6fb1ad37f3fe7a27fad00f73b853f35b3e7e3768c8b68d49b7872" dependencies = [ "Inflector", - "base64 0.12.3", + "base64 0.13.0", "bincode", + "borsh", "bs58", "lazy_static", "log", @@ -3104,17 +3771,19 @@ dependencies = [ "spl-associated-token-account", "spl-memo", "spl-token", + "spl-token-2022", "thiserror", ] [[package]] name = "solana-version" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4003c93007332afdee7ea64bddd2fa2dc8f12dccd158bba0d51d442c5bc9e5b8" +checksum = "5570dcbadcb7975719843846cb10ead644fb8d55897384ced38df87e47bd6b07" dependencies = [ "log", "rustc_version", + "semver", "serde", "serde_derive", "solana-frozen-abi", @@ -3124,9 +3793,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.9.4" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729763e7fd2d77a2a0053c5e9a978560cbc8849e6f9ebf274ebb5f864867d886" +checksum = "5eeeda80a9e0d7e6224bb0765168e51561a93e3e1d03859da6e358e36c2cf9a1" dependencies = [ "bincode", "log", @@ -3137,7 +3806,6 @@ dependencies = [ "serde_derive", "solana-frozen-abi", "solana-frozen-abi-macro", - "solana-logger", "solana-metrics", "solana-program-runtime", "solana-sdk", @@ -3145,10 +3813,85 @@ dependencies = [ ] [[package]] -name = "solana_rbpf" -version = "0.2.21" +name = "solana-zk-token-proof-program" +version = "1.10.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb565d026461ba89d1d92cc36cf0882fba44076559c3bbed1e8a9888112b3d7" +checksum = "3f8b91f5859a4831943d8999521debc0cdf127e820a2839853f3bf56d18d8580" +dependencies = [ + "bytemuck", + "getrandom 0.1.16", + "num-derive", + "num-traits", + "solana-program-runtime", + "solana-sdk", + "solana-zk-token-sdk 1.10.31", +] + +[[package]] +name = "solana-zk-token-sdk" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74b149253f9ed1afb68b3161b53b62b637d0dd7a3b328dffdc8bb5878d48358e" +dependencies = [ + "aes-gcm-siv", + "arrayref", + "base64 0.13.0", + "bincode", + "bytemuck", + "byteorder", + "cipher 0.3.0", + "curve25519-dalek", + "getrandom 0.1.16", + "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-zk-token-sdk" +version = "1.10.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39b3e4da3a0b886fd8c90677bb39d0b82dedcb5a4a12cc410a084dda1df4a742" +dependencies = [ + "aes-gcm-siv", + "arrayref", + "base64 0.13.0", + "bincode", + "bytemuck", + "byteorder", + "cipher 0.4.3", + "curve25519-dalek", + "getrandom 0.1.16", + "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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41e138f6d6d4eb6a65f8e9f01ca620bc9907d79648d5038a69dd3f07b6ed3f1f" dependencies = [ "byteorder", "combine", @@ -3160,7 +3903,7 @@ dependencies = [ "rustc-demangle", "scroll", "thiserror", - "time", + "time 0.1.43", ] [[package]] @@ -3170,7 +3913,7 @@ dependencies = [ "borsh", "byteorder", "rocksalt", - "sha3", + "sha3 0.9.1", "solana-program", ] @@ -3181,11 +3924,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] -name = "spl-associated-token-account" -version = "1.0.3" +name = "spki" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393e2240d521c3dd770806bff25c2c00d761ac962be106e14e22dd912007f428" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "spl-associated-token-account" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b013067447a1396303ddfc294f36e3d260a32f8a16c501c295bcdc7de39b490" +dependencies = [ + "borsh", "solana-program", "spl-token", ] @@ -3201,9 +3955,9 @@ dependencies = [ [[package]] name = "spl-token" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bfdd5bd7c869cb565c7d7635c4fafe189b988a0bdef81063cd9585c6b8dc01" +checksum = "0cc67166ef99d10c18cb5e9c208901e6d8255c6513bb1f877977eba48e6cc4fb" dependencies = [ "arrayref", "num-derive", @@ -3213,6 +3967,24 @@ dependencies = [ "thiserror", ] +[[package]] +name = "spl-token-2022" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fce48c69350134e8678de5c0956a531b7de586b28eebdddc03211ceec0660983" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-program", + "solana-zk-token-sdk 0.8.1", + "spl-memo", + "spl-token", + "thiserror", +] + [[package]] name = "spl-token-metadata" version = "0.0.1" @@ -3240,6 +4012,28 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4faebde00e8ff94316c01800f9054fd2ba77d30d9e922541913051d1d978918b" +dependencies = [ + "heck", + "proc-macro2 1.0.37", + "quote 1.0.18", + "rustversion", + "syn 1.0.91", +] + [[package]] name = "subtle" version = "2.4.1" @@ -3413,6 +4207,24 @@ dependencies = [ "winapi", ] +[[package]] +name = "time" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" +dependencies = [ + "itoa", + "libc", + "num_threads", + "time-macros", +] + +[[package]] +name = "time-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" + [[package]] name = "tiny-bip39" version = "0.8.2" @@ -3425,7 +4237,7 @@ dependencies = [ "pbkdf2 0.4.0", "rand 0.7.3", "rustc-hash", - "sha2", + "sha2 0.9.9", "thiserror", "unicode-normalization", "wasm-bindgen", @@ -3461,7 +4273,7 @@ dependencies = [ "rand 0.7.3", "rocksalt", "serde", - "sha3", + "sha3 0.9.1", "solana-program", "solana-program-test", "solana-sdk", @@ -3494,20 +4306,20 @@ dependencies = [ [[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", ] @@ -3561,6 +4373,22 @@ dependencies = [ "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" @@ -3670,9 +4498,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "tungstenite" -version = "0.16.0" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ad3713a14ae247f22a728a0456a545df14acf3867f905adff84be99e23b3ad1" +checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" dependencies = [ "base64 0.13.0", "byteorder", @@ -3741,6 +4569,16 @@ 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" @@ -3841,12 +4679,6 @@ version = "0.10.2+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "wasm-bindgen" version = "0.2.80" @@ -3981,11 +4813,24 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.34.0", + "windows_i686_gnu 0.34.0", + "windows_i686_msvc 0.34.0", + "windows_x86_64_gnu 0.34.0", + "windows_x86_64_msvc 0.34.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]] @@ -3994,30 +4839,60 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" +[[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.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" +[[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.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" +[[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.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" +[[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.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" +[[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.10.1" @@ -4033,13 +4908,14 @@ version = "0.1.0" dependencies = [ "borsh", "byteorder", + "getrandom 0.2.6", "hex", "hex-literal", "libsecp256k1", "primitive-types", "rand 0.7.3", "serde", - "sha3", + "sha3 0.9.1", "solana-program", "solana-program-test", "solana-sdk", @@ -4059,7 +4935,7 @@ dependencies = [ "rand 0.7.3", "rocksalt", "serde", - "sha3", + "sha3 0.9.1", "solana-client", "solana-program", "solana-sdk", @@ -4068,6 +4944,24 @@ dependencies = [ "wasm-bindgen", ] +[[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.11", +] + [[package]] name = "xattr" version = "0.2.2" @@ -4087,10 +4981,19 @@ dependencies = [ ] [[package]] -name = "zeroize" -version = "1.5.4" +name = "yasna" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb5728b8afd3f280a869ce1d4c554ffaed35f45c231fc41bfbd0381bef50317" +checksum = "346d34a236c9d3e5f3b9b74563f238f955bbd05fa0b8b4efa53c130c43982f4c" +dependencies = [ + "time 0.3.11", +] + +[[package]] +name = "zeroize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" dependencies = [ "zeroize_derive", ] @@ -4109,18 +5012,18 @@ dependencies = [ [[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", @@ -4128,9 +5031,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.6.2+zstd.1.5.1" +version = "2.0.1+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f" +checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" dependencies = [ "cc", "libc", diff --git a/solana/DOCKER.md b/solana/DOCKER.md index 41fba614a..2ddd05e80 100644 --- a/solana/DOCKER.md +++ b/solana/DOCKER.md @@ -3,16 +3,16 @@ To speed up builds and ensure that upstream dependencies remain available, we publish prebuilt docker images to https://github.com/orgs/certusone/packages. -The base images have names ending in `*.base`, such as `Dockerfile.base` and -`Dockerfile.wasm.base`. To push a new image: +The base images have names ending in `*.base`, such as `Dockerfile.base`. +To push a new image: ```sh # first build the image -DOCKER_BUILDKIT=1 docker build -f Dockerfile.wasm.base -t wasm-pack . +DOCKER_BUILDKIT=1 docker build -f Dockerfile.base -t solana . # tag the image with the appropriate version -docker tag wasm-pack:latest ghcr.io/certusone/wasm-pack:0.9.1 +docker tag solana:latest ghcr.io/certusone/solana:1.10.31 # push to ghcr -docker push ghcr.io/certusone/wasm-pack:0.9.1 +docker push ghcr.io/certusone/solana:1.10.31 ``` -Finally, modify the reference in `Dockerfile.wasm` (make sure to update the sha256 hash too). +Finally, modify the reference in `Dockerfile` (make sure to update the sha256 hash too). diff --git a/solana/Dockerfile b/solana/Dockerfile index 8f2247b91..faa996aa6 100644 --- a/solana/Dockerfile +++ b/solana/Dockerfile @@ -1,5 +1,5 @@ #syntax=docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230a333fdbcc -FROM ghcr.io/certusone/solana:1.9.4@sha256:5389eccba0ba59ae119bc1438b61be8904707e26df8f0732116a8dce0f64eb52 AS solana +FROM ghcr.io/certusone/solana:1.10.31@sha256:d31e8db926a1d3fbaa9d9211d9979023692614b7b64912651aba0383e8c01bad AS solana # Support additional root CAs COPY cert.pem* /certs/ @@ -49,20 +49,24 @@ RUN [ -n "${BRIDGE_ADDRESS}" ] # This is a pre-built contract. RUN --mount=type=cache,target=target,id=test \ + --mount=type=cache,target=/usr/local/cargo/registry,id=cargo_registry \ mkdir -p target/deploy && \ cp modules/token_bridge/token-metadata/spl_token_metadata.so target/deploy/ RUN --mount=type=cache,target=target,id=test \ + --mount=type=cache,target=/usr/local/cargo/registry,id=cargo_registry \ cargo test-bpf \ --manifest-path bridge/program/Cargo.toml \ --features trace,instructions RUN --mount=type=cache,target=target,id=test \ + --mount=type=cache,target=/usr/local/cargo/registry,id=cargo_registry \ cargo test-bpf \ --manifest-path modules/token_bridge/program/Cargo.toml \ --features trace,instructions RUN --mount=type=cache,target=target,id=test \ + --mount=type=cache,target=/usr/local/cargo/registry,id=cargo_registry \ cargo test-bpf \ --manifest-path modules/nft_bridge/program/Cargo.toml \ --features trace,instructions diff --git a/solana/Dockerfile.base b/solana/Dockerfile.base index 3f41ed20d..b40777740 100644 --- a/solana/Dockerfile.base +++ b/solana/Dockerfile.base @@ -1,7 +1,7 @@ #syntax=docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230a333fdbcc -FROM docker.io/library/rust:1.49@sha256:a50165ea96983c21832578afb1c8c028674c965bc1ed43b607871b1f362e06a5 AS solana +FROM docker.io/library/rust:1.60.0@sha256:9fe1f39bec70576e2bd568fafb194b2a532a6f2928bc0b951ac2c0a69a2be9fe as solana -RUN sh -c "$(curl -sSfL https://release.solana.com/v1.9.4/install)" +RUN sh -c "$(curl -sSfL https://release.solana.com/v1.10.31/install)" ENV PATH="/root/.local/share/solana/install/active_release/bin:$PATH" diff --git a/solana/Dockerfile.wasm b/solana/Dockerfile.wasm index 4da0c2a57..6d2b26d4a 100644 --- a/solana/Dockerfile.wasm +++ b/solana/Dockerfile.wasm @@ -3,7 +3,6 @@ FROM docker.io/library/rust:1.49@sha256:a50165ea96983c21832578afb1c8c028674c965b RUN apt-get update && apt-get install -y libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang RUN rustup component add rustfmt -RUN rustup default nightly-2022-01-02 WORKDIR /usr/src/bridge @@ -18,6 +17,7 @@ ENV RUST_LOG="solana_runtime::system_instruction_processor=trace,solana_runtime: ENV EMITTER_ADDRESS="11111111111111111111111111111115" ENV BRIDGE_ADDRESS="Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o" +COPY rust-toolchain . COPY bridge bridge COPY modules modules COPY solitaire solitaire diff --git a/solana/bridge/client/Cargo.toml b/solana/bridge/client/Cargo.toml index e07b56573..dcff3591e 100644 --- a/solana/bridge/client/Cargo.toml +++ b/solana/bridge/client/Cargo.toml @@ -6,16 +6,16 @@ edition = "2018" [dependencies] anyhow = "1.0.40" -borsh = "=0.9.1" +borsh = "=0.9.3" clap = "2.33.0" cpi-poster = { path = "../cpi_poster", features = ["no-entrypoint"] } hex = "0.4.3" rand = "0.7.3" shellexpand = "2.1.0" -solana-client = "=1.9.4" -solana-program = "=1.9.4" -solana-sdk = "=1.9.4" -solana-cli-config = "=1.9.4" -solana-clap-utils = "=1.9.4" +solana-client = "=1.10.31" +solana-program = "=1.10.31" +solana-sdk = "=1.10.31" +solana-cli-config = "=1.10.31" +solana-clap-utils = "=1.10.31" solitaire = { path = "../../solitaire/program" } wormhole-bridge-solana = { path = "../program", features = ["client"] } diff --git a/solana/bridge/client/src/main.rs b/solana/bridge/client/src/main.rs index e09a1da97..865df9b24 100644 --- a/solana/bridge/client/src/main.rs +++ b/solana/bridge/client/src/main.rs @@ -426,6 +426,7 @@ fn main() { preflight_commitment: None, encoding: None, max_retries: None, + min_context_slot: None, }, )?; println!("Signature: {}", signature); diff --git a/solana/bridge/cpi_poster/Cargo.toml b/solana/bridge/cpi_poster/Cargo.toml index cefd82713..7c509f6eb 100644 --- a/solana/bridge/cpi_poster/Cargo.toml +++ b/solana/bridge/cpi_poster/Cargo.toml @@ -16,11 +16,11 @@ no-entrypoint = ["solitaire/no-entrypoint"] trace = ["solitaire/trace"] [dependencies] -borsh = "=0.9.1" +borsh = "=0.9.3" byteorder = "1.4.3" primitive-types = { version = "0.9.0", default-features = false } sha3 = "0.9.1" -solana-program = "=1.9.4" +solana-program = "=1.10.31" wormhole-bridge-solana = { path = "../program", features = ["no-entrypoint"] } solitaire = { path = "../../solitaire/program" } @@ -29,5 +29,5 @@ hex = "*" rand = "0.7.3" hex-literal = "0.3.1" libsecp256k1 = { version = "0.6.0", features = [] } -solana-client = "=1.9.4" -solana-sdk = "=1.9.4" +solana-client = "=1.10.31" +solana-sdk = "=1.10.31" diff --git a/solana/bridge/program/Cargo.toml b/solana/bridge/program/Cargo.toml index 97f3c8408..99037be7f 100644 --- a/solana/bridge/program/Cargo.toml +++ b/solana/bridge/program/Cargo.toml @@ -18,19 +18,20 @@ trace = ["solitaire/trace"] instructions = [] [dependencies] -borsh = "=0.9.1" +borsh = "=0.9.3" byteorder = "1.4.3" primitive-types = { version = "0.9.0", default-features = false } serde = { version = "1.0", features = ["derive"] } sha3 = "0.9.1" -solana-program = "=1.9.4" +solana-program = "=1.10.31" solitaire = { path = "../../solitaire/program" } wasm-bindgen = { version = "0.2.74", features = ["serde-serialize"], optional = true } [dev-dependencies] hex = "*" rand = "0.7.3" +getrandom = {version = "0.2.6", features = ["custom"]} hex-literal = "0.3.1" libsecp256k1 = { version = "0.6.0", features = [] } -solana-program-test = "=1.9.4" -solana-sdk = "=1.9.4" +solana-program-test = "=1.10.31" +solana-sdk = "=1.10.31" diff --git a/solana/bridge/program/tests/common.rs b/solana/bridge/program/tests/common.rs index 4310ddf8a..42a777143 100644 --- a/solana/bridge/program/tests/common.rs +++ b/solana/bridge/program/tests/common.rs @@ -17,6 +17,7 @@ use solana_program::{ use solana_program_test::{ BanksClient, ProgramTest, + BanksClientError, }; use solana_sdk::{ commitment_config::CommitmentLevel, @@ -27,7 +28,6 @@ use solana_sdk::{ }, signers::Signers, transaction::Transaction, - transport::TransportError, }; use std::{ env, @@ -58,7 +58,7 @@ pub async fn execute( signers: &T, instructions: &[Instruction], commitment_level: CommitmentLevel, -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { let mut transaction = Transaction::new_with_payer(instructions, Some(&payer.pubkey())); let recent_blockhash = client.get_latest_blockhash().await?; transaction.sign(signers, recent_blockhash); @@ -208,7 +208,7 @@ mod helpers { payer: &Keypair, initial_guardians: &[[u8; 20]], fee: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -236,7 +236,7 @@ mod helpers { nonce: u32, data: Vec, fee: u64, - ) -> Result { + ) -> Result { // Transfer money into the fee collector as it needs a balance/must exist. let fee_collector = FeeCollector::<'_>::key(None, program); @@ -283,7 +283,7 @@ mod helpers { nonce: u32, data: Vec, fee: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { // Transfer money into the fee collector as it needs a balance/must exist. let fee_collector = FeeCollector::<'_>::key(None, program); @@ -319,7 +319,7 @@ mod helpers { body: [u8; 32], secret_keys: &[SecretKey], guardian_set_version: u32, - ) -> Result { + ) -> Result { let signature_set = Keypair::new(); let tx_signers = [payer, &signature_set]; // Push Secp256k1 instructions for each signature we want to verify. @@ -357,7 +357,7 @@ mod helpers { payer: &Keypair, signature_set: Pubkey, vaa: PostVAAData, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -383,7 +383,7 @@ mod helpers { old_index: u32, new_index: u32, sequence: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -412,7 +412,7 @@ mod helpers { new_contract: Pubkey, spill: Pubkey, sequence: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -438,7 +438,7 @@ mod helpers { message: Pubkey, emitter: Pubkey, sequence: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -463,7 +463,7 @@ mod helpers { emitter: Pubkey, recipient: Pubkey, sequence: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, diff --git a/solana/bridge/program_stub/Cargo.toml b/solana/bridge/program_stub/Cargo.toml index 5a22b61d0..6f062a18c 100644 --- a/solana/bridge/program_stub/Cargo.toml +++ b/solana/bridge/program_stub/Cargo.toml @@ -16,11 +16,11 @@ no-entrypoint = ["solitaire/no-entrypoint"] trace = ["solitaire/trace"] [dependencies] -borsh = "=0.9.1" +borsh = "=0.9.3" byteorder = "1.4.3" primitive-types = { version = "0.9.0", default-features = false } sha3 = "0.9.1" -solana-program = "=1.9.4" +solana-program = "=1.10.31" solitaire = { path = "../../solitaire/program" } wormhole-bridge-solana = { path = "../program", features = ["no-entrypoint"] } @@ -29,5 +29,5 @@ hex = "*" rand = "0.7.3" hex-literal = "0.3.1" libsecp256k1 = { version = "0.6.0", features = [] } -solana-client = "=1.9.4" -solana-sdk = "=1.9.4" +solana-client = "=1.10.31" +solana-sdk = "=1.10.31" diff --git a/solana/migration/Cargo.toml b/solana/migration/Cargo.toml index bff74a591..ff9af2649 100644 --- a/solana/migration/Cargo.toml +++ b/solana/migration/Cargo.toml @@ -17,13 +17,13 @@ cpi = ["no-entrypoint"] default = [] [dependencies] -borsh = "=0.9.1" +borsh = "=0.9.3" byteorder = "1.4.3" rocksalt = { path = "../solitaire/rocksalt" } solitaire = { path = "../solitaire/program" } sha3 = "0.9.1" solana-program = "*" -spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } +spl-token = { version = "=3.3.0", features = ["no-entrypoint"] } wasm-bindgen = { version = "0.2.74", features = ["serde-serialize"], optional = true } serde = { version = "1.0", features = ["derive"] } rand = { version = "0.7.3", optional = true } @@ -32,6 +32,6 @@ rand = { version = "0.7.3", optional = true } hex = "*" hex-literal = "0.3.1" libsecp256k1 = { version = "0.6.0", features = [] } -solana-client = "=1.9.4" -solana-sdk = "=1.9.4" -spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } +solana-client = "=1.10.31" +solana-sdk = "=1.10.31" +spl-token = { version = "=3.3.0", features = ["no-entrypoint"] } diff --git a/solana/modules/nft_bridge/program/Cargo.toml b/solana/modules/nft_bridge/program/Cargo.toml index fe9249899..483db0fb1 100644 --- a/solana/modules/nft_bridge/program/Cargo.toml +++ b/solana/modules/nft_bridge/program/Cargo.toml @@ -19,14 +19,14 @@ default = [] [dependencies] wormhole-bridge-solana = { path = "../../../bridge/program", features = ["no-entrypoint", "cpi"] } -borsh = "=0.9.1" +borsh = "=0.9.3" bstr = "0.2.16" byteorder = "1.4.3" rocksalt = { path = "../../../solitaire/rocksalt" } solitaire = { path = "../../../solitaire/program" } sha3 = "0.9.1" solana-program = "*" -spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } +spl-token = { version = "=3.3.0", features = ["no-entrypoint"] } spl-associated-token-account = { version = "1.0.2", features = ["no-entrypoint"] } primitive-types = { version = "0.9.0", default-features = false } spl-token-metadata = { path = "../../token_bridge/token-metadata" } @@ -39,7 +39,7 @@ hex = "*" hex-literal = "0.3.1" libsecp256k1 = { version = "0.6.0", features = [] } rand = "0.7.3" -solana-program-test = "=1.9.4" -solana-sdk = "=1.9.4" -spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } +solana-program-test = "=1.10.31" +solana-sdk = "=1.10.31" +spl-token = { version = "=3.3.0", features = ["no-entrypoint"] } spl-token-metadata = { path = "../../token_bridge/token-metadata" } diff --git a/solana/modules/nft_bridge/program/tests/common.rs b/solana/modules/nft_bridge/program/tests/common.rs index e9eec6e75..4bcdd0b2f 100644 --- a/solana/modules/nft_bridge/program/tests/common.rs +++ b/solana/modules/nft_bridge/program/tests/common.rs @@ -18,6 +18,7 @@ use solana_program::{ }; use solana_program_test::{ BanksClient, + BanksClientError, ProgramTest, }; use solana_sdk::{ @@ -30,7 +31,6 @@ use solana_sdk::{ }, signers::Signers, transaction::Transaction, - transport::TransportError, }; use solitaire::processors::seeded::Seeded; use std::{ @@ -56,7 +56,7 @@ pub async fn execute( signers: &T, instructions: &[Instruction], commitment_level: CommitmentLevel, -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { let mut transaction = Transaction::new_with_payer(instructions, Some(&payer.pubkey())); let recent_blockhash = client.get_latest_blockhash().await?; transaction.sign(signers, recent_blockhash); @@ -163,7 +163,7 @@ mod helpers { program: Pubkey, payer: &Keypair, initial_guardians: &[[u8; 20]], - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -186,7 +186,7 @@ mod helpers { program: Pubkey, payer: &Keypair, bridge: Pubkey, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::initialize(program, payer.pubkey(), bridge) .expect("Could not create Initialize instruction"); @@ -210,7 +210,7 @@ mod helpers { from: &Keypair, from_owner: &Keypair, mint: Pubkey, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::transfer_native( program, bridge, @@ -259,7 +259,7 @@ mod helpers { token_chain: u16, token_address: Address, token_id: U256, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::transfer_wrapped( program, bridge, @@ -307,7 +307,7 @@ mod helpers { vaa: PostVAAData, payload: PayloadGovernanceRegisterChain, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::register_chain( program, bridge, @@ -340,7 +340,7 @@ mod helpers { payer: &Keypair, to_authority: Pubkey, mint: Pubkey, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::complete_native( program, bridge, @@ -373,7 +373,7 @@ mod helpers { payload: PayloadTransfer, to: Pubkey, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::complete_wrapped( program, bridge, @@ -404,7 +404,7 @@ mod helpers { vaa: PostVAAData, payload: PayloadTransfer, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::complete_wrapped_meta( program, bridge, @@ -431,7 +431,7 @@ mod helpers { payer: &Keypair, mint_authority: &Pubkey, mint: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let mint_key = mint.pubkey(); execute( client, @@ -465,7 +465,7 @@ mod helpers { token_acc: &Keypair, token_authority: &Pubkey, mint: &Pubkey, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let token_key = token_acc.pubkey(); execute( client, @@ -503,7 +503,7 @@ mod helpers { name: String, symbol: String, uri: String, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -535,7 +535,7 @@ mod helpers { mint: &Keypair, token_account: &Pubkey, amount: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -616,7 +616,7 @@ mod helpers { body: [u8; 32], secret_keys: &[SecretKey], guardian_set_version: u32, - ) -> Result { + ) -> Result { let signature_set = Keypair::new(); let tx_signers = [payer, &signature_set]; // Push Secp256k1 instructions for each signature we want to verify. @@ -654,7 +654,7 @@ mod helpers { payer: &Keypair, signature_set: Pubkey, vaa: PostVAAData, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = bridge::instructions::post_vaa(program, payer.pubkey(), signature_set, vaa); @@ -680,7 +680,7 @@ mod helpers { nonce: u32, data: Vec, fee: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { // Transfer money into the fee collector as it needs a balance/must exist. let fee_collector = FeeCollector::<'_>::key(None, &program); diff --git a/solana/modules/token_bridge/client/Cargo.toml b/solana/modules/token_bridge/client/Cargo.toml index 2b26dfd85..2ad19945d 100644 --- a/solana/modules/token_bridge/client/Cargo.toml +++ b/solana/modules/token_bridge/client/Cargo.toml @@ -5,16 +5,16 @@ edition = "2018" [dependencies] anyhow = "1.0.40" -borsh = "=0.9.1" +borsh = "=0.9.3" token-bridge = { path = "../program", features = ["client"] } clap = "2.33.0" rand = "0.7.3" shellexpand = "2.1.0" -solana-client = "=1.9.4" -solana-program = "=1.9.4" -solana-sdk = "=1.9.4" -solana-cli-config = "=1.9.4" +solana-client = "=1.10.31" +solana-program = "=1.10.31" +solana-sdk = "=1.10.31" +solana-cli-config = "=1.10.31" solitaire = { path = "../../../solitaire/program" } -solana-clap-utils = "=1.9.4" +solana-clap-utils = "=1.10.31" hex = "0.4.3" spl-token-metadata = { path = "../token-metadata" } diff --git a/solana/modules/token_bridge/client/src/main.rs b/solana/modules/token_bridge/client/src/main.rs index f90e88afb..d30200ffd 100644 --- a/solana/modules/token_bridge/client/src/main.rs +++ b/solana/modules/token_bridge/client/src/main.rs @@ -363,6 +363,7 @@ fn main() { preflight_commitment: None, encoding: None, max_retries: None, + min_context_slot: None, }, )?; println!("Signature: {}", signature); diff --git a/solana/modules/token_bridge/program/Cargo.toml b/solana/modules/token_bridge/program/Cargo.toml index 6a2199ed3..cb2a3c7ae 100644 --- a/solana/modules/token_bridge/program/Cargo.toml +++ b/solana/modules/token_bridge/program/Cargo.toml @@ -19,14 +19,14 @@ instructions = [] [dependencies] wormhole-bridge-solana = { path = "../../../bridge/program", features = ["no-entrypoint", "cpi"] } -borsh = "=0.9.1" +borsh = "=0.9.3" bstr = "0.2.16" byteorder = "1.4.3" rocksalt = { path = "../../../solitaire/rocksalt" } solitaire = { path = "../../../solitaire/program" } sha3 = "0.9.1" solana-program = "*" -spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } +spl-token = { version = "=3.3.0", features = ["no-entrypoint"] } primitive-types = { version = "0.9.0", default-features = false } spl-token-metadata = { path = "../token-metadata" } wasm-bindgen = { version = "0.2.74", features = ["serde-serialize"], optional = true } @@ -38,7 +38,7 @@ hex = "*" hex-literal = "0.3.1" libsecp256k1 = { version = "0.6.0", features = [] } rand = "0.7.3" -solana-program-test = "=1.9.4" -solana-sdk = "=1.9.4" -spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } +solana-program-test = "=1.10.31" +solana-sdk = "=1.10.31" +spl-token = { version = "=3.3.0", features = ["no-entrypoint"] } spl-token-metadata = { path = "../token-metadata" } diff --git a/solana/modules/token_bridge/program/tests/common.rs b/solana/modules/token_bridge/program/tests/common.rs index 492680e43..86d108270 100644 --- a/solana/modules/token_bridge/program/tests/common.rs +++ b/solana/modules/token_bridge/program/tests/common.rs @@ -21,6 +21,7 @@ use solana_program::{ use solana_program_test::{ BanksClient, ProgramTest, + BanksClientError, }; use solana_sdk::{ commitment_config::CommitmentLevel, @@ -32,7 +33,6 @@ use solana_sdk::{ }, signers::Signers, transaction::Transaction, - transport::TransportError, }; use std::{ env, @@ -61,7 +61,7 @@ pub async fn execute( signers: &T, instructions: &[Instruction], commitment_level: CommitmentLevel, -) -> Result<(), TransportError> { +) -> Result<(), BanksClientError> { let mut transaction = Transaction::new_with_payer(instructions, Some(&payer.pubkey())); let recent_blockhash = client.get_latest_blockhash().await?; transaction.sign(signers, recent_blockhash); @@ -199,7 +199,7 @@ mod helpers { program: Pubkey, payer: &Keypair, initial_guardians: &[[u8; 20]], - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -223,7 +223,7 @@ mod helpers { from: &Keypair, to: &Pubkey, lamports: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, from, @@ -239,7 +239,7 @@ mod helpers { program: Pubkey, payer: &Keypair, bridge: Pubkey, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::initialize(program, payer.pubkey(), bridge) .expect("Could not create Initialize instruction"); @@ -265,7 +265,7 @@ mod helpers { message: &Keypair, mint: Pubkey, nonce: u32, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::attest( program, bridge, @@ -301,7 +301,7 @@ mod helpers { from_owner: &Keypair, mint: Pubkey, amount: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::transfer_native( program, bridge, @@ -356,7 +356,7 @@ mod helpers { token_chain: u16, token_address: Address, amount: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::transfer_wrapped( program, bridge, @@ -409,7 +409,7 @@ mod helpers { vaa: PostVAAData, payload: PayloadGovernanceRegisterChain, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::register_chain( program, bridge, @@ -443,7 +443,7 @@ mod helpers { vaa: PostVAAData, payload: PayloadTransfer, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::complete_native( program, bridge, @@ -479,7 +479,7 @@ mod helpers { vaa: PostVAAData, payload: PayloadTransfer, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let to = Pubkey::new(&payload.to[..]); let instruction = instructions::complete_wrapped( @@ -519,7 +519,7 @@ mod helpers { to: Pubkey, redeemer: &Keypair, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::complete_native_with_payload( program, bridge, @@ -556,7 +556,7 @@ mod helpers { vaa: PostVAAData, payload: PayloadAssetMeta, payer: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = instructions::create_wrapped( program, bridge, @@ -587,7 +587,7 @@ mod helpers { payer: &Keypair, mint_authority: &Pubkey, mint: &Keypair, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let mint_key = mint.pubkey(); execute( client, @@ -625,7 +625,7 @@ mod helpers { update_authority: Pubkey, name: String, symbol: String, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -656,7 +656,7 @@ mod helpers { token_acc: &Keypair, token_authority: &Pubkey, mint: &Pubkey, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let token_key = token_acc.pubkey(); execute( client, @@ -690,7 +690,7 @@ mod helpers { mint: &Keypair, token_account: &Pubkey, amount: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { execute( client, payer, @@ -771,7 +771,7 @@ mod helpers { body: [u8; 32], secret_keys: &[SecretKey], guardian_set_version: u32, - ) -> Result { + ) -> Result { let signature_set = Keypair::new(); let tx_signers = [payer, &signature_set]; // Push Secp256k1 instructions for each signature we want to verify. @@ -809,7 +809,7 @@ mod helpers { payer: &Keypair, signature_set: Pubkey, vaa: PostVAAData, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { let instruction = bridge::instructions::post_vaa(program, payer.pubkey(), signature_set, vaa); @@ -838,7 +838,7 @@ mod helpers { nonce: u32, data: Vec, fee: u64, - ) -> Result<(), TransportError> { + ) -> Result<(), BanksClientError> { // Transfer money into the fee collector as it needs a balance/must exist. let fee_collector = FeeCollector::<'_>::key(None, &program); diff --git a/solana/modules/token_bridge/token-metadata/Cargo.toml b/solana/modules/token_bridge/token-metadata/Cargo.toml index bf5196157..10ca4cfb9 100644 --- a/solana/modules/token_bridge/token-metadata/Cargo.toml +++ b/solana/modules/token_bridge/token-metadata/Cargo.toml @@ -15,6 +15,6 @@ no-entrypoint = [] test-bpf = [] [dependencies] -borsh = "=0.9.1" -solana-program = "=1.9.4" -spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } +borsh = "=0.9.3" +solana-program = "=1.10.31" +spl-token = { version = "=3.3.0", features = ["no-entrypoint"] } diff --git a/solana/rust-toolchain b/solana/rust-toolchain index 2b90ac670..509b55465 100644 --- a/solana/rust-toolchain +++ b/solana/rust-toolchain @@ -1,5 +1,5 @@ # This version should be kept up to date with the value in ci/rust-version.sh in # the branch of the solana repo that corresponds with the version we're using. [toolchain] -channel = "nightly-2021-12-03" +channel = "nightly-2022-02-24" profile = "minimal" diff --git a/solana/solitaire/program/Cargo.toml b/solana/solitaire/program/Cargo.toml index 249b5b0af..d8d29b07e 100644 --- a/solana/solitaire/program/Cargo.toml +++ b/solana/solitaire/program/Cargo.toml @@ -16,9 +16,9 @@ no-entrypoint = [] trace = [] [dependencies] -borsh = "=0.9.1" +borsh = "=0.9.3" byteorder = "1.4.3" rocksalt = { path = "../../solitaire/rocksalt" } sha3 = "0.9.1" -solana-program = "=1.9.4" +solana-program = "=1.10.31" diff --git a/solana/solitaire/rocksalt/Cargo.toml b/solana/solitaire/rocksalt/Cargo.toml index 81b98c100..0aa0a01bf 100644 --- a/solana/solitaire/rocksalt/Cargo.toml +++ b/solana/solitaire/rocksalt/Cargo.toml @@ -17,5 +17,5 @@ byteorder = "1.4.3" proc-macro2 = "1.0" quote = "1.0" sha3 = "0.9.1" -solana-program = "=1.9.4" +solana-program = "=1.10.31" syn = "1.0"