/* Options: Date: 2025-11-09 10:59:34 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w2.api.bettor.cc //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ConfigureAccumulator.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class Ref { public id: string; public val: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Pool { public id: number; public name: string; public treshold: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum LocationOptimizationLevel { None = 0, Low = 1, Medium = 2, High = 3, } export class ThresholdInterval { public start: number; public end: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum SortingOrder { None = 0, Ascending = 1, Descending = 2, } export class WinCountOrderProbability { public order: SortingOrder; public probability: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PoolCaps { public plusCoef: number; public minusCoef: number; public maxAmountInPrevalentStakes: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PoolSettings { public id: number; public name: string; public isActive: boolean; public contributionToRoundPoolPct: number; public caps: PoolCaps; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum StakeCategory { Pickerel = 0, Fish = 1, Salmon = 2, Tuna = 3, Shark = 4, Whale = 5, None = -1, } export class CategoryThreshold { public category: StakeCategory; public threshold: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HighRollerSettings { public pools: RecordList; public categoryThresholds: RecordList; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AntiSyphonConfig { public combinationCountPerRoundThresholdPct: number; public excludedLocations: RecordList; public includeRoundPctAsBettorSyphonCriteria: boolean; public isActive: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FraudDetectionConfiguration { public antiSyphon: AntiSyphonConfig; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DebugConfiguration { public logLocationStats: boolean; public logBettorSats: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AccumulatorConfiguration { public pools: RecordList; public prevalentStake: number; public purgeThresholdModifier: number; public locationOptimizationLevel: LocationOptimizationLevel; public jackPot5ThresholdInterval: ThresholdInterval; public deviationCategorySpanInPct: number; public deviationCategoryThresholdAmount: number; public roundPoolCircuitBreakerThreshold: number; public lowWinCountAffinityInPct: number; public winCountOrderAffinity: RecordList; public highRollerSettings: HighRollerSettings; public overflowCoefficientPoolsToRound: boolean; public antiSyphonProtectionOverride: boolean; public fraudDetectionConfig: FraudDetectionConfiguration; public debugConfig: DebugConfiguration; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseError { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public fieldName: string; // @DataMember(Order=3) public message: string; // @DataMember(Order=4) public meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Pool { public id: number; public name: string; public coefficient: number; public rtp: number; public threshold: number; public balance: number; public rrtp: number; public rBalance: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RecordList extends Array { public constructor(init?: Partial>) { super(); (Object as any).assign(this, init); } } export class Pool { public id: number; public name: string; public rtp: number; public reserveRTP: number; public totalRTP: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum ResponseStatus { Failure = 0, Success = 1, } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public message: string; // @DataMember(Order=3) public stackTrace: string; // @DataMember(Order=4) public errors: ResponseError[]; // @DataMember(Order=5) public meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/cmd/configure/accumulator", "POST") export class ConfigureAccumulator implements IReturn { public id: string; public configuration: AccumulatorConfiguration; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'ConfigureAccumulator'; } public getMethod() { return 'POST'; } public createResponse() { return new ResponseStatus(); } }