From 2b9f15d7218a6c6322ae8ffadc3a704ffa8eee2c Mon Sep 17 00:00:00 2001 From: ancient_mage Date: Sun, 17 Nov 2024 17:16:09 +0100 Subject: [PATCH] NDEV-3414. Update to Solana 2.0.15 --- .github/workflows/deploy.py | 7 +- Dockerfile | 15 +- evm_loader/Cargo.lock | 541 ++++++++++---------- evm_loader/Cargo.toml | 34 +- evm_loader/api/Cargo.toml | 3 +- evm_loader/cli/Cargo.toml | 2 +- evm_loader/lib/Cargo.toml | 4 +- evm_loader/lib/src/commands/emulate.rs | 2 +- evm_loader/lib/src/commands/get_holder.rs | 6 +- evm_loader/lib/src/solana_simulator/mod.rs | 9 +- evm_loader/program/Cargo.toml | 4 +- evm_loader/program/src/account/state.rs | 87 +++- evm_loader/program/src/executor/mod.rs | 2 + evm_loader/program/src/executor/state.rs | 21 +- evm_loader/program/src/types/transaction.rs | 6 +- rust-toolchain.toml | 2 +- 16 files changed, 421 insertions(+), 324 deletions(-) diff --git a/.github/workflows/deploy.py b/.github/workflows/deploy.py index d949c89b5..0d813fb42 100644 --- a/.github/workflows/deploy.py +++ b/.github/workflows/deploy.py @@ -33,8 +33,8 @@ IMAGE_NAME = os.environ.get("IMAGE_NAME", "evm_loader") RUN_LINK_REPO = os.environ.get("RUN_LINK_REPO") DOCKERHUB_ORG_NAME = os.environ.get("DOCKERHUB_ORG_NAME") -SOLANA_NODE_VERSION = 'v1.18.18' -SOLANA_BPF_VERSION = 'v1.18.18' +SOLANA_NODE_VERSION = 'v2.0.15' +SOLANA_BPF_VERSION = 'v2.0.15' VERSION_BRANCH_TEMPLATE = r"[vt]{1}\d{1,2}\.\d{1,2}\.x.*" RELEASE_TAG_TEMPLATE = r"[vt]{1}\d{1,2}\.\d{1,2}\.\d{1,2}" @@ -120,11 +120,8 @@ def specify_image_tags(git_ref, @cli.command(name="build_docker_image") @click.option('--evm_sha_tag') def build_docker_image(evm_sha_tag): - solana_image = f'solanalabs/solana:{SOLANA_NODE_VERSION}' - docker_client.pull(solana_image) docker_client.pull(f"{DOCKERHUB_ORG_NAME}/neon_test_programs:latest") buildargs = {"REVISION": evm_sha_tag, - "SOLANA_IMAGE": solana_image, "SOLANA_BPF_VERSION": SOLANA_BPF_VERSION, "DOCKERHUB_ORG_NAME": DOCKERHUB_ORG_NAME} diff --git a/Dockerfile b/Dockerfile index 9799084e8..1c92675e1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ -ARG SOLANA_IMAGE ARG DOCKERHUB_ORG_NAME # Install BPF SDK -FROM solanalabs/rust:1.75.0 AS builder +FROM anzaxyz/ci:rust_1.78.0_nightly-2024-03-26 AS builder RUN cargo install rustfilt WORKDIR /opt ARG SOLANA_BPF_VERSION -RUN sh -c "$(curl -sSfL https://release.solana.com/"${SOLANA_BPF_VERSION}"/install)" && \ +RUN sh -c "$(curl -sSfL https://release.anza.xyz/${SOLANA_BPF_VERSION}/install)" && \ /root/.local/share/solana/install/active_release/bin/sdk/sbf/scripts/install.sh + ENV PATH=${PATH}:/root/.local/share/solana/install/active_release/bin @@ -17,9 +17,14 @@ COPY evm_loader /opt/neon-evm/evm_loader WORKDIR /opt/neon-evm/evm_loader ARG REVISION ENV NEON_REVISION=${REVISION} + RUN cargo fmt --check && \ - cargo clippy --release && \ - cargo build --release && \ + cargo clippy --release \ + --config 'patch.crates-io.ethnum.git="https://github.com/ancientmage/ethnum.git"'\ + --config 'patch.crates-io.ethnum.branch="v1.5.0-U256-in-64-4-implementation"' && \ + cargo build --release \ + --config 'patch.crates-io.ethnum.git="https://github.com/ancientmage/ethnum.git"'\ + --config 'patch.crates-io.ethnum.branch="v1.5.0-U256-in-64-4-implementation"' && \ cargo test --release && \ cargo build-sbf --manifest-path program/Cargo.toml --features devnet && cp target/deploy/evm_loader.so target/deploy/evm_loader-devnet.so && \ cargo build-sbf --manifest-path program/Cargo.toml --features testnet && cp target/deploy/evm_loader.so target/deploy/evm_loader-testnet.so && \ diff --git a/evm_loader/Cargo.lock b/evm_loader/Cargo.lock index 49b5b02f5..1f33e4729 100644 --- a/evm_loader/Cargo.lock +++ b/evm_loader/Cargo.lock @@ -123,7 +123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -251,7 +251,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -597,9 +597,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.17" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cb8f1d480b0ea3783ab015936d2a55c87e219676f0c0b7dec61494043f21857" +checksum = "df895a515f70646414f4b45c0b79082783b80552b373a68283012928df56f522" dependencies = [ "brotli 7.0.0", "flate2", @@ -644,7 +644,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -759,9 +759,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.1" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" dependencies = [ "arrayref", "arrayvec", @@ -808,11 +808,11 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5327f6c99920069d1fe374aa743be1af0031dea9f250852cdf1ae6a0861ee24" +checksum = "2506947f73ad44e344215ccd6403ac2ae18cd8e046e581a441bf8d199f257f03" dependencies = [ - "borsh-derive 1.5.2", + "borsh-derive 1.5.3", "cfg_aliases 0.2.1", ] @@ -831,15 +831,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10aedd8f1a81a8aafbfde924b0e3061cd6fedd6f6bbcfc6a76e6fd426d7bfe26" +checksum = "c2593a3b8b938bd68373196c9832f516be11fa487ef4ae745eb282e6a56a7244" dependencies = [ "once_cell", "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -907,9 +907,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" dependencies = [ "memchr", ] @@ -974,7 +974,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.87", + "syn 2.0.89", "zstd 0.13.2", ] @@ -1002,9 +1002,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" dependencies = [ "bytemuck_derive", ] @@ -1017,7 +1017,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1028,15 +1028,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "bytestring" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72" +checksum = "e465647ae23b2823b0753f50decb2d5a86d2bb2cac04788fafd1f80e45378e5f" dependencies = [ "bytes", ] @@ -1083,9 +1083,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1115,9 +1115,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8" +checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" dependencies = [ "jobserver", "libc", @@ -1226,7 +1226,7 @@ dependencies = [ "futures", "futures-channel", "http-body-util", - "hyper 1.5.0", + "hyper 1.5.1", "hyper-util", "lz4_flex", "replace_with", @@ -1247,7 +1247,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1387,9 +1387,9 @@ checksum = "69f3b219d28b6e3b4ac87bc1fc522e0803ab22e055da177bff0068c4150c61a6" [[package]] name = "cpufeatures" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -1531,7 +1531,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1542,7 +1542,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1616,7 +1616,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1701,7 +1701,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1724,7 +1724,7 @@ checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1821,7 +1821,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1833,7 +1833,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1866,12 +1866,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1942,7 +1942,7 @@ dependencies = [ "async-trait", "bincode", "borsh 0.10.4", - "borsh 1.5.2", + "borsh 1.5.3", "cfg-if", "ethnum", "evm-loader-macro", @@ -1974,7 +1974,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.87", + "syn 2.0.89", "toml 0.8.19", ] @@ -2040,9 +2040,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "miniz_oxide", @@ -2161,7 +2161,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2363,9 +2363,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "headers" @@ -2591,9 +2591,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", @@ -2648,7 +2648,7 @@ dependencies = [ "futures-util", "http 1.1.0", "http-body 1.0.1", - "hyper 1.5.0", + "hyper 1.5.1", "pin-project-lite", "socket2", "tokio", @@ -2794,7 +2794,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2885,13 +2885,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.89", ] [[package]] @@ -2915,9 +2915,9 @@ dependencies = [ [[package]] name = "index_list" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6ba961c14e98151cd6416dd3685efe786a94c38bc1a535c06ceff0a1600813" +checksum = "de7dd2746e29d9e4df6219ff1b954fe684b7ec01b028a1d4d7f3b38a7e20e763" [[package]] name = "indexmap" @@ -2937,7 +2937,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "serde", ] @@ -2998,9 +2998,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" @@ -3013,9 +3013,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "fb15147158e79fd8b8afd0252522769c4f48725460b37338544d8379d94fc8f9" dependencies = [ "wasm-bindgen", ] @@ -3250,9 +3250,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.162" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libgit2-sys" @@ -3373,9 +3373,9 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "litemap" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "local-channel" @@ -3452,7 +3452,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3524,11 +3524,10 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3890,7 +3889,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3962,7 +3961,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4024,7 +4023,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4059,28 +4058,29 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "8be4817d39f3272f69c59fe05d0535ae6456c2dc2fa1ba02910296c7e0a5c590" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "8781a75c6205af67215f382092b6e0a4ff3734798523e69073d4bcd294ec767b" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.89", ] [[package]] @@ -4181,7 +4181,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4222,9 +4222,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" [[package]] name = "powerfmt" @@ -4364,9 +4364,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -4442,7 +4442,7 @@ checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4906,9 +4906,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.40" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ "bitflags 2.6.0", "errno", @@ -4983,9 +4983,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] @@ -5022,7 +5022,7 @@ checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -5033,7 +5033,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -5055,7 +5055,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -5143,7 +5143,7 @@ checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -5154,14 +5154,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "indexmap 2.6.0", "itoa", @@ -5228,7 +5228,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -5240,7 +5240,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -5395,9 +5395,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -5421,9 +5421,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad3f0b04a6f8d8778488fe2c3e77e97866d8b61378c8a4d91e188e1444f98186" +checksum = "970731eb5cdf8ad007ff502af7ffcc7dc6b2b099cdfd2f50f90c9f4fdbb084c2" dependencies = [ "Inflector", "base64 0.22.1", @@ -5446,9 +5446,9 @@ dependencies = [ [[package]] name = "solana-accounts-db" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46efc219f1ad822f20e997594ebeed35fda5e714cddc49be7cffcf9133647a92" +checksum = "c71d981e564a1e0a28606bab19c05fee5e9525535eddcb87edee92e144a4191f" dependencies = [ "bincode", "blake3", @@ -5491,9 +5491,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36ae950b05c537d43b969d85b588c908e2abbf4af9a35a30cf94cc2d41d957ce" +checksum = "2a9a672595ab8c8519a8662c8051d5825e30e808a547b63ded9436c927d7ee88" dependencies = [ "bincode", "bytemuck", @@ -5509,9 +5509,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "101ee5d09aa521ac9d5eef73de5f71fcd1e1ea4b04716d128cc96466422bab8b" +checksum = "87e693456faa06973e078ee151d22888e01af21b0364199056937287dca08832" dependencies = [ "bincode", "byteorder", @@ -5531,9 +5531,9 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a56bfcc3c69cbcfa4384097878ba3eeb7ca56ae3a711e897721a9e1a444023b" +checksum = "6118aaba9c201b079f2842557f74f8ed6cdb1151c17dd4792d0fd0f4b8e04018" dependencies = [ "bv", "bytemuck", @@ -5550,9 +5550,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "855bb216b0862bc10ae515b1400a3f677527881f3e3df51e24bb1ba0bd514fcc" +checksum = "4f1650838142443dda8fe8d232afbfb9d49c902dd4ceafdfdfc05180fb8600a1" dependencies = [ "chrono", "clap 2.34.0", @@ -5567,9 +5567,9 @@ dependencies = [ [[package]] name = "solana-cli" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e359f9b1a5ffbc742466e4bc93173d5bf7444c54ddbfa9f3c7a03533ccd00e11" +checksum = "06f712a542951e16aa01af015417da992224f253bac9740372cacde6073d29d1" dependencies = [ "bincode", "bs58", @@ -5623,9 +5623,9 @@ dependencies = [ [[package]] name = "solana-cli-config" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc38a6111714347b9fb2ea129946b4671f390b99d84248e5cb1b32902c9877f" +checksum = "8c006bcb8d13ed12966b31e266f74173166ff6b1889e827d4a6561f6bfd1f7cd" dependencies = [ "dirs-next", "lazy_static", @@ -5639,9 +5639,9 @@ dependencies = [ [[package]] name = "solana-cli-output" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d731f3ee3ca37496de79480eb85b1ef4c034b2f8c3878a063d32be4b35c006" +checksum = "467e45d44900e8ebbeb9e8c4af86f8694e2c314ab82df9787354319a47991029" dependencies = [ "Inflector", "base64 0.22.1", @@ -5666,9 +5666,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17a2e3cf4aa6b7ed64d33ea656507af4e754832ad3c8733fab6ff5eeb8b4249" +checksum = "18f9b3c358499bf29b6ae72ce25f802c6e99ae5109a9872fe9fc9f7b87643b10" dependencies = [ "async-trait", "bincode", @@ -5699,9 +5699,9 @@ dependencies = [ [[package]] name = "solana-compute-budget" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e90b1be747a3f2373c8b7f2e1bd4291249fc588647524789ff877cc57e7ad8" +checksum = "d1febcbabe9d576417ac40bee564ad03eb0027baa2d7d267fa665a5d4fd2d59c" dependencies = [ "rustc_version", "solana-sdk", @@ -5709,9 +5709,9 @@ dependencies = [ [[package]] name = "solana-compute-budget-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a1a8fcbe88d2c25f9ef5e50449916095fef24fe11df6a3c4f1366683b3745e" +checksum = "d125abcbb6027424f696e34399387b4068c096c35ef250cdeba4ef4d23c6cf04" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -5719,9 +5719,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193009c562956c9672cb1fd6439a444367b1b0fd67f20f435ab6a4026e5ed187" +checksum = "1986d47d5e98676db9e4f9cceff96cd4d7862b403a5296a70a9132abfa1828ca" dependencies = [ "bincode", "chrono", @@ -5733,9 +5733,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5a15ec1f3f9860e6171e5dd2d497974e7167f0ba15c8215d448b30f3bee12f" +checksum = "54e4bdc714f5b36033fb2c5b50f1181ec6fb91fbb70bac21b220edc84329e3d1" dependencies = [ "async-trait", "bincode", @@ -5754,9 +5754,9 @@ dependencies = [ [[package]] name = "solana-cost-model" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e977795cc73edd5187084f81b97327bf023a1d3b28905e910d3929796c014b0" +checksum = "9a8f1885ba6dc6e697a1ce26965e0f28ffa2cfce28bb9162fe4aaa7972844f71" dependencies = [ "ahash", "lazy_static", @@ -5777,9 +5777,9 @@ dependencies = [ [[package]] name = "solana-curve25519" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d6ca4dc435e6048f871424cd5ace2aeb06c2c82229d684903b03fb351072d4" +checksum = "357376e5364c0168a303ce3555951af646d8644905a04cb26837dc2f433a94c4" dependencies = [ "bytemuck", "bytemuck_derive", @@ -5790,9 +5790,9 @@ dependencies = [ [[package]] name = "solana-faucet" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33db804213350c03306707b6f7dab04a52bfed5ae36e3d15596e4c1d540b6ff3" +checksum = "e61b142c26a7d080f6df5ce56d6597d7d22776e81a0a16e9de7670138637da1a" dependencies = [ "bincode", "byteorder", @@ -5814,9 +5814,9 @@ dependencies = [ [[package]] name = "solana-inline-spl" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f94111dea93785d063d62894046f2a1c2fd822f107aa59c82272a34d2b98cfd4" +checksum = "13e0476f6fb02aefde011e084e490f5d0aa3a617b2618eda42d668f422999d2a" dependencies = [ "bytemuck", "rustc_version", @@ -5825,9 +5825,9 @@ dependencies = [ [[package]] name = "solana-loader-v4-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a793da175d75517480fd31cd92c8ee172f590aae700b16bf6b2f3e1c65bb8de3" +checksum = "214489c5ef66bfdef184ce45bebbc8c852eb1e33973d35f365f5682ed8d4682e" dependencies = [ "log", "solana-compute-budget", @@ -5840,9 +5840,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7369915bd82d09dcb14a5ebba3431c4e54f19f2de0521ac56627d38016d45408" +checksum = "7e1c29f2fcafed056419f493a87397f1bae71b754562c1a7cf125d1fb2b67f93" dependencies = [ "env_logger", "lazy_static", @@ -5851,9 +5851,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b583a9a2a43e02231636662663d7804b70c1c0f3a42b1a641ab5d5964bc8ebf" +checksum = "2f5b519c4fb6f0e6919d699620c8669d59ee61d152126736839fb81af6970e8f" dependencies = [ "log", "solana-sdk", @@ -5861,9 +5861,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68602687aeb613bd73933f27ce11b1ad58896a6a2fa71497fecae2987e614f61" +checksum = "89f89a1f27fc8df4808056d6d25d99f8606b806e34016ccaba66082fedf1d47d" dependencies = [ "crossbeam-channel", "gethostname", @@ -5876,9 +5876,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f41b767c25ec128957b73414efe0797877240e1a9f033e910ab3bcd54748be" +checksum = "838552bdd7e7164d8138f51fe4e93ecc0bce61e8e40b743386725dbaa8a89742" dependencies = [ "bincode", "clap 3.2.25", @@ -5905,9 +5905,9 @@ checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" [[package]] name = "solana-perf" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e7809a71f40bc1d551c86203f11c463926dcfe5a892e74357de618aeffe13a" +checksum = "9f82a6a909b861517f6c58772bc8a9c28ba99b47f66aabe17b614a0df66fb71d" dependencies = [ "ahash", "bincode", @@ -5932,9 +5932,9 @@ dependencies = [ [[package]] name = "solana-poseidon" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31510db46381b495adeb4c8e43ea4e5182e8c55c49925882a6a3829c9123f330" +checksum = "f2cb42ce194c561809b2e6912a3403fd8e445b4864c6a7f41f1a7a2333d33e4b" dependencies = [ "ark-bn254", "light-poseidon", @@ -5943,9 +5943,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2625a23c3813b620141ee447819b08d1b9a5f1c69a309754834e3f35798a21fb" +checksum = "867b550685b9036a6595e85c5b9bd67f1648ecdecd20fbc5816292eb09ed676f" dependencies = [ "ark-bn254", "ark-ec", @@ -5956,7 +5956,7 @@ dependencies = [ "bitflags 2.6.0", "blake3", "borsh 0.10.4", - "borsh 1.5.2", + "borsh 1.5.3", "bs58", "bv", "bytemuck", @@ -5989,9 +5989,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6f48b286f452feb1f2151ffa4243a382affc126d90c60ad804d2759175b996" +checksum = "c19b638abec681d0ff912e4f7ba7c26d25593a1386c441f65d04806bcfb8d63e" dependencies = [ "base64 0.22.1", "bincode", @@ -6018,9 +6018,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f03618c313746b6c69ff04c00d210f8c4549b8c9e172ac90eb1d003e810e5353" +checksum = "b2ac4639d0d6ab66e2c1a5219ffb450d016a9bb5386ec660fa0fe246fc542bfe" dependencies = [ "crossbeam-channel", "futures-util", @@ -6043,9 +6043,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f54213cdc6f6a869f86603385563a78bc89012cfeb921e0a7ba8710d32f65fe" +checksum = "516eb6e55af4840ae8d126fd07b16ee1f2e761ab5c757eed29445c5ae3b4a684" dependencies = [ "async-mutex", "async-trait", @@ -6069,9 +6069,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "369b4d9a8e15906219ee60c1ce6c336ad04fe1217c9c1d625e1960ba5b174d24" +checksum = "5db91849d3959fc7d052542f2828836bd792dfeb83c7c4a25cab103a40c3d4d2" dependencies = [ "lazy_static", "num_cpus", @@ -6079,9 +6079,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d30c4d54739ca1f56113699c086d2dd5e7423eb5f894d0312757cace61e193" +checksum = "22d191d5385c3c63260b5924c37797f2c6d0180daf1dada8d3da485f0928e11e" dependencies = [ "console", "dialoguer", @@ -6099,9 +6099,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12219fb033d7de4e0fe6c613d7ebea5e457d2ca71890ead6c2a3cb5e4534275" +checksum = "4b7ac1f3d0c01f25446a8c57274e3f2655c8bf3fd74ee00b78673b2c5fffc06a" dependencies = [ "async-trait", "base64 0.22.1", @@ -6126,9 +6126,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dc975656b2bd12d9a0d3b37d7188be83d5d40928d48c50450f4e1adab0eb795" +checksum = "ca00cd1e302586f373cfac9fed0e8b3e7aeb31ab9573cc63dfb6fd6b3a76d4f8" dependencies = [ "anyhow", "base64 0.22.1", @@ -6150,9 +6150,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d251b055f02d2fbbf30da82f10229e2bfe2c4ced7724b8d1311b6184a83589bb" +checksum = "77f4d53aae931987cf211949b94523946f749ab32a23ce7eacc47a41b7ad876d" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -6163,9 +6163,9 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "818d71d4fb9b2fa9af9304b2ef052a971553ecc50eb8dcf8fe619cac64924a24" +checksum = "e96c3b7f6b0418dbf502f54366cc647eb395bda12c42e7ed4f7b6aa6cbdb1855" dependencies = [ "aquamarine", "arrayref", @@ -6243,13 +6243,13 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bec7d84513d65700740755c512a0d58b9f60dbbce683379c399d2c357b3ceb0" +checksum = "97366f06c524d2ed6dae8c240e440aeccee3a5c2cbef6ba57cb1c4a675d3b5db" dependencies = [ "bincode", "bitflags 2.6.0", - "borsh 1.5.2", + "borsh 1.5.3", "bs58", "bytemuck", "bytemuck_derive", @@ -6292,15 +6292,15 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93a5a1eabc890415d326707afe62cd7a2009236e8d899c1519566fc8f7e3977b" +checksum = "90d3fae96ed892397f91ead42a2c6d06141778bd491c9fd85195eebe190099c9" dependencies = [ "bs58", "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -6311,9 +6311,9 @@ checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" [[package]] name = "solana-stake-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de7f184236bd27b4b3d3b274f6290d6fcb730a34c56788ebb43a019338f45783" +checksum = "304ca2c81e49e961e10dc826c26c7d7661a6787cb333b6bb314f57403b6f928d" dependencies = [ "bincode", "log", @@ -6327,9 +6327,9 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a66633bc2a7bf49f9d94ec7728bc92ca7e1a563ec2d1752b1501170f48392b1" +checksum = "8464211d9668375a9254a05109bfc6b97fe3f97ba43c7d19922dcceeb4495432" dependencies = [ "async-channel", "bytes", @@ -6361,9 +6361,9 @@ dependencies = [ [[package]] name = "solana-svm" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0716109500f037069609b39dfaca705cd6bebcc43b627b0d8bac2cc462e8e0e" +checksum = "b128d84fdb853d0bb24ae3dd5ac6617e423964cac7ca122d31eae4a760be4afc" dependencies = [ "itertools 0.12.1", "log", @@ -6387,9 +6387,9 @@ dependencies = [ [[package]] name = "solana-system-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d42c54eabe25d0947a5d77f475532280de34c25c42b0073c1049bc0cffeab5ed" +checksum = "d7bf418b972e7648d187e3636964d4ae543bbf6152b4b2682317ad903281a987" dependencies = [ "bincode", "log", @@ -6402,9 +6402,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc6717f63e619d8062f9ba9f874dec1fa21e5dbaf85f9a6bc8adba1b97c4df46" +checksum = "4a76109dc29f5b6fa65d46593cdcd7f532b15b9c2e2afa74c47d7d0ccc4b6c90" dependencies = [ "bincode", "log", @@ -6417,9 +6417,9 @@ dependencies = [ [[package]] name = "solana-tps-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a377aab64f129aa160268ecc5140126e04a408eb4a291c306fc7f65ed48c02" +checksum = "4adde35efed6ee814009069acea4fd24dd4a9098e27628cb70bac596f4776b58" dependencies = [ "log", "solana-client", @@ -6437,9 +6437,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c524c75954fd3ca8f7cdcb386ab70b8861c671a82ed7310e8ed50aa4318b093c" +checksum = "50775aca80e4f414d4fbc090153ee0572a06fe141fe8850f56f57baa4a58822a" dependencies = [ "async-trait", "bincode", @@ -6461,9 +6461,9 @@ dependencies = [ [[package]] name = "solana-transaction-metrics-tracker" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439f96c03d9c2f133b51fa82f227a09cf1f8d5fc63b70d7754d75c02bb7f9e5e" +checksum = "418a6f5fa3400a92a4dd15502dac06a65147ddceb22f193ddc4a9d895cc31c60" dependencies = [ "Inflector", "base64 0.22.1", @@ -6477,14 +6477,14 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b6361f2bb0020a269108e8630c174ad97a72e8ba1fe52a7ccaae27fc1219c7" +checksum = "516e2b0a3b2618809ec97fb2cf70c06222a195d925b60712308b7b2ecf82296d" dependencies = [ "Inflector", "base64 0.22.1", "bincode", - "borsh 1.5.2", + "borsh 1.5.3", "bs58", "lazy_static", "log", @@ -6504,9 +6504,9 @@ dependencies = [ [[package]] name = "solana-type-overrides" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18ee8181704d686981cf4c1365a15f16e1b680542c160ddd4d07ec33e0be747a" +checksum = "edea509bcf1a0cbd89158e32ca0ffd0e48acb15998b0d3a6194a840d5c6bb2d4" dependencies = [ "lazy_static", "rand 0.8.5", @@ -6514,9 +6514,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50a813338c28da988ec0e0fd8c53f756f93c63f403a3ac46ba2c15138dd60a4" +checksum = "44f0a75cd2e553457e961df1a98807321751149f083f9d292c82715b3e0eb14d" dependencies = [ "async-trait", "solana-connection-cache", @@ -6529,9 +6529,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe60c22d8bd1325ab3379950dcc14027fa40e3de9a39a0b22645f81803d6cfaf" +checksum = "0e11b87b4a95aa9456666fd2afdec477051758924dde1f9fbb3928ea054983f5" dependencies = [ "log", "rustc_version", @@ -6543,9 +6543,9 @@ dependencies = [ [[package]] name = "solana-vote" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62a9aa08d6d925b438d569d5e56bad9eb98fd2acd91bf76274ed59045dc77f9f" +checksum = "05db5e378b8ff0304af6585e567b007e9625fe1e3d7b5a9bfb70cb472f7253f3" dependencies = [ "itertools 0.12.1", "log", @@ -6558,9 +6558,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7a9b9023943c6ba747d6e1c5bf16343e510060cbef3f576d8527b33938c48a" +checksum = "b9b4bed78ec113207adcbb53c0b0a883a94f86a422177f23f5c6815a6b41b207" dependencies = [ "bincode", "log", @@ -6578,9 +6578,9 @@ dependencies = [ [[package]] name = "solana-zk-elgamal-proof-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd7858d57619e0cff4d6da1072f3e9da8bf579065ff1fa5d7ee2c526e1f5cc5" +checksum = "11baade7be5dc70c01944ae0921c1b6faa95c13bd9721b8656e6113bbdf67533" dependencies = [ "bytemuck", "num-derive 0.4.2", @@ -6592,9 +6592,9 @@ dependencies = [ [[package]] name = "solana-zk-sdk" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba9dd4ea7ec234027b603ded4db7e849f348c5cf4bc8532ef5c93c34cc6dcd12" +checksum = "f8b8b59096a5f534bda41d86665123ceb15ab8841a83a351760fc80761f7322e" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -6621,9 +6621,9 @@ dependencies = [ [[package]] name = "solana-zk-token-proof-program" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71577ae3ddd886ce7d837a49ac40f98874ca23bd4ae26f9d1ccd9e4055a766e" +checksum = "0644828acc7cf90f90973ee69736723dc1f30917ce46cdaa909ba933e047746c" dependencies = [ "bytemuck", "num-derive 0.4.2", @@ -6635,9 +6635,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "2.0.14" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c1b81daa97afa8690da1a72a453f4c7faf4dc05c4205074b2cbd8f4e5490c" +checksum = "00c9841a10f9af0bb3e9344aea3e677c613f32fc4ff5b7f6dd829f563c419778" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -6702,7 +6702,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68034596cf4804880d265f834af1ff2f821ad5293e41fa0f8f59086c181fc38e" dependencies = [ "assert_matches", - "borsh 1.5.2", + "borsh 1.5.3", "num-derive 0.4.2", "num-traits", "solana-program", @@ -6717,7 +6717,7 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "714b53f7312c2802c62f14bc8a07916c2c872761e3d6be97e99fd432be7799ca" dependencies = [ - "borsh 1.5.2", + "borsh 1.5.3", "num-derive 0.4.2", "num-traits", "solana-program", @@ -6755,7 +6755,7 @@ checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" dependencies = [ "quote", "spl-discriminator-syn", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -6767,7 +6767,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.8", - "syn 2.0.87", + "syn 2.0.89", "thiserror", ] @@ -6786,7 +6786,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c704c88fc457fa649ba3aabe195c79d885c3f26709efaddc453c8de352c90b87" dependencies = [ - "borsh 1.5.2", + "borsh 1.5.3", "bytemuck", "bytemuck_derive", "solana-program", @@ -6800,7 +6800,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00e38c99f09d58df06ca9a29fc0211786a4c34f4d099c1df27b1abaa206569a4" dependencies = [ - "borsh 1.5.2", + "borsh 1.5.3", "bytemuck", "bytemuck_derive", "solana-program", @@ -6830,7 +6830,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.8", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -6994,7 +6994,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6c2318ddff97e006ed9b1291ebec0750a78547f870f62a69c56fe3b46a5d8fc" dependencies = [ - "borsh 1.5.2", + "borsh 1.5.3", "solana-program", "spl-discriminator", "spl-pod 0.3.1", @@ -7008,7 +7008,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c7a6d2a2a4f23c8f051ba2f7edb5689f1b534b4126bd9b4ae4177685e9a341" dependencies = [ - "borsh 1.5.2", + "borsh 1.5.3", "solana-program", "spl-discriminator", "spl-pod 0.4.0", @@ -7142,7 +7142,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7170,9 +7170,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.87" +version = "2.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" dependencies = [ "proc-macro2", "quote", @@ -7205,7 +7205,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7315,7 +7315,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7444,7 +7444,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7590,9 +7590,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", @@ -7614,20 +7614,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -7646,9 +7646,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -7742,9 +7742,9 @@ checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" @@ -7822,9 +7822,9 @@ dependencies = [ [[package]] name = "url" -version = "2.5.3" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna 1.0.3", @@ -7921,9 +7921,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "21d3b25c3ea1126a2ad5f4f9068483c2af1e64168f847abe863a526b8dbfe00b" dependencies = [ "cfg-if", "once_cell", @@ -7932,36 +7932,37 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "52857d4c32e496dc6537646b5b117081e71fd2ff06de792e3577a150627db283" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "951fe82312ed48443ac78b66fa43eded9999f738f6022e67aead7b708659e49a" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "920b0ffe069571ebbfc9ddc0b36ba305ef65577c94b06262ed793716a1afd981" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7969,28 +7970,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "bf59002391099644be3524e23b781fa43d2be0c5aa0719a18c0731b9d195cab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "e5047c5392700766601942795a436d7d2599af60dcc3cc1248c9120bfb0827b0" [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "476364ff87d0ae6bfb661053a9104ab312542658c3d8f963b7ace80b6f9b26b9" dependencies = [ "js-sys", "wasm-bindgen", @@ -8355,9 +8356,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yoke" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ "serde", "stable_deref_trait", @@ -8367,13 +8368,13 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "synstructure 0.13.1", ] @@ -8395,27 +8396,27 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "zerofrom" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "synstructure 0.13.1", ] @@ -8436,7 +8437,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -8458,7 +8459,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] diff --git a/evm_loader/Cargo.toml b/evm_loader/Cargo.toml index 21d1ae6de..7e97075e7 100644 --- a/evm_loader/Cargo.toml +++ b/evm_loader/Cargo.toml @@ -12,21 +12,25 @@ members = [ ] [workspace.dependencies] -solana-clap-utils = "=2.0.14" -solana-cli = "=2.0.14" -solana-cli-config = "=2.0.14" -solana-client = "=2.0.14" -solana-account-decoder = "=2.0.14" -solana-program = { version = "=2.0.14", default-features = false } -solana-sdk = "=2.0.14" -solana-program-runtime = "=2.0.14" -solana-runtime = { version = "=2.0.14", features = ["dev-context-only-utils"] } -solana-accounts-db = { version = "=2.0.14", default-features = false } -solana-bpf-loader-program = "=2.0.14" -solana-loader-v4-program = "=2.0.14" -solana-transaction-status = "=2.0.14" -solana-compute-budget = "=2.0.14" -solana-svm = "=2.0.14" +solana-clap-utils = "=2.0.15" +solana-cli = "=2.0.15" +solana-cli-config = "=2.0.15" +solana-client = "=2.0.15" +solana-account-decoder = "=2.0.15" +solana-program = { version = "=2.0.15", default-features = false } +solana-sdk = "=2.0.15" +solana-program-runtime = "=2.0.15" +solana-runtime = { version = "=2.0.15", features = ["dev-context-only-utils"] } +solana-accounts-db = { version = "=2.0.15", default-features = false } +solana-bpf-loader-program = "=2.0.15" +solana-loader-v4-program = "=2.0.15" +solana-transaction-status = "=2.0.15" +solana-compute-budget = "=2.0.15" +solana-svm = "=2.0.15" +spl-associated-token-account = { version = "5.0.1", default-features = false, features = ["no-entrypoint"] } +# ethnum = { git = "https://github.com/ancientmage/ethnum.git", branch = "v1.5.0-U256-packed(16)", default-features = false, features = ["serde"] } +ethnum = { version = "1.5.0", default-features = false, features = ["serde"] } +#v1.5.0-U256-in-64-4-implementation [profile.test] debug = true diff --git a/evm_loader/api/Cargo.toml b/evm_loader/api/Cargo.toml index b4b0939fc..64abc1334 100644 --- a/evm_loader/api/Cargo.toml +++ b/evm_loader/api/Cargo.toml @@ -12,7 +12,8 @@ solana-sdk.workspace = true solana-client.workspace = true serde = "1.0.204" serde_json = { version = "1.0.121", features = ["preserve_order"] } -ethnum = { version = "1.5", default-features = false, features = ["serde"] } +# ethnum = { version = "1.5", default-features = false, features = ["serde"] } +ethnum.workspace = true tokio = { version = "1", features = ["full"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } diff --git a/evm_loader/cli/Cargo.toml b/evm_loader/cli/Cargo.toml index a2ff8a695..126f8d717 100644 --- a/evm_loader/cli/Cargo.toml +++ b/evm_loader/cli/Cargo.toml @@ -17,7 +17,7 @@ serde = "1.0.204" serde_json = { version = "1.0.121", features = ["preserve_order"] } log = "0.4.22" fern = "0.6" -ethnum = { version = "1.5", default-features = false, features = ["serde"] } +ethnum.workspace = true tokio = { version = "1", features = ["full"] } neon-lib = { path = "../lib" } build-info = "0.0.37" diff --git a/evm_loader/lib/Cargo.toml b/evm_loader/lib/Cargo.toml index 9e88d0f9d..5528fb8b7 100644 --- a/evm_loader/lib/Cargo.toml +++ b/evm_loader/lib/Cargo.toml @@ -26,7 +26,7 @@ solana-transaction-status.workspace = true solana-compute-budget.workspace = true solana-svm.workspace = true spl-token = { version = "~6.0", default-features = false, features = ["no-entrypoint"] } -spl-associated-token-account = { version = ">=3.0", default-features = false, features = ["no-entrypoint"] } +spl-associated-token-account.workspace = true bs58 = "0.5.1" base64 = "0.22" hex = { version = "0.4", features = ["serde"] } @@ -35,7 +35,7 @@ serde_json = { version = "1.0", features = ["preserve_order"] } serde_with = { version = "3.9", features = ["hex"] } log = "0.4.22" rand = "0.8" -ethnum = { version = "1.5", default-features = false, features = ["serde"] } +ethnum.workspace = true goblin = { version = "0.8.2" } scroll = "0.12.0" tokio = { version = "1", features = ["full"] } diff --git a/evm_loader/lib/src/commands/emulate.rs b/evm_loader/lib/src/commands/emulate.rs index 24858a0d1..593c8bc34 100644 --- a/evm_loader/lib/src/commands/emulate.rs +++ b/evm_loader/lib/src/commands/emulate.rs @@ -183,7 +183,7 @@ async fn initialize_storage_and_transaction<'rpc, T: Rpc + BuildConfigSimulator> let (origin, tx) = emulate_request.tx.clone().into_transaction(&storage).await; info!("origin: {:?}", origin); - info!("tx: {:?}", tx); + //info!("tx: {:?}", tx); let chain_id = tx.chain_id().unwrap_or_else(|| storage.default_chain_id()); diff --git a/evm_loader/lib/src/commands/get_holder.rs b/evm_loader/lib/src/commands/get_holder.rs index 8cfa21f08..aab21e708 100644 --- a/evm_loader/lib/src/commands/get_holder.rs +++ b/evm_loader/lib/src/commands/get_holder.rs @@ -15,6 +15,7 @@ use std::fmt::Display; use crate::{account_storage::account_info, rpc::Rpc, types::TxParams, NeonResult}; +use log::info; use serde_with::{hex::Hex, serde_as, skip_serializing_none, DisplayFromStr}; #[derive(Debug, Default, Serialize, Deserialize, PartialEq, Eq, Clone)] @@ -82,7 +83,10 @@ impl GetHolderResponse { pub fn read_holder(program_id: &Pubkey, info: AccountInfo) -> NeonResult { let data_len = info.data_len(); - match evm_loader::account::tag(program_id, &info)? { + let tag = evm_loader::account::tag(program_id, &info)?; + info!("tag = {:?}", tag); + + match tag { TAG_HOLDER => { let holder = Holder::from_account(program_id, info)?; diff --git a/evm_loader/lib/src/solana_simulator/mod.rs b/evm_loader/lib/src/solana_simulator/mod.rs index 8abe8ec21..e5408ee93 100644 --- a/evm_loader/lib/src/solana_simulator/mod.rs +++ b/evm_loader/lib/src/solana_simulator/mod.rs @@ -326,10 +326,11 @@ impl SolanaSimulator { status = Err(TransactionError::UnbalancedTransaction); } - let logs = Rc::try_unwrap(log_collector) - .map(|log_collector| log_collector.into_inner().into_messages()) - .ok() - .unwrap(); + let logs = log_collector.borrow().messages.clone(); + // let logs = Rc::try_unwrap(log_collector) + // .map(|log_collector| log_collector.into_inner().into_messages()) + // .ok() + // .unwrap(); let return_data = if return_data.data.is_empty() { None diff --git a/evm_loader/program/Cargo.toml b/evm_loader/program/Cargo.toml index 57eb9902b..83f26ebd7 100644 --- a/evm_loader/program/Cargo.toml +++ b/evm_loader/program/Cargo.toml @@ -41,7 +41,7 @@ linked_list_allocator = { version = "0.10", default-features = false } evm-loader-macro = { path = "../program-macro" } solana-program.workspace = true spl-token = { version = "~6.0", default-features = false, features = ["no-entrypoint"] } -spl-associated-token-account = { version = "5.0.1", default-features = false, features = ["no-entrypoint"] } +spl-associated-token-account.workspace = true mpl-token-metadata = { version = "5.1.0", default-features = false } thiserror = "1.0" arrayref = "0.3.8" @@ -54,7 +54,7 @@ borsh010 = { version = "0.10.4", package = "borsh" } bincode = "1" serde_bytes = "0.11.15" serde = { version = "1.0.204", default-features = false, features = ["derive", "rc"] } -ethnum = { version = "1.5", default-features = false, features = ["serde"] } +ethnum.workspace = true cfg-if = { version = "1.0" } log = { version = "0.4", default-features = false, optional = true } maybe-async = "0.2.10" diff --git a/evm_loader/program/src/account/state.rs b/evm_loader/program/src/account/state.rs index 4f00f8df1..b4f4de504 100644 --- a/evm_loader/program/src/account/state.rs +++ b/evm_loader/program/src/account/state.rs @@ -186,6 +186,12 @@ impl<'a> StateAccount<'a> { }) .collect::>(); + /*log_msg!( + "STATE ACCOUNT, owner: {:?}, transaction: unknown, origin: {:?}", + owner, + //transaction, + origin + );*/ let data = boxx(Data { owner, transaction, @@ -215,6 +221,11 @@ impl<'a> StateAccount<'a> { header.data_offset = data_offset; } + //let raw_ptr = info.data.borrow().as_ptr().cast::(); + //for i in data_offset..(data_offset + 120) { + // log_msg!("Byte {}: {}", i, unsafe { *raw_ptr.add(i) }); + //} + Ok(Self { account: info, data: ManuallyDrop::new(data), @@ -518,13 +529,16 @@ impl<'a> StateAccount<'a> { /// 3. There are upcasts from *const u8 to *const T, but since T was allocated by the allocator previously, /// it has the correct alignment and the upcast is sound. #[allow(clippy::cast_ptr_alignment)] + #[allow(clippy::too_many_lines)] pub fn get_state_account_view( program_id: &Pubkey, account: &AccountInfo<'a>, ) -> Result { + log_msg!("getting state account view..."); super::validate_tag(program_id, account, TAG_STATE)?; let account_data_ptr = account.data.borrow().as_ptr(); + let header = super::header::
(account); let memory_space_delta = { account_data_ptr as isize @@ -537,24 +551,59 @@ impl<'a> StateAccount<'a> { .cast::() .cast_mut() }; + //log_msg!("account_data_ptr = {:?}", account_data_ptr); + //log_msg!("data_ptr = {:?}", data_ptr.cast::()); unsafe { // Reading full `Transaction`. let transaction_ptr = addr_of!((*data_ptr).transaction); + //log_msg!("transaction_ptr = {:?}", transaction_ptr.cast::()); // Memory layout for transaction payload is: tag of enum's variant (u8) followed by the variant value. // Payload that follows enum tag can have offset due to alignment. let tx_payload_enum_tag = addr_of!((*transaction_ptr).transaction).cast::(); let payload_ptr = tx_payload_enum_tag.add(1); - - let tx_payload = match read_unaligned(tx_payload_enum_tag) { + let payload_tag = read_unaligned(tx_payload_enum_tag); + //log_msg!("payload_tag_ptr = {:?}", payload_ptr); + //log_msg!("payload_tag = {:?}", payload_tag); + let tx_payload = match payload_tag { 0 => { let legacy_payload_ptr = payload_ptr.wrapping_add(payload_ptr.align_offset(align_of::())); - - TransactionPayload::Legacy(LegacyTx::build( - legacy_payload_ptr.cast::(), - memory_space_delta, - )) + /*let nonce_ptr = + std::ptr::addr_of!((*legacy_payload_ptr.cast::()).nonce); + let gas_price_ptr = + std::ptr::addr_of!((*legacy_payload_ptr.cast::()).gas_price); + let gas_limit_ptr = + std::ptr::addr_of!((*legacy_payload_ptr.cast::()).gas_limit); + log_msg!("legacy_ptr = {:?}", legacy_payload_ptr); + log_msg!( + "nonce_ptr = {:?}, gas_price_ptr = {:?}, gas_limit_ptr = {:?}", + nonce_ptr, + gas_price_ptr, + gas_limit_ptr + ); + log_msg!( + "nonce = {:?}, gas_price = {:?}, gas_limit = {:?}", + nonce_ptr.read_unaligned(), + gas_price_ptr.read_unaligned(), + gas_limit_ptr.read_unaligned() + ); + + // Print raw bytes to debug memory content + let raw_ptr = legacy_payload_ptr.cast::(); + for i in 0..120 { + log_msg!("Byte {}: {}", i, *raw_ptr.add(i)); + } + */ + let legacy_tx = + LegacyTx::build(legacy_payload_ptr.cast::(), memory_space_delta); + // log_msg!( + // "LEGACY_TX!, memory_space_delta = {:?}, legacy_tx.nonce = {:?}, legacy_tx.gas_price = {:?}", + // memory_space_delta, + // legacy_tx.nonce, + // legacy_tx.gas_price, + // ); + TransactionPayload::Legacy(legacy_tx) } 1 => { let access_list_payload_ptr = payload_ptr @@ -580,10 +629,12 @@ impl<'a> StateAccount<'a> { )); } }; - let byte_len = read_unaligned(addr_of!((*transaction_ptr).byte_len)); + //log_msg!("byte_len = {:?}", byte_len); let hash = read_unaligned(addr_of!((*transaction_ptr).hash)); + //log_msg!("hash = {:?}", hash); let signed_hash = read_unaligned(addr_of!((*transaction_ptr).signed_hash)); + //log_msg!("signed_hash = {:?}", signed_hash); let tx = Transaction { transaction: tx_payload, byte_len, @@ -593,8 +644,11 @@ impl<'a> StateAccount<'a> { // Reading parts of `StateAccount`. let owner = read_unaligned(addr_of!((*data_ptr).owner)); + //log_msg!("byte_len = {:?}", byte_len); let origin = read_unaligned(addr_of!((*data_ptr).origin)); + //log_msg!("origin = {:?}", origin); let keys_ptr = addr_of!((*data_ptr).revisions).cast::(); + //log_msg!("keys_ptr = {:?}", keys_ptr); // Hereby we read the TreeMap and rely on the fact that under the hood it's a Vector<(Pubkey, AccountRevision)>. // In case the structure changes, it also requires adjustments. @@ -609,7 +663,24 @@ impl<'a> StateAccount<'a> { let executor_state_ptr = account_data_ptr .add(header.executor_state_offset) .cast::(); + + //let offset = memoffset::offset_of!(ExecutorStateData, block_params); + //let block_params_ptr = executor_state_ptr + // .cast::() + // .add(offset) + // .cast::(); + + // Read block_params safely let block_params = read_unaligned(addr_of!((*executor_state_ptr).block_params)); + //let block_params = read_unaligned(block_params_ptr); + + //log_msg!("block_number: {:?}", block_params.block_number); + //log_msg!("block_timestamp: {:?}", block_params.block_timestamp); + //let actions = read_unaligned(addr_of!((*executor_state_ptr).actions)); + //log_msg!("actions len: {:?}", actions.len()); + //for (i, action) in actions.iter().enumerate() { + // log_msg!("action {:?}: {:?}", i, action); + //} Ok(( tx, diff --git a/evm_loader/program/src/executor/mod.rs b/evm_loader/program/src/executor/mod.rs index 756f871f5..7629754da 100644 --- a/evm_loader/program/src/executor/mod.rs +++ b/evm_loader/program/src/executor/mod.rs @@ -6,6 +6,8 @@ mod state; mod synced_state; pub use action::Action; +pub use block_params::BlockParams; +pub use cache::Cache; pub use cache::OwnedAccountInfo; pub use state::ExecutorState; pub use state::ExecutorStateData; diff --git a/evm_loader/program/src/executor/state.rs b/evm_loader/program/src/executor/state.rs index da8020bd5..8cc522d3b 100644 --- a/evm_loader/program/src/executor/state.rs +++ b/evm_loader/program/src/executor/state.rs @@ -30,12 +30,12 @@ pub type TouchedAccounts = TreeMap; /// Persistent part of `ExecutorState`. #[repr(C)] pub struct ExecutorStateData { - cache: RefCell, + pub cache: RefCell, pub block_params: BlockParams, - actions: Vector, - stack: Vector, - exit_status: Option, - touched_accounts: RefCell, + pub actions: Vector, + pub stack: Vector, + pub exit_status: Option, + pub touched_accounts: RefCell, } pub struct ExecutorState<'a, B: AccountStorage> { @@ -50,11 +50,22 @@ impl<'a> ExecutorStateData { block_timestamp: backend.block_timestamp(), }; + log_msg!( + "ESD NEW! number: {:?}, time: {:?}", + block_params.block_number, + block_params.block_timestamp + ); + ExecutorStateData::new_instance(block_params) } #[must_use] pub fn new_with_block_params(block_params: BlockParams) -> Self { + log_msg!( + "ESD NEW_WITH_BLOCK_PARAMS! number: {:?}, time: {:?}", + block_params.block_number, + block_params.block_timestamp + ); ExecutorStateData::new_instance(block_params) } diff --git a/evm_loader/program/src/types/transaction.rs b/evm_loader/program/src/types/transaction.rs index b04c319b3..7aabab1cc 100644 --- a/evm_loader/program/src/types/transaction.rs +++ b/evm_loader/program/src/types/transaction.rs @@ -85,7 +85,7 @@ impl TransactionEnvelope { } } -#[derive(Debug, ReconstructRaw)] +#[derive(ReconstructRaw)] #[repr(C)] pub struct LegacyTx { pub nonce: u64, @@ -367,7 +367,7 @@ impl rlp::Decodable for DynamicFeeTx { } } -#[derive(Debug)] +//#[derive(Debug)] #[repr(C, u8)] pub enum TransactionPayload { Legacy(LegacyTx), @@ -375,7 +375,7 @@ pub enum TransactionPayload { DynamicFee(DynamicFeeTx), } -#[derive(Debug)] +//#[derive(Debug)] #[repr(C)] pub struct Transaction { pub transaction: TransactionPayload, diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 628740b12..51985806f 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.79.0" +channel = "1.78.0"