25 lines
1.2 KiB
TypeScript
25 lines
1.2 KiB
TypeScript
import { Keypair } from "@solana/web3.js";
|
|
import { SIDE_DOWN, SIDE_UP } from "./config";
|
|
|
|
/**
|
|
* STUB — «фронт»: от пользователя приходят параметры ставки.
|
|
*
|
|
* В реальной системе это сообщение присылает фронтенд (или твоя БД) после
|
|
* того, как пользователь выбрал направление и сумму. Здесь мы эмулируем
|
|
* входящую очередь: случайный UP/DOWN и случайную сумму в заданном диапазоне.
|
|
*/
|
|
export interface BetRequest {
|
|
bettor: Keypair;
|
|
side: number; // SIDE_UP | SIDE_DOWN
|
|
amountLamports: number;
|
|
}
|
|
|
|
/** Очередь входящих ставок. В заглушке наполняем случайными значениями. */
|
|
export function nextBetRequest(minAmount: number, maxAmount: number): BetRequest {
|
|
const bettor = Keypair.generate();
|
|
const side = Math.random() < 0.5 ? SIDE_UP : SIDE_DOWN;
|
|
const amount =
|
|
minAmount + Math.floor(Math.random() * (maxAmount - minAmount + 1));
|
|
return { bettor, side, amountLamports: amount };
|
|
}
|