Skip to content

Instantly share code, notes, and snippets.

@mgild
Last active April 3, 2025 13:16
Show Gist options
  • Save mgild/96f4939a224b6b5ece1e98b951eda1de to your computer and use it in GitHub Desktop.
Save mgild/96f4939a224b6b5ece1e98b951eda1de to your computer and use it in GitHub Desktop.
#[derive(Clone)]
pub struct RemainingAccounts<'info> {
pub feeds: Vec<AccountLoader<'info, PullFeedAccountData>>,
pub oracles: Vec<AccountLoader<'info, OracleAccountData>>,
pub oracle_stats: Vec<AccountLoader<'info, OracleStatsAccountData>>,
}
#[derive(Accounts)]
#[instruction(params: PullFeedSubmitResponseConsensusParams)]
pub struct PullFeedSubmitResponseConsensus<'info> {
pub queue: AccountLoader<'info, QueueAccountData>,
pub program_state: AccountLoader<'info, State>,
#[account(address = solana_program::sysvar::slot_hashes::ID)]
pub recent_slothashes: AccountInfo<'info>,
#[account(mut)]
pub payer: Signer<'info>,
pub system_program: Program<'info, System>,
#[account(mut, constraint = reward_vault.key() == get_associated_token_address(&queue.key(), &native_mint::ID))]
pub reward_vault: Account<'info, TokenAccount>,
#[account(address = anchor_spl::token::ID)]
pub token_program: Program<'info, Token>,
#[account(address = spl_token::native_mint::ID)]
pub token_mint: Account<'info, Mint>,
#[account(address = SYSVAR_INSTRUCTIONS_ID)]
pub ix_sysvar: AccountInfo<'info>,
}
#[derive(Clone, AnchorSerialize, AnchorDeserialize)]
pub struct PullFeedSubmitResponseConsensusParams {
pub slot: u64,
pub values: Vec<i128>,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment