referrals prod

This commit is contained in:
Sewmina 2025-05-21 20:08:57 +00:00
parent b370b0427f
commit d0610cf62d
3 changed files with 168 additions and 29 deletions

View File

@ -7,6 +7,31 @@
"description": "Created with Anchor" "description": "Created with Anchor"
}, },
"instructions": [ "instructions": [
{
"name": "clear_bets_list",
"discriminator": [
128,
73,
20,
28,
69,
26,
247,
185
],
"accounts": [
{
"name": "bets_list",
"writable": true
},
{
"name": "payer",
"writable": true,
"signer": true
}
],
"args": []
},
{ {
"name": "close_bet", "name": "close_bet",
"discriminator": [ "discriminator": [
@ -28,10 +53,6 @@
"name": "bet_vault", "name": "bet_vault",
"writable": true "writable": true
}, },
{
"name": "fee_wallet",
"writable": true
},
{ {
"name": "winner", "name": "winner",
"writable": true "writable": true
@ -41,14 +62,6 @@
"writable": true, "writable": true,
"signer": true "signer": true
}, },
{
"name": "owner_referrer",
"writable": true
},
{
"name": "joiner_referrer",
"writable": true
},
{ {
"name": "system_program", "name": "system_program",
"address": "11111111111111111111111111111111" "address": "11111111111111111111111111111111"
@ -145,6 +158,60 @@
} }
] ]
}, },
{
"name": "deduct_fees",
"discriminator": [
249,
7,
117,
167,
160,
108,
235,
14
],
"accounts": [
{
"name": "bets_list",
"writable": true
},
{
"name": "bet_vault",
"writable": true
},
{
"name": "fee_wallet",
"writable": true
},
{
"name": "payer",
"writable": true,
"signer": true
},
{
"name": "owner_referrer",
"writable": true
},
{
"name": "joiner_referrer",
"writable": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
}
],
"args": [
{
"name": "winner",
"type": "pubkey"
},
{
"name": "userid",
"type": "string"
}
]
},
{ {
"name": "initialize", "name": "initialize",
"discriminator": [ "discriminator": [

View File

@ -13,6 +13,31 @@ export type Bets = {
"description": "Created with Anchor" "description": "Created with Anchor"
}, },
"instructions": [ "instructions": [
{
"name": "clearBetsList",
"discriminator": [
128,
73,
20,
28,
69,
26,
247,
185
],
"accounts": [
{
"name": "betsList",
"writable": true
},
{
"name": "payer",
"writable": true,
"signer": true
}
],
"args": []
},
{ {
"name": "closeBet", "name": "closeBet",
"discriminator": [ "discriminator": [
@ -34,10 +59,6 @@ export type Bets = {
"name": "betVault", "name": "betVault",
"writable": true "writable": true
}, },
{
"name": "feeWallet",
"writable": true
},
{ {
"name": "winner", "name": "winner",
"writable": true "writable": true
@ -47,14 +68,6 @@ export type Bets = {
"writable": true, "writable": true,
"signer": true "signer": true
}, },
{
"name": "ownerReferrer",
"writable": true
},
{
"name": "joinerReferrer",
"writable": true
},
{ {
"name": "systemProgram", "name": "systemProgram",
"address": "11111111111111111111111111111111" "address": "11111111111111111111111111111111"
@ -151,6 +164,60 @@ export type Bets = {
} }
] ]
}, },
{
"name": "deductFees",
"discriminator": [
249,
7,
117,
167,
160,
108,
235,
14
],
"accounts": [
{
"name": "betsList",
"writable": true
},
{
"name": "betVault",
"writable": true
},
{
"name": "feeWallet",
"writable": true
},
{
"name": "payer",
"writable": true,
"signer": true
},
{
"name": "ownerReferrer",
"writable": true
},
{
"name": "joinerReferrer",
"writable": true
},
{
"name": "systemProgram",
"address": "11111111111111111111111111111111"
}
],
"args": [
{
"name": "winner",
"type": "pubkey"
},
{
"name": "userid",
"type": "string"
}
]
},
{ {
"name": "initialize", "name": "initialize",
"discriminator": [ "discriminator": [

View File

@ -59,8 +59,7 @@ export async function refundBet(bet:string):Promise<string>{
const tx =await program.methods.closeBet(new PublicKey(betAcc.owner), betAcc.ownerId).accounts({ const tx =await program.methods.closeBet(new PublicKey(betAcc.owner), betAcc.ownerId).accounts({
betVault: bet, betVault: bet,
betsList: bet_list_pda, betsList: bet_list_pda,
winner: betAcc.owner, winner: betAcc.owner
feeWallet: feeWallet
}).rpc(); }).rpc();
log(`refund tx: ${tx}`, "solana"); log(`refund tx: ${tx}`, "solana");
@ -75,16 +74,22 @@ export async function close(bet:string, winner:string, uid:string, loser:string)
const winner_referree_wallet = await GetReferreeWallet(uid); const winner_referree_wallet = await GetReferreeWallet(uid);
const loser_referree_wallet = await GetReferreeWallet(loser); const loser_referree_wallet = await GetReferreeWallet(loser);
const tx = await program.methods.closeBet(new PublicKey(winner), uid).accounts({ const tx = await program.methods.deductFees(new PublicKey(winner), uid).accounts({
betVault: bet, betVault: bet,
betsList: bet_list_pda, betsList: bet_list_pda,
winner: winner,
feeWallet: feeWallet, feeWallet: feeWallet,
ownerReferrer: winner_referree_wallet, ownerReferrer: winner_referree_wallet,
joinerReferrer: loser_referree_wallet joinerReferrer: loser_referree_wallet
}).rpc(); }).rpc();
await connection.confirmTransaction(tx, 'confirmed'); await connection.confirmTransaction(tx, 'confirmed');
log(`close tx: ${tx}`, "solana");
const close_tx = await program.methods.closeBet(new PublicKey(winner), uid).accounts({
betVault: bet,
betsList: bet_list_pda,
winner: winner
}).rpc();
await connection.confirmTransaction(close_tx, 'confirmed');
log(`close tx: ${close_tx}`, "solana");
return tx; return tx;
} }