[INFO] cloning repository https://github.com/BibekPathak/universal-NFT-protocol
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BibekPathak/universal-NFT-protocol" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBibekPathak%2Funiversal-NFT-protocol", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBibekPathak%2Funiversal-NFT-protocol'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cf701680393ed26a067854ec2e3140a8d9bb19b7
[INFO] checking BibekPathak/universal-NFT-protocol against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBibekPathak%2Funiversal-NFT-protocol" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BibekPathak/universal-NFT-protocol
[INFO] finished tweaking git repo https://github.com/BibekPathak/universal-NFT-protocol
[INFO] tweaked toml for git repo https://github.com/BibekPathak/universal-NFT-protocol written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BibekPathak/universal-NFT-protocol on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BibekPathak/universal-NFT-protocol 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 911ca639a6a832d01b3249f7f7fb4278642c73000a27f9fed7852ca01c17b48c
[INFO] running `Command { std: "docker" "start" "-a" "911ca639a6a832d01b3249f7f7fb4278642c73000a27f9fed7852ca01c17b48c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "911ca639a6a832d01b3249f7f7fb4278642c73000a27f9fed7852ca01c17b48c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "911ca639a6a832d01b3249f7f7fb4278642c73000a27f9fed7852ca01c17b48c", kill_on_drop: false }`
[INFO] [stdout] 911ca639a6a832d01b3249f7f7fb4278642c73000a27f9fed7852ca01c17b48c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0474a37a9b2ffc5e2b6a58e1b2ef90b7cd1a8a5ed6b643d52ad372655b2fefed
[INFO] running `Command { std: "docker" "start" "-a" "0474a37a9b2ffc5e2b6a58e1b2ef90b7cd1a8a5ed6b643d52ad372655b2fefed", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]     Checking solana-decode-error v2.3.0
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]    Compiling solana-frozen-abi-macro v1.18.26
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling solana-frozen-abi v1.18.26
[INFO] [stderr]    Compiling solana-sdk v1.18.26
[INFO] [stderr]    Compiling thiserror v2.0.15
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking solana-big-mod-exp v2.2.1
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking solana-native-token v2.3.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking uint v0.10.0
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling cc v1.2.33
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling solana-program v1.18.26
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking solana-logger v1.18.26
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling borsh-derive-internal v0.10.4
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.10.4
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.3
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.3
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling borsh-derive v1.5.7
[INFO] [stderr]    Compiling bytemuck_derive v1.10.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling solana-sdk-macro v1.18.26
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]    Compiling solana-sdk-macro v2.2.1
[INFO] [stderr]    Compiling qualifier_attr v0.2.2
[INFO] [stderr]    Compiling spl-program-error-derive v0.4.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]     Checking zeroize v1.3.0
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.15
[INFO] [stderr]    Compiling num_enum_derive v0.5.11
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling anchor-derive-space v0.30.1
[INFO] [stderr]    Compiling anchor-derive-space v0.31.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking num_enum v0.7.4
[INFO] [stderr]    Compiling spl-discriminator-syn v0.2.1
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]     Checking borsh v1.5.7
[INFO] [stderr]    Compiling spl-discriminator-derive v0.2.0
[INFO] [stderr]     Checking wasm-bindgen v0.2.100
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling serde_with_macros v2.3.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking solana-hash v2.3.0
[INFO] [stderr]     Checking serde_bytes v0.11.17
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]     Checking bitflags v2.9.2
[INFO] [stderr]     Checking im v15.1.0
[INFO] [stderr]     Checking serde_with v2.3.3
[INFO] [stderr]     Checking solana-fee-calculator v2.2.1
[INFO] [stderr]     Checking solana-short-vec v2.2.1
[INFO] [stderr]     Checking solana-serde-varint v2.2.2
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling anchor-lang-idl-spec v0.1.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[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 cipher v0.3.0
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking curve25519-dalek v3.2.1
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking pbkdf2 v0.4.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking ctr v0.8.0
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking polyval v0.5.3
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking tiny-bip39 v0.8.2
[INFO] [stderr]    Compiling anchor-syn v0.30.1
[INFO] [stderr]    Compiling anchor-syn v0.31.1
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling anchor-lang-idl v0.1.2
[INFO] [stderr]     Checking aes-gcm-siv v0.10.3
[INFO] [stderr]     Checking solana-sha256-hasher v2.3.0
[INFO] [stderr]     Checking solana-keccak-hasher v2.2.1
[INFO] [stderr]     Checking solana-blake3-hasher v2.2.1
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.2.0
[INFO] [stderr]    Compiling borsh-derive v0.10.4
[INFO] [stderr]    Compiling borsh-derive v0.9.3
[INFO] [stderr]     Checking borsh v0.10.4
[INFO] [stderr]     Checking borsh v0.9.3
[INFO] [stderr]     Checking solana-pubkey v2.4.0
[INFO] [stderr]     Checking solana-borsh v2.2.1
[INFO] [stderr]     Checking solana-instruction v2.3.0
[INFO] [stderr]     Checking solana-sdk-ids v2.2.1
[INFO] [stderr]     Checking solana-nonce v2.2.1
[INFO] [stderr]     Checking solana-program-error v2.2.2
[INFO] [stderr]     Checking solana-system-interface v1.0.0
[INFO] [stderr]     Checking solana-serialize-utils v2.2.1
[INFO] [stderr]     Checking solana-bincode v2.2.1
[INFO] [stderr]     Checking solana-transaction-error v2.2.1
[INFO] [stderr]     Checking solana-stable-layout v2.2.1
[INFO] [stderr]     Checking solana-sysvar-id v2.2.1
[INFO] [stderr]     Checking solana-account-info v2.3.0
[INFO] [stderr]     Checking solana-program-pack v2.2.1
[INFO] [stderr]     Checking solana-loader-v2-interface v2.2.1
[INFO] [stderr]     Checking solana-clock v2.2.2
[INFO] [stderr]     Checking solana-slot-hashes v2.2.1
[INFO] [stderr]     Checking solana-rent v2.2.1
[INFO] [stderr]     Checking solana-epoch-schedule v2.2.1
[INFO] [stderr]     Checking solana-slot-history v2.2.1
[INFO] [stderr]     Checking solana-epoch-rewards v2.2.1
[INFO] [stderr]     Checking solana-last-restart-slot v2.2.1
[INFO] [stderr]     Checking solana-message v2.4.0
[INFO] [stderr]     Checking solana-loader-v3-interface v5.0.0
[INFO] [stderr]     Checking solana-loader-v4-interface v2.2.1
[INFO] [stderr]     Checking solana-cpi v2.2.1
[INFO] [stderr]     Checking solana-program-entrypoint v2.3.0
[INFO] [stderr]     Checking solana-instructions-sysvar v2.2.2
[INFO] [stderr]     Checking solana-address-lookup-table-interface v2.2.2
[INFO] [stderr]     Checking solana-account v2.2.1
[INFO] [stderr]     Checking solana-vote-interface v2.2.6
[INFO] [stderr]     Checking solana-stake-interface v1.2.1
[INFO] [stderr]     Checking solana-feature-gate-interface v2.2.2
[INFO] [stderr]     Checking solana-example-mocks v2.2.1
[INFO] [stderr]     Checking solana-sysvar v2.3.0
[INFO] [stderr]    Compiling anchor-attribute-program v0.30.1
[INFO] [stderr]    Compiling anchor-derive-accounts v0.30.1
[INFO] [stderr]    Compiling anchor-attribute-account v0.30.1
[INFO] [stderr]    Compiling anchor-attribute-access-control v0.30.1
[INFO] [stderr]    Compiling anchor-derive-serde v0.30.1
[INFO] [stderr]    Compiling anchor-attribute-constant v0.30.1
[INFO] [stderr]    Compiling anchor-attribute-event v0.30.1
[INFO] [stderr]    Compiling anchor-attribute-error v0.30.1
[INFO] [stderr]    Compiling anchor-attribute-error v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-event v0.31.1
[INFO] [stderr]    Compiling anchor-derive-accounts v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-account v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-program v0.31.1
[INFO] [stderr]    Compiling anchor-derive-serde v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-access-control v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-constant v0.31.1
[INFO] [stderr]     Checking solana-secp256k1-recover v2.2.1
[INFO] [stderr]     Checking solana-program v2.3.0
[INFO] [stderr]     Checking spl-math v0.3.0
[INFO] [stderr]     Checking anchor-lang v0.31.1
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking light-poseidon v0.2.0
[INFO] [stderr]     Checking spl-program-error v0.4.4
[INFO] [stderr]     Checking spl-discriminator v0.2.5
[INFO] [stderr]     Checking spl-token v4.0.3
[INFO] [stderr]     Checking spl-memo v4.0.4
[INFO] [stderr]     Checking spl-token v3.5.0
[INFO] [stderr]     Checking spl-memo v3.0.1
[INFO] [stderr]     Checking anchor-lang v0.30.1
[INFO] [stderr]     Checking mpl-token-metadata v3.2.3
[INFO] [stderr]     Checking solana-zk-token-sdk v1.18.26
[INFO] [stderr]     Checking spl-pod v0.2.5
[INFO] [stderr]     Checking spl-token-2022 v0.6.1
[INFO] [stderr]     Checking spl-type-length-value v0.4.6
[INFO] [stderr]     Checking spl-token-group-interface v0.2.5
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.6.5
[INFO] [stderr]     Checking spl-token-metadata-interface v0.3.5
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.6.5
[INFO] [stderr]     Checking spl-token-2022 v3.0.5
[INFO] [stderr]     Checking spl-associated-token-account v1.1.3
[INFO] [stderr]     Checking spl-associated-token-account v3.0.4
[INFO] [stderr]     Checking anchor-spl v0.30.1
[INFO] [stderr]     Checking universal-nft v0.1.0 (/opt/rustwide/workdir/programs/universal-nft)
[INFO] [stdout] error: init_if_needed requires that anchor-lang be imported with the init-if-needed cargo feature enabled. Carefully read the init_if_needed docs before using this feature to make sure you know how to protect yourself against re-initialization attacks.
[INFO] [stdout]   --> programs/universal-nft/src/instructions/mint_nft.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         init_if_needed,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `:`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/transfer_to_chain.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |         mint = original_mint,
[INFO] [stdout]    |              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: init_if_needed requires that anchor-lang be imported with the init-if-needed cargo feature enabled. Carefully read the init_if_needed docs before using this feature to make sure you know how to protect yourself against re-initialization attacks.
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_call.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         init_if_needed,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: init_if_needed requires that anchor-lang be imported with the init-if-needed cargo feature enabled. Carefully read the init_if_needed docs before using this feature to make sure you know how to protect yourself against re-initialization attacks.
[INFO] [stdout]   --> programs/universal-nft/src/instructions/mint_nft.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         init_if_needed,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `:`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/transfer_to_chain.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |         mint = original_mint,
[INFO] [stdout]    |              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `:`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_revert.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |         mint = original_mint,
[INFO] [stdout]    |              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: init_if_needed requires that anchor-lang be imported with the init-if-needed cargo feature enabled. Carefully read the init_if_needed docs before using this feature to make sure you know how to protect yourself against re-initialization attacks.
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_call.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         init_if_needed,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `:`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |         mint = original_mint,
[INFO] [stdout]    |              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `:`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_revert.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |         mint = original_mint,
[INFO] [stdout]    |              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `:`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |         mint = original_mint,
[INFO] [stdout]    |              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 8 |     instruction::create_metadata_account_v3,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 8 |     instruction::create_metadata_account_v3,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/mint_nft.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 8 |     instruction::create_metadata_account_v3,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::MetadataAccount
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/mint_nft.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 8 |     instruction::create_metadata_account_v3,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::MetadataAccount
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/on_call.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 8 |     instruction::create_metadata_account_v3,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::MetadataAccount
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/update_metadata.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 5 |     instruction::update_metadata_account_v2,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::MetadataAccount
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^ could not find `__client_accounts_transfer_to_chain` in the crate root
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/on_call.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 8 |     instruction::create_metadata_account_v3,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::MetadataAccount
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `mpl_token_metadata::accounts::MetadataAccount`, `mpl_token_metadata::instruction`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/update_metadata.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     accounts::MetadataAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ no `MetadataAccount` in `generated::accounts`
[INFO] [stdout] 5 |     instruction::update_metadata_account_v2,
[INFO] [stdout]   |     ^^^^^^^^^^^ could not find `instruction` in `mpl_token_metadata`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stdout]           crate::MetadataAccount
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^ could not find `__client_accounts_burn_nft` in the crate root
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `MESSAGE_TYPE_TRANSFER` is ambiguous
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |         message_type: MESSAGE_TYPE_TRANSFER,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 |     state::*,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could also refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 |     constants::*,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `MESSAGE_TYPE_MINT` is ambiguous
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:103:44
[INFO] [stdout]     |
[INFO] [stdout] 103 |     if cross_chain_message.message_type != MESSAGE_TYPE_MINT && 
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `MESSAGE_TYPE_MINT` could refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout]  12 |     state::*,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_MINT` to disambiguate
[INFO] [stdout] note: `MESSAGE_TYPE_MINT` could also refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:15:5
[INFO] [stdout]     |
[INFO] [stdout]  15 |     constants::*,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_MINT` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `MESSAGE_TYPE_TRANSFER` is ambiguous
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:104:44
[INFO] [stdout]     |
[INFO] [stdout] 104 |        cross_chain_message.message_type != MESSAGE_TYPE_TRANSFER {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout]  12 |     state::*,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could also refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:15:5
[INFO] [stdout]     |
[INFO] [stdout]  15 |     constants::*,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `MESSAGE_TYPE_TRANSFER` is ambiguous
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |         message_type: MESSAGE_TYPE_TRANSFER,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 |     state::*,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could also refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 |     constants::*,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `MESSAGE_TYPE_MINT` is ambiguous
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:103:44
[INFO] [stdout]     |
[INFO] [stdout] 103 |     if cross_chain_message.message_type != MESSAGE_TYPE_MINT && 
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `MESSAGE_TYPE_MINT` could refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout]  12 |     state::*,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_MINT` to disambiguate
[INFO] [stdout] note: `MESSAGE_TYPE_MINT` could also refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:15:5
[INFO] [stdout]     |
[INFO] [stdout]  15 |     constants::*,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_MINT` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `MESSAGE_TYPE_TRANSFER` is ambiguous
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:104:44
[INFO] [stdout]     |
[INFO] [stdout] 104 |        cross_chain_message.message_type != MESSAGE_TYPE_TRANSFER {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout]  12 |     state::*,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] note: `MESSAGE_TYPE_TRANSFER` could also refer to the constant imported here
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:15:5
[INFO] [stdout]     |
[INFO] [stdout]  15 |     constants::*,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `MESSAGE_TYPE_TRANSFER` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `custom-heap`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_heap_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_heap_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, `teeos`, and `trusty` and 12 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_heap_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_heap_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `custom-panic`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_panic_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_panic_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, `teeos`, and `trusty` and 12 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_panic_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_panic_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mint`, `TokenAccount`, `Token`, and `associated_token::AssociatedToken`
[INFO] [stdout]  --> programs/universal-nft/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     associated_token::AssociatedToken,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     token::{Mint, Token, TokenAccount},
[INFO] [stdout]   |             ^^^^  ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataV2`
[INFO] [stdout]  --> programs/universal-nft/src/lib.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 |     types::{Creator, DataV2},
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::prelude::*`
[INFO] [stdout]  --> programs/universal-nft/src/constants.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anchor_lang::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token::Mint`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/initialize.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_spl::token::Mint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `errors::UniversalNftError`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/initialize.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     errors::UniversalNftError,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/initialize.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Accounts)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `errors::UniversalNftError`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/mint_nft.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     errors::UniversalNftError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Creator`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/on_call.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |     types::{Creator, DataV2},
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constants::*`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_call.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     constants::*,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constants::*`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/burn_nft.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     constants::*,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Accounts)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> programs/universal-nft/src/instructions/mod.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub use initialize::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the name `handler` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 15 | pub use update_metadata::*;
[INFO] [stdout]    |         ------------------ but the name `handler` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token::Mint`
[INFO] [stdout]  --> programs/universal-nft/src/state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_spl::token::Mint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `custom-heap`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_heap_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_heap_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, `teeos`, and `trusty` and 12 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_heap_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_heap_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `custom-panic`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_panic_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_panic_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, `teeos`, and `trusty` and 12 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_panic_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_panic_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mint`, `TokenAccount`, `Token`, and `associated_token::AssociatedToken`
[INFO] [stdout]  --> programs/universal-nft/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     associated_token::AssociatedToken,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     token::{Mint, Token, TokenAccount},
[INFO] [stdout]   |             ^^^^  ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataV2`
[INFO] [stdout]  --> programs/universal-nft/src/lib.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 |     types::{Creator, DataV2},
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::prelude::*`
[INFO] [stdout]  --> programs/universal-nft/src/constants.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anchor_lang::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token::Mint`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/initialize.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_spl::token::Mint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `errors::UniversalNftError`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/initialize.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     errors::UniversalNftError,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/initialize.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Accounts)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `program` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the attribute macro `program` may come from an old version of the `anchor_attribute_program` crate, try updating your dependency with `cargo update -p anchor_attribute_program`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `errors::UniversalNftError`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/mint_nft.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     errors::UniversalNftError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Creator`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/on_call.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |     types::{Creator, DataV2},
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constants::*`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_call.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     constants::*,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constants::*`
[INFO] [stdout]  --> programs/universal-nft/src/instructions/burn_nft.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     constants::*,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Accounts)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> programs/universal-nft/src/instructions/mod.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub use initialize::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the name `handler` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 15 | pub use update_metadata::*;
[INFO] [stdout]    |         ------------------ but the name `handler` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token::Mint`
[INFO] [stdout]  --> programs/universal-nft/src/state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_spl::token::Mint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `program` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the attribute macro `program` may come from an old version of the `anchor_attribute_program` crate, try updating your dependency with `cargo update -p anchor_attribute_program`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `cpi`, `default`, `no-entrypoint`, `no-idl`, and `no-log-ix-name`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Accounts` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Accounts` may come from an old version of the `anchor_derive_accounts` crate, try updating your dependency with `cargo update -p anchor_derive_accounts`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:72:10
[INFO] [stdout]     |
[INFO] [stdout]  72 |     ctx: Context<MintNft>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:72:10
[INFO] [stdout]     |
[INFO] [stdout]  72 |     ctx: Context<MintNft>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:57:10
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ctx: Context<TransferToChain>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:57:10
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ctx: Context<TransferToChain>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  76 |     ctx: Context<OnCall>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |     pub mint: Account<'info, Mint>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:50:24
[INFO] [stdout]     |
[INFO] [stdout]  50 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  76 |     ctx: Context<OnCall>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:55:10
[INFO] [stdout]     |
[INFO] [stdout]  55 |     ctx: Context<OnRevert>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:55:10
[INFO] [stdout]     |
[INFO] [stdout]  55 |     ctx: Context<OnRevert>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | impl anchor_lang::AccountSerialize for TokenAccount {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:49:21
[INFO] [stdout]     |
[INFO] [stdout]  49 | pub fn handler(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `burn_nft::BurnNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::TokenAccount: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:35:24
[INFO] [stdout]     |
[INFO] [stdout]  35 |     pub token_account: Account<'info, TokenAccount>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::TokenAccount`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl anchor_lang::AccountDeserialize for TokenAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct TokenAccount(spl_token::state::Account);
[INFO] [stdout]     | ----------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:24
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:24
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:41:24
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:49:21
[INFO] [stdout]     |
[INFO] [stdout]  49 | pub fn handler(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `burn_nft::BurnNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:24
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:24
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:38:14
[INFO] [stdout]     |
[INFO] [stdout]  38 |         ctx: Context<MintNft>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:49:14
[INFO] [stdout]     |
[INFO] [stdout]  49 |         ctx: Context<TransferToChain>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:61:14
[INFO] [stdout]     |
[INFO] [stdout]  61 |         ctx: Context<OnCall>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:71:14
[INFO] [stdout]     |
[INFO] [stdout]  71 |         ctx: Context<OnRevert>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:80:26
[INFO] [stdout]     |
[INFO] [stdout]  80 |     pub fn burn_nft(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `burn_nft::BurnNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:38:14
[INFO] [stdout]     |
[INFO] [stdout]  38 |         ctx: Context<MintNft>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:49:14
[INFO] [stdout]     |
[INFO] [stdout]  49 |         ctx: Context<TransferToChain>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:61:14
[INFO] [stdout]     |
[INFO] [stdout]  61 |         ctx: Context<OnCall>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:71:14
[INFO] [stdout]     |
[INFO] [stdout]  71 |         ctx: Context<OnRevert>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:80:26
[INFO] [stdout]     |
[INFO] [stdout]  80 |     pub fn burn_nft(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `burn_nft::BurnNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:42
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |                                          ^^^^^ required by this bound in `Context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, mint_nft::MintNft<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:72:10
[INFO] [stdout]     |
[INFO] [stdout]  72 |     ctx: Context<MintNft>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, mint_nft::MintNft<'_>>`, the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, mint_nft::MintNft<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  72 |     ctx: &Context<MintNft>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, mint_nft::MintNft<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:72:10
[INFO] [stdout]     |
[INFO] [stdout]  72 |     ctx: Context<MintNft>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, mint_nft::MintNft<'_>>`, the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, mint_nft::MintNft<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  72 |     ctx: &Context<MintNft>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:91:28
[INFO] [stdout]     |
[INFO] [stdout]  91 |         &ctx.accounts.mint.key(),
[INFO] [stdout]     |                            ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:91:28
[INFO] [stdout]     |
[INFO] [stdout]  91 |         &ctx.accounts.mint.key(),
[INFO] [stdout]     |                            ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:98:33
[INFO] [stdout]     |
[INFO] [stdout]  98 |         mint: ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:98:33
[INFO] [stdout]     |
[INFO] [stdout]  98 |         mint: ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:99:40
[INFO] [stdout]     |
[INFO] [stdout]  99 |         to: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:99:40
[INFO] [stdout]     |
[INFO] [stdout]  99 |         to: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |         authority: ctx.accounts.program_state.to_account_info(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |         authority: ctx.accounts.program_state.to_account_info(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:48
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:48
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:48
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     -------------------------- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, MintTo<'_>>`, found a different `CpiContext<'_, '_, '_, '_, MintTo<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | pub fn mint_to<'info>(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:48
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:106:43
[INFO] [stdout]     |
[INFO] [stdout]  77 | ) -> Result<()> {
[INFO] [stdout]     |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 106 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     --------------------------------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     -------------------------- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, MintTo<'_>>`, found a different `CpiContext<'_, '_, '_, '_, MintTo<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | pub fn mint_to<'info>(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:106:43
[INFO] [stdout]     |
[INFO] [stdout]  77 | ) -> Result<()> {
[INFO] [stdout]     |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 106 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     --------------------------------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:109:68
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let metadata_account = MetadataAccount::new(&ctx.accounts.mint.key());
[INFO] [stdout]     |                                                                    ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:109:68
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let metadata_account = MetadataAccount::new(&ctx.accounts.mint.key());
[INFO] [stdout]     |                                                                    ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:125:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |         ctx.accounts.mint.key(),
[INFO] [stdout]     |                           ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:125:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |         ctx.accounts.mint.key(),
[INFO] [stdout]     |                           ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |         ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |         ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:152:19
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let cpi_ctx = CpiContext::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |         create_metadata_ix.data,
[INFO] [stdout]     |         ----------------------- unexpected argument #3
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 154 -         accounts,
[INFO] [stdout] 155 -         create_metadata_ix.data,
[INFO] [stdout] 154 +         accounts,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:161:50
[INFO] [stdout]     |
[INFO] [stdout] 161 |     nft_origin.original_mint = ctx.accounts.mint.key();
[INFO] [stdout]     |                                                  ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:152:19
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let cpi_ctx = CpiContext::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |         create_metadata_ix.data,
[INFO] [stdout]     |         ----------------------- unexpected argument #3
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 154 -         accounts,
[INFO] [stdout] 155 -         create_metadata_ix.data,
[INFO] [stdout] 154 +         accounts,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |     nft_origin.bump = ctx.bumps.nft_origin;
[INFO] [stdout]     |                       ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:161:50
[INFO] [stdout]     |
[INFO] [stdout] 161 |     nft_origin.original_mint = ctx.accounts.mint.key();
[INFO] [stdout]     |                                                  ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:172:40
[INFO] [stdout]     |
[INFO] [stdout] 172 |     msg!("Mint: {}", ctx.accounts.mint.key());
[INFO] [stdout]     |                                        ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |     nft_origin.bump = ctx.bumps.nft_origin;
[INFO] [stdout]     |                       ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, transfer_to_chain::TransferToChain<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:57:10
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ctx: Context<TransferToChain>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, transfer_to_chain::TransferToChain<'_>>`, the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, transfer_to_chain::TransferToChain<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ctx: &Context<TransferToChain>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `amount` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/transfer_to_chain.rs:82:22
[INFO] [stdout]    |
[INFO] [stdout] 82 |     if token_account.amount == 0 {
[INFO] [stdout]    |                      ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `owner` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/transfer_to_chain.rs:87:22
[INFO] [stdout]    |
[INFO] [stdout] 87 |     if token_account.owner != ctx.accounts.owner.key() {
[INFO] [stdout]    |                      ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:172:40
[INFO] [stdout]     |
[INFO] [stdout] 172 |     msg!("Mint: {}", ctx.accounts.mint.key());
[INFO] [stdout]     |                                        ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, transfer_to_chain::TransferToChain<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:57:10
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ctx: Context<TransferToChain>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, transfer_to_chain::TransferToChain<'_>>`, the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, transfer_to_chain::TransferToChain<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ctx: &Context<TransferToChain>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `amount` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/transfer_to_chain.rs:82:22
[INFO] [stdout]    |
[INFO] [stdout] 82 |     if token_account.amount == 0 {
[INFO] [stdout]    |                      ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `owner` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/transfer_to_chain.rs:87:22
[INFO] [stdout]    |
[INFO] [stdout] 87 |     if token_account.owner != ctx.accounts.owner.key() {
[INFO] [stdout]    |                      ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:101:42
[INFO] [stdout]     |
[INFO] [stdout] 101 |         mint: ctx.accounts.original_mint.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:101:42
[INFO] [stdout]     |
[INFO] [stdout] 101 |         mint: ctx.accounts.original_mint.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |         from: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:103:20
[INFO] [stdout]     |
[INFO] [stdout] 103 |         authority: ctx.accounts.owner.to_account_info(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:48
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:48
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |         from: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:103:20
[INFO] [stdout]     |
[INFO] [stdout] 103 |         authority: ctx.accounts.owner.to_account_info(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:48
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:109:10
[INFO] [stdout]     |
[INFO] [stdout] 109 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]     |     ---- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, Burn<'_>>`, found a different `CpiContext<'_, '_, '_, '_, Burn<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:79:8
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub fn burn<'info>(ctx: CpiContext<'_, '_, '_, 'info, Burn<'info>>, amount: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:48
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout]  63 | ) -> Result<()> {
[INFO] [stdout]     |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 109 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]     |     ----------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:109:10
[INFO] [stdout]     |
[INFO] [stdout] 109 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]     |     ---- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, Burn<'_>>`, found a different `CpiContext<'_, '_, '_, '_, Burn<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:79:8
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub fn burn<'info>(ctx: CpiContext<'_, '_, '_, 'info, Burn<'info>>, amount: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout]  63 | ) -> Result<()> {
[INFO] [stdout]     |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 109 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]     |     ----------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, on_call::OnCall<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  76 |     ctx: Context<OnCall>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, on_call::OnCall<'_>>`, the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, on_call::OnCall<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  76 |     ctx: &Context<OnCall>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, on_call::OnCall<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  76 |     ctx: Context<OnCall>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, on_call::OnCall<'_>>`, the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, on_call::OnCall<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  76 |     ctx: &Context<OnCall>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:132:33
[INFO] [stdout]     |
[INFO] [stdout] 132 |         mint: ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:132:33
[INFO] [stdout]     |
[INFO] [stdout] 132 |         mint: ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:133:40
[INFO] [stdout]     |
[INFO] [stdout] 133 |         to: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |         authority: ctx.accounts.program_state.to_account_info(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:133:40
[INFO] [stdout]     |
[INFO] [stdout] 133 |         to: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |         authority: ctx.accounts.program_state.to_account_info(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct AccountInfo<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:140:32
[INFO] [stdout]     |
[INFO] [stdout] 140 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     -------------------------- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, MintTo<'_>>`, found a different `CpiContext<'_, '_, '_, '_, MintTo<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | pub fn mint_to<'info>(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:140:43
[INFO] [stdout]     |
[INFO] [stdout]  80 | ) -> Result<()> {
[INFO] [stdout]     |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 140 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     --------------------------------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:143:68
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let metadata_account = MetadataAccount::new(&ctx.accounts.mint.key());
[INFO] [stdout]     |                                                                    ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:140:32
[INFO] [stdout]     |
[INFO] [stdout] 140 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     -------------------------- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, MintTo<'_>>`, found a different `CpiContext<'_, '_, '_, '_, MintTo<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | pub fn mint_to<'info>(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:140:43
[INFO] [stdout]     |
[INFO] [stdout]  80 | ) -> Result<()> {
[INFO] [stdout]     |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 140 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     --------------------------------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:159:27
[INFO] [stdout]     |
[INFO] [stdout] 159 |         ctx.accounts.mint.key(),
[INFO] [stdout]     |                           ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:143:68
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let metadata_account = MetadataAccount::new(&ctx.accounts.mint.key());
[INFO] [stdout]     |                                                                    ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:159:27
[INFO] [stdout]     |
[INFO] [stdout] 159 |         ctx.accounts.mint.key(),
[INFO] [stdout]     |                           ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:178:27
[INFO] [stdout]     |
[INFO] [stdout] 178 |         ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let cpi_ctx = CpiContext::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |         create_metadata_ix.data,
[INFO] [stdout]     |         ----------------------- unexpected argument #3
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 188 -         accounts,
[INFO] [stdout] 189 -         create_metadata_ix.data,
[INFO] [stdout] 188 +         accounts,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:195:50
[INFO] [stdout]     |
[INFO] [stdout] 195 |     nft_origin.original_mint = ctx.accounts.mint.key();
[INFO] [stdout]     |                                                  ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:201:23
[INFO] [stdout]     |
[INFO] [stdout] 201 |     nft_origin.bump = ctx.bumps.nft_origin;
[INFO] [stdout]     |                       ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:178:27
[INFO] [stdout]     |
[INFO] [stdout] 178 |         ctx.accounts.mint.to_account_info(),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, on_revert::OnRevert<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:55:10
[INFO] [stdout]     |
[INFO] [stdout]  55 |     ctx: Context<OnRevert>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, on_revert::OnRevert<'_>>`, the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, on_revert::OnRevert<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  55 |     ctx: &Context<OnRevert>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:83:42
[INFO] [stdout]     |
[INFO] [stdout]  83 |         mint: ctx.accounts.original_mint.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let cpi_ctx = CpiContext::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |         create_metadata_ix.data,
[INFO] [stdout]     |         ----------------------- unexpected argument #3
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 188 -         accounts,
[INFO] [stdout] 189 -         create_metadata_ix.data,
[INFO] [stdout] 188 +         accounts,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:195:50
[INFO] [stdout]     |
[INFO] [stdout] 195 |     nft_origin.original_mint = ctx.accounts.mint.key();
[INFO] [stdout]     |                                                  ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:84:40
[INFO] [stdout]     |
[INFO] [stdout]  84 |         to: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_revert.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |         authority: ctx.accounts.program_state.to_account_info(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:201:23
[INFO] [stdout]     |
[INFO] [stdout] 201 |     nft_origin.bump = ctx.bumps.nft_origin;
[INFO] [stdout]     |                       ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:48
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:19
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, on_revert::OnRevert<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:55:10
[INFO] [stdout]     |
[INFO] [stdout]  55 |     ctx: Context<OnRevert>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, on_revert::OnRevert<'_>>`, the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, on_revert::OnRevert<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  55 |     ctx: &Context<OnRevert>,
[INFO] [stdout]     |          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:48
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:19
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:19
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:91:32
[INFO] [stdout]     |
[INFO] [stdout]  91 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     -------------------------- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, MintTo<'_>>`, found a different `CpiContext<'_, '_, '_, '_, MintTo<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | pub fn mint_to<'info>(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_revert.rs:91:43
[INFO] [stdout]    |
[INFO] [stdout] 59 | ) -> Result<()> {
[INFO] [stdout]    |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 91 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]    |     --------------------------------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:83:42
[INFO] [stdout]     |
[INFO] [stdout]  83 |         mint: ctx.accounts.original_mint.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, burn_nft::BurnNft<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:49:21
[INFO] [stdout]     |
[INFO] [stdout]  49 | pub fn handler(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, burn_nft::BurnNft<'_>>`, the trait `Bumps` is not implemented for `burn_nft::BurnNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, burn_nft::BurnNft<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  49 | pub fn handler(ctx: &Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `amount` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 |     if token_account.amount == 0 {
[INFO] [stdout]    |                      ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `owner` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |     if token_account.owner != ctx.accounts.owner.key() {
[INFO] [stdout]    |                      ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:84:40
[INFO] [stdout]     |
[INFO] [stdout]  84 |         to: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:69:42
[INFO] [stdout]     |
[INFO] [stdout]  69 |         mint: ctx.accounts.original_mint.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_revert.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |         authority: ctx.accounts.program_state.to_account_info(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:48
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:19
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:48
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:70:42
[INFO] [stdout]     |
[INFO] [stdout]  70 |         from: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:71:20
[INFO] [stdout]    |
[INFO] [stdout] 71 |         authority: ctx.accounts.owner.to_account_info(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:19
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:89:19
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::MintTo<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct MintTo<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:48
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:91:32
[INFO] [stdout]     |
[INFO] [stdout]  91 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]     |     -------------------------- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, MintTo<'_>>`, found a different `CpiContext<'_, '_, '_, '_, MintTo<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | pub fn mint_to<'info>(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:48
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/on_revert.rs:91:43
[INFO] [stdout]    |
[INFO] [stdout] 59 | ) -> Result<()> {
[INFO] [stdout]    |      ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 91 |     anchor_spl::token::mint_to(cpi_ctx, 1)?;
[INFO] [stdout]    |     --------------------------------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied in `anchor_lang::context::Context<'_, '_, '_, '_, burn_nft::BurnNft<'_>>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:49:21
[INFO] [stdout]     |
[INFO] [stdout]  49 | pub fn handler(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: within `anchor_lang::context::Context<'_, '_, '_, '_, burn_nft::BurnNft<'_>>`, the trait `Bumps` is not implemented for `burn_nft::BurnNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required because it appears within the type `anchor_lang::context::Context<'_, '_, '_, '_, burn_nft::BurnNft<'_>>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub struct Context<'a, 'b, 'c, 'info, T: Bumps> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  49 | pub fn handler(ctx: &Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `amount` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 |     if token_account.amount == 0 {
[INFO] [stdout]    |                      ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `owner` on type `&mut anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |     if token_account.owner != ctx.accounts.owner.key() {
[INFO] [stdout]    |                      ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:77:10
[INFO] [stdout]     |
[INFO] [stdout]  77 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]     |     ---- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, Burn<'_>>`, found a different `CpiContext<'_, '_, '_, '_, Burn<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:79:8
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub fn burn<'info>(ctx: CpiContext<'_, '_, '_, 'info, Burn<'info>>, amount: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn handler(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]    |                                          ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 77 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]    |     ----------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:86:42
[INFO] [stdout]     |
[INFO] [stdout]  86 |         mint: ctx.accounts.original_mint.key(),
[INFO] [stdout]     |                                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:69:42
[INFO] [stdout]     |
[INFO] [stdout]  69 |         mint: ctx.accounts.original_mint.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:92:49
[INFO] [stdout]     |
[INFO] [stdout]  92 |     msg!("Mint: {}", ctx.accounts.original_mint.key());
[INFO] [stdout]     |                                                 ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:70:42
[INFO] [stdout]     |
[INFO] [stdout]  70 |         from: ctx.accounts.token_account.to_account_info(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: AsRef<__AccountInfo<'_>>`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::TokenAccount>: anchor_lang::ToAccountInfo<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::Owner` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ the trait `anchor_lang::Owner` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | impl anchor_lang::Owner for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub trait Owner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>` to implement `anchor_lang::Accounts<'_, UpdateMetadataBumps>`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:71:20
[INFO] [stdout]    |
[INFO] [stdout] 71 |         authority: ctx.accounts.owner.to_account_info(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AccountInfo<'_>`, found `__AccountInfo<'_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `__AccountInfo<'_>` and `AccountInfo<'_>` have similar names, but are actually distinct types
[INFO] [stdout] note: `__AccountInfo<'_>` is defined in crate `solana_account_info`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-account-info-2.3.0/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `AccountInfo<'_>` is defined in crate `solana_program`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/solana-program-1.18.26/src/account_info.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct AccountInfo<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:48
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:48
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ---------------              ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:183:25
[INFO] [stdout]     |
[INFO] [stdout] 183 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout] 184 | {
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountMetas` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait ToAccountMetas {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Burn<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  75 |     let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Burn<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 360 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:361:1
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct Burn<'info> {
[INFO] [stdout]     | ---------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::CpiContext`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] 172 | where
[INFO] [stdout] 173 |     T: ToAccountMetas + ToAccountInfos<'info>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:34:36
[INFO] [stdout]     |
[INFO] [stdout]  34 |         constraint = original_mint.key() == nft_origin.original_mint
[INFO] [stdout]     |                                    ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:9
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:77:10
[INFO] [stdout]     |
[INFO] [stdout]  77 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]     |     ---- ^^^^^^^ expected `CpiContext<'_, '_, '_, '_, Burn<'_>>`, found a different `CpiContext<'_, '_, '_, '_, Burn<'_>>`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: two different versions of crate `anchor_lang` are being used; two types coming from two different versions of the same crate are different types even if they look the same
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/context.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct CpiContext<'a, 'b, 'c, 'info, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:79:8
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub fn burn<'info>(ctx: CpiContext<'_, '_, '_, 'info, Burn<'info>>, amount: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:9
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error`
[INFO] [stdout]   --> programs/universal-nft/src/instructions/burn_nft.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn handler(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]    |                                          ---------- expected `anchor_lang::error::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 77 |     burn(cpi_ctx, 1)?;
[INFO] [stdout]    |     ----------------^ the trait `From<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<TryFromIntError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<UniversalNftError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:86:42
[INFO] [stdout]     |
[INFO] [stdout]  86 |         mint: ctx.accounts.original_mint.key(),
[INFO] [stdout]     |                                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:92:49
[INFO] [stdout]     |
[INFO] [stdout]  92 |     msg!("Mint: {}", ctx.accounts.original_mint.key());
[INFO] [stdout]     |                                                 ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_infos` exists for struct `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: ToAccountInfos<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountInfos<'_>`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountInfos<'_>`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::Owner` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ the trait `anchor_lang::Owner` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | impl anchor_lang::Owner for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub trait Owner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>` to implement `anchor_lang::Accounts<'_, UpdateMetadataBumps>`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_metas` exists for struct `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: ToAccountMetas`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountMetas`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountMetas`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:34:36
[INFO] [stdout]     |
[INFO] [stdout]  34 |         constraint = original_mint.key() == nft_origin.original_mint
[INFO] [stdout]     |                                    ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountSerialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:9
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | impl anchor_lang::AccountSerialize for Mint {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub trait AccountSerialize {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Mint: anchor_lang::AccountDeserialize` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:36:9
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub original_mint: Account<'info, Mint>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `anchor_spl::token::Mint`
[INFO] [stdout]     |
[INFO] [stdout] help: trait impl with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl anchor_lang::AccountDeserialize for Mint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `anchor_lang` are being used?
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::prelude::Account`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:49
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ required by this bound in `Account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_infos` exists for struct `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: ToAccountInfos<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountInfos<'_>`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountInfos<'_>`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |         update_metadata_ix.data,
[INFO] [stdout]     |         ----------------------- unexpected argument #3
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 106 -         accounts,
[INFO] [stdout] 107 -         update_metadata_ix.data,
[INFO] [stdout] 106 +         accounts,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:120:42
[INFO] [stdout]     |
[INFO] [stdout] 120 |         mint: ctx.accounts.original_mint.key(),
[INFO] [stdout]     |                                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_metas` exists for struct `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | #[derive(Accounts)]
[INFO] [stdout]     |          ^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: ToAccountMetas`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountMetas`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'info, anchor_spl::token::Mint>: anchor_lang::ToAccountMetas`
[INFO] [stdout]     = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:129:49
[INFO] [stdout]     |
[INFO] [stdout] 129 |     msg!("Mint: {}", ctx.accounts.original_mint.key());
[INFO] [stdout]     |                                                 ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let cpi_ctx = CpiContext::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |         update_metadata_ix.data,
[INFO] [stdout]     |         ----------------------- unexpected argument #3
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn new(program: AccountInfo<'info>, accounts: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 106 -         accounts,
[INFO] [stdout] 107 -         update_metadata_ix.data,
[INFO] [stdout] 106 +         accounts,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:120:42
[INFO] [stdout]     |
[INFO] [stdout] 120 |         mint: ctx.accounts.original_mint.key(),
[INFO] [stdout]     |                                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `key` exists for struct `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/instructions/update_metadata.rs:129:49
[INFO] [stdout]     |
[INFO] [stdout] 129 |     msg!("Mint: {}", ctx.accounts.original_mint.key());
[INFO] [stdout]     |                                                 ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.30.1/src/token.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Mint(spl_token::state::Mint);
[INFO] [stdout]     | --------------- doesn't satisfy `_: AccountDeserialize` or `_: AccountSerialize`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/accounts/account.rs:227:1
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> {
[INFO] [stdout]     | --------------------------------------------------------------------------- doesn't satisfy `_: Key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountSerialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout]             `anchor_spl::token::Mint: anchor_lang::AccountDeserialize`
[INFO] [stdout]             which is required by `anchor_lang::prelude::Account<'_, anchor_spl::token::Mint>: anchor_lang::Key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `anchor_lang::prelude::AccountInfo::<'a>::realloc`: Use AccountInfo::resize() instead
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:38:22
[INFO] [stdout]     |
[INFO] [stdout]  38 |         ctx: Context<MintNft>,
[INFO] [stdout]     |                      ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `try_accounts` found for struct `mint_nft::MintNft<'info>` in the current scope
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^ function or associated item not found in `mint_nft::MintNft<'_>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct MintNft<'info> {
[INFO] [stdout]    | ------------------------- function or associated item `try_accounts` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `try_accounts`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `anchor_lang::Accounts`
[INFO] [stdout]            candidate #2: `anchor_lang::Accounts`
[INFO] [stdout]    = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: anchor_lang::Accounts<'_, _>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `anchor_lang::Accounts<'_, _>` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:55:16
[INFO] [stdout]     |
[INFO] [stdout]  55 |     T: Bumps + Accounts<'info, T::Bumps>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]  56 | {
[INFO] [stdout]  57 |     pub fn new(
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         ctx: Context<TransferToChain>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `try_accounts` found for struct `transfer_to_chain::TransferToChain<'info>` in the current scope
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^ function or associated item not found in `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TransferToChain<'info> {
[INFO] [stdout]    | --------------------------------- function or associated item `try_accounts` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `try_accounts`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `anchor_lang::Accounts`
[INFO] [stdout]            candidate #2: `anchor_lang::Accounts`
[INFO] [stdout]    = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: anchor_lang::Accounts<'_, _>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `anchor_lang::Accounts<'_, _>` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:55:16
[INFO] [stdout]     |
[INFO] [stdout]  55 |     T: Bumps + Accounts<'info, T::Bumps>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]  56 | {
[INFO] [stdout]  57 |     pub fn new(
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `anchor_lang::prelude::AccountInfo::<'a>::realloc`: Use AccountInfo::resize() instead
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:61:22
[INFO] [stdout]     |
[INFO] [stdout]  61 |         ctx: Context<OnCall>,
[INFO] [stdout]     |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:38:22
[INFO] [stdout]     |
[INFO] [stdout]  38 |         ctx: Context<MintNft>,
[INFO] [stdout]     |                      ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `try_accounts` found for struct `on_call::OnCall<'info>` in the current scope
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^ function or associated item not found in `on_call::OnCall<'_>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct OnCall<'info> {
[INFO] [stdout]    | ------------------------ function or associated item `try_accounts` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `try_accounts`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `anchor_lang::Accounts`
[INFO] [stdout]            candidate #2: `anchor_lang::Accounts`
[INFO] [stdout]    = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_call::OnCall<'_>: anchor_lang::Accounts<'_, _>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `anchor_lang::Accounts<'_, _>` is not implemented for `on_call::OnCall<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_call.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct OnCall<'info> {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:55:16
[INFO] [stdout]     |
[INFO] [stdout]  55 |     T: Bumps + Accounts<'info, T::Bumps>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]  56 | {
[INFO] [stdout]  57 |     pub fn new(
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:71:22
[INFO] [stdout]     |
[INFO] [stdout]  71 |         ctx: Context<OnRevert>,
[INFO] [stdout]     |                      ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `try_accounts` found for struct `mint_nft::MintNft<'info>` in the current scope
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^ function or associated item not found in `mint_nft::MintNft<'_>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct MintNft<'info> {
[INFO] [stdout]    | ------------------------- function or associated item `try_accounts` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `try_accounts`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `anchor_lang::Accounts`
[INFO] [stdout]            candidate #2: `anchor_lang::Accounts`
[INFO] [stdout]    = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `mint_nft::MintNft<'_>: anchor_lang::Accounts<'_, _>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `anchor_lang::Accounts<'_, _>` is not implemented for `mint_nft::MintNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/mint_nft.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct MintNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:55:16
[INFO] [stdout]     |
[INFO] [stdout]  55 |     T: Bumps + Accounts<'info, T::Bumps>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]  56 | {
[INFO] [stdout]  57 |     pub fn new(
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         ctx: Context<TransferToChain>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `transfer_to_chain::TransferToChain<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `transfer_to_chain::TransferToChain<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/transfer_to_chain.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct TransferToChain<'info> {
[INFO] [stdout]     | --------------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `try_accounts` found for struct `on_revert::OnRevert<'info>` in the current scope
[INFO] [stdout]   --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^ function or associated item not found in `on_revert::OnRevert<'_>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct OnRevert<'info> {
[INFO] [stdout]    | -------------------------- function or associated item `try_accounts` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `try_accounts`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `anchor_lang::Accounts`
[INFO] [stdout]            candidate #2: `anchor_lang::Accounts`
[INFO] [stdout]    = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `on_revert::OnRevert<'_>: anchor_lang::Accounts<'_, _>` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `anchor_lang::Accounts<'_, _>` is not implemented for `on_revert::OnRevert<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/on_revert.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct OnRevert<'info> {
[INFO] [stdout]     | -------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `anchor_lang::context::Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/context.rs:55:16
[INFO] [stdout]     |
[INFO] [stdout]  55 |     T: Bumps + Accounts<'info, T::Bumps>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Context::<'a, 'b, 'c, 'info, T>::new`
[INFO] [stdout]  56 | {
[INFO] [stdout]  57 |     pub fn new(
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:80:34
[INFO] [stdout]     |
[INFO] [stdout]  80 |     pub fn burn_nft(ctx: Context<BurnNft>) -> Result<()> {
[INFO] [stdout]     |                                  ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Bumps` is not implemented for `burn_nft::BurnNft<'_>`
[INFO] [stdout]    --> programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: there are multiple different versions of crate `anchor_lang` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.31.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait Bumps {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/lib.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use anchor_lang::prelude::*;
[INFO] [stdout]     |     ----------- one version of crate `anchor_lang` used here, as a direct dependency of the current crate
[INFO] [stdout]   2 | use anchor_spl::{
[INFO] [stdout]     |     ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl`
[INFO] [stdout]     |
[INFO] [stdout]    ::: programs/universal-nft/src/instructions/burn_nft.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct BurnNft<'info> {
[INFO] [stdout]     | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.30.1/src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait Accounts<'info, B>: ToAccountMetas + ToAccountInfos<'info> + Sized {
[INFO] [stdout]     | ---------------------------------------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `burn_nft::BurnNft<'_>: Bumps` is not satisfied
[INFO] [stdout]    --> programs/universal-nft/src/lib.rs:23:1
[INFO] [stdout]     |
[WARN] too many lines in the log, truncating it
