#anchor #solana #rayauth

rayauth-session

RayAuth 会话密钥程序包,使用 Anchor

1 个不稳定版本

0.1.0 2023 年 3 月 14 日

#177#anchor

GPL-3.0 许可证

7KB
112

RayAuth 会话密钥程序包

此程序包包含会话密钥程序,其他 anchor 程序可以使用它来确定会话密钥对的有效性

程序 ID:QMj41mN3j168KTuUWNrCgbSAYQ7o9QTaaSnT9gLvW9s

要安装,请将以下内容添加到您的 Cargo.toml

[dependencies]
rayauth-session = "0.1.0"

用法

use rayauth_session::program::RayauthSession;
use rayauth_session::SessionKey;

#[derive(Accounts)]
#[instruction(maker_twitter: String, name: String, description: String, logo_url: String, website_url: String, twitter_url: String)]
pub struct SessionKeypairIx<'info> {
    #[account(mut)]
    pub payer: Signer<'info>,
    #[account(
        seeds = [SessionKey::SEED_PREFIX.as_ref(), hunter_signer.session_key.as_ref()],
        seeds::program = RayauthSession::id(),
        bump,
        constraint = signer_key.is_valid()? == true,         // check if the session key has expired or not
        constraint = signer_key.session_key == signer.key(), // checks if the signer is valid
    )]
    pub signer_key: Account<'info, SessionKey>,
    pub signer: Signer<'info>,
}

依赖项

~10–21MB
~279K SLoC