[INFO] cloning repository https://github.com/sudotx/anchor-token-whitelist [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sudotx/anchor-token-whitelist" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudotx%2Fanchor-token-whitelist", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudotx%2Fanchor-token-whitelist'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5c754921e59993d21e1a1130f1b88d8cc5104b8a [INFO] testing sudotx/anchor-token-whitelist against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudotx%2Fanchor-token-whitelist" "/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/sudotx/anchor-token-whitelist [INFO] finished tweaking git repo https://github.com/sudotx/anchor-token-whitelist [INFO] tweaked toml for git repo https://github.com/sudotx/anchor-token-whitelist written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sudotx/anchor-token-whitelist on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sudotx/anchor-token-whitelist 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 951dff84614ae9b1b8f9c415cfcf001802b92c5165ee67d50801f83a04e9eb5d [INFO] running `Command { std: "docker" "start" "-a" "951dff84614ae9b1b8f9c415cfcf001802b92c5165ee67d50801f83a04e9eb5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "951dff84614ae9b1b8f9c415cfcf001802b92c5165ee67d50801f83a04e9eb5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "951dff84614ae9b1b8f9c415cfcf001802b92c5165ee67d50801f83a04e9eb5d", kill_on_drop: false }` [INFO] [stdout] 951dff84614ae9b1b8f9c415cfcf001802b92c5165ee67d50801f83a04e9eb5d [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7d2646a37f30629c0fdd8f39d997fb42903b7b4cd0341147b1662728650fdc5d [INFO] running `Command { std: "docker" "start" "-a" "7d2646a37f30629c0fdd8f39d997fb42903b7b4cd0341147b1662728650fdc5d", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling cpufeatures v0.2.12 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling thiserror v1.0.62 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling opaque-debug v0.3.1 [INFO] [stderr] Compiling block-padding v0.2.1 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling unicode-segmentation v1.11.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.92 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.9.1 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling bumpalo v3.16.0 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Compiling keccak v0.1.5 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling tinyvec v1.8.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling solana-frozen-abi-macro v1.16.25 [INFO] [stderr] Compiling solana-frozen-abi v1.16.25 [INFO] [stderr] Compiling syn v2.0.70 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling crossbeam-deque v0.8.5 [INFO] [stderr] Compiling bitmaps v2.1.0 [INFO] [stderr] Compiling toml_datetime v0.6.6 [INFO] [stderr] Compiling wasm-bindgen v0.2.92 [INFO] [stderr] Compiling bs58 v0.3.1 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling array-bytes v1.4.1 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling sized-chunks v0.6.5 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Compiling signature v1.6.4 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling ed25519 v1.5.3 [INFO] [stderr] Compiling solana-sdk v1.16.25 [INFO] [stderr] Compiling derivation-path v0.2.0 [INFO] [stderr] Compiling qstring v0.7.2 [INFO] [stderr] Compiling chrono v0.4.38 [INFO] [stderr] Compiling uriparse v0.6.4 [INFO] [stderr] Compiling assert_matches v1.5.0 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling jobserver v0.1.31 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling cc v1.0.99 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling memmap2 v0.5.10 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling ark-std v0.4.0 [INFO] [stderr] Compiling blake3 v1.5.1 [INFO] [stderr] Compiling solana-program v1.16.25 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling solana-logger v1.16.25 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.3 [INFO] [stderr] Compiling borsh-derive-internal v0.10.3 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Compiling anchor-derive-space v0.28.0 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.92 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling num_enum v0.5.11 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling thiserror-impl v1.0.62 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling bytemuck_derive v1.7.0 [INFO] [stderr] Compiling solana-sdk-macro v1.16.25 [INFO] [stderr] Compiling num_enum_derive v0.6.1 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.92 [INFO] [stderr] Compiling zeroize v1.3.0 [INFO] [stderr] Compiling bytemuck v1.16.1 [INFO] [stderr] Compiling num_enum v0.6.1 [INFO] [stderr] Compiling merlin v3.0.0 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.92 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling serde_with_macros v2.3.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling serde_bytes v0.11.15 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling serde_with v2.3.3 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling crypto-mac v0.8.0 [INFO] [stderr] Compiling cipher v0.3.0 [INFO] [stderr] Compiling universal-hash v0.4.1 [INFO] [stderr] Compiling aead v0.4.3 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Compiling curve25519-dalek v3.2.1 [INFO] [stderr] Compiling ctr v0.8.0 [INFO] [stderr] Compiling aes v0.7.5 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling polyval v0.5.3 [INFO] [stderr] Compiling hmac v0.8.1 [INFO] [stderr] Compiling pbkdf2 v0.4.0 [INFO] [stderr] Compiling sha3 v0.9.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling hmac-drbg v0.3.0 [INFO] [stderr] Compiling tiny-bip39 v0.8.2 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling ark-serialize v0.4.2 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling pbkdf2 v0.11.0 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Compiling borsh-derive v0.10.3 [INFO] [stderr] Compiling anchor-syn v0.26.0 [INFO] [stderr] Compiling aes-gcm-siv v0.10.3 [INFO] [stderr] Compiling ark-ff v0.4.2 [INFO] [stderr] Compiling borsh v0.10.3 [INFO] [stderr] Compiling anchor-syn v0.28.0 [INFO] [stderr] Compiling borsh v0.9.3 [INFO] [stderr] Compiling ed25519-dalek v1.0.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling anchor-attribute-error v0.28.0 [INFO] [stderr] Compiling anchor-attribute-program v0.28.0 [INFO] [stderr] Compiling anchor-attribute-constant v0.28.0 [INFO] [stderr] Compiling anchor-derive-accounts v0.28.0 [INFO] [stderr] Compiling anchor-attribute-event v0.28.0 [INFO] [stderr] Compiling anchor-attribute-access-control v0.28.0 [INFO] [stderr] Compiling anchor-attribute-account v0.28.0 [INFO] [stderr] Compiling anchor-derive-accounts v0.26.0 [INFO] [stderr] Compiling anchor-attribute-access-control v0.26.0 [INFO] [stderr] Compiling anchor-attribute-program v0.26.0 [INFO] [stderr] Compiling anchor-attribute-error v0.26.0 [INFO] [stderr] Compiling anchor-attribute-state v0.26.0 [INFO] [stderr] Compiling anchor-attribute-event v0.26.0 [INFO] [stderr] Compiling anchor-attribute-constant v0.26.0 [INFO] [stderr] Compiling anchor-attribute-interface v0.26.0 [INFO] [stderr] Compiling anchor-attribute-account v0.26.0 [INFO] [stderr] Compiling ark-poly v0.4.2 [INFO] [stderr] Compiling ark-ec v0.4.2 [INFO] [stderr] Compiling ark-bn254 v0.4.0 [INFO] [stderr] Compiling spl-token v3.5.0 [INFO] [stderr] Compiling spl-memo v3.0.1 [INFO] [stderr] Compiling anchor-lang v0.26.0 [INFO] [stderr] Compiling anchor-lang v0.28.0 [INFO] [stderr] Compiling solana-zk-token-sdk v1.16.25 [INFO] [stderr] Compiling spl-token-2022 v0.6.1 [INFO] [stderr] Compiling spl-associated-token-account v1.1.3 [INFO] [stderr] Compiling anchor-spl v0.26.0 [INFO] [stderr] Compiling project2 v0.1.0 (/opt/rustwide/workdir/programs/project2) [INFO] [stdout] error[E0432]: unresolved import `crate` [INFO] [stdout] --> programs/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[program] [INFO] [stdout] | ^^^^^^^^^^ could not find `__client_accounts_start_sale` 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] warning: unexpected `cfg` condition value: `custom-heap` [INFO] [stdout] --> programs/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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` crate, try updating your dependency with `cargo update -p solana_program` [INFO] [stdout] = note: see 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, `teeos`, `trusty`, `tvos`, and `uefi` and 10 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` crate, try updating your dependency with `cargo update -p solana_program` [INFO] [stdout] = note: see 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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` crate, try updating your dependency with `cargo update -p solana_program` [INFO] [stdout] = note: see 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, `teeos`, `trusty`, `tvos`, and `uefi` and 10 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` crate, try updating your dependency with `cargo update -p solana_program` [INFO] [stdout] = note: see 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` and `SetAuthority` [INFO] [stdout] --> programs/project2/src/lib.rs:2:31 [INFO] [stdout] | [INFO] [stdout] 2 | use anchor_spl::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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: `spl_token::instruction::AuthorityType` [INFO] [stdout] --> programs/project2/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use spl_token::instruction::AuthorityType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug` [INFO] [stdout] --> programs/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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 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/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[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 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/project2/src/lib.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | #[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 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/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[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 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/project2/src/lib.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | #[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 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/project2/src/lib.rs:262:10 [INFO] [stdout] | [INFO] [stdout] 262 | #[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 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/project2/src/lib.rs:270:10 [INFO] [stdout] | [INFO] [stdout] 270 | #[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 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/project2/src/lib.rs:275:10 [INFO] [stdout] | [INFO] [stdout] 275 | #[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 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/project2/src/lib.rs:283:10 [INFO] [stdout] | [INFO] [stdout] 283 | #[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 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/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[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 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 `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:223:16 [INFO] [stdout] | [INFO] [stdout] 223 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:30 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:223:16 [INFO] [stdout] | [INFO] [stdout] 223 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:49 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:298:16 [INFO] [stdout] | [INFO] [stdout] 298 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:30 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:298:16 [INFO] [stdout] | [INFO] [stdout] 298 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:49 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `StartSale: anchor_lang::Accounts<'_>` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[program] [INFO] [stdout] | ^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `anchor_lang::Accounts<'_>` is not implemented for `StartSale` [INFO] [stdout] --> programs/project2/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[program] [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.28.0/src/lib.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | pub trait Accounts<'info>: ToAccountMetas + ToAccountInfos<'info> + Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [INFO] [stdout] | ---------- one version of crate `anchor_lang` used here, as a dependency of crate `anchor_spl` [INFO] [stdout] ... [INFO] [stdout] 21 | #[program] [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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | impl<'a, 'b, 'c, 'info, T: Accounts<'info>> Context<'a, 'b, 'c, 'info, T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ required by this bound in `Context::<'a, 'b, 'c, 'info, T>::new` [INFO] [stdout] 51 | 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[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:62:36 [INFO] [stdout] | [INFO] [stdout] 62 | to: ctx.accounts.vault.to_account_info().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'_, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> { [INFO] [stdout] | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef>` or `_: ToAccountInfo<'_>` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef>` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'_, TokenAccount>: anchor_lang::ToAccountInfo<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Transfer<'_>: anchor_lang::ToAccountMetas` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), total_cost)?; [INFO] [stdout] | --------------- ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | pub trait ToAccountMetas { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | T: ToAccountMetas + ToAccountInfos<'info>, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new` [INFO] [stdout] 178 | { [INFO] [stdout] 179 | 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::Transfer<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), total_cost)?; [INFO] [stdout] | ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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::Transfer<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), total_cost)?; [INFO] [stdout] | --------------- ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 177 | T: ToAccountMetas + ToAccountInfos<'info>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new` [INFO] [stdout] 178 | { [INFO] [stdout] 179 | 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::Transfer<'_>: anchor_lang::ToAccountMetas` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), total_cost)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | pub trait ToAccountMetas { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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::Transfer<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), total_cost)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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/project2/src/lib.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), total_cost)?; [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `CpiContext<'_, '_, '_, '_, Transfer<'_>>`, found a different `CpiContext<'_, '_, '_, '_, Transfer<'_>>` [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.28.0/src/context.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | 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.26.0/src/context.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext` [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn transfer<'a, 'b, 'c, 'info>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error` [INFO] [stdout] --> programs/project2/src/lib.rs:66:80 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn purchase_tokens(ctx: Context, amount: u64) -> Result<()> { [INFO] [stdout] | ---------- expected `anchor_lang::error::Error` because of this [INFO] [stdout] ... [INFO] [stdout] 66 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), total_cost)?; [INFO] [stdout] | -----------------------------------------------------------------------^ the trait `From` 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`: [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:70:37 [INFO] [stdout] | [INFO] [stdout] 70 | mint: ctx.accounts.mint.to_account_info().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'_, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> { [INFO] [stdout] | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef>` or `_: ToAccountInfo<'_>` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef>` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'_, TokenAccount>: anchor_lang::ToAccountInfo<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:71:50 [INFO] [stdout] | [INFO] [stdout] 71 | to: ctx.accounts.buyer_token_account.to_account_info().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'_, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> { [INFO] [stdout] | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef>` or `_: ToAccountInfo<'_>` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef>` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'_, TokenAccount>: anchor_lang::ToAccountInfo<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::ToAccountMetas` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:75:53 [INFO] [stdout] | [INFO] [stdout] 75 | token::mint_to(CpiContext::new(cpi_program, cpi_accounts_mint), amount)?; [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.26.0/src/token.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | #[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.28.0/src/lib.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | pub trait ToAccountMetas { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:311:1 [INFO] [stdout] | [INFO] [stdout] 311 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | T: ToAccountMetas + ToAccountInfos<'info>, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new` [INFO] [stdout] 178 | { [INFO] [stdout] 179 | 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/project2/src/lib.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | token::mint_to(CpiContext::new(cpi_program, cpi_accounts_mint), amount)?; [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.26.0/src/token.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:311:1 [INFO] [stdout] | [INFO] [stdout] 311 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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/project2/src/lib.rs:75:53 [INFO] [stdout] | [INFO] [stdout] 75 | token::mint_to(CpiContext::new(cpi_program, cpi_accounts_mint), amount)?; [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.26.0/src/token.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:311:1 [INFO] [stdout] | [INFO] [stdout] 311 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 177 | T: ToAccountMetas + ToAccountInfos<'info>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new` [INFO] [stdout] 178 | { [INFO] [stdout] 179 | 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/project2/src/lib.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | token::mint_to(CpiContext::new(cpi_program, cpi_accounts_mint), amount)?; [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.26.0/src/token.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | #[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.28.0/src/lib.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | pub trait ToAccountMetas { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:311:1 [INFO] [stdout] | [INFO] [stdout] 311 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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/project2/src/lib.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | token::mint_to(CpiContext::new(cpi_program, cpi_accounts_mint), amount)?; [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.26.0/src/token.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:311:1 [INFO] [stdout] | [INFO] [stdout] 311 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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/project2/src/lib.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | token::mint_to(CpiContext::new(cpi_program, cpi_accounts_mint), amount)?; [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.28.0/src/context.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | 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.26.0/src/context.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext` [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn mint_to<'a, 'b, 'c, 'info>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error` [INFO] [stdout] --> programs/project2/src/lib.rs:75:80 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn purchase_tokens(ctx: Context, amount: u64) -> Result<()> { [INFO] [stdout] | ---------- expected `anchor_lang::error::Error` because of this [INFO] [stdout] ... [INFO] [stdout] 75 | token::mint_to(CpiContext::new(cpi_program, cpi_accounts_mint), amount)?; [INFO] [stdout] | -----------------------------------------------------------------------^ the trait `From` 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`: [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `whitelist_sale_account` on type `&mut StartSale` [INFO] [stdout] --> programs/project2/src/lib.rs:172:56 [INFO] [stdout] | [INFO] [stdout] 172 | let whitelist_sale_account = &mut ctx.accounts.whitelist_sale_account; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `admin` on type `&mut StartSale` [INFO] [stdout] --> programs/project2/src/lib.rs:174:26 [INFO] [stdout] | [INFO] [stdout] 174 | ctx.accounts.admin.key() == whitelist_sale_account.admin, [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:192:38 [INFO] [stdout] | [INFO] [stdout] 192 | from: ctx.accounts.vault.to_account_info().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'_, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> { [INFO] [stdout] | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef>` or `_: ToAccountInfo<'_>` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef>` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'_, TokenAccount>: anchor_lang::ToAccountInfo<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::Transfer<'_>: anchor_lang::ToAccountMetas` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:201:54 [INFO] [stdout] | [INFO] [stdout] 201 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), amount)?; [INFO] [stdout] | --------------- ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | pub trait ToAccountMetas { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | T: ToAccountMetas + ToAccountInfos<'info>, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new` [INFO] [stdout] 178 | { [INFO] [stdout] 179 | 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::Transfer<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:201:25 [INFO] [stdout] | [INFO] [stdout] 201 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), amount)?; [INFO] [stdout] | ^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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::Transfer<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:201:54 [INFO] [stdout] | [INFO] [stdout] 201 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), amount)?; [INFO] [stdout] | --------------- ^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 177 | T: ToAccountMetas + ToAccountInfos<'info>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `CpiContext::<'a, 'b, 'c, 'info, T>::new` [INFO] [stdout] 178 | { [INFO] [stdout] 179 | 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::Transfer<'_>: anchor_lang::ToAccountMetas` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:201:25 [INFO] [stdout] | [INFO] [stdout] 201 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), amount)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountMetas` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | pub trait ToAccountMetas { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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::Transfer<'_>: anchor_lang::ToAccountInfos<'_>` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:201:25 [INFO] [stdout] | [INFO] [stdout] 201 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), amount)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `anchor_lang::ToAccountInfos<'_>` is not implemented for `anchor_spl::token::Transfer<'_>` [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.26.0/src/token.rs:303:10 [INFO] [stdout] | [INFO] [stdout] 303 | #[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.28.0/src/lib.rs:122:1 [INFO] [stdout] | [INFO] [stdout] 122 | pub trait ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:304:1 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Transfer<'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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/context.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ---------- required by a bound in this struct [INFO] [stdout] 166 | where [INFO] [stdout] 167 | 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/project2/src/lib.rs:201:25 [INFO] [stdout] | [INFO] [stdout] 201 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), amount)?; [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `CpiContext<'_, '_, '_, '_, Transfer<'_>>`, found a different `CpiContext<'_, '_, '_, '_, Transfer<'_>>` [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.28.0/src/context.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | 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.26.0/src/context.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct CpiContext<'a, 'b, 'c, 'info, T> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `anchor_lang::context::CpiContext` [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn transfer<'a, 'b, 'c, 'info>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `anchor_lang::error::Error` [INFO] [stdout] --> programs/project2/src/lib.rs:201:76 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn withdraw_funds(ctx: Context, amount: u64) -> Result<()> { [INFO] [stdout] | ---------- expected `anchor_lang::error::Error` because of this [INFO] [stdout] ... [INFO] [stdout] 201 | token::transfer(CpiContext::new(cpi_program, cpi_accounts), amount)?; [INFO] [stdout] | -------------------------------------------------------------------^ the trait `From` 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`: [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] `anchor_lang::error::Error` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:30 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:49 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::Owner` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::Owner` is not implemented for `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.26.0/src/token.rs:412:1 [INFO] [stdout] | [INFO] [stdout] 412 | impl anchor_lang::Owner 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.28.0/src/lib.rs:227:1 [INFO] [stdout] | [INFO] [stdout] 227 | pub trait Owner { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'_, TokenAccount>` to implement `anchor_lang::Accounts<'_>` [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 `Token: Id` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `Id` is not implemented for `Token` [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.28.0/src/lib.rs:255:1 [INFO] [stdout] | [INFO] [stdout] 255 | pub trait Id { [INFO] [stdout] | ^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:458:1 [INFO] [stdout] | [INFO] [stdout] 458 | pub struct Token; [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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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::Program<'_, Token>` to implement `anchor_lang::Accounts<'_>` [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<'_, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'_, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> { [INFO] [stdout] | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef>` or `_: ToAccountInfo<'_>` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef>` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'_, TokenAccount>: anchor_lang::ToAccountInfo<'_>` [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 `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:30 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:49 [INFO] [stdout] | [INFO] [stdout] 226 | 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, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'info, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | pub struct TokenAccount(spl_token::state::Account); [INFO] [stdout] | ----------------------- doesn't satisfy `TokenAccount: anchor_lang::AccountDeserialize` or `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | 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] `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: anchor_lang::ToAccountInfos<'_>` [INFO] [stdout] `TokenAccount: anchor_lang::AccountDeserialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: 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[E0599]: the method `to_account_metas` exists for struct `anchor_lang::prelude::Account<'info, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'info, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | pub struct TokenAccount(spl_token::state::Account); [INFO] [stdout] | ----------------------- doesn't satisfy `TokenAccount: anchor_lang::AccountDeserialize` or `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | 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] `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: anchor_lang::ToAccountMetas` [INFO] [stdout] `TokenAccount: anchor_lang::AccountDeserialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: 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[E0277]: the trait bound `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'info, TokenAccount>` to implement `anchor_lang::ToAccountMetas` [INFO] [stdout] note: required by a bound in `anchor_lang::AccountsExit::exit` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/lib.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | pub trait AccountsExit<'info>: ToAccountMetas + ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `AccountsExit::exit` [INFO] [stdout] 94 | /// `program_id` is the currently executing program. [INFO] [stdout] 95 | fn exit(&self, _program_id: &Pubkey) -> Result<()> { [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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'info, TokenAccount>` to implement `anchor_lang::ToAccountMetas` [INFO] [stdout] note: required by a bound in `anchor_lang::AccountsExit::exit` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/lib.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | pub trait AccountsExit<'info>: ToAccountMetas + ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `AccountsExit::exit` [INFO] [stdout] 94 | /// `program_id` is the currently executing program. [INFO] [stdout] 95 | fn exit(&self, _program_id: &Pubkey) -> Result<()> { [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 `TokenAccount: anchor_lang::Owner` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:216:10 [INFO] [stdout] | [INFO] [stdout] 216 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::Owner` is not implemented for `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.26.0/src/token.rs:412:1 [INFO] [stdout] | [INFO] [stdout] 412 | impl anchor_lang::Owner 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.28.0/src/lib.rs:227:1 [INFO] [stdout] | [INFO] [stdout] 227 | pub trait Owner { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'info, TokenAccount>` to implement `anchor_lang::AccountsExit<'_>` [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 `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:30 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:49 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::Owner` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::Owner` is not implemented for `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.26.0/src/token.rs:412:1 [INFO] [stdout] | [INFO] [stdout] 412 | impl anchor_lang::Owner 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.28.0/src/lib.rs:227:1 [INFO] [stdout] | [INFO] [stdout] 227 | pub trait Owner { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'_, TokenAccount>` to implement `anchor_lang::Accounts<'_>` [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 `Token: Id` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `Id` is not implemented for `Token` [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.28.0/src/lib.rs:255:1 [INFO] [stdout] | [INFO] [stdout] 255 | pub trait Id { [INFO] [stdout] | ^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:458:1 [INFO] [stdout] | [INFO] [stdout] 458 | pub struct Token; [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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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::Program<'_, Token>` to implement `anchor_lang::Accounts<'_>` [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<'_, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'_, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct Account<'info, T: AccountSerialize + AccountDeserialize + Clone> { [INFO] [stdout] | --------------------------------------------------------------------------- doesn't satisfy `_: AsRef>` or `_: ToAccountInfo<'_>` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef>` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'_, TokenAccount>: anchor_lang::ToAccountInfo<'_>` [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 `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:30 [INFO] [stdout] | [INFO] [stdout] 226 | 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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | pub vault: Account<'info, TokenAccount>, [INFO] [stdout] | ^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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.28.0/src/accounts/account.rs:226:49 [INFO] [stdout] | [INFO] [stdout] 226 | 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, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'info, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | pub struct TokenAccount(spl_token::state::Account); [INFO] [stdout] | ----------------------- doesn't satisfy `TokenAccount: anchor_lang::AccountDeserialize` or `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | 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] `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: anchor_lang::ToAccountInfos<'_>` [INFO] [stdout] `TokenAccount: anchor_lang::AccountDeserialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: 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[E0599]: the method `to_account_metas` exists for struct `anchor_lang::prelude::Account<'info, TokenAccount>`, but its trait bounds were not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ method cannot be called on `anchor_lang::prelude::Account<'info, TokenAccount>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-spl-0.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | pub struct TokenAccount(spl_token::state::Account); [INFO] [stdout] | ----------------------- doesn't satisfy `TokenAccount: anchor_lang::AccountDeserialize` or `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/accounts/account.rs:226:1 [INFO] [stdout] | [INFO] [stdout] 226 | 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] `TokenAccount: anchor_lang::AccountSerialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: anchor_lang::ToAccountMetas` [INFO] [stdout] `TokenAccount: anchor_lang::AccountDeserialize` [INFO] [stdout] which is required by `anchor_lang::prelude::Account<'info, TokenAccount>: 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[E0277]: the trait bound `TokenAccount: anchor_lang::AccountSerialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountSerialize` is not implemented for `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.26.0/src/token.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | 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.28.0/src/lib.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub trait AccountSerialize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'info, TokenAccount>` to implement `anchor_lang::ToAccountMetas` [INFO] [stdout] note: required by a bound in `anchor_lang::AccountsExit::exit` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/lib.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | pub trait AccountsExit<'info>: ToAccountMetas + ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `AccountsExit::exit` [INFO] [stdout] 94 | /// `program_id` is the currently executing program. [INFO] [stdout] 95 | fn exit(&self, _program_id: &Pubkey) -> Result<()> { [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 `TokenAccount: anchor_lang::AccountDeserialize` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::AccountDeserialize` is not implemented for `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.26.0/src/token.rs:402:1 [INFO] [stdout] | [INFO] [stdout] 402 | 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.28.0/src/lib.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | pub trait AccountDeserialize: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'info, TokenAccount>` to implement `anchor_lang::ToAccountMetas` [INFO] [stdout] note: required by a bound in `anchor_lang::AccountsExit::exit` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/lib.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | pub trait AccountsExit<'info>: ToAccountMetas + ToAccountInfos<'info> { [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `AccountsExit::exit` [INFO] [stdout] 94 | /// `program_id` is the currently executing program. [INFO] [stdout] 95 | fn exit(&self, _program_id: &Pubkey) -> Result<()> { [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 `TokenAccount: anchor_lang::Owner` is not satisfied [INFO] [stdout] --> programs/project2/src/lib.rs:291:10 [INFO] [stdout] | [INFO] [stdout] 291 | #[derive(Accounts)] [INFO] [stdout] | ^^^^^^^^ the trait `anchor_lang::Owner` is not implemented for `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.26.0/src/token.rs:412:1 [INFO] [stdout] | [INFO] [stdout] 412 | impl anchor_lang::Owner 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.28.0/src/lib.rs:227:1 [INFO] [stdout] | [INFO] [stdout] 227 | pub trait Owner { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: programs/project2/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::token::{self, Mint, MintTo, SetAuthority, Token, TokenAccount, Transfer}; [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.26.0/src/token.rs:396:1 [INFO] [stdout] | [INFO] [stdout] 396 | 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.26.0/src/lib.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait Accounts<'info>: 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<'info, TokenAccount>` to implement `anchor_lang::AccountsExit<'_>` [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] Some errors have detailed explanations: E0277, E0308, E0432, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `project2` (lib) due to 57 previous errors; 21 warnings emitted [INFO] running `Command { std: "docker" "inspect" "7d2646a37f30629c0fdd8f39d997fb42903b7b4cd0341147b1662728650fdc5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d2646a37f30629c0fdd8f39d997fb42903b7b4cd0341147b1662728650fdc5d", kill_on_drop: false }` [INFO] [stdout] 7d2646a37f30629c0fdd8f39d997fb42903b7b4cd0341147b1662728650fdc5d