duelfi_reward_distributor/src/shared.ts
2025-06-27 23:12:12 +00:00

54 lines
2.6 KiB
TypeScript

import { clusterApiUrl, PublicKey } from "@solana/web3.js";
import { log } from "./logging_help";
import { connection } from "./solana";
// export const clusterUrl = "https://tiniest-cold-darkness.solana-mainnet.quiknode.pro/72332d636ff78d498b880bd8fdc3eb646c827da8/";
// export const clusterUrl = "https://go.getblock.io/908837801b534ae7a6f0869fc44cc567";
export const mainnetClusterUrl = "https://solana-mainnet.core.chainstack.com/c54e14eef17693283a0323efcc4ce731";
export const devnetClusterUrl = clusterApiUrl("devnet");
export const feeWallet = new PublicKey("9esrj2X33pr5og6fdkDMjaW6fdnnb9hT1cWshamxTdL4");
// Default to mainnet
export const clusterUrl = process.env.USE_DEVNET ? devnetClusterUrl : mainnetClusterUrl;
export const duelfiApiUrl = "https://api.duelfi.io/v1/";
export const testerSk = [0,86,239,216,67,18,45,223,17,96,119,58,187,90,175,61,72,117,44,13,224,255,64,74,222,14,50,134,240,250,14,212,13,59,115,13,19,107,33,227,1,184,184,96,20,214,181,23,53,244,82,197,36,189,83,82,134,211,83,200,67,14,143,90];
export const cocSk = [202,150,67,41,155,133,176,172,9,100,150,190,239,37,69,73,18,16,76,65,164,197,99,134,240,151,112,65,61,122,95,41,9,44,6,237,108,123,86,90,144,27,1,160,101,95,239,35,53,91,195,220,22,214,2,84,132,37,20,236,133,242,104,197];
export function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
export async function GetReferreeWallet(id:string):Promise<PublicKey> {
const get_winner_referee_wallet = await fetch(`${duelfiApiUrl}get_referree_wallet.php?id=${id}`)
const winner_referee_wallet_text = (await get_winner_referee_wallet.text()).replace(' ','');
let winner_referree_wallet;
log(`winner_referee_wallet: ${winner_referee_wallet_text}`, "solana");
if(winner_referee_wallet_text.length < 10){
log(`No winner referee wallet found for ${id}`, "solana");
winner_referree_wallet = feeWallet;
}else{
winner_referree_wallet = new PublicKey(winner_referee_wallet_text);
const balance = await connection.getBalance(winner_referree_wallet);
log(`winner_referree_wallet balance: ${balance}`, "solana");
if(balance <= 0){
winner_referree_wallet = feeWallet;
}
}
return winner_referree_wallet;
}
export async function add_new_activity(type:string, owner_id:string, joiner_id:string, game:string, amount:number ){
try{
await fetch(`${duelfiApiUrl}add_activity.php?type=${type}&owner_id=${owner_id}&joiner_id=${joiner_id}&game=${game}&amount=${amount}`)
}catch(error){
console.error("Error adding new activity:", error);
}
}