[INFO] fetching crate roboticus-wallet 0.11.2... [INFO] testing roboticus-wallet-0.11.2 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate roboticus-wallet 0.11.2 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate roboticus-wallet 0.11.2 [INFO] finished tweaking crates.io crate roboticus-wallet 0.11.2 [INFO] tweaked toml for crates.io crate roboticus-wallet 0.11.2 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate roboticus-wallet 0.11.2 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate roboticus-wallet 0.11.2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b08a881a59f547127a16ed02535bf78cb4f09511168c4d4b63be5ba86081e1f6 [INFO] running `Command { std: "docker" "start" "-a" "b08a881a59f547127a16ed02535bf78cb4f09511168c4d4b63be5ba86081e1f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b08a881a59f547127a16ed02535bf78cb4f09511168c4d4b63be5ba86081e1f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b08a881a59f547127a16ed02535bf78cb4f09511168c4d4b63be5ba86081e1f6", kill_on_drop: false }` [INFO] [stdout] b08a881a59f547127a16ed02535bf78cb4f09511168c4d4b63be5ba86081e1f6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0929897b581682fe3f137933ea4f551d161c40b2f6d118f62d998d5e53482b2a [INFO] running `Command { std: "docker" "start" "-a" "0929897b581682fe3f137933ea4f551d161c40b2f6d118f62d998d5e53482b2a", kill_on_drop: false }` [INFO] [stderr] Compiling ruint-macro v1.2.1 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling alloy-rlp-derive v0.3.13 [INFO] [stderr] Compiling const-hex v1.18.1 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling syn-solidity v0.8.26 [INFO] [stderr] Compiling macro-string v0.1.4 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling futures-utils-wasm v0.1.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling alloy-rlp v0.3.13 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling ruint v1.17.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling nybbles v0.3.4 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling alloy-sol-type-parser v0.8.26 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling num_enum_derive v0.7.6 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling k256 v0.13.4 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling derive_more v1.0.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling num_enum v0.7.6 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling schnellru v0.2.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling pin-project v1.1.11 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling alloy-primitives v0.8.26 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling gethostname v1.1.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling alloy-json-abi v0.8.26 [INFO] [stderr] Compiling alloy-serde v0.8.3 [INFO] [stderr] Compiling alloy-eip2930 v0.1.0 [INFO] [stderr] Compiling alloy-eip7702 v0.4.2 [INFO] [stderr] Compiling alloy-trie v0.7.9 [INFO] [stderr] Compiling alloy-signer v0.8.3 [INFO] [stderr] Compiling alloy-chains v0.1.69 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling alloy-sol-macro-input v0.8.26 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling alloy-eips v0.8.3 [INFO] [stderr] Compiling alloy-sol-macro-expander v0.8.26 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling alloy-consensus v0.8.3 [INFO] [stderr] Compiling roboticus-core v0.11.2 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling alloy-sol-macro v0.8.26 [INFO] [stderr] Compiling alloy-sol-types v0.8.26 [INFO] [stderr] Compiling alloy-network-primitives v0.8.3 [INFO] [stderr] Compiling alloy-consensus-any v0.8.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling alloy-json-rpc v0.8.3 [INFO] [stderr] Compiling alloy-rpc-types-eth v0.8.3 [INFO] [stderr] Compiling alloy-dyn-abi v0.8.26 [INFO] [stderr] Compiling alloy-transport v0.8.3 [INFO] [stderr] Compiling alloy-transport-http v0.8.3 [INFO] [stderr] Compiling alloy-core v0.8.26 [INFO] [stderr] Compiling alloy-rpc-client v0.8.3 [INFO] [stderr] Compiling alloy-rpc-types-any v0.8.3 [INFO] [stderr] Compiling alloy-rpc-types v0.8.3 [INFO] [stderr] Compiling alloy-network v0.8.3 [INFO] [stderr] Compiling alloy-provider v0.8.3 [INFO] [stderr] Compiling alloy-signer-local v0.8.3 [INFO] [stderr] Compiling alloy-contract v0.8.3 [INFO] [stderr] Compiling alloy v0.8.3 [INFO] [stderr] Compiling roboticus-wallet v0.11.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s [INFO] running `Command { std: "docker" "inspect" "0929897b581682fe3f137933ea4f551d161c40b2f6d118f62d998d5e53482b2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0929897b581682fe3f137933ea4f551d161c40b2f6d118f62d998d5e53482b2a", kill_on_drop: false }` [INFO] [stdout] 0929897b581682fe3f137933ea4f551d161c40b2f6d118f62d998d5e53482b2a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 853aed67d060efb4d0969c8ae604013e7f83b6c7daec60a1fa30fd7876fa2983 [INFO] running `Command { std: "docker" "start" "-a" "853aed67d060efb4d0969c8ae604013e7f83b6c7daec60a1fa30fd7876fa2983", kill_on_drop: false }` [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling gethostname v1.1.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling roboticus-core v0.11.2 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling alloy-transport v0.8.3 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling alloy-transport-http v0.8.3 [INFO] [stderr] Compiling alloy-rpc-client v0.8.3 [INFO] [stderr] Compiling alloy-provider v0.8.3 [INFO] [stderr] Compiling alloy-contract v0.8.3 [INFO] [stderr] Compiling alloy v0.8.3 [INFO] [stderr] Compiling roboticus-wallet v0.11.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 47.33s [INFO] running `Command { std: "docker" "inspect" "853aed67d060efb4d0969c8ae604013e7f83b6c7daec60a1fa30fd7876fa2983", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "853aed67d060efb4d0969c8ae604013e7f83b6c7daec60a1fa30fd7876fa2983", kill_on_drop: false }` [INFO] [stdout] 853aed67d060efb4d0969c8ae604013e7f83b6c7daec60a1fa30fd7876fa2983 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 607d152bdb09d4f7d370ec714aaaa9d0320ab380aa4f42cf46b98028cd6f25d1 [INFO] running `Command { std: "docker" "start" "-a" "607d152bdb09d4f7d370ec714aaaa9d0320ab380aa4f42cf46b98028cd6f25d1", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.65s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/roboticus_wallet-c07ac0c08c6b33c8) [INFO] [stdout] [INFO] [stdout] running 240 tests [INFO] [stdout] test evm_submit::tests::parse_address_rejects_invalid_values ... ok [INFO] [stdout] test evm_submit::tests::parse_calldata_rejects_empty_string ... ok [INFO] [stdout] test evm_submit::tests::parse_calldata_accepts_prefixed_and_unprefixed_hex ... ok [INFO] [stdout] test evm_submit::tests::parse_calldata_rejects_invalid_hex ... ok [INFO] [stdout] test evm_submit::tests::parse_receipt_status_response_errors_for_missing_fields_and_unknown_status ... ok [INFO] [stdout] test evm_submit::tests::parse_u256_accepts_hex_and_decimal ... ok [INFO] [stdout] test evm_submit::tests::parse_u256_and_u128_reject_invalid_values ... ok [INFO] [stdout] test evm_submit::tests::parse_optional_quantities_trim_decimal_inputs ... ok [INFO] [stdout] test evm_submit::tests::parse_u128_accepts_hex_and_decimal ... ok [INFO] [stdout] test evm_submit::tests::parse_receipt_status_response_handles_pending_success_and_failure ... ok [INFO] [stdout] test evm_submit::tests::parse_optional_quantities_treat_none_and_empty_as_absent ... ok [INFO] [stdout] test money::tests::arithmetic ... ok [INFO] [stdout] test money::tests::display_format ... ok [INFO] [stdout] test money::tests::from_dollars_rejects_extreme_negative ... ok [INFO] [stdout] test money::tests::from_dollars_rejects_extreme_positive ... ok [INFO] [stdout] test money::tests::money_checked_add_returns_none_on_overflow ... ok [INFO] [stdout] test money::tests::money_checked_sub_returns_none_on_underflow ... ok [INFO] [stdout] test money::tests::from_dollars_roundtrip ... ok [INFO] [stdout] test money::tests::money_sub_saturates_on_underflow ... ok [INFO] [stdout] test money::tests::money_add_saturates_on_overflow ... ok [INFO] [stdout] test money::tests::from_dollars_rejects_nan ... ok [INFO] [stdout] test money::tests::saturating_arithmetic ... ok [INFO] [stdout] test money::tests::checked_arithmetic ... ok [INFO] [stdout] test treasury::tests::check_all_exact_per_payment_cap ... ok [INFO] [stdout] test money::tests::from_dollars_rejects_infinity ... ok [INFO] [stdout] test treasury::tests::check_all_fails_at_daily_stage_error_message ... ok [INFO] [stdout] test treasury::tests::check_all_fails_at_reserve_stage_error_message ... ok [INFO] [stdout] test treasury::tests::check_all_fails_daily ... ok [INFO] [stdout] test treasury::tests::check_all_fails_hourly ... ok [INFO] [stdout] test treasury::tests::check_all_fails_per_payment ... ok [INFO] [stdout] test treasury::tests::check_all_fails_reserve ... ok [INFO] [stdout] test treasury::tests::check_all_minimal_balance ... ok [INFO] [stdout] test treasury::tests::check_all_passes ... ok [INFO] [stdout] test treasury::tests::check_daily_limit_error_contains_rule_name ... ok [INFO] [stdout] test treasury::tests::check_daily_limit_exact_boundary_passes ... ok [INFO] [stdout] test treasury::tests::check_daily_limit_negative_amount_rejected ... ok [INFO] [stdout] test treasury::tests::check_daily_limit_zero_amount_rejected ... ok [INFO] [stdout] test treasury::tests::check_hourly_limit_error_contains_rule_name ... ok [INFO] [stdout] test treasury::tests::check_hourly_limit_exact_boundary_passes ... ok [INFO] [stdout] test treasury::tests::check_all_fails_at_hourly_stage_error_message ... ok [INFO] [stdout] test treasury::tests::check_hourly_limit_negative_amount_rejected ... ok [INFO] [stdout] test treasury::tests::check_hourly_limit_zero_amount_rejected ... ok [INFO] [stdout] test treasury::tests::check_inference_budget_error_contains_rule_name ... ok [INFO] [stdout] test treasury::tests::check_inference_budget_exact_boundary_passes ... ok [INFO] [stdout] test treasury::tests::check_minimum_reserve_error_contains_rule_name ... ok [INFO] [stdout] test treasury::tests::check_per_payment_large_cap ... ok [INFO] [stdout] test treasury::tests::daily_limit_exceeded ... ok [INFO] [stdout] test treasury::tests::daily_limit_within ... ok [INFO] [stdout] test treasury::tests::from_treasury_config ... ok [INFO] [stdout] test treasury::tests::getter_daily_transfer_limit ... ok [INFO] [stdout] test treasury::tests::getter_minimum_reserve ... ok [INFO] [stdout] test treasury::tests::getter_per_payment_cap ... ok [INFO] [stdout] test treasury::tests::hourly_limit_exceeded ... ok [INFO] [stdout] test treasury::tests::check_minimum_reserve_exact_boundary_passes ... ok [INFO] [stdout] test treasury::tests::check_minimum_reserve_zero_amount ... ok [INFO] [stdout] test treasury::tests::getter_daily_inference_budget ... ok [INFO] [stdout] test treasury::tests::getter_hourly_transfer_limit ... ok [INFO] [stdout] test treasury::tests::hourly_limit_within ... ok [INFO] [stdout] test treasury::tests::inference_budget_within ... ok [INFO] [stdout] test treasury::tests::minimum_reserve_maintained ... ok [INFO] [stdout] test treasury::tests::inference_budget_exceeded ... ok [INFO] [stdout] test treasury::tests::minimum_reserve_violated ... ok [INFO] [stdout] test treasury::tests::negative_amount_rejected ... ok [INFO] [stdout] test treasury::tests::overdraft_minimum_reserve_rejected ... ok [INFO] [stdout] test treasury::tests::per_payment_exceeds_cap ... ok [INFO] [stdout] test treasury::tests::per_payment_within_cap ... ok [INFO] [stdout] test treasury::tests::positive_amount_passes ... ok [INFO] [stdout] test treasury::tests::treasury_policy_default_impl ... ok [INFO] [stdout] test treasury::tests::check_inference_budget_zero_cost ... ok [INFO] [stdout] test treasury::tests::treasury_policy_from_default_config_no_panic ... ok [INFO] [stdout] test treasury::tests::zero_amount_rejected ... ok [INFO] [stdout] test treasury::tests::negative_amount_minimum_reserve_rejected ... ok [INFO] [stdout] test wallet::tests::decrypt_wallet_data_too_short ... ok [INFO] [stdout] test treasury::tests::treasury_all_caps_zero_rejects_everything ... ok [INFO] [stdout] test treasury::tests::treasury_policy_clone_preserves_fields ... ok [INFO] [stdout] test treasury::tests::treasury_policy_debug_format ... ok [INFO] [stdout] test treasury::tests::check_all_fails_at_per_payment_stage_error_message ... ok [INFO] [stdout] test wallet::tests::derive_key_legacy_hkdf_different_salt_different_key ... ok [INFO] [stdout] test wallet::tests::derive_key_legacy_hkdf_is_deterministic ... ok [INFO] [stdout] test wallet::tests::derive_key_legacy_hkdf_different_passphrase_different_key ... ok [INFO] [stdout] test evm_submit::tests::get_evm_transaction_receipt_status_rejects_empty_hash_before_network ... ok [INFO] [stdout] test evm_submit::tests::submit_evm_contract_call_rejects_invalid_inputs_before_network ... ok [INFO] [stdout] test wallet::tests::eth_address_from_public_key_is_deterministic ... ok [INFO] [stdout] test wallet::tests::eth_address_from_public_key_produces_valid_address ... ok [INFO] [stdout] test evm_submit::tests::submit_evm_contract_call_rejects_invalid_fee_fields_before_network ... ok [INFO] [stdout] test evm_submit::tests::get_evm_transaction_receipt_status_surfaces_rpc_error ... ok [INFO] [stdout] test evm_submit::tests::get_evm_transaction_receipt_status_returns_pending_success_and_failure ... ok [INFO] [stdout] test wallet::tests::get_all_balances_token_entries_have_contracts ... ok [INFO] [stdout] test wallet::tests::decrypt_wallet_data_legacy_hkdf_fallback ... ok [INFO] [stdout] test wallet::tests::get_all_balances_handles_native_failure_gracefully ... ok [INFO] [stdout] test wallet::tests::get_all_balances_returns_native_and_tokens ... ok [INFO] [stdout] test evm_submit::tests::get_evm_transaction_receipt_status_errors_for_malformed_body ... ok [INFO] [stdout] test wallet::tests::encrypt_wallet_data_produces_salt_nonce_ciphertext ... ok [INFO] [stdout] test tests::wallet_service_new_uses_treasury_and_yield_from_config ... ok [INFO] [stdout] test wallet::tests::address_and_chain_id ... ok [INFO] [stdout] test tests::wallet_service_new_with_temp_wallet_path ... ok [INFO] [stdout] test wallet::tests::get_erc20_balance_18_decimals ... ok [INFO] [stdout] test wallet::tests::derive_key_argon2id_different_passphrase ... ok [INFO] [stdout] test wallet::tests::get_erc20_balance_parses_rpc_response ... ok [INFO] [stdout] test wallet::tests::get_erc20_balance_invalid_hex ... ok [INFO] [stdout] test wallet::tests::get_erc20_balance_connection_refused ... ok [INFO] [stdout] test wallet::tests::derive_key_argon2id_is_deterministic ... ok [INFO] [stdout] test wallet::tests::encrypt_wallet_data_different_each_time ... ok [INFO] [stdout] test wallet::tests::encrypt_decrypt_roundtrip_unit ... ok [INFO] [stdout] test wallet::tests::get_erc20_balance_rpc_error ... ok [INFO] [stdout] test wallet::tests::get_erc20_balance_zero ... ok [INFO] [stdout] test wallet::tests::get_native_balance_connection_refused ... ok [INFO] [stdout] test wallet::tests::get_native_balance_missing_result ... ok [INFO] [stdout] test wallet::tests::get_erc20_balance_missing_result ... ok [INFO] [stdout] test wallet::tests::get_native_balance_invalid_hex ... ok [INFO] [stdout] test wallet::tests::load_or_generate_reads_plaintext_json_wallet ... ok [INFO] [stdout] test wallet::tests::decrypt_wallet_data_wrong_passphrase ... ok [INFO] [stdout] test wallet::tests::load_or_generate_rejects_address_mismatch ... ok [INFO] [stdout] test wallet::tests::get_native_balance_rpc_error ... ok [INFO] [stdout] test wallet::tests::machine_passphrase_is_deterministic ... ok [INFO] [stdout] test wallet::tests::machine_passphrase_is_hex_string ... ok [INFO] [stdout] test wallet::tests::get_native_balance_parses_rpc_response ... ok [INFO] [stdout] test wallet::tests::known_tokens_base_has_five_tokens ... ok [INFO] [stdout] test wallet::tests::known_tokens_ethereum_has_five_tokens ... ok [INFO] [stdout] test wallet::tests::known_tokens_arbitrum_has_three_tokens ... ok [INFO] [stdout] test wallet::tests::get_usdc_balance_delegates_to_erc20 ... ok [INFO] [stdout] test wallet::tests::known_tokens_ethereum_decimals_correct ... ok [INFO] [stdout] test wallet::tests::get_native_balance_zero ... ok [INFO] [stdout] test wallet::tests::known_tokens_base_decimals_correct ... ok [INFO] [stdout] test wallet::tests::known_tokens_unknown_chain_fallback_usdc_only ... ok [INFO] [stdout] test wallet::tests::load_or_generate_creates_file ... ok [INFO] [stdout] test wallet::tests::native_symbol_base_is_eth ... ok [INFO] [stdout] test wallet::tests::load_or_generate_sets_restrictive_permissions_on_unix ... ok [INFO] [stdout] test wallet::tests::native_symbol_default_is_eth ... ok [INFO] [stdout] test wallet::tests::native_symbol_polygon_is_matic ... ok [INFO] [stdout] test wallet::tests::network_name_arbitrum ... ok [INFO] [stdout] test wallet::tests::test_mock_creates_valid_wallet ... ok [INFO] [stdout] test wallet::tests::token_balance_debug_format ... ok [INFO] [stdout] test wallet::tests::token_balance_native_no_contract ... ok [INFO] [stdout] test wallet::tests::token_balance_serialization_roundtrip ... ok [INFO] [stdout] test wallet::tests::usdc_address_arbitrum ... ok [INFO] [stdout] test wallet::tests::usdc_address_base ... ok [INFO] [stdout] test wallet::tests::usdc_address_base_sepolia ... ok [INFO] [stdout] test wallet::tests::usdc_address_ethereum ... ok [INFO] [stdout] test wallet::tests::usdc_address_fallback ... ok [INFO] [stdout] test wallet::tests::usdc_address_optimism ... ok [INFO] [stdout] test wallet::tests::usdc_address_polygon ... ok [INFO] [stdout] test wallet::tests::network_name_ethereum_mainnet ... ok [INFO] [stdout] test wallet::tests::wallet_file_debug_redacts_private_key ... ok [INFO] [stdout] test wallet::tests::wallet_file_serde_roundtrip ... ok [INFO] [stdout] test x402::tests::build_payment_header_format ... ok [INFO] [stdout] test wallet::tests::network_name_optimism ... ok [INFO] [stdout] test wallet::tests::known_tokens_have_nonempty_names has been running for over 60 seconds [INFO] [stdout] test wallet::tests::network_name_polygon ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_infinity_amount ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_invalid_recipient_no_prefix ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_invalid_recipient_non_hex ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_invalid_recipient_too_short ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_missing_amount ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_missing_chain_id ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_missing_recipient ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_negative_amount ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_valid ... ok [INFO] [stdout] test x402::tests::parse_payment_requirements_zero_amount ... ok [INFO] [stdout] test x402::tests::x402_handler_clone ... ok [INFO] [stdout] test x402::tests::x402_handler_default_creates_instance ... ok [INFO] [stdout] test x402::tests::x402_handler_new_creates_instance ... ok [INFO] [stdout] test yield_engine::tests::amount_to_raw_exact_one ... ok [INFO] [stdout] test yield_engine::tests::amount_to_raw_fractional ... ok [INFO] [stdout] test yield_engine::tests::amount_to_raw_large_value ... ok [INFO] [stdout] test yield_engine::tests::amount_to_raw_negative_clamps_to_zero ... ok [INFO] [stdout] test yield_engine::tests::amount_to_raw_rounding ... ok [INFO] [stdout] test yield_engine::tests::amount_to_raw_tiny_fraction ... ok [INFO] [stdout] test yield_engine::tests::amount_to_raw_zero ... ok [INFO] [stdout] test yield_engine::tests::build_supply_call_params_constructs_valid_aave_call ... ok [INFO] [stdout] test yield_engine::tests::build_supply_call_params_invalid_address ... ok [INFO] [stdout] test yield_engine::tests::build_supply_call_params_zero_amount ... ok [INFO] [stdout] test yield_engine::tests::build_withdraw_call_params_constructs_valid_aave_call ... ok [INFO] [stdout] test yield_engine::tests::build_withdraw_call_params_invalid_address ... ok [INFO] [stdout] test yield_engine::tests::build_withdraw_call_params_zero_amount ... ok [INFO] [stdout] test yield_engine::tests::calculate_excess_exact_boundary ... ok [INFO] [stdout] test yield_engine::tests::calculate_excess_fractional ... ok [INFO] [stdout] test yield_engine::tests::calculate_excess_positive ... ok [INFO] [stdout] test yield_engine::tests::calculate_excess_zero_balance_zero_reserve ... ok [INFO] [stdout] test yield_engine::tests::calculate_excess_zero_when_insufficient ... ok [INFO] [stdout] test yield_engine::tests::deposit_disabled_errors ... ok [INFO] [stdout] test yield_engine::tests::deposit_returns_tx_hash_mock ... ok [INFO] [stdout] test yield_engine::tests::deposit_rpc_set_both_missing ... ok [INFO] [stdout] test yield_engine::tests::deposit_rpc_set_missing_agent_address ... ok [INFO] [stdout] test yield_engine::tests::deposit_rpc_set_missing_private_key ... ok [INFO] [stdout] test wallet::tests::known_tokens_have_valid_contract_addresses has been running for over 60 seconds [INFO] [stdout] test wallet::tests::network_name_sepolia ... ok [INFO] [stdout] test yield_engine::tests::get_a_token_balance_invalid_account_address ... ok [INFO] [stdout] test yield_engine::tests::get_a_token_balance_invalid_rpc_url ... ok [INFO] [stdout] test yield_engine::tests::get_a_token_balance_no_rpc_returns_zero ... ok [INFO] [stdout] test yield_engine::tests::mock_tx_hash_different_amounts_differ ... ok [INFO] [stdout] test yield_engine::tests::mock_tx_hash_format ... ok [INFO] [stdout] test yield_engine::tests::negative_amount_deposit_rejected ... ok [INFO] [stdout] test yield_engine::tests::negative_amount_withdraw_rejected ... ok [INFO] [stdout] test yield_engine::tests::new_defaults_atoken_address_when_none ... ok [INFO] [stdout] test yield_engine::tests::new_engine_copies_all_config_fields ... ok [INFO] [stdout] test yield_engine::tests::parse_address_empty ... ok [INFO] [stdout] test yield_engine::tests::parse_address_invalid_hex ... ok [INFO] [stdout] test yield_engine::tests::parse_address_too_long ... ok [INFO] [stdout] test yield_engine::tests::parse_address_valid_with_prefix ... ok [INFO] [stdout] test yield_engine::tests::parse_address_valid_without_prefix ... ok [INFO] [stdout] test yield_engine::tests::parse_address_wrong_length ... ok [INFO] [stdout] test yield_engine::tests::real_deposit_invalid_agent_address ... ok [INFO] [stdout] test yield_engine::tests::real_deposit_invalid_pool_address ... ok [INFO] [stdout] test yield_engine::tests::real_deposit_invalid_private_key_length ... ok [INFO] [stdout] test yield_engine::tests::real_deposit_invalid_rpc_url ... ok [INFO] [stdout] test yield_engine::tests::real_deposit_invalid_usdc_address ... ok [INFO] [stdout] test yield_engine::tests::real_withdraw_invalid_agent_address ... ok [INFO] [stdout] test yield_engine::tests::real_withdraw_invalid_pool_address ... ok [INFO] [stdout] test yield_engine::tests::real_withdraw_invalid_private_key_length ... ok [INFO] [stdout] test yield_engine::tests::real_withdraw_invalid_rpc_url ... ok [INFO] [stdout] test yield_engine::tests::real_withdraw_invalid_usdc_address ... ok [INFO] [stdout] test yield_engine::tests::should_deposit_disabled ... ok [INFO] [stdout] test yield_engine::tests::should_deposit_when_excess_above_min ... ok [INFO] [stdout] test yield_engine::tests::should_deposit_zero_excess ... ok [INFO] [stdout] test yield_engine::tests::should_withdraw_disabled ... ok [INFO] [stdout] test yield_engine::tests::should_withdraw_just_below_threshold ... ok [INFO] [stdout] test yield_engine::tests::should_withdraw_when_balance_low ... ok [INFO] [stdout] test yield_engine::tests::withdraw_disabled_errors ... ok [INFO] [stdout] test yield_engine::tests::withdraw_returns_tx_hash_mock ... ok [INFO] [stdout] test yield_engine::tests::withdraw_rpc_set_both_missing ... ok [INFO] [stdout] test yield_engine::tests::withdraw_rpc_set_missing_agent_address ... ok [INFO] [stdout] test yield_engine::tests::withdraw_rpc_set_missing_private_key ... ok [INFO] [stdout] test yield_engine::tests::yield_engine_clone_preserves_fields ... ok [INFO] [stdout] test yield_engine::tests::yield_engine_debug_includes_fields ... ok [INFO] [stdout] test yield_engine::tests::zero_amount_deposit_rejected ... ok [INFO] [stdout] test yield_engine::tests::zero_amount_withdraw_rejected ... ok [INFO] [stdout] test wallet::tests::network_name_base ... ok [INFO] [stdout] test yield_engine::tests::get_a_token_balance_invalid_atoken_address ... ok [INFO] [stdout] test wallet::tests::load_or_generate_is_stable has been running for over 60 seconds [INFO] [stdout] test wallet::tests::network_name_base_sepolia ... ok [INFO] [stdout] test wallet::tests::load_or_generate_regenerates_on_corrupt_file has been running for over 60 seconds [INFO] [stdout] test wallet::tests::network_name_unknown ... ok [INFO] [stdout] test wallet::tests::load_or_generate_is_stable ... ok [INFO] [stdout] test wallet::tests::load_or_generate_regenerates_on_corrupt_file ... ok [INFO] [stdout] test wallet::tests::private_key_path_returns_wallet_path ... ok [INFO] [stdout] test wallet::tests::rpc_url_returns_configured_url ... ok [INFO] [stdout] test wallet::tests::sign_message_produces_valid_eip191_signature ... ok [INFO] [stdout] test wallet::tests::sign_message_recovery_byte_is_27_or_28 ... ok [INFO] [stdout] test x402::tests::handle_402_flow ... ok [INFO] [stdout] test x402::tests::handle_402_rejects_wrong_chain_id ... ok [INFO] [stdout] test wallet::tests::wallet_encryption_roundtrip ... ok [INFO] [stdout] test wallet::tests::known_tokens_have_valid_contract_addresses ... ok [INFO] [stdout] test wallet::tests::known_tokens_have_nonempty_names ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 240 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 136.04s [INFO] [stdout] [INFO] [stderr] Doc-tests roboticus_wallet [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/treasury.rs - treasury::TreasuryPolicy::check_per_payment (line 51) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.92s; merged doctests compilation took 2.74s [INFO] running `Command { std: "docker" "inspect" "607d152bdb09d4f7d370ec714aaaa9d0320ab380aa4f42cf46b98028cd6f25d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "607d152bdb09d4f7d370ec714aaaa9d0320ab380aa4f42cf46b98028cd6f25d1", kill_on_drop: false }` [INFO] [stdout] 607d152bdb09d4f7d370ec714aaaa9d0320ab380aa4f42cf46b98028cd6f25d1