ticket leaderboard
This commit is contained in:
parent
87f612c901
commit
db24f57690
|
|
@ -5,3 +5,7 @@ pub const SEED: &str = "anchor";
|
||||||
|
|
||||||
#[constant]
|
#[constant]
|
||||||
pub const FEE_COLLECTOR: &str= "9esrj2X33pr5og6fdkDMjaW6fdnnb9hT1cWshamxTdL4";
|
pub const FEE_COLLECTOR: &str= "9esrj2X33pr5og6fdkDMjaW6fdnnb9hT1cWshamxTdL4";
|
||||||
|
|
||||||
|
#[constant]
|
||||||
|
pub const TICKET_SALE_VAULT_ADDRESS: &str= "9esrj2X33pr5og6fdkDMjaW6fdnnb9hT1cWshamxTdL4";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,6 @@ pub enum BettingError {
|
||||||
InsufficientFunds,
|
InsufficientFunds,
|
||||||
#[msg("Fee calculation error")]
|
#[msg("Fee calculation error")]
|
||||||
FeeCalculationError,
|
FeeCalculationError,
|
||||||
|
#[msg("Invalid ticket sale vault address")]
|
||||||
|
InvalidTicketSaleVault,
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
use anchor_lang::prelude::*;
|
use anchor_lang::prelude::*;
|
||||||
use anchor_spl::{associated_token::AssociatedToken, token::{transfer_checked, TransferChecked}, token_interface::{TokenAccount, TokenInterface}};
|
use anchor_spl::{associated_token::AssociatedToken, token::{transfer_checked, TransferChecked}, token_interface::{TokenAccount, TokenInterface}};
|
||||||
use crate::*;
|
use crate::{error::BettingError, *};
|
||||||
|
use crate::constants::TICKET_SALE_VAULT_ADDRESS;
|
||||||
|
use std::str::FromStr;
|
||||||
|
|
||||||
pub fn buy_tickets(ctx: Context<BuyTickets>, _id:u64, amount: u64) -> Result<()> {
|
pub fn buy_tickets(ctx: Context<BuyTickets>, _id:u64, amount: u64) -> Result<()> {
|
||||||
|
|
||||||
|
|
@ -39,8 +41,12 @@ pub struct BuyTickets<'info>{
|
||||||
#[account(mut)]
|
#[account(mut)]
|
||||||
pub payer: Signer<'info>,
|
pub payer: Signer<'info>,
|
||||||
|
|
||||||
|
|
||||||
#[account(mut)]
|
/// CHECK: The vault that receives SOL payments for tickets
|
||||||
|
#[account(
|
||||||
|
mut,
|
||||||
|
address = Pubkey::from_str(TICKET_SALE_VAULT_ADDRESS).unwrap() @ BettingError::InvalidTicketSaleVault
|
||||||
|
)]
|
||||||
pub ticket_sale_vault: AccountInfo<'info>,
|
pub ticket_sale_vault: AccountInfo<'info>,
|
||||||
|
|
||||||
#[account(
|
#[account(
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,6 @@ use crate::*;
|
||||||
pub struct TicketLeaderboard{
|
pub struct TicketLeaderboard{
|
||||||
#[max_len(500)]
|
#[max_len(500)]
|
||||||
pub players: Vec<Pubkey>
|
pub players: Vec<Pubkey>
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user