[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] checking sudotx/anchor-token-whitelist against try#0bdee9e879c87b7211d316e9152109cfd46c576b for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudotx%2Fanchor-token-whitelist" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-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-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sudotx/anchor-token-whitelist on toolchain 0bdee9e879c87b7211d316e9152109cfd46c576b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "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" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "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]   |
[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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded anchor-attribute-state v0.26.0
[INFO] [stderr]   Downloaded anchor-attribute-event v0.26.0
[INFO] [stderr]   Downloaded anchor-attribute-program v0.26.0
[INFO] [stderr]   Downloaded anchor-attribute-interface v0.26.0
[INFO] [stderr]   Downloaded anchor-derive-accounts v0.26.0
[INFO] [stderr]   Downloaded anchor-lang v0.26.0
[INFO] [stderr]   Downloaded anchor-attribute-access-control v0.26.0
[INFO] [stderr]   Downloaded anchor-attribute-constant v0.26.0
[INFO] [stderr]   Downloaded anchor-attribute-error v0.26.0
[INFO] [stderr]   Downloaded anchor-spl v0.26.0
[INFO] [stderr]   Downloaded anchor-attribute-account v0.26.0
[INFO] [stderr]   Downloaded anchor-syn v0.26.0
[INFO] [stderr]   Downloaded syn v2.0.70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5f20959baf8b631269c5fad412984dd1a2aac3127b2fba4a0c087d35e210779
[INFO] running `Command { std: "docker" "start" "-a" "b5f20959baf8b631269c5fad412984dd1a2aac3127b2fba4a0c087d35e210779", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5f20959baf8b631269c5fad412984dd1a2aac3127b2fba4a0c087d35e210779", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5f20959baf8b631269c5fad412984dd1a2aac3127b2fba4a0c087d35e210779", kill_on_drop: false }`
[INFO] [stdout] b5f20959baf8b631269c5fad412984dd1a2aac3127b2fba4a0c087d35e210779
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 014e7b50431fc1a897f8e13beedee8d98e731fc119690206b2f2d8f51c8a5a7e
[INFO] running `Command { std: "docker" "start" "-a" "014e7b50431fc1a897f8e13beedee8d98e731fc119690206b2f2d8f51c8a5a7e", 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]   |
[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 serde v1.0.204
[INFO] [stderr]    Compiling thiserror v1.0.62
[INFO] [stderr]    Compiling serde_json v1.0.120
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.92
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking bitmaps v2.1.0
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling im v15.1.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]     Checking jobserver v0.1.31
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]    Compiling wasm-bindgen v0.2.92
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking cc v1.0.99
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]    Compiling solana-frozen-abi-macro v1.16.25
[INFO] [stderr]    Compiling solana-frozen-abi v1.16.25
[INFO] [stderr]     Checking array-bytes v1.4.1
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking sized-chunks v0.6.5
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling solana-sdk v1.16.25
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]    Compiling syn v2.0.70
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling blake3 v1.5.1
[INFO] [stderr]    Compiling solana-program v1.16.25
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking solana-logger v1.16.25
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.92
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.9.1
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.3
[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 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]     Checking zeroize v1.3.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[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]     Checking merlin v3.0.0
[INFO] [stderr]     Checking num_enum v0.6.1
[INFO] [stderr]    Compiling anchor-derive-space v0.28.0
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.92
[INFO] [stderr]     Checking bytemuck v1.16.1
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling serde_with_macros v2.3.3
[INFO] [stderr]     Checking serde_bytes v0.11.15
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_with v2.3.3
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking polyval v0.5.3
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking curve25519-dalek v3.2.1
[INFO] [stderr]     Checking libsecp256k1-core v0.2.2
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking pbkdf2 v0.4.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ctr v0.8.0
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking tiny-bip39 v0.8.2
[INFO] [stderr]     Checking aes-gcm-siv v0.10.3
[INFO] [stderr]    Compiling anchor-syn v0.26.0
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]    Compiling anchor-syn v0.28.0
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.2.0
[INFO] [stderr]    Compiling borsh-derive v0.10.3
[INFO] [stderr]    Compiling borsh-derive v0.9.3
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]     Checking borsh v0.10.3
[INFO] [stderr]     Checking borsh v0.9.3
[INFO] [stderr]    Compiling anchor-attribute-constant v0.28.0
[INFO] [stderr]    Compiling anchor-attribute-event v0.28.0
[INFO] [stderr]    Compiling anchor-attribute-program v0.28.0
[INFO] [stderr]    Compiling anchor-attribute-account v0.28.0
[INFO] [stderr]    Compiling anchor-attribute-access-control v0.28.0
[INFO] [stderr]    Compiling anchor-derive-accounts v0.28.0
[INFO] [stderr]    Compiling anchor-attribute-error v0.28.0
[INFO] [stderr]    Compiling anchor-attribute-interface v0.26.0
[INFO] [stderr]    Compiling anchor-derive-accounts v0.26.0
[INFO] [stderr]    Compiling anchor-attribute-event v0.26.0
[INFO] [stderr]    Compiling anchor-attribute-access-control v0.26.0
[INFO] [stderr]    Compiling anchor-attribute-error v0.26.0
[INFO] [stderr]    Compiling anchor-attribute-program v0.26.0
[INFO] [stderr]    Compiling anchor-attribute-constant v0.26.0
[INFO] [stderr]    Compiling anchor-attribute-account v0.26.0
[INFO] [stderr]    Compiling anchor-attribute-state v0.26.0
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking spl-token v3.5.0
[INFO] [stderr]     Checking spl-memo v3.0.1
[INFO] [stderr]     Checking anchor-lang v0.26.0
[INFO] [stderr]     Checking anchor-lang v0.28.0
[INFO] [stderr]     Checking solana-zk-token-sdk v1.16.25
[INFO] [stderr]     Checking spl-token-2022 v0.6.1
[INFO] [stderr]     Checking spl-associated-token-account v1.1.3
[INFO] [stderr]     Checking anchor-spl v0.26.0
[INFO] [stderr]     Checking 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] 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/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`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `custom-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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/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`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `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`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mint` 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: `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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `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`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]   --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `anchor-debug`
[INFO] [stdout]    --> programs/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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (in Nightly builds, run with -Z macro-backtrace for more info)
[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 expected 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 trait that was imported
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]    = help: the following other types implement trait `anchor_lang::Accounts<'info>`:
[INFO] [stdout]              AccountLoader<'info, T>
[INFO] [stdout]              AddToWhitelist<'info>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CheckWhitelistStatus<'info>
[INFO] [stdout]              CreateNonceAccount<'info>
[INFO] [stdout]              CreateNonceAccountWithSeed<'info>
[INFO] [stdout]              EndSale<'info>
[INFO] [stdout]              Initialize<'info>
[INFO] [stdout]            and 32 others
[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[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 expected 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 trait that was imported
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]    = help: the following other types implement trait `anchor_lang::Accounts<'info>`:
[INFO] [stdout]              AccountLoader<'info, T>
[INFO] [stdout]              AddToWhitelist<'info>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CheckWhitelistStatus<'info>
[INFO] [stdout]              CreateNonceAccount<'info>
[INFO] [stdout]              CreateNonceAccountWithSeed<'info>
[INFO] [stdout]              EndSale<'info>
[INFO] [stdout]              Initialize<'info>
[INFO] [stdout]            and 32 others
[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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-1990093329014558159.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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::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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-13126427468108546044.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-1990093329014558159.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-13126427468108546044.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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: 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.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
[INFO] [stdout]     |
[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
[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<Purchase>, 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<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> programs/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: 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.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
[INFO] [stdout]     |
[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
[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<Purchase>, 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<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `to_account_info` exists for struct `anchor_lang::prelude::Account<'_, 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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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: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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-1990093329014558159.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-1990093329014558159.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-13126427468108546044.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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: 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.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
[INFO] [stdout]     |
[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
[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]: 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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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<Purchase>, 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<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::MintTo<'_>: anchor_lang::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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-13126427468108546044.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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: 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.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
[INFO] [stdout]     |
[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
[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<Purchase>, 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<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::error::ErrorCode>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]              `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-1990093329014558159.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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::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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-1990093329014558159.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-13126427468108546044.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-dfb16904f1e3c79f.long-type-15835030467193830903.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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: 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.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
[INFO] [stdout]     |
[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
[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]: 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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ToAccountMetas {
[INFO] [stdout]     | ------------------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountMetas`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AccountMeta
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]             and 88 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-13126427468108546044.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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<WithdrawFunds>, 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<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `anchor_spl::token::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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub trait ToAccountInfos<'info> {
[INFO] [stdout]     | ------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::ToAccountInfos<'info>`:
[INFO] [stdout]               AccountLoader<'info, T>
[INFO] [stdout]               AddToWhitelist<'info>
[INFO] [stdout]               Box<T>
[INFO] [stdout]               CheckWhitelistStatus<'info>
[INFO] [stdout]               CreateNonceAccount<'info>
[INFO] [stdout]               CreateNonceAccountWithSeed<'info>
[INFO] [stdout]               EndSale<'info>
[INFO] [stdout]               Initialize<'info>
[INFO] [stdout]             and 60 others
[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: the full name for the type has been written to '/opt/rustwide/target/debug/deps/project2-6518d0b99110b10e.long-type-6296977699732272458.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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: 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.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
[INFO] [stdout]     |
[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
[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<WithdrawFunds>, 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<anchor_lang::error::Error>` is not implemented for `anchor_lang::error::Error`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this can't be annotated with `?` because it has type `Result<_, anchor_lang::error::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<ProgramErrorWithOrigin>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::AnchorError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::error::ErrorCode>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<anchor_lang::prelude::ProgramError>`
[INFO] [stdout]               `anchor_lang::error::Error` implements `From<std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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 `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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub trait Id {
[INFO] [stdout]     | ------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `Id`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSale`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/system_program.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl anchor_lang::Id for System {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::system_program::System`
[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` 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] 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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub trait Id {
[INFO] [stdout]     | ------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `Id`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSale`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/system_program.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl anchor_lang::Id for System {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::system_program::System`
[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` 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] 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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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[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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (in Nightly builds, run with -Z macro-backtrace for more info)
[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_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[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub trait Id {
[INFO] [stdout]     | ------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `Id`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSale`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/system_program.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl anchor_lang::Id for System {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::system_program::System`
[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` 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] 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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub trait Id {
[INFO] [stdout]     | ------------ this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `Id`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSale`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/system_program.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl anchor_lang::Id for System {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::system_program::System`
[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` 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] 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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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<AccountInfo<'_>>` or `_: ToAccountInfo<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `anchor_lang::prelude::Account<'_, TokenAccount>: AsRef<anchor_lang::prelude::AccountInfo<'_>>`
[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[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[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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: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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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 attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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[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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait AccountSerialize {
[INFO] [stdout]     | -------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountSerialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl AccountSerialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  59 | impl AccountSerialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub trait AccountDeserialize: Sized {
[INFO] [stdout]     | ----------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the following other types implement trait `anchor_lang::AccountDeserialize`
[INFO] [stdout]    --> programs/project2/src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[program]
[INFO] [stdout]     | ^^^^^^^^^^ `__idl::IdlAccount`
[INFO] [stdout] ...
[INFO] [stdout] 241 | #[account]
[INFO] [stdout]     | ^^^^^^^^^^ `WhitelistSaleAccount`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.28.0/src/bpf_upgradeable_state.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl AccountDeserialize for ProgramData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `anchor_lang::ProgramData`
[INFO] [stdout] ...
[INFO] [stdout]  66 | impl AccountDeserialize for UpgradeableLoaderState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UpgradeableLoaderState`
[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` which comes from the expansion of the attribute macro `account` (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] 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 expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anchor-lang-0.26.0/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub trait Owner {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `anchor_lang::Owner`:
[INFO] [stdout]               InitializeSale
[INFO] [stdout]               PurchaseTokens
[INFO] [stdout]               StartSale
[INFO] [stdout]               UpgradeableLoaderState
[INFO] [stdout]               WhitelistSaleAccount
[INFO] [stdout]               __idl::IdlAccount
[INFO] [stdout]               anchor_lang::ProgramData
[INFO] [stdout]               instruction::AddToWhitelist
[INFO] [stdout]             and 5 others
[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 test) due to 57 previous errors; 21 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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" "014e7b50431fc1a897f8e13beedee8d98e731fc119690206b2f2d8f51c8a5a7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "014e7b50431fc1a897f8e13beedee8d98e731fc119690206b2f2d8f51c8a5a7e", kill_on_drop: false }`
[INFO] [stdout] 014e7b50431fc1a897f8e13beedee8d98e731fc119690206b2f2d8f51c8a5a7e
