2个版本
0.1.1 | 2024年6月11日 |
---|---|
0.1.0 | 2024年6月11日 |
#5 in #pyth
29KB
342 行
这是一个绝对基础的SDK,使用零依赖项,用于消费由Pyth Solana接收器生成的PythV2价格。
用法
将Pyth价格馈送账户作为UncheckedAccount
。以下是在主网上的此类账户的示例: https://solana.fm/address/7UVimffxr9ow1uXYxsr4LHAcV58mLzhmwaeKvJ1pjLiE
#[derive(Accounts)]
pub struct Some_Instruction<'info> {
/// CHECK: You may also want to validate `owner = PYTH_PID`
pub price_acc: UncheckedAccount<'info>,
}
然后简单地借用数据,减去8字节Anchor区分符
let data = &ctx.accounts.price_acc.try_borrow_data()?[8..];
let price_v2 = PriceUpdateV2::get_price_update_v2_from_bytes(data);
let price = price_v2.get_price_no_older_than(
&Clock::get()?.unix_timestamp,
MAXIMUM_AGE, // in seconds
None, // Pass the feed ID in bytes if you want to validate it
)?;
或者如果你根本不在乎任何验证
price_v2.get_price_unchecked(None)
我们建议你验证区分符(参见DISCRIMINATOR_AS_HEX
),除非你绝对确定这是正确的账户!