diff --git a/.github/workflows/_rust_examples.yml b/.github/workflows/_rust_examples.yml index a8b727fb929..3c356cee1ce 100644 --- a/.github/workflows/_rust_examples.yml +++ b/.github/workflows/_rust_examples.yml @@ -40,11 +40,11 @@ jobs: shopt -s globstar for manifest in ./**/examples/**/Cargo.toml; do echo "Checking format for $manifest" - cargo +nightly-2025-04-01 ci-fmt --manifest-path $manifest + cargo +nightly-2026-01-07 ci-fmt --manifest-path $manifest echo "Clippy linting for $manifest" cargo clippy --manifest-path $manifest --all-features echo "Checking unused dependencies of $manifest" - cargo +nightly-2025-04-01 ci-udeps --manifest-path $manifest + cargo +nightly-2026-01-07 ci-udeps --manifest-path $manifest done diff --git a/.github/workflows/_rust_lints.yml b/.github/workflows/_rust_lints.yml index f0e37431d9e..3ced94672cd 100644 --- a/.github/workflows/_rust_lints.yml +++ b/.github/workflows/_rust_lints.yml @@ -42,7 +42,7 @@ jobs: steps: - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Check Rust formatting - run: cargo +nightly-2025-04-01 ci-fmt + run: cargo +nightly-2026-01-07 ci-fmt cargo-sort: if: (!cancelled() && inputs.isRust) diff --git a/.github/workflows/_rust_tests.yml b/.github/workflows/_rust_tests.yml index fb400c22bb5..61b0a40bd8c 100644 --- a/.github/workflows/_rust_tests.yml +++ b/.github/workflows/_rust_tests.yml @@ -184,9 +184,9 @@ jobs: steps: - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Run Cargo Udeps - run: cargo +nightly-2025-04-01 ci-udeps ${{ matrix.flags }} + run: cargo +nightly-2026-01-07 ci-udeps ${{ matrix.flags }} - name: Run Cargo Udeps (external crates) - run: cargo +nightly-2025-04-01 ci-udeps-external ${{ matrix.flags }} + run: cargo +nightly-2026-01-07 ci-udeps-external ${{ matrix.flags }} test-extra: env: diff --git a/Cargo.lock b/Cargo.lock index 911429142e4..b3a8cacefc9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3245,6 +3245,16 @@ dependencies = [ "darling_macro 0.20.10", ] +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core 0.21.3", + "darling_macro 0.21.3", +] + [[package]] name = "darling_core" version = "0.14.4" @@ -3273,6 +3283,20 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.100", +] + [[package]] name = "darling_macro" version = "0.14.4" @@ -3295,6 +3319,17 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core 0.21.3", + "quote", + "syn 2.0.100", +] + [[package]] name = "dary_heap" version = "0.3.6" @@ -3485,14 +3520,15 @@ dependencies = [ [[package]] name = "diesel" -version = "2.2.4" +version = "2.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158fe8e2e68695bd615d7e4f3227c0727b151330d3e253b525086c348d055d5e" +checksum = "e130c806dccc85428c564f2dc5a96e05b6615a27c9a28776bd7761a9af4bb552" dependencies = [ "bitflags 2.9.1", "byteorder", "chrono", "diesel_derives", + "downcast-rs 2.0.2", "itoa", "pq-sys", "r2d2", @@ -3501,9 +3537,9 @@ dependencies = [ [[package]] name = "diesel_derives" -version = "2.2.3" +version = "2.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f2c3de51e2ba6bf2a648285696137aaf0f5f487bcbea93972fe8a364e131a4" +checksum = "c30b2969f923fa1f73744b92bb7df60b858df8832742d9a3aceb79236c0be1d2" dependencies = [ "diesel_table_macro_syntax", "dsl_auto_type", @@ -3514,9 +3550,9 @@ dependencies = [ [[package]] name = "diesel_migrations" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a73ce704bad4231f001bff3314d91dce4aba0770cee8b233991859abc15c1f6" +checksum = "745fd255645f0f1135f9ec55c7b00e0882192af9683ab4731e4bba3da82b8f9c" dependencies = [ "diesel", "migrations_internals", @@ -3525,9 +3561,9 @@ dependencies = [ [[package]] name = "diesel_table_macro_syntax" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25" +checksum = "fe2444076b48641147115697648dc743c2c00b61adade0f01ce67133c7babe8c" dependencies = [ "syn 2.0.100", ] @@ -3671,13 +3707,19 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downcast-rs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" + [[package]] name = "dsl_auto_type" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5d9abe6314103864cc2d8901b7ae224e0ab1a103a0a416661b4097b0779b607" +checksum = "dd122633e4bef06db27737f21d3738fb89c8f6d5360d6d9d7635dda142a7757e" dependencies = [ - "darling 0.20.10", + "darling 0.21.3", "either", "heck 0.5.0", "proc-macro2", @@ -3902,6 +3944,15 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "erased-discriminant" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1a6df962265a53221f29081896c412ef325c17fa7d638cd9578febe53d3c82c" +dependencies = [ + "typeid", +] + [[package]] name = "errno" version = "0.3.13" @@ -9120,19 +9171,19 @@ dependencies = [ [[package]] name = "migrations_internals" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd01039851e82f8799046eabbb354056283fb265c8ec0996af940f4e85a380ff" +checksum = "36c791ecdf977c99f45f23280405d7723727470f6689a5e6dbf513ac547ae10d" dependencies = [ "serde", - "toml 0.8.9", + "toml 0.9.6", ] [[package]] name = "migrations_macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb161cc72176cb37aa47f1fc520d3ef02263d67d661f44f05d05a079e1237fd" +checksum = "36fc5ac76be324cfd2d3f2cf0fdf5d5d3c4f14ed8aaebadb09e304ba42282703" dependencies = [ "migrations_internals", "proc-macro2", @@ -9688,7 +9739,7 @@ dependencies = [ "codespan-reporting", "derive-where", "serde", - "serde_spanned", + "serde_spanned 0.6.9", "thiserror 1.0.64", "toml 0.5.11", "toml_edit 0.22.27", @@ -9882,7 +9933,7 @@ dependencies = [ "async-task", "bytes", "cc", - "downcast-rs", + "downcast-rs 1.2.1", "erasable", "futures", "lazy_static", @@ -13173,10 +13224,11 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -13202,13 +13254,16 @@ dependencies = [ [[package]] name = "serde-reflection" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b6798a64289ff550d8d79847467789a5fd30b42c9c406a4d6dc0bc9b567e55c" +checksum = "bfe23e63efbe7af1bc1859ead4a05014bdd5478be550762a40f6fcf91ad5473c" dependencies = [ + "erased-discriminant", "once_cell", "serde", + "serde_json", "thiserror 1.0.64", + "typeid", ] [[package]] @@ -13220,11 +13275,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -13285,6 +13349,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -14882,8 +14955,8 @@ checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "indexmap 2.11.0", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_edit 0.19.15", ] @@ -14894,11 +14967,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_edit 0.21.1", ] +[[package]] +name = "toml" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae2a4cf385da23d1d53bc15cdfa5c2109e93d8d362393c801e87da2f72f0e201" +dependencies = [ + "serde_core", + "serde_spanned 1.0.4", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow 0.7.11", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -14908,6 +14994,15 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.19.15" @@ -14916,8 +15011,8 @@ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ "indexmap 2.11.0", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "winnow 0.5.40", ] @@ -14929,8 +15024,8 @@ checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.11.0", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "winnow 0.5.40", ] @@ -14942,12 +15037,21 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap 2.11.0", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_write", "winnow 0.7.11", ] +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow 0.7.11", +] + [[package]] name = "toml_write" version = "0.1.2" @@ -15500,6 +15604,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + [[package]] name = "typenum" version = "1.17.0" diff --git a/Cargo.toml b/Cargo.toml index 477ae441ef9..913026a4246 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -267,7 +267,7 @@ csv = "1.2.1" dashmap = "5.5.3" datatest-stable = { git = "https://github.com/nextest-rs/datatest-stable.git", rev = "72db7f6d1bbe36a5407e96b9488a581f763e106f" } derive_more = "1.0" -diesel = "2.2.0" +diesel = "2.3.5" dirs = "5.0" ed25519-consensus = { version = "2.0.1", features = ["serde"] } either = "1.8.0" @@ -340,7 +340,7 @@ rustls = { version = "0.23.18", default-features = false, features = ["std", "tl schemars = { version = "0.8.21", features = ["either"] } scopeguard = "1.1" serde = { version = "1.0.144", features = ["derive", "rc"] } -serde-reflection = "0.4" +serde-reflection = "0.5" serde_json = { version = "1.0.95", features = ["preserve_order"] } serde_spanned = "0.6.8" serde_with = "3.8" diff --git a/crates/iota-core/src/generate_format.rs b/crates/iota-core/src/generate_format.rs index ad89bd395c2..bc119851a7c 100644 --- a/crates/iota-core/src/generate_format.rs +++ b/crates/iota-core/src/generate_format.rs @@ -30,9 +30,10 @@ use iota_types::{ }, full_checkpoint_content::{CheckpointData, CheckpointTransaction}, messages_checkpoint::{ - CertifiedCheckpointSummary, CheckpointContents, CheckpointContentsDigest, CheckpointDigest, - CheckpointSummary, FullCheckpointContents, + CertifiedCheckpointSummary, CheckpointCommitment, CheckpointContents, + CheckpointContentsDigest, CheckpointDigest, CheckpointSummary, FullCheckpointContents, }, + messages_consensus::ConsensusDeterminedVersionAssignments, messages_grpc::ObjectInfoRequestKind, move_package::TypeOrigin, multisig::{MultiSig, MultiSigPublicKey}, @@ -40,8 +41,8 @@ use iota_types::{ signature::GenericSignature, storage::DeleteKind, transaction::{ - Argument, CallArg, Command, EndOfEpochTransactionKind, ObjectArg, SenderSignedData, - TransactionData, TransactionExpiration, TransactionKind, + Argument, CallArg, Command, EndOfEpochTransactionKind, GenesisObject, ObjectArg, + SenderSignedData, TransactionData, TransactionExpiration, TransactionKind, }, type_input::{StructInput, TypeInput}, utils::DEFAULT_ADDRESS_SEED, @@ -255,6 +256,11 @@ fn get_registry() -> Result { .unwrap(); tracer.trace_type::(&samples).unwrap(); tracer.trace_type::(&samples).unwrap(); + tracer.trace_type::(&samples).unwrap(); + tracer.trace_type::(&samples).unwrap(); + tracer + .trace_type::(&samples) + .unwrap(); let sender_data = SenderSignedData::new( TransactionData::new_with_gas_coins( @@ -267,6 +273,7 @@ fn get_registry() -> Result { Vec::new(), ); tracer.trace_value(&mut samples, &sender_data).unwrap(); + tracer.trace_type::(&samples).unwrap(); let quorum_sig: AuthorityStrongQuorumSignInfo = AuthorityQuorumSignInfo { epoch: 0, diff --git a/crates/iota-core/tests/staged/iota.yaml b/crates/iota-core/tests/staged/iota.yaml index 7c534bcb431..3ac88115c73 100644 --- a/crates/iota-core/tests/staged/iota.yaml +++ b/crates/iota-core/tests/staged/iota.yaml @@ -1039,29 +1039,29 @@ TypeInput: 0: bool: UNIT 1: - u8: UNIT + U8: UNIT 2: - u64: UNIT + U64: UNIT 3: - u128: UNIT + U128: UNIT 4: - address: UNIT + Address: UNIT 5: - signer: UNIT + Signer: UNIT 6: - vector: + Vector: NEWTYPE: TYPENAME: TypeInput 7: - struct: + Struct: NEWTYPE: TYPENAME: StructInput 8: - u16: UNIT + U16: UNIT 9: - u32: UNIT + U32: UNIT 10: - u256: UNIT + U256: UNIT TypeOrigin: STRUCT: - module_name: STR @@ -1071,19 +1071,19 @@ TypeOrigin: TypeTag: ENUM: 0: - bool: UNIT + Bool: UNIT 1: - u8: UNIT + U8: UNIT 2: - u64: UNIT + U64: UNIT 3: - u128: UNIT + U128: UNIT 4: - address: UNIT + Address: UNIT 5: - signer: UNIT + Signer: UNIT 6: - vector: + Vector: NEWTYPE: TYPENAME: TypeTag 7: @@ -1091,11 +1091,11 @@ TypeTag: NEWTYPE: TYPENAME: StructTag 8: - u16: UNIT + U16: UNIT 9: - u32: UNIT + U32: UNIT 10: - u256: UNIT + U256: UNIT TypedStoreError: ENUM: 0: diff --git a/external-crates/move/Cargo.toml b/external-crates/move/Cargo.toml index 6e38161747a..b88186e6e18 100644 --- a/external-crates/move/Cargo.toml +++ b/external-crates/move/Cargo.toml @@ -89,7 +89,7 @@ regex = "1.5.5" ripemd160 = "0.9.1" serde = { version = "1.0.124", features = ["derive"] } serde-name = "0.1.1" -serde-reflection = "0.4" +serde-reflection = "0.5" serde_bytes = "0.11.5" serde_json = "1.0.64" serde_spanned = { version = "0.6.9", features = ["serde"] } diff --git a/scripts/ci_tests/rust_tests.sh b/scripts/ci_tests/rust_tests.sh index e8e981e0f57..bb868073110 100755 --- a/scripts/ci_tests/rust_tests.sh +++ b/scripts/ci_tests/rust_tests.sh @@ -396,8 +396,8 @@ function run_cargo_simtest() { # run cargo-udeps to check for unused dependencies function unused_deps() { - print_and_run_command "cargo +nightly-2025-04-01 ci-udeps --all-features" - print_and_run_command "cargo +nightly-2025-04-01 ci-udeps --no-default-features" + print_and_run_command "cargo +nightly-2026-01-07 ci-udeps --all-features" + print_and_run_command "cargo +nightly-2026-01-07 ci-udeps --no-default-features" } # run extra tests like stresstest, doc tests, doc generation, changed files, etc. diff --git a/scripts/indexer-schema/generate.sh b/scripts/indexer-schema/generate.sh index 40d2202e94e..b43383a51cc 100755 --- a/scripts/indexer-schema/generate.sh +++ b/scripts/indexer-schema/generate.sh @@ -76,4 +76,4 @@ docker exec ${CONTAINER_NAME} diesel print-schema \ $PYTHON_CMD ${REPO}/scripts/indexer-schema/generate_for_all_tables_macro.py "${REPO}/crates/iota-indexer/src/schema.rs" # Applying the patch may destroy the formatting, fix it -rustfmt +nightly-2025-04-01 "${REPO}/crates/iota-indexer/src/schema.rs" +rustfmt +nightly-2026-01-07 "${REPO}/crates/iota-indexer/src/schema.rs"