[INFO] cloning repository https://github.com/dedl0/reptil-basking [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dedl0/reptil-basking" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdedl0%2Freptil-basking", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdedl0%2Freptil-basking'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c2fe1c3ff16a736e74b863475fbb4ad6a671643f [INFO] checking dedl0/reptil-basking/c2fe1c3ff16a736e74b863475fbb4ad6a671643f against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdedl0%2Freptil-basking" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dedl0/reptil-basking on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dedl0/reptil-basking [INFO] finished tweaking git repo https://github.com/dedl0/reptil-basking [INFO] tweaked toml for git repo https://github.com/dedl0/reptil-basking written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/dedl0/reptil-basking 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded thiserror-impl v1.0.30 [INFO] [stderr] Downloaded thiserror v1.0.30 [INFO] [stderr] Downloaded proc-macro2 v1.0.34 [INFO] [stderr] Downloaded anchor-spl v0.19.0 [INFO] [stderr] Downloaded borsh-derive-internal v0.9.1 [INFO] [stderr] Downloaded anchor-derive-accounts v0.19.0 [INFO] [stderr] Downloaded borsh-derive v0.9.1 [INFO] [stderr] Downloaded anchor-attribute-access-control v0.19.0 [INFO] [stderr] Downloaded num_enum v0.5.5 [INFO] [stderr] Downloaded sha2 v0.9.8 [INFO] [stderr] Downloaded anchor-attribute-account v0.19.0 [INFO] [stderr] Downloaded proc-macro2-diagnostics v0.9.1 [INFO] [stderr] Downloaded proc-macro-crate v1.1.0 [INFO] [stderr] Downloaded bytemuck_derive v1.0.1 [INFO] [stderr] Downloaded anchor-syn v0.19.0 [INFO] [stderr] Downloaded yansi v0.5.0 [INFO] [stderr] Downloaded ryu v1.0.9 [INFO] [stderr] Downloaded serde v1.0.132 [INFO] [stderr] Downloaded serde_derive v1.0.132 [INFO] [stderr] Downloaded itertools v0.10.3 [INFO] [stderr] Downloaded serde_json v1.0.73 [INFO] [stderr] Downloaded blake3 v1.2.0 [INFO] [stderr] Downloaded typenum v1.14.0 [INFO] [stderr] Downloaded wasm-bindgen v0.2.78 [INFO] [stderr] Downloaded bumpalo v3.8.0 [INFO] [stderr] Downloaded solana-program v1.9.1 [INFO] [stderr] Downloaded anyhow v1.0.51 [INFO] [stderr] Downloaded syn v1.0.82 [INFO] [stderr] Downloaded lock_api v0.4.5 [INFO] [stderr] Downloaded js-sys v0.3.55 [INFO] [stderr] Downloaded solana-frozen-abi v1.9.1 [INFO] [stderr] Downloaded semver v1.0.4 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.78 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.78 [INFO] [stderr] Downloaded spl-token v3.2.0 [INFO] [stderr] Downloaded itoa v1.0.1 [INFO] [stderr] Downloaded anchor-lang v0.19.0 [INFO] [stderr] Downloaded borsh v0.9.1 [INFO] [stderr] Downloaded curve25519-dalek v3.2.0 [INFO] [stderr] Downloaded libc v0.2.112 [INFO] [stderr] Downloaded bytemuck v1.7.3 [INFO] [stderr] Downloaded console_log v0.2.0 [INFO] [stderr] Downloaded smallvec v1.7.0 [INFO] [stderr] Downloaded parking_lot_core v0.8.5 [INFO] [stderr] Downloaded ppv-lite86 v0.2.15 [INFO] [stderr] Downloaded num_enum_derive v0.5.5 [INFO] [stderr] Downloaded crypto-mac v0.11.1 [INFO] [stderr] Downloaded serde_bytes v0.11.5 [INFO] [stderr] Downloaded memmap2 v0.5.0 [INFO] [stderr] Downloaded anchor-attribute-event v0.19.0 [INFO] [stderr] Downloaded anchor-attribute-interface v0.19.0 [INFO] [stderr] Downloaded anchor-attribute-program v0.19.0 [INFO] [stderr] Downloaded spl-associated-token-account v1.0.3 [INFO] [stderr] Downloaded borsh-schema-derive-internal v0.9.1 [INFO] [stderr] Downloaded cpufeatures v0.2.1 [INFO] [stderr] Downloaded solana-frozen-abi-macro v1.9.1 [INFO] [stderr] Downloaded solana-logger v1.9.1 [INFO] [stderr] Downloaded web-sys v0.3.55 [INFO] [stderr] Downloaded rustversion v1.0.6 [INFO] [stderr] Downloaded solana-sdk-macro v1.9.1 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.78 [INFO] [stderr] Downloaded anchor-attribute-constant v0.19.0 [INFO] [stderr] Downloaded anchor-attribute-error v0.19.0 [INFO] [stderr] Downloaded anchor-attribute-state v0.19.0 [INFO] [stderr] Downloaded zeroize v1.4.3 [INFO] [stderr] Downloaded quote v1.0.10 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.78 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8965c8ea8b1bd97a79bc6bcbd70f09eef3b606c356c260296a2263eceb5cc9eb [INFO] running `Command { std: "docker" "start" "-a" "8965c8ea8b1bd97a79bc6bcbd70f09eef3b606c356c260296a2263eceb5cc9eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8965c8ea8b1bd97a79bc6bcbd70f09eef3b606c356c260296a2263eceb5cc9eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8965c8ea8b1bd97a79bc6bcbd70f09eef3b606c356c260296a2263eceb5cc9eb", kill_on_drop: false }` [INFO] [stdout] 8965c8ea8b1bd97a79bc6bcbd70f09eef3b606c356c260296a2263eceb5cc9eb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5f9e5852b4d9016537b88ca12030153d8868daa3849d4a25f6207f9a30c12d0d [INFO] running `Command { std: "docker" "start" "-a" "5f9e5852b4d9016537b88ca12030153d8868daa3849d4a25f6207f9a30c12d0d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.34 [INFO] [stderr] Compiling syn v1.0.82 [INFO] [stderr] Compiling serde_derive v1.0.132 [INFO] [stderr] Compiling serde v1.0.132 [INFO] [stderr] Compiling typenum v1.14.0 [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling semver v1.0.4 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling block-padding v0.2.1 [INFO] [stderr] Compiling anyhow v1.0.51 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.9.1 [INFO] [stderr] Compiling serde_json v1.0.73 [INFO] [stderr] Compiling cpufeatures v0.2.1 [INFO] [stderr] Compiling itoa v1.0.1 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Compiling yansi v0.5.0 [INFO] [stderr] Compiling ryu v1.0.9 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling bs58 v0.3.1 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.78 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Compiling bumpalo v3.8.0 [INFO] [stderr] Compiling rustversion v1.0.6 [INFO] [stderr] Compiling feature-probe v0.1.1 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Checking ppv-lite86 v0.2.15 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Compiling bs58 v0.4.0 [INFO] [stderr] Checking ahash v0.4.7 [INFO] [stderr] Compiling wasm-bindgen v0.2.78 [INFO] [stderr] Checking arrayref v0.3.6 [INFO] [stderr] Checking zeroize v1.4.3 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling solana-frozen-abi-macro v1.9.1 [INFO] [stderr] Compiling solana-frozen-abi v1.9.1 [INFO] [stderr] Compiling solana-program v1.9.1 [INFO] [stderr] Checking arrayvec v0.7.2 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking memmap2 v0.5.0 [INFO] [stderr] Checking keccak v0.1.0 [INFO] [stderr] Checking constant_time_eq v0.1.5 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Compiling blake3 v1.2.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking solana-logger v1.9.1 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.78 [INFO] [stderr] Compiling borsh-derive-internal v0.9.1 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.1 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling bytemuck_derive v1.0.1 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling solana-sdk-macro v1.9.1 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.78 [INFO] [stderr] Checking bytemuck v1.7.3 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.78 [INFO] [stderr] Checking serde_bytes v0.11.5 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking sha2 v0.9.8 [INFO] [stderr] Checking libsecp256k1-core v0.2.2 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Checking sha3 v0.9.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling proc-macro-crate v1.1.0 [INFO] [stderr] Compiling anchor-syn v0.19.0 [INFO] [stderr] Compiling borsh-derive v0.9.1 [INFO] [stderr] Compiling num_enum_derive v0.5.5 [INFO] [stderr] Checking borsh v0.9.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Checking num_enum v0.5.5 [INFO] [stderr] Compiling anchor-attribute-account v0.19.0 [INFO] [stderr] Compiling anchor-attribute-event v0.19.0 [INFO] [stderr] Compiling anchor-attribute-error v0.19.0 [INFO] [stderr] Compiling anchor-attribute-constant v0.19.0 [INFO] [stderr] Compiling anchor-derive-accounts v0.19.0 [INFO] [stderr] Compiling anchor-attribute-interface v0.19.0 [INFO] [stderr] Compiling anchor-attribute-state v0.19.0 [INFO] [stderr] Compiling anchor-attribute-access-control v0.19.0 [INFO] [stderr] Compiling anchor-attribute-program v0.19.0 [INFO] [stderr] Checking spl-token v3.2.0 [INFO] [stderr] Checking anchor-lang v0.19.0 [INFO] [stderr] Checking spl-associated-token-account v1.0.3 [INFO] [stderr] Checking anchor-spl v0.19.0 [INFO] [stderr] Checking nft-staker v0.1.0 (/opt/rustwide/workdir/programs/nft-staker) [INFO] [stdout] error: cannot find attribute `error_code` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:415:3 [INFO] [stdout] | [INFO] [stdout] 415 | #[error_code] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error_code` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:415:3 [INFO] [stdout] | [INFO] [stdout] 415 | #[error_code] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:417:7 [INFO] [stdout] | [INFO] [stdout] 417 | #[msg("The staking contract is out of funds.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:417:7 [INFO] [stdout] | [INFO] [stdout] 417 | #[msg("The staking contract is out of funds.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:419:7 [INFO] [stdout] | [INFO] [stdout] 419 | #[msg("Not enough token sent")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:419:7 [INFO] [stdout] | [INFO] [stdout] 419 | #[msg("Not enough token sent")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:421:7 [INFO] [stdout] | [INFO] [stdout] 421 | #[msg("Too much token sent")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:421:7 [INFO] [stdout] | [INFO] [stdout] 421 | #[msg("Too much token sent")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:423:7 [INFO] [stdout] | [INFO] [stdout] 423 | #[msg("Tried to lie about slothhashes program.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:423:7 [INFO] [stdout] | [INFO] [stdout] 423 | #[msg("Tried to lie about slothhashes program.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:425:7 [INFO] [stdout] | [INFO] [stdout] 425 | #[msg("Only the oracle can update rolls.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:425:7 [INFO] [stdout] | [INFO] [stdout] 425 | #[msg("Only the oracle can update rolls.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:427:7 [INFO] [stdout] | [INFO] [stdout] 427 | #[msg("The oracle already rolled.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:427:7 [INFO] [stdout] | [INFO] [stdout] 427 | #[msg("The oracle already rolled.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:429:7 [INFO] [stdout] | [INFO] [stdout] 429 | #[msg("The oracle hasn't rolled yet.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:429:7 [INFO] [stdout] | [INFO] [stdout] 429 | #[msg("The oracle hasn't rolled yet.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:431:7 [INFO] [stdout] | [INFO] [stdout] 431 | #[msg("Only God can do this.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:431:7 [INFO] [stdout] | [INFO] [stdout] 431 | #[msg("Only God can do this.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:433:7 [INFO] [stdout] | [INFO] [stdout] 433 | #[msg("Invalid lockup period.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:433:7 [INFO] [stdout] | [INFO] [stdout] 433 | #[msg("Invalid lockup period.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:435:7 [INFO] [stdout] | [INFO] [stdout] 435 | #[msg("NFT Still Locked Up.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:435:7 [INFO] [stdout] | [INFO] [stdout] 435 | #[msg("NFT Still Locked Up.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:437:7 [INFO] [stdout] | [INFO] [stdout] 437 | #[msg("This stake has already been unstaked.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:437:7 [INFO] [stdout] | [INFO] [stdout] 437 | #[msg("This stake has already been unstaked.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:439:7 [INFO] [stdout] | [INFO] [stdout] 439 | #[msg("Incorrect lizard type number submitted.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `msg` in this scope [INFO] [stdout] --> programs/nft-staker/src/lib.rs:439:7 [INFO] [stdout] | [INFO] [stdout] 439 | #[msg("Incorrect lizard type number submitted.")] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `msg` is imported here, but it is a function-like macro [INFO] [stdout] --> programs/nft-staker/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anchor_lang::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:13:51 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn init_ranch(ctx: Context) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 13 | pub fn init_ranch(ctx: Context) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:28:64 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn fund_ranch(ctx: Context, amount: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 28 | pub fn fund_ranch(ctx: Context, amount: u64) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:49:72 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn oracle_update(ctx: Context, group_num: u8) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 49 | pub fn oracle_update(ctx: Context, group_num: u8) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:63:66 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn stake_nft(ctx: Context, lizard_type: u8) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 63 | pub fn stake_nft(ctx: Context, lizard_type: u8) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:107:51 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn redeem_nft(ctx: Context) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 107 | pub fn redeem_nft(ctx: Context) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:197:59 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn redeem_rewards(ctx: Context) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 197 | pub fn redeem_rewards(ctx: Context) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:13:51 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn init_ranch(ctx: Context) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 13 | pub fn init_ranch(ctx: Context) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:28:64 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn fund_ranch(ctx: Context, amount: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 28 | pub fn fund_ranch(ctx: Context, amount: u64) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:49:72 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn oracle_update(ctx: Context, group_num: u8) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 49 | pub fn oracle_update(ctx: Context, group_num: u8) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:63:66 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn stake_nft(ctx: Context, lizard_type: u8) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 63 | pub fn stake_nft(ctx: Context, lizard_type: u8) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:107:51 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn redeem_nft(ctx: Context) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 107 | pub fn redeem_nft(ctx: Context) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> programs/nft-staker/src/lib.rs:197:59 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn redeem_rewards(ctx: Context) -> Result<()> { [INFO] [stdout] | ^^^^^^ -- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 197 | pub fn redeem_rewards(ctx: Context) -> Result<(), E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `bumps` on type `anchor_lang::Context<'_, '_, '_, '_, InitRanch<'_>>` [INFO] [stdout] --> programs/nft-staker/src/lib.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | jollyranch.bump = *ctx.bumps.get("jollyranch").unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `program_id`, `accounts`, `remaining_accounts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `bumps` on type `anchor_lang::Context<'_, '_, '_, '_, InitRanch<'_>>` [INFO] [stdout] --> programs/nft-staker/src/lib.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | jollyranch.spl_bump = *ctx.bumps.get("jollyranch_token_account").unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `program_id`, `accounts`, `remaining_accounts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `bumps` on type `anchor_lang::Context<'_, '_, '_, '_, InitRanch<'_>>` [INFO] [stdout] --> programs/nft-staker/src/lib.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | jollyranch.bump = *ctx.bumps.get("jollyranch").unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `program_id`, `accounts`, `remaining_accounts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `bumps` on type `anchor_lang::Context<'_, '_, '_, '_, InitRanch<'_>>` [INFO] [stdout] --> programs/nft-staker/src/lib.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | jollyranch.spl_bump = *ctx.bumps.get("jollyranch_token_account").unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `program_id`, `accounts`, `remaining_accounts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `bumps` on type `anchor_lang::Context<'_, '_, '_, '_, StakeNFT<'_>>` [INFO] [stdout] --> programs/nft-staker/src/lib.rs:70:31 [INFO] [stdout] | [INFO] [stdout] 70 | stake.spl_bump = *ctx.bumps.get("program_nft_account").unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `program_id`, `accounts`, `remaining_accounts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `bumps` on type `anchor_lang::Context<'_, '_, '_, '_, StakeNFT<'_>>` [INFO] [stdout] --> programs/nft-staker/src/lib.rs:70:31 [INFO] [stdout] | [INFO] [stdout] 70 | stake.spl_bump = *ctx.bumps.get("program_nft_account").unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `program_id`, `accounts`, `remaining_accounts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 22 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 22 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] [INFO] [stderr] error: could not compile `nft-staker` (lib) due to 23 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `nft-staker` (lib test) due to 23 previous errors [INFO] running `Command { std: "docker" "inspect" "5f9e5852b4d9016537b88ca12030153d8868daa3849d4a25f6207f9a30c12d0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f9e5852b4d9016537b88ca12030153d8868daa3849d4a25f6207f9a30c12d0d", kill_on_drop: false }` [INFO] [stdout] 5f9e5852b4d9016537b88ca12030153d8868daa3849d4a25f6207f9a30c12d0d