diff --git a/src/bets.json b/src/bets.json index 8a4d308..7612362 100644 --- a/src/bets.json +++ b/src/bets.json @@ -7,6 +7,31 @@ "description": "Created with Anchor" }, "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", "discriminator": [ @@ -28,10 +53,6 @@ "name": "bet_vault", "writable": true }, - { - "name": "fee_wallet", - "writable": true - }, { "name": "winner", "writable": true @@ -41,14 +62,6 @@ "writable": true, "signer": true }, - { - "name": "owner_referrer", - "writable": true - }, - { - "name": "joiner_referrer", - "writable": true - }, { "name": "system_program", "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", "discriminator": [ diff --git a/src/bets.ts b/src/bets.ts index 5f51aa1..5a885a5 100644 --- a/src/bets.ts +++ b/src/bets.ts @@ -13,6 +13,31 @@ export type Bets = { "description": "Created with Anchor" }, "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", "discriminator": [ @@ -34,10 +59,6 @@ export type Bets = { "name": "betVault", "writable": true }, - { - "name": "feeWallet", - "writable": true - }, { "name": "winner", "writable": true @@ -47,14 +68,6 @@ export type Bets = { "writable": true, "signer": true }, - { - "name": "ownerReferrer", - "writable": true - }, - { - "name": "joinerReferrer", - "writable": true - }, { "name": "systemProgram", "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", "discriminator": [ diff --git a/src/solana.ts b/src/solana.ts index c07b945..bfb8c2c 100644 --- a/src/solana.ts +++ b/src/solana.ts @@ -59,8 +59,7 @@ export async function refundBet(bet:string):Promise{ const tx =await program.methods.closeBet(new PublicKey(betAcc.owner), betAcc.ownerId).accounts({ betVault: bet, betsList: bet_list_pda, - winner: betAcc.owner, - feeWallet: feeWallet + winner: betAcc.owner }).rpc(); 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 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, betsList: bet_list_pda, - winner: winner, feeWallet: feeWallet, ownerReferrer: winner_referree_wallet, joinerReferrer: loser_referree_wallet }).rpc(); 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; } \ No newline at end of file