Assigned: BNT-5 - ICRC-7 NFT Implementation (Rust or Motoko)

Hello, I’m facing an issue while implementing the transaction log for icrc30_revoke_token_approvals, in the documentation it’s mentioned:

icrc30_revoke_token_approvals Block Schema

the tx.op field MUST be "30revoke"
it MUST contain a field tx.tid: Nat
it MUST contain a field tx.from: Account
it MUST contain a field tx.spender: Account

here is how the args looked like:

pub struct RevokeTokensArgs {
    pub token_ids: Vec<u128>,
    pub from_subaccount: Option<Subaccount>,
    pub spender: Option<Account>,
    pub memo: Option<Vec<u8>>,
    pub created_at_time: Option<u64>,
}

It’s mentioned in the schema that the block should store Spender as Account,
when the Spender is None, how should I handle it?
should I iterate over every approved spender and store it as a single txn per Spender?

Can we change in the Spender in the schema to Option<Account> or Vec<Account>?

2 Likes