rust 没有为'anchor_spl::token::Mint`实现'锚_lang::AccountDeserialize '特性

gwo2fgha  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(137)

我正在尝试CPI令牌程序以将spl-token发送到wallet。为此,上下文结构中的派生帐户有三个帐户,它们没有任何属性:

  1. mint_token_out:账户〈'info,Mint〉(这是铸币厂的地址)
  2. token_out:Account〈'info,TokenAccount〉(令牌将从其中发出的令牌帐户)和
    1.令牌程序:程序〈'信息,令牌〉.
    但是我得到了四个未实现的特质错误,它们是:
    1.在第--- mint_token_out行没有为anchor_spl::token::Mint实现特性AccountSerialize
    1.在第--- token_out行没有为TokenAccount实现特性anchor_lang::AccountDeserialize:帐户信息,令牌帐户〉
    1.在第--- token_out行没有为TokenAccount实现特性anchor_lang::Owner:帐户信息,令牌帐户〉
    1.在第--- mint_token_out行没有为anchor_spl::token::Mint实现特性anchor_lang::Owner:帐户信息,Mint〉
    我做错什么了吗?
    我已经尝试添加约束#[account(mut,has_one = wallet,owner = wallet)]作为mint_token_out的帐户属性。但我仍然收到错误消息。
zbdgwd5y

zbdgwd5y1#

该错误指示您没有将#[derive(Accounts)]用于为该方法创建的相关结构。

#[derive(Accounts)]
pub struct YourTructForContext<'info>{}

#[derive(Accounts)]在给定的结构上实现Accounts反序列化程序。这意味着它允许此结构处理用户地址和帐户。

相关问题