ticket leaderboard

This commit is contained in:
Sewmina Dilshan 2025-07-28 11:15:18 +05:30
parent 87f612c901
commit db24f57690
4 changed files with 17 additions and 3 deletions

View File

@ -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";

View File

@ -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,
} }

View File

@ -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<()> {
@ -40,7 +42,11 @@ pub struct BuyTickets<'info>{
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(

View File

@ -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>
} }