bet-test-sdk 1.2.8 → 1.2.9

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 (88) hide show
  1. package/README.md +105 -7
  2. package/dist/browser/index.js +815 -4047
  3. package/dist/browser/index.js.map +1 -1
  4. package/dist/browser/types/bet.d.ts +10 -4
  5. package/dist/browser/types/bet.d.ts.map +1 -1
  6. package/dist/browser/types/constants.d.ts +5 -5
  7. package/dist/browser/types/constants.d.ts.map +1 -1
  8. package/dist/browser/types/curveState.d.ts +8 -12
  9. package/dist/browser/types/curveState.d.ts.map +1 -1
  10. package/dist/browser/types/events.d.ts +3 -2
  11. package/dist/browser/types/events.d.ts.map +1 -1
  12. package/dist/browser/types/idl/bet.d.ts +605 -993
  13. package/dist/browser/types/idl/bet.d.ts.map +1 -1
  14. package/dist/browser/types/index.d.ts +0 -1
  15. package/dist/browser/types/index.d.ts.map +1 -1
  16. package/dist/browser/types/types.d.ts +26 -21
  17. package/dist/browser/types/types.d.ts.map +1 -1
  18. package/dist/browser/types/util.d.ts +2 -1
  19. package/dist/browser/types/util.d.ts.map +1 -1
  20. package/dist/cjs/bet.d.ts +10 -4
  21. package/dist/cjs/bet.d.ts.map +1 -1
  22. package/dist/cjs/bet.js +104 -49
  23. package/dist/cjs/bet.js.map +1 -1
  24. package/dist/cjs/constants.d.ts +5 -5
  25. package/dist/cjs/constants.d.ts.map +1 -1
  26. package/dist/cjs/constants.js +5 -5
  27. package/dist/cjs/constants.js.map +1 -1
  28. package/dist/cjs/curveState.d.ts +8 -12
  29. package/dist/cjs/curveState.d.ts.map +1 -1
  30. package/dist/cjs/curveState.js +66 -22
  31. package/dist/cjs/curveState.js.map +1 -1
  32. package/dist/cjs/events.d.ts +3 -2
  33. package/dist/cjs/events.d.ts.map +1 -1
  34. package/dist/cjs/events.js +28 -12
  35. package/dist/cjs/events.js.map +1 -1
  36. package/dist/cjs/idl/bet.d.ts +605 -993
  37. package/dist/cjs/idl/bet.d.ts.map +1 -1
  38. package/dist/cjs/idl/bet.json +563 -951
  39. package/dist/cjs/index.d.ts +0 -1
  40. package/dist/cjs/index.d.ts.map +1 -1
  41. package/dist/cjs/index.js +0 -1
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/types.d.ts +26 -21
  44. package/dist/cjs/types.d.ts.map +1 -1
  45. package/dist/cjs/util.d.ts +2 -1
  46. package/dist/cjs/util.d.ts.map +1 -1
  47. package/dist/cjs/util.js +9 -5
  48. package/dist/cjs/util.js.map +1 -1
  49. package/dist/esm/bet.d.ts +10 -4
  50. package/dist/esm/bet.d.ts.map +1 -1
  51. package/dist/esm/bet.js +106 -51
  52. package/dist/esm/bet.js.map +1 -1
  53. package/dist/esm/constants.d.ts +5 -5
  54. package/dist/esm/constants.d.ts.map +1 -1
  55. package/dist/esm/constants.js +5 -5
  56. package/dist/esm/constants.js.map +1 -1
  57. package/dist/esm/curveState.d.ts +8 -12
  58. package/dist/esm/curveState.d.ts.map +1 -1
  59. package/dist/esm/curveState.js +67 -23
  60. package/dist/esm/curveState.js.map +1 -1
  61. package/dist/esm/events.d.ts +3 -2
  62. package/dist/esm/events.d.ts.map +1 -1
  63. package/dist/esm/events.js +26 -11
  64. package/dist/esm/events.js.map +1 -1
  65. package/dist/esm/idl/bet.d.ts +605 -993
  66. package/dist/esm/idl/bet.d.ts.map +1 -1
  67. package/dist/esm/idl/bet.json +563 -951
  68. package/dist/esm/index.d.ts +0 -1
  69. package/dist/esm/index.d.ts.map +1 -1
  70. package/dist/esm/index.js +0 -1
  71. package/dist/esm/index.js.map +1 -1
  72. package/dist/esm/types.d.ts +26 -21
  73. package/dist/esm/types.d.ts.map +1 -1
  74. package/dist/esm/util.d.ts +2 -1
  75. package/dist/esm/util.d.ts.map +1 -1
  76. package/dist/esm/util.js +6 -3
  77. package/dist/esm/util.js.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/browser/types/amm.d.ts +0 -24
  80. package/dist/browser/types/amm.d.ts.map +0 -1
  81. package/dist/cjs/amm.d.ts +0 -24
  82. package/dist/cjs/amm.d.ts.map +0 -1
  83. package/dist/cjs/amm.js +0 -61
  84. package/dist/cjs/amm.js.map +0 -1
  85. package/dist/esm/amm.d.ts +0 -24
  86. package/dist/esm/amm.d.ts.map +0 -1
  87. package/dist/esm/amm.js +0 -57
  88. package/dist/esm/amm.js.map +0 -1
package/README.md CHANGED
@@ -14,7 +14,7 @@ The `BetSDK` is designed to interact with the bet.com decentralized application.
14
14
  npm i bet-test-sdk
15
15
  `
16
16
 
17
- ## Notice (for developers)
17
+ ## Notice (for front-end developers)
18
18
  If you encounter an error regarding the `crypto` module when building a front-end project with frameworks such as React, Vue, or Next.js, consider installing a polyfill (for example, the node-polyfills plugin) or adding a crypto-browserify alias to your build configuration.
19
19
 
20
20
  For example:
@@ -110,6 +110,27 @@ async getBuyInstructionsBySolAmount(
110
110
  - `commitment`: Commitment level (default: DEFAULT_COMMITMENT).
111
111
  - **Returns**: A promise that resolves to a `Transaction`.
112
112
 
113
+ #### getBuyInstructionsByTokenAmount
114
+
115
+ ```typescript
116
+ async getBuyInstructionsByTokenAmount(
117
+ buyer: PublicKey,
118
+ mint: PublicKey,
119
+ buyAmountToken: bigint,
120
+ slippageBasisPoints: bigint = 500n,
121
+ commitment: Commitment = DEFAULT_COMMITMENT
122
+ ): Promise<Transaction>
123
+ ```
124
+
125
+ - Buys a specified amount of tokens by token input.
126
+ - **Parameters**:
127
+ - `buyer`: The public key of the buyer.
128
+ - `mint`: The public key of the mint account.
129
+ - `buyAmountToken`: Amount of token to buy.
130
+ - `slippageBasisPoints`: Slippage in basis points (default: 500).
131
+ - `commitment`: Commitment level (default: DEFAULT_COMMITMENT).
132
+ - **Returns**: A promise that resolves to a `Transaction`.
133
+
113
134
  #### getSellInstructionsByTokenAmount
114
135
 
115
136
  ```typescript
@@ -129,6 +150,25 @@ async getSellInstructionsByTokenAmount(
129
150
  - `slippageBasisPoints`: Slippage in basis points (default: 500)
130
151
  - **Returns**: A promise that resolves to a `Transaction`.
131
152
 
153
+ #### getSellInstructionsBySolAmount
154
+
155
+ ```typescript
156
+ async getSellInstructionsBySolAmount(
157
+ seller: PublicKey,
158
+ mint: PublicKey,
159
+ solAmountOut: bigint,
160
+ slippageBasisPoints: bigint = 500n,
161
+ ): Promise<Transaction>
162
+ ```
163
+
164
+ - Sells a specified amount of tokens.
165
+ - **Parameters**:
166
+ - `seller`: The public key of the seller.
167
+ - `mint`: The public key of the mint account.
168
+ - `solAmountOut`: Amount of sol to sell.
169
+ - `slippageBasisPoints`: Slippage in basis points (default: 500)
170
+ - **Returns**: A promise that resolves to a `Transaction`.
171
+
132
172
  ### Some preview methods for calculations
133
173
 
134
174
  ```typescript
@@ -235,7 +275,7 @@ const createAndBuyToken = async (sdk, testAccount) => {
235
275
  }
236
276
  };
237
277
 
238
- const buyTokens = async (sdk, testAccount, mint) => {
278
+ const buyTokensWithSolAmount = async (sdk, testAccount, mint) => {
239
279
  const curveStateAccount = await sdk.getCurveStateAccount(mint)
240
280
  if (curveStateAccount) {
241
281
  console.log(
@@ -244,7 +284,7 @@ const buyTokens = async (sdk, testAccount, mint) => {
244
284
  );
245
285
  return;
246
286
  }
247
- const buyResults = await sdk.buy(
287
+ const buyResults = await sdk.buyWithSolAmount(
248
288
  testAccount,
249
289
  mint,
250
290
  BigInt(0.001 * LAMPORTS_PER_SOL),
@@ -263,7 +303,35 @@ const buyTokens = async (sdk, testAccount, mint) => {
263
303
  }
264
304
  };
265
305
 
266
- const sellTokens = async (sdk, testAccount, mint) => {
306
+ const buyTokensWithTokenAmount = async (sdk, testAccount, mint) => {
307
+ const curveStateAccount = await sdk.getCurveStateAccount(mint)
308
+ if (curveStateAccount) {
309
+ console.log(
310
+ "mint does not exist",
311
+ mint.toBase58()
312
+ );
313
+ return;
314
+ }
315
+ const buyResults = await sdk.buyWithTokenAmount(
316
+ testAccount,
317
+ mint,
318
+ BigInt(10000 * Math.pow(10, DEFAULT_DECIMALS)),
319
+ SLIPPAGE_BASIS_POINTS,
320
+ {
321
+ unitLimit: 500000,
322
+ unitPrice: 250000,
323
+ },
324
+ );
325
+
326
+ if (buyResults.success) {
327
+ printSPLBalance(sdk.connection, mint, testAccount.publicKey);
328
+ console.log("Curve state after buy", await sdk.getCurveStateAccount(mint));
329
+ } else {
330
+ console.log("Buy failed");
331
+ }
332
+ };
333
+
334
+ const sellTokensWithTokenAmount = async (sdk, testAccount, mint) => {
267
335
  const currentSPLBalance = await getSPLBalance(
268
336
  sdk.connection,
269
337
  mint,
@@ -272,7 +340,7 @@ const sellTokens = async (sdk, testAccount, mint) => {
272
340
  console.log("currentSPLBalance", currentSPLBalance);
273
341
 
274
342
  if (currentSPLBalance) {
275
- const sellResults = await sdk.sell(
343
+ const sellResults = await sdk.sellWithTokenAmount(
276
344
  testAccount,
277
345
  mint,
278
346
  BigInt(currentSPLBalance * Math.pow(10, DEFAULT_DECIMALS)),
@@ -293,6 +361,36 @@ const sellTokens = async (sdk, testAccount, mint) => {
293
361
  }
294
362
  };
295
363
 
364
+ const sellTokensWithSolAmount = async (sdk, testAccount, mint) => {
365
+ const currentSPLBalance = await getSPLBalance(
366
+ sdk.connection,
367
+ mint,
368
+ testAccount.publicKey
369
+ );
370
+ console.log("currentSPLBalance", currentSPLBalance);
371
+
372
+ if (currentSPLBalance) {
373
+ const sellResults = await sdk.sellWithSolAmount(
374
+ testAccount,
375
+ mint,
376
+ BigInt(0.001 * LAMPORTS_PER_SOL),
377
+ SLIPPAGE_BASIS_POINTS,
378
+ {
379
+ unitLimit: 500000,
380
+ unitPrice: 250000,
381
+ }
382
+ );
383
+
384
+ if (sellResults.success) {
385
+ await printSOLBalance(sdk.connection, testAccount.publicKey, "Test Account keypair");
386
+ printSPLBalance(sdk.connection, mint, testAccount.publicKey, "After SPL sell all");
387
+ console.log("Bet curve after sell", await sdk.getCurveStateAccount(mint));
388
+ } else {
389
+ console.log("Sell failed");
390
+ }
391
+ }
392
+ };
393
+
296
394
  const main = async () => {
297
395
  try {
298
396
  const provider = getProvider();
@@ -318,8 +416,8 @@ const main = async () => {
318
416
  }
319
417
 
320
418
  if (curveStateAccount) {
321
- await buyTokens(sdk, testAccount, mint);
322
- await sellTokens(sdk, testAccount, mint);
419
+ await buyTokensWithSolAmount(sdk, testAccount, mint);
420
+ await sellTokensWithTokenAmount(sdk, testAccount, mint);
323
421
  }
324
422
  } catch (error) {
325
423
  console.error("An error occurred:", error);