Skip to main content

tengu_api/state/
seeker.rs

1//! Seeker account: per-SGT-mint state. One per SGT mint that has claimed the Seeker task.
2//! Anti-Sybil: prevents reusing same SGT across wallets. Tracks soulbound_mint when minted.
3
4use super::DojosAccount;
5use steel::*;
6
7#[repr(C)]
8#[derive(Clone, Copy, Debug, PartialEq, bytemuck::Pod, bytemuck::Zeroable)]
9pub struct Seeker {
10    pub sgt_mint: Pubkey,
11    pub dojo: Pubkey,
12    pub slot: u64,
13    /// Soulbound mint address when minted; Pubkey::default() = not yet minted.
14    pub soulbound_mint: Pubkey,
15}
16
17account!(DojosAccount, Seeker);