bet-test-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +372 -0
  2. package/dist/browser/index.js +22145 -0
  3. package/dist/browser/index.js.map +1 -0
  4. package/dist/browser/types/amm.d.ts +24 -0
  5. package/dist/browser/types/amm.d.ts.map +1 -0
  6. package/dist/browser/types/bet.d.ts +32 -0
  7. package/dist/browser/types/bet.d.ts.map +1 -0
  8. package/dist/browser/types/betState.d.ts +20 -0
  9. package/dist/browser/types/betState.d.ts.map +1 -0
  10. package/dist/browser/types/constants.d.ts +18 -0
  11. package/dist/browser/types/constants.d.ts.map +1 -0
  12. package/dist/browser/types/curveState.d.ts +25 -0
  13. package/dist/browser/types/curveState.d.ts.map +1 -0
  14. package/dist/browser/types/events.d.ts +5 -0
  15. package/dist/browser/types/events.d.ts.map +1 -0
  16. package/dist/browser/types/idl/bet.d.ts +2715 -0
  17. package/dist/browser/types/idl/bet.d.ts.map +1 -0
  18. package/dist/browser/types/idl/index.d.ts +3 -0
  19. package/dist/browser/types/idl/index.d.ts.map +1 -0
  20. package/dist/browser/types/index.d.ts +9 -0
  21. package/dist/browser/types/index.d.ts.map +1 -0
  22. package/dist/browser/types/types.d.ts +75 -0
  23. package/dist/browser/types/types.d.ts.map +1 -0
  24. package/dist/browser/types/util.d.ts +11 -0
  25. package/dist/browser/types/util.d.ts.map +1 -0
  26. package/dist/cjs/amm.d.ts +24 -0
  27. package/dist/cjs/amm.d.ts.map +1 -0
  28. package/dist/cjs/amm.js +61 -0
  29. package/dist/cjs/amm.js.map +1 -0
  30. package/dist/cjs/bet.d.ts +32 -0
  31. package/dist/cjs/bet.d.ts.map +1 -0
  32. package/dist/cjs/bet.js +297 -0
  33. package/dist/cjs/bet.js.map +1 -0
  34. package/dist/cjs/betState.d.ts +20 -0
  35. package/dist/cjs/betState.d.ts.map +1 -0
  36. package/dist/cjs/betState.js +74 -0
  37. package/dist/cjs/betState.js.map +1 -0
  38. package/dist/cjs/constants.d.ts +18 -0
  39. package/dist/cjs/constants.d.ts.map +1 -0
  40. package/dist/cjs/constants.js +21 -0
  41. package/dist/cjs/constants.js.map +1 -0
  42. package/dist/cjs/curveState.d.ts +25 -0
  43. package/dist/cjs/curveState.d.ts.map +1 -0
  44. package/dist/cjs/curveState.js +104 -0
  45. package/dist/cjs/curveState.js.map +1 -0
  46. package/dist/cjs/events.d.ts +5 -0
  47. package/dist/cjs/events.d.ts.map +1 -0
  48. package/dist/cjs/events.js +37 -0
  49. package/dist/cjs/events.js.map +1 -0
  50. package/dist/cjs/idl/bet.d.ts +2715 -0
  51. package/dist/cjs/idl/bet.d.ts.map +1 -0
  52. package/dist/cjs/idl/bet.js +3 -0
  53. package/dist/cjs/idl/bet.js.map +1 -0
  54. package/dist/cjs/idl/bet.json +2708 -0
  55. package/dist/cjs/idl/index.d.ts +3 -0
  56. package/dist/cjs/idl/index.d.ts.map +1 -0
  57. package/dist/cjs/idl/index.js +9 -0
  58. package/dist/cjs/idl/index.js.map +1 -0
  59. package/dist/cjs/index.d.ts +9 -0
  60. package/dist/cjs/index.d.ts.map +1 -0
  61. package/dist/cjs/index.js +25 -0
  62. package/dist/cjs/index.js.map +1 -0
  63. package/dist/cjs/types.d.ts +75 -0
  64. package/dist/cjs/types.d.ts.map +1 -0
  65. package/dist/cjs/types.js +14 -0
  66. package/dist/cjs/types.js.map +1 -0
  67. package/dist/cjs/util.d.ts +11 -0
  68. package/dist/cjs/util.d.ts.map +1 -0
  69. package/dist/cjs/util.js +106 -0
  70. package/dist/cjs/util.js.map +1 -0
  71. package/dist/esm/amm.d.ts +24 -0
  72. package/dist/esm/amm.d.ts.map +1 -0
  73. package/dist/esm/amm.js +57 -0
  74. package/dist/esm/amm.js.map +1 -0
  75. package/dist/esm/bet.d.ts +32 -0
  76. package/dist/esm/bet.d.ts.map +1 -0
  77. package/dist/esm/bet.js +290 -0
  78. package/dist/esm/bet.js.map +1 -0
  79. package/dist/esm/betState.d.ts +20 -0
  80. package/dist/esm/betState.d.ts.map +1 -0
  81. package/dist/esm/betState.js +70 -0
  82. package/dist/esm/betState.js.map +1 -0
  83. package/dist/esm/constants.d.ts +18 -0
  84. package/dist/esm/constants.d.ts.map +1 -0
  85. package/dist/esm/constants.js +18 -0
  86. package/dist/esm/constants.js.map +1 -0
  87. package/dist/esm/curveState.d.ts +25 -0
  88. package/dist/esm/curveState.d.ts.map +1 -0
  89. package/dist/esm/curveState.js +100 -0
  90. package/dist/esm/curveState.js.map +1 -0
  91. package/dist/esm/events.d.ts +5 -0
  92. package/dist/esm/events.d.ts.map +1 -0
  93. package/dist/esm/events.js +32 -0
  94. package/dist/esm/events.js.map +1 -0
  95. package/dist/esm/idl/bet.d.ts +2715 -0
  96. package/dist/esm/idl/bet.d.ts.map +1 -0
  97. package/dist/esm/idl/bet.js +2 -0
  98. package/dist/esm/idl/bet.js.map +1 -0
  99. package/dist/esm/idl/bet.json +2708 -0
  100. package/dist/esm/idl/index.d.ts +3 -0
  101. package/dist/esm/idl/index.d.ts.map +1 -0
  102. package/dist/esm/idl/index.js +2 -0
  103. package/dist/esm/idl/index.js.map +1 -0
  104. package/dist/esm/index.d.ts +9 -0
  105. package/dist/esm/index.d.ts.map +1 -0
  106. package/dist/esm/index.js +9 -0
  107. package/dist/esm/index.js.map +1 -0
  108. package/dist/esm/types.d.ts +75 -0
  109. package/dist/esm/types.d.ts.map +1 -0
  110. package/dist/esm/types.js +11 -0
  111. package/dist/esm/types.js.map +1 -0
  112. package/dist/esm/util.d.ts +11 -0
  113. package/dist/esm/util.d.ts.map +1 -0
  114. package/dist/esm/util.js +94 -0
  115. package/dist/esm/util.js.map +1 -0
  116. package/package.json +52 -0
@@ -0,0 +1,290 @@
1
+ import { Program } from "@coral-xyz/anchor";
2
+ import { Keypair, PublicKey, Transaction } from "@solana/web3.js";
3
+ import { createAssociatedTokenAccountInstruction, getAccount, getAssociatedTokenAddress, getAssociatedTokenAddressSync } from "@solana/spl-token";
4
+ import { MigrateType } from "./types";
5
+ import { DEFAULT_COMMITMENT, DEFAULT_FINALITY, calculateWithSlippageBuy, calculateWithSlippageSell, sendTx } from "./util";
6
+ import { APP_CONFIG_SEED, BET_STATE_SEED, CURVE_STATE_SEED, FEE_RECIVED_ACCOUNT_SEED, FEE_BASIS_POINTS, BET_API } from "./constants";
7
+ import { toCompleteEvent, toCreateEvent, toTradeEvent } from "./events";
8
+ import { CurveState } from "./curveState";
9
+ import { BetState } from "./betState";
10
+ import { IDL } from "./idl";
11
+ import bs58 from "bs58";
12
+ import BN from "bn.js";
13
+ import { getInitialBuyPrice } from "./util";
14
+ export class BetSDK {
15
+ program;
16
+ connection;
17
+ DEFAULT_CURVE_INITIALIZE_initReservedToken;
18
+ constructor(provider) {
19
+ this.program = new Program(IDL, provider);
20
+ this.connection = this.program.provider.connection;
21
+ }
22
+ async createAndBuy(creator, migrateType, createTokenMetadata, buyAmountSol, slippageBasisPoints = 500n, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
23
+ let mintKeyPair;
24
+ try {
25
+ const request = await fetch(`${BET_API}/create-token/mint-pair`, {
26
+ method: "GET",
27
+ credentials: 'same-origin'
28
+ });
29
+ if (request.status === 500) {
30
+ // Try to get more error details
31
+ const errorText = await request.text();
32
+ throw new Error(`Server error (500): ${errorText || 'No error details available'}`);
33
+ }
34
+ if (!request.ok) {
35
+ throw new Error(`HTTP error! status: ${request.status}`);
36
+ }
37
+ const responseJson = await request.json();
38
+ if (!responseJson) {
39
+ throw new Error('Empty response received from server');
40
+ }
41
+ if (responseJson.code == 0) {
42
+ const privateKey = bs58.decode(responseJson.data.privateKey);
43
+ mintKeyPair = Keypair.fromSecretKey(privateKey);
44
+ }
45
+ else {
46
+ throw new Error(responseJson.msg);
47
+ }
48
+ }
49
+ catch (error) {
50
+ console.error('Error in createTokenMetadata', error);
51
+ throw error;
52
+ }
53
+ let tokenMetadata = await this.createTokenMetadata(createTokenMetadata);
54
+ let createTx = await this.getCreateInstructions(creator.publicKey, createTokenMetadata.name, createTokenMetadata.symbol, tokenMetadata.data, migrateType, mintKeyPair);
55
+ let newTx = new Transaction().add(createTx);
56
+ const curveStateAccount = await this.getCurveStateAccount(mintKeyPair.publicKey, commitment);
57
+ if (curveStateAccount) {
58
+ throw new Error(`Already existing curve state account for : ${mintKeyPair.publicKey.toBase58()}`);
59
+ }
60
+ if (buyAmountSol > 0) {
61
+ const buyAmount = getInitialBuyPrice(buyAmountSol);
62
+ // console.log("buyAmount:", buyAmount);
63
+ const buyAmountWithSlippage = calculateWithSlippageBuy(buyAmountSol, slippageBasisPoints);
64
+ console.log("buyAmountWithSlippage:", buyAmountWithSlippage);
65
+ const buyTx = await this.getBuyInstructions(creator.publicKey, mintKeyPair.publicKey, buyAmount, buyAmountWithSlippage);
66
+ newTx.add(buyTx);
67
+ }
68
+ let createResults = await sendTx(this.connection, newTx, creator.publicKey, [creator, mintKeyPair], priorityFees, commitment, finality);
69
+ return createResults;
70
+ }
71
+ async buy(buyer, mint, buyAmountSol, slippageBasisPoints = 500n, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
72
+ let buyTx = await this.getBuyInstructionsBySolAmount(buyer.publicKey, mint, buyAmountSol, slippageBasisPoints, commitment);
73
+ let buyResults = await sendTx(this.connection, buyTx, buyer.publicKey, [buyer], priorityFees, commitment, finality);
74
+ return buyResults;
75
+ }
76
+ async sell(seller, mint, sellTokenAmount, slippageBasisPoints = 500n, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
77
+ let sellTx = await this.getSellInstructionsByTokenAmount(seller.publicKey, mint, sellTokenAmount, slippageBasisPoints);
78
+ let sellResults = await sendTx(this.connection, sellTx, seller.publicKey, [seller], priorityFees, commitment, finality);
79
+ return sellResults;
80
+ }
81
+ //create token instructions
82
+ async getCreateInstructions(creator, name, symbol, uri, migrateType, mintKeyPair) {
83
+ return this.program.methods
84
+ .createToken({
85
+ migrateType: migrateType == MigrateType.Raydium ? { raydium: {} } : { meteora: {} },
86
+ name: name,
87
+ symbol: symbol,
88
+ uri: uri
89
+ })
90
+ .accounts({
91
+ owner: creator,
92
+ tokenMint: mintKeyPair.publicKey,
93
+ })
94
+ .signers([mintKeyPair])
95
+ .transaction();
96
+ }
97
+ async getBuyInstructionsBySolAmount(buyer, mint, buyAmountSol, slippageBasisPoints = 500n, commitment = DEFAULT_COMMITMENT) {
98
+ const betState = await this.getBetStateAccount(mint, commitment);
99
+ if (!betState) {
100
+ throw new Error(`Bet bet account not found: ${mint.toBase58()}`);
101
+ }
102
+ const curveState = await this.getCurveStateAccount(mint, commitment);
103
+ if (!curveState) {
104
+ throw new Error(`Curve state account not found: ${mint.toBase58()}`);
105
+ }
106
+ let buyAmount = curveState.getBuyPrice(buyAmountSol, betState.isCompted);
107
+ let buyAmountWithSlippage = calculateWithSlippageBuy(buyAmountSol, slippageBasisPoints);
108
+ return await this.getBuyInstructions(buyer, mint, buyAmount, buyAmountWithSlippage);
109
+ }
110
+ //buy
111
+ async getBuyInstructions(buyer, mint, amount, minTokenAmount, commitment = DEFAULT_COMMITMENT) {
112
+ const associatedUser = await getAssociatedTokenAddress(mint, buyer, false);
113
+ const betState = await this.getBetStatePDA(mint);
114
+ let transaction = new Transaction();
115
+ try {
116
+ await getAccount(this.connection, associatedUser, commitment);
117
+ }
118
+ catch (e) {
119
+ transaction.add(createAssociatedTokenAccountInstruction(buyer, associatedUser, buyer, mint));
120
+ }
121
+ transaction.add(await this.program.methods
122
+ .buyToken(new BN(amount.toString()), new BN(minTokenAmount.toString()))
123
+ .accounts({
124
+ user: buyer,
125
+ betState: betState,
126
+ mint: mint,
127
+ })
128
+ .transaction());
129
+ return transaction;
130
+ }
131
+ //sell
132
+ async getSellInstructionsByTokenAmount(seller, mint, sellTokenAmount, slippageBasisPoints = 500n) {
133
+ const betState = await this.getBetStateAccount(mint);
134
+ if (!betState) {
135
+ throw new Error(`Bet state account not found: ${mint.toBase58()}`);
136
+ }
137
+ const curveState = await this.getCurveStateAccount(mint);
138
+ if (!curveState) {
139
+ throw new Error(`Curve state account not found: ${mint.toBase58()}`);
140
+ }
141
+ const isComplete = betState.isCompted;
142
+ let minSolOutput = curveState.getSellPrice(sellTokenAmount, FEE_BASIS_POINTS, isComplete);
143
+ let sellAmountWithSlippage = calculateWithSlippageSell(minSolOutput, slippageBasisPoints);
144
+ return await this.getSellInstructions(seller, mint, sellTokenAmount, sellAmountWithSlippage);
145
+ }
146
+ async getSellInstructions(seller, mint, amount, minAmountSol) {
147
+ let transaction = new Transaction();
148
+ const betState = this.getBetStatePDA(mint);
149
+ transaction.add(await this.program.methods
150
+ .sellToken(new BN(amount.toString()), new BN(minAmountSol.toString()))
151
+ .accounts({
152
+ user: seller,
153
+ betState: betState,
154
+ mint: mint,
155
+ })
156
+ .transaction());
157
+ return transaction;
158
+ }
159
+ getFeeRecivedAccount() {
160
+ const [feeRecivedAccount] = PublicKey.findProgramAddressSync([
161
+ Buffer.from(FEE_RECIVED_ACCOUNT_SEED)
162
+ ], this.program.programId);
163
+ return feeRecivedAccount;
164
+ }
165
+ getFeeRecivedTokenAccount(mint) {
166
+ const feeRecivedAccount = this.getFeeRecivedAccount();
167
+ const feeRecivedTokenAccount = getAssociatedTokenAddressSync(mint, feeRecivedAccount, true);
168
+ return feeRecivedTokenAccount;
169
+ }
170
+ getBetStatePDA(mint) {
171
+ const [betState] = PublicKey.findProgramAddressSync([
172
+ Buffer.from(BET_STATE_SEED),
173
+ mint.toBuffer(),
174
+ ], this.program.programId);
175
+ return betState;
176
+ }
177
+ getCurveStatePDA(mint) {
178
+ const betState = this.getBetStatePDA(mint);
179
+ return this.getCurveStatePDAByBetState(betState);
180
+ }
181
+ getCurveStatePDAByBetState(betState) {
182
+ const [curveState] = PublicKey.findProgramAddressSync([
183
+ betState.toBuffer(),
184
+ Buffer.from(CURVE_STATE_SEED)
185
+ ], this.program.programId);
186
+ return curveState;
187
+ }
188
+ async getBetStateAccount(mint, commitment = DEFAULT_COMMITMENT) {
189
+ const betState = this.getBetStatePDA(mint);
190
+ const tokenAccount = await this.connection.getAccountInfo(betState, commitment);
191
+ // console.log("betStateTokenAccout", tokenAccount);
192
+ if (!tokenAccount) {
193
+ return null;
194
+ }
195
+ return BetState.fromBuffer(tokenAccount.data);
196
+ }
197
+ async getCurveStateAccount(mint, commitment = DEFAULT_COMMITMENT) {
198
+ const curveState = this.getCurveStatePDA(mint);
199
+ const tokenAccount = await this.connection.getAccountInfo(curveState, commitment);
200
+ if (!tokenAccount) {
201
+ return null;
202
+ }
203
+ return CurveState.fromBuffer(tokenAccount.data);
204
+ }
205
+ getConfigStateAccount() {
206
+ const [configState] = PublicKey.findProgramAddressSync([
207
+ Buffer.from(APP_CONFIG_SEED)
208
+ ], this.program.programId);
209
+ return configState;
210
+ }
211
+ async createTokenMetadata(create) {
212
+ // Validate file
213
+ if (!(create.file instanceof Blob)) {
214
+ throw new Error('File must be a Blob or File object');
215
+ }
216
+ let formData = new FormData();
217
+ formData.append("file", create.file, 'image.png'); // Add filename
218
+ formData.append("migrateDex", create.migrateDex);
219
+ formData.append("name", create.name);
220
+ formData.append("symbol", create.symbol);
221
+ formData.append("description", create.description);
222
+ formData.append("twitter", create.twitter || "");
223
+ formData.append("telegram", create.telegram || "");
224
+ formData.append("website", create.website || "");
225
+ try {
226
+ const request = await fetch(`${BET_API}/create-token/ipfs`, {
227
+ method: "POST",
228
+ headers: {
229
+ 'Accept': 'application/json',
230
+ },
231
+ body: formData,
232
+ credentials: 'same-origin'
233
+ });
234
+ if (request.status === 500) {
235
+ // Try to get more error details
236
+ const errorText = await request.text();
237
+ throw new Error(`Server error (500): ${errorText || 'No error details available'}`);
238
+ }
239
+ if (!request.ok) {
240
+ throw new Error(`HTTP error! status: ${request.status}`);
241
+ }
242
+ const responseText = await request.text();
243
+ if (!responseText) {
244
+ throw new Error('Empty response received from server');
245
+ }
246
+ try {
247
+ // console.log('responseText:', JSON.parse(responseText));
248
+ return JSON.parse(responseText);
249
+ }
250
+ catch (e) {
251
+ throw new Error(`Invalid JSON response: ${responseText}`);
252
+ }
253
+ }
254
+ catch (error) {
255
+ console.error('Error in createTokenMetadata:', error);
256
+ throw error;
257
+ }
258
+ }
259
+ //EVENTS
260
+ addEventListener(eventType, callback) {
261
+ return this.program.addEventListener(eventType, (event, slot, signature) => {
262
+ let processedEvent;
263
+ switch (eventType) {
264
+ case "createEvent":
265
+ processedEvent = toCreateEvent(event);
266
+ callback(processedEvent, slot, signature);
267
+ break;
268
+ case "buyEvent":
269
+ processedEvent = toTradeEvent(event);
270
+ callback(processedEvent, slot, signature);
271
+ break;
272
+ case "sellEvent":
273
+ processedEvent = toTradeEvent(event);
274
+ callback(processedEvent, slot, signature);
275
+ break;
276
+ case "completeEvent":
277
+ processedEvent = toCompleteEvent(event);
278
+ callback(processedEvent, slot, signature);
279
+ console.log("completeEvent", event, slot, signature);
280
+ break;
281
+ default:
282
+ console.error("Unhandled event type:", eventType);
283
+ }
284
+ });
285
+ }
286
+ removeEventListener(eventId) {
287
+ this.program.removeEventListener(eventId);
288
+ }
289
+ }
290
+ //# sourceMappingURL=bet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bet.js","sourceRoot":"","sources":["../../src/bet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { MigrateType } from "./types";
3
+ export declare class BetState {
4
+ discriminator: bigint;
5
+ creator: PublicKey;
6
+ curveState: PublicKey;
7
+ mint: PublicKey;
8
+ poolOfSol: PublicKey;
9
+ poolOfToken: PublicKey;
10
+ totalSolIn: bigint;
11
+ totalTokenOut: bigint;
12
+ totalSolOut: bigint;
13
+ totalTokenIn: bigint;
14
+ migrateType: MigrateType;
15
+ isWithdrawed: boolean;
16
+ isCompted: boolean;
17
+ constructor(discriminator: bigint, creator: PublicKey, curveState: PublicKey, mint: PublicKey, poolOfSol: PublicKey, poolOfToken: PublicKey, totalSolIn: bigint, totalTokenOut: bigint, totalSolOut: bigint, totalTokenIn: bigint, migrateType: MigrateType, isWithdrawed: boolean, isCompted: boolean);
18
+ static fromBuffer(buffer: Buffer): BetState;
19
+ }
20
+ //# sourceMappingURL=betState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"betState.d.ts","sourceRoot":"","sources":["../../src/betState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,qBAAa,QAAQ;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;gBAGxB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,SAAS,EACrB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,OAAO;WAiBN,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;CAuCnD"}
@@ -0,0 +1,70 @@
1
+ import { struct, bool, publicKey, u8, u64 } from "@coral-xyz/borsh";
2
+ // "discriminator": [143,61,238,62,232,157,101,185]
3
+ export class BetState {
4
+ discriminator;
5
+ creator;
6
+ curveState;
7
+ mint;
8
+ poolOfSol;
9
+ poolOfToken;
10
+ totalSolIn;
11
+ totalTokenOut;
12
+ totalSolOut;
13
+ totalTokenIn;
14
+ migrateType;
15
+ isWithdrawed;
16
+ isCompted;
17
+ constructor(discriminator, creator, curveState, mint, poolOfSol, poolOfToken, totalSolIn, totalTokenOut, totalSolOut, totalTokenIn, migrateType, isWithdrawed, isCompted) {
18
+ this.discriminator = discriminator;
19
+ this.creator = creator;
20
+ this.curveState = curveState;
21
+ this.mint = mint;
22
+ this.poolOfSol = poolOfSol;
23
+ this.poolOfToken = poolOfToken;
24
+ this.totalSolIn = totalSolIn;
25
+ this.totalTokenOut = totalTokenOut;
26
+ this.totalSolOut = totalSolOut;
27
+ this.totalTokenIn = totalTokenIn;
28
+ this.migrateType = migrateType;
29
+ this.isWithdrawed = isWithdrawed;
30
+ this.isCompted = isCompted;
31
+ }
32
+ static fromBuffer(buffer) {
33
+ const structure = struct([
34
+ u64("discriminator"),
35
+ publicKey("creator"),
36
+ publicKey("curveState"),
37
+ publicKey("mint"),
38
+ publicKey("poolOfSol"),
39
+ publicKey("poolOfToken"),
40
+ // u128("totalSolIn"),
41
+ // u128("totalTokenOut"),
42
+ // u128("totalSolOut"),
43
+ // u128("totalTokenIn"),
44
+ publicKey('totalSolInAndTotalTokenOut'),
45
+ publicKey('totalSolOutAndtotalTokenIn'),
46
+ u8("migrateType"),
47
+ bool("isWithdrawed"),
48
+ bool("isCompted"),
49
+ ]);
50
+ let value = structure.decode(buffer);
51
+ // console.log("[value]", value);
52
+ return value;
53
+ // return new BetState(
54
+ // BigInt(value.discriminator),
55
+ // new PublicKey(value.creator),
56
+ // new PublicKey(value.curveState),
57
+ // new PublicKey(value.mint),
58
+ // new PublicKey(value.poolOfSol),
59
+ // new PublicKey(value.poolOfToken),
60
+ // BigInt(value.totalSolIn),
61
+ // BigInt(value.totalTokenOut),
62
+ // BigInt(value.totalSolOut),
63
+ // BigInt(value.totalTokenIn),
64
+ // value.migrateType,
65
+ // value.isWithdrawed,
66
+ // value.isCompted
67
+ // );
68
+ }
69
+ }
70
+ //# sourceMappingURL=betState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"betState.js","sourceRoot":"","sources":["../../src/betState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAIpE,mDAAmD;AACnD,MAAM,OAAO,QAAQ;IACZ,aAAa,CAAS;IACtB,OAAO,CAAY;IACnB,UAAU,CAAY;IACtB,IAAI,CAAY;IAChB,SAAS,CAAY;IACrB,WAAW,CAAY;IACvB,UAAU,CAAS;IACnB,aAAa,CAAS;IACtB,WAAW,CAAS;IACpB,YAAY,CAAS;IACrB,WAAW,CAAc;IACzB,YAAY,CAAU;IACtB,SAAS,CAAU;IAE1B,YACE,aAAqB,EACrB,OAAkB,EAClB,UAAqB,EACrB,IAAe,EACf,SAAoB,EACpB,WAAsB,EACtB,UAAkB,EAClB,aAAqB,EACrB,WAAmB,EACnB,YAAoB,EACpB,WAAwB,EACxB,YAAqB,EACrB,SAAkB;QAElB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC;YACvB,GAAG,CAAC,eAAe,CAAC;YACpB,SAAS,CAAC,SAAS,CAAC;YACpB,SAAS,CAAC,YAAY,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC;YACjB,SAAS,CAAC,WAAW,CAAC;YACtB,SAAS,CAAC,aAAa,CAAC;YACxB,sBAAsB;YACtB,yBAAyB;YACzB,uBAAuB;YACvB,wBAAwB;YACxB,SAAS,CAAC,4BAA4B,CAAC;YACvC,SAAS,CAAC,4BAA4B,CAAC;YACvC,EAAE,CAAC,aAAa,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC;SAClB,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,iCAAiC;QAEjC,OAAO,KAAK,CAAA;QACZ,uBAAuB;QACrB,+BAA+B;QACjC,kCAAkC;QAClC,qCAAqC;QACrC,+BAA+B;QAC/B,oCAAoC;QACpC,sCAAsC;QACtC,8BAA8B;QAC9B,iCAAiC;QACjC,+BAA+B;QAC/B,gCAAgC;QAChC,uBAAuB;QACvB,wBAAwB;QACxB,oBAAoB;QACpB,KAAK;IACP,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ export declare const PROGRAM_ID = "E3zXK7VRyn39uuyshkQCriRXUAsR1KKQXaJ55KyDW4bp";
2
+ export declare const BET_API = "https://dev-jeffery.openhub.network/api/api";
3
+ export declare const BET_STATE_SEED = "bet-state";
4
+ export declare const CURVE_STATE_SEED = "curve-state";
5
+ export declare const APP_CONFIG_SEED = "app-config";
6
+ export declare const FEE_STORE_SEED = "fee-store";
7
+ export declare const FEE_RECIVED_ACCOUNT_SEED = "fee-recived-account";
8
+ export declare const TOKEN_MINT_AUTHORITY_SEED = "token-mint-authority";
9
+ export declare const POOL_SEED = "pool";
10
+ export declare const DEFAULT_CURVE_INITIALIZE_initReservedToken = 1000000000000000;
11
+ export declare const DEFAULT_CURVE_INITIALIZE_VITUAL_RESERVED_TOKEN = 1000000000000000;
12
+ export declare const DEFAULT_CURVE_INITIALIZE_TOKEN_DEMICAL = 6;
13
+ export declare const DEFAULT_CURVE_INITIALIZE_VITUAL_SOL_TOKEN = 30000000000;
14
+ export declare const DEFAULT_CURVE_INITIALIZE_SUPPLY = 1000000000000000;
15
+ export declare const REACH_CURVE_SOL_AMOUNT = 85000000000;
16
+ export declare const DEFAULT_DECIMALS = 6;
17
+ export declare const FEE_BASIS_POINTS = 100n;
18
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,iDAAiD,CAAC;AACzE,eAAO,MAAM,OAAO,gDAAgD,CAAC;AAErE,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAChE,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,eAAO,MAAM,0CAA0C,mBAAwB,CAAC;AAChF,eAAO,MAAM,8CAA8C,mBAAwB,CAAC;AACpF,eAAO,MAAM,sCAAsC,IAAI,CAAC;AACxD,eAAO,MAAM,yCAAyC,cAAiB,CAAC;AACxE,eAAO,MAAM,+BAA+B,mBAAwB,CAAC;AACrE,eAAO,MAAM,sBAAsB,cAAiB,CAAC;AACrD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,gBAAgB,OAAO,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const PROGRAM_ID = "E3zXK7VRyn39uuyshkQCriRXUAsR1KKQXaJ55KyDW4bp";
2
+ export const BET_API = "https://dev-jeffery.openhub.network/api/api";
3
+ export const BET_STATE_SEED = "bet-state";
4
+ export const CURVE_STATE_SEED = "curve-state";
5
+ export const APP_CONFIG_SEED = "app-config";
6
+ export const FEE_STORE_SEED = "fee-store";
7
+ export const FEE_RECIVED_ACCOUNT_SEED = "fee-recived-account";
8
+ export const TOKEN_MINT_AUTHORITY_SEED = "token-mint-authority";
9
+ export const POOL_SEED = "pool";
10
+ export const DEFAULT_CURVE_INITIALIZE_initReservedToken = 1_000_000_000_000_000;
11
+ export const DEFAULT_CURVE_INITIALIZE_VITUAL_RESERVED_TOKEN = 1_000_000_000_000_000;
12
+ export const DEFAULT_CURVE_INITIALIZE_TOKEN_DEMICAL = 6;
13
+ export const DEFAULT_CURVE_INITIALIZE_VITUAL_SOL_TOKEN = 30_000_000_000;
14
+ export const DEFAULT_CURVE_INITIALIZE_SUPPLY = 1_000_000_000_000_000;
15
+ export const REACH_CURVE_SOL_AMOUNT = 85_000_000_000;
16
+ export const DEFAULT_DECIMALS = 6;
17
+ export const FEE_BASIS_POINTS = 100n;
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,8CAA8C,CAAC;AACzE,MAAM,CAAC,MAAM,OAAO,GAAG,6CAA6C,CAAC;AAErE,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,MAAM,CAAC,MAAM,0CAA0C,GAAG,qBAAqB,CAAC;AAChF,MAAM,CAAC,MAAM,8CAA8C,GAAG,qBAAqB,CAAC;AACpF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,yCAAyC,GAAG,cAAc,CAAC;AACxE,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { Layout } from "@coral-xyz/borsh";
3
+ export type TOKEN_ACCOUNT_DATA_TYPE = {
4
+ mint: PublicKey;
5
+ owner: PublicKey;
6
+ amount: bigint;
7
+ };
8
+ export declare const TOKEN_ACCOUNT_DATA: Layout<TOKEN_ACCOUNT_DATA_TYPE>;
9
+ export declare class CurveState {
10
+ discriminator: bigint;
11
+ initReservedToken: bigint;
12
+ supply: bigint;
13
+ virtualSolReserves: bigint;
14
+ virtualTokenReserves: bigint;
15
+ realSolReserves: bigint;
16
+ realTokenReserves: bigint;
17
+ constructor(discriminator: bigint, initReservedToken: bigint, supply: bigint, virtualSolReserves: bigint, virtualTokenReserves: bigint, realSolReserves: bigint, realTokenReserves: bigint);
18
+ getBuyPrice(amount: bigint, isCompted: boolean): bigint;
19
+ getSellPrice(amount: bigint, feeBasisPoints: bigint, isCompted: boolean): bigint;
20
+ getMarketCapSOL(): bigint;
21
+ getFinalMarketCapSOL(feeBasisPoints: bigint): bigint;
22
+ getBuyOutPrice(amount: bigint, feeBasisPoints: bigint): bigint;
23
+ static fromBuffer(buffer: Buffer): CurveState;
24
+ }
25
+ //# sourceMappingURL=curveState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curveState.d.ts","sourceRoot":"","sources":["../../src/curveState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAgC,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,CAI7D,CAAC;AAGH,qBAAa,UAAU;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;gBAG/B,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM;IAW3B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;IA+BvD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;IAoBhF,eAAe,IAAI,MAAM;IAWzB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAepD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM;WAWhD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;CAsBrD"}
@@ -0,0 +1,100 @@
1
+ import { struct, u64, publicKey } from "@coral-xyz/borsh";
2
+ export const TOKEN_ACCOUNT_DATA = struct([
3
+ publicKey("mint"),
4
+ publicKey('owner'),
5
+ u64('amount'),
6
+ ]);
7
+ // CurveState
8
+ export class CurveState {
9
+ discriminator;
10
+ initReservedToken;
11
+ supply;
12
+ virtualSolReserves;
13
+ virtualTokenReserves;
14
+ realSolReserves;
15
+ realTokenReserves;
16
+ constructor(discriminator, initReservedToken, supply, virtualSolReserves, virtualTokenReserves, realSolReserves, realTokenReserves) {
17
+ this.discriminator = discriminator;
18
+ this.initReservedToken = initReservedToken;
19
+ this.supply = supply;
20
+ this.virtualSolReserves = virtualSolReserves;
21
+ this.virtualTokenReserves = virtualTokenReserves;
22
+ this.realSolReserves = realSolReserves;
23
+ this.realTokenReserves = realTokenReserves;
24
+ }
25
+ getBuyPrice(amount, isCompted) {
26
+ if (isCompted) {
27
+ throw new Error("Curve is isCompted");
28
+ }
29
+ if (amount <= 0n) {
30
+ return 0n;
31
+ }
32
+ // Calculate the product of virtual reserves
33
+ let n = this.virtualSolReserves * this.virtualTokenReserves;
34
+ console.log("n", n);
35
+ // Calculate the new virtual sol reserves after the purchase
36
+ let i = this.virtualSolReserves + amount;
37
+ console.log("i", i);
38
+ // Calculate the new virtual token reserves after the purchase
39
+ let r = n / i + 1n;
40
+ console.log("r", r);
41
+ // Calculate the amount of tokens to be purchased
42
+ let s = this.virtualTokenReserves - r;
43
+ console.log("s", s);
44
+ console.log("realSolReserves", this.realSolReserves);
45
+ // Return the minimum of the calculated tokens and real token reserves
46
+ return s < this.realSolReserves ? s : this.realSolReserves;
47
+ }
48
+ getSellPrice(amount, feeBasisPoints, isCompted) {
49
+ if (isCompted) {
50
+ throw new Error("Curve is complete");
51
+ }
52
+ if (amount <= 0n) {
53
+ return 0n;
54
+ }
55
+ // Calculate the proportional amount of virtual sol reserves to be received
56
+ let n = (amount * this.virtualSolReserves) / (this.virtualTokenReserves + amount);
57
+ // Calculate the fee amount in the same units
58
+ let a = (n * feeBasisPoints) / 10000n;
59
+ // Return the net amount after deducting the fee
60
+ return n - a;
61
+ }
62
+ getMarketCapSOL() {
63
+ if (this.virtualTokenReserves === 0n) {
64
+ return 0n;
65
+ }
66
+ return ((this.supply * this.virtualSolReserves) /
67
+ this.virtualTokenReserves);
68
+ }
69
+ getFinalMarketCapSOL(feeBasisPoints) {
70
+ let totalSellValue = this.getBuyOutPrice(this.realSolReserves, feeBasisPoints);
71
+ let totalVirtualValue = this.virtualSolReserves + totalSellValue;
72
+ let totalVirtualTokens = this.virtualTokenReserves - this.realSolReserves;
73
+ if (totalVirtualTokens === 0n) {
74
+ return 0n;
75
+ }
76
+ return (this.supply * totalVirtualValue) / totalVirtualTokens;
77
+ }
78
+ getBuyOutPrice(amount, feeBasisPoints) {
79
+ let solTokens = amount < this.realSolReserves ? this.realSolReserves : amount;
80
+ let totalSellValue = (solTokens * this.virtualSolReserves) /
81
+ (this.virtualTokenReserves - solTokens) +
82
+ 1n;
83
+ let fee = (totalSellValue * feeBasisPoints) / 10000n;
84
+ return totalSellValue + fee;
85
+ }
86
+ static fromBuffer(buffer) {
87
+ const structure = struct([
88
+ u64("discriminator"),
89
+ u64("initReservedToken"),
90
+ u64("supply"),
91
+ u64("virtualSolReserves"),
92
+ u64("virtualTokenReserves"),
93
+ u64("realSolReserves"),
94
+ u64("realTokenReserves"),
95
+ ]);
96
+ let value = structure.decode(buffer);
97
+ return new CurveState(BigInt(value.discriminator), BigInt(value.initReservedToken), BigInt(value.supply), BigInt(value.virtualTokenReserves), BigInt(value.virtualSolReserves), BigInt(value.realSolReserves), BigInt(value.realTokenReserves));
98
+ }
99
+ }
100
+ //# sourceMappingURL=curveState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curveState.js","sourceRoot":"","sources":["../../src/curveState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAQ,GAAG,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;AAQxE,MAAM,CAAC,MAAM,kBAAkB,GAAoC,MAAM,CAAC;IACxE,SAAS,CAAC,MAAM,CAAC;IACjB,SAAS,CAAC,OAAO,CAAC;IAClB,GAAG,CAAC,QAAQ,CAAC;CACd,CAAC,CAAC;AAEH,aAAa;AACb,MAAM,OAAO,UAAU;IACd,aAAa,CAAS;IACtB,iBAAiB,CAAS;IAC1B,MAAM,CAAS;IACf,kBAAkB,CAAS;IAC3B,oBAAoB,CAAS;IAC7B,eAAe,CAAS;IACxB,iBAAiB,CAAS;IAEjC,YACE,aAAqB,EACrB,iBAAyB,EACzB,MAAc,EACd,kBAA0B,EAC1B,oBAA4B,EAC5B,eAAuB,EACvB,iBAAyB;QAEzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,SAAkB;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpB,4DAA4D;QAC5D,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpB,8DAA8D;QAC9D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpB,iDAAiD;QACjD,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAErD,sEAAsE;QACtE,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,cAAsB,EAAE,SAAkB;QACrE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,2EAA2E;QAC3E,IAAI,CAAC,GACH,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAAC;QAE5E,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC;QAEtC,gDAAgD;QAChD,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,oBAAoB,KAAK,EAAE,EAAE,CAAC;YACrC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CACL,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,cAAsB;QACzC,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,CACtC,IAAI,CAAC,eAAe,EACpB,cAAc,CACf,CAAC;QACF,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;QACjE,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC;QAE1E,IAAI,kBAAkB,KAAK,EAAE,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,GAAG,kBAAkB,CAAC;IAChE,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,cAAsB;QACnD,IAAI,SAAS,GACX,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;QAChE,IAAI,cAAc,GAChB,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrC,CAAC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;YACvC,EAAE,CAAC;QACL,IAAI,GAAG,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC;QACrD,OAAO,cAAc,GAAG,GAAG,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,SAAS,GAAuB,MAAM,CAAC;YAC3C,GAAG,CAAC,eAAe,CAAC;YACpB,GAAG,CAAC,mBAAmB,CAAC;YACxB,GAAG,CAAC,QAAQ,CAAC;YACb,GAAG,CAAC,oBAAoB,CAAC;YACzB,GAAG,CAAC,sBAAsB,CAAC;YAC3B,GAAG,CAAC,iBAAiB,CAAC;YACtB,GAAG,CAAC,mBAAmB,CAAC;SACzB,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,IAAI,UAAU,CACnB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAC3B,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACpB,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAClC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAChC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAC7B,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAChC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import { CompleteEvent, CreateEvent, TradeEvent } from "./types";
2
+ export declare function toCreateEvent(event: CreateEvent): CreateEvent;
3
+ export declare function toCompleteEvent(event: CompleteEvent): CompleteEvent;
4
+ export declare function toTradeEvent(event: TradeEvent): TradeEvent;
5
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAS7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CASnE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAU1D"}
@@ -0,0 +1,32 @@
1
+ export function toCreateEvent(event) {
2
+ return {
3
+ owner: event.owner,
4
+ mint: event.mint,
5
+ bet_state: event.bet_state,
6
+ curve_account: event.curve_account,
7
+ migrate_type: event.migrate_type,
8
+ timestamp: event.timestamp,
9
+ };
10
+ }
11
+ export function toCompleteEvent(event) {
12
+ return {
13
+ user: event.user,
14
+ mint: event.mint,
15
+ bet_state: event.bet_state,
16
+ curve_account: event.curve_account,
17
+ migrate_type: event.migrate_type,
18
+ timestamp: event.timestamp,
19
+ };
20
+ }
21
+ export function toTradeEvent(event) {
22
+ return {
23
+ user: event.user,
24
+ mint: event.mint,
25
+ bet_state: event.bet_state,
26
+ curve_account: event.curve_account,
27
+ amount_in: BigInt(event.amount_in),
28
+ amount_out: BigInt(event.amount_out),
29
+ timestamp: Number(event.timestamp),
30
+ };
31
+ }
32
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;KACnC,CAAC;AACJ,CAAC"}