bet-test-sdk 1.2.7 → 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 +819 -4048
  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 +108 -50
  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 +110 -52
  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
@@ -5,5 +5,4 @@ export * from './types';
5
5
  export * from './events';
6
6
  export * from './curveState';
7
7
  export * from './betState';
8
- export * from './amm';
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
package/dist/esm/index.js CHANGED
@@ -5,5 +5,4 @@ export * from './types';
5
5
  export * from './events';
6
6
  export * from './curveState';
7
7
  export * from './betState';
8
- export * from './amm';
9
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
@@ -19,43 +19,48 @@ export type CreateTokenMetadata = {
19
19
  discord?: string;
20
20
  website?: string;
21
21
  };
22
- export type TokenMetadata = {
23
- name: string;
24
- symbol: string;
25
- description: string;
26
- image: string;
27
- migrateDex: MigrateDex;
28
- createdOn: string;
29
- };
30
22
  export type CreateEvent = {
31
23
  owner: PublicKey;
32
24
  mint: PublicKey;
33
- bet_state: PublicKey;
34
- curve_account: PublicKey;
35
- migrate_type: MigrateType;
25
+ betState: PublicKey;
26
+ curveAccount: PublicKey;
27
+ migrateType: MigrateType;
28
+ timestamp: number;
29
+ };
30
+ export type BuyEvent = {
31
+ user: PublicKey;
32
+ mint: PublicKey;
33
+ betState: PublicKey;
34
+ curveAccount: PublicKey;
35
+ amountIn: bigint;
36
+ amountOut: bigint;
37
+ virtualSolReserves: bigint;
38
+ virtualTokenReserves: bigint;
36
39
  timestamp: number;
37
40
  };
38
- export type TradeEvent = {
41
+ export type SellEvent = {
39
42
  user: PublicKey;
40
43
  mint: PublicKey;
41
- bet_state: PublicKey;
42
- curve_account: PublicKey;
43
- amount_in: bigint;
44
- amount_out: bigint;
44
+ betState: PublicKey;
45
+ curveAccount: PublicKey;
46
+ amountIn: bigint;
47
+ amountOut: bigint;
48
+ virtualSolReserves: bigint;
49
+ virtualTokenReserves: bigint;
45
50
  timestamp: number;
46
51
  };
47
52
  export type CompleteEvent = {
48
53
  user: PublicKey;
49
54
  mint: PublicKey;
50
- bet_state: PublicKey;
51
- curve_account: PublicKey;
52
- migrate_type: MigrateType;
55
+ betState: PublicKey;
56
+ curveAccount: PublicKey;
57
+ migrateType: MigrateType;
53
58
  timestamp: number;
54
59
  };
55
60
  export interface BetEventHandlers {
56
61
  createEvent: CreateEvent;
57
- buyEvent: TradeEvent;
58
- sellEvent: TradeEvent;
62
+ buyEvent: BuyEvent;
63
+ sellEvent: SellEvent;
59
64
  completeEvent: CompleteEvent;
60
65
  }
61
66
  export type BetEventType = keyof BetEventHandlers;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAE1E,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,4BAA4B,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAE1E,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,4BAA4B,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -2,7 +2,8 @@ import { Commitment, Connection, Finality, Keypair, PublicKey, Transaction, Vers
2
2
  import { PriorityFee, TransactionResult } from "./types";
3
3
  export declare const DEFAULT_COMMITMENT: Commitment;
4
4
  export declare const DEFAULT_FINALITY: Finality;
5
- export declare const calculateWithSlippage: (amount: bigint, basisPoints: bigint) => bigint;
5
+ export declare const calculateMinOutWithSlippage: (amount: bigint, basisPoints: bigint) => bigint;
6
+ export declare const calculateMaxInWithSlippage: (amount: bigint, basisPoints: bigint) => bigint;
6
7
  export declare function sendTx(connection: Connection, tx: Transaction, payer: PublicKey, signers: Keypair[], priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
7
8
  export declare const buildVersionedTx: (connection: Connection, payer: PublicKey, tx: Transaction, commitment?: Commitment) => Promise<VersionedTransaction>;
8
9
  export declare const getTxDetails: (connection: Connection, sig: string, commitment?: Commitment, finality?: Finality) => Promise<VersionedTransactionResponse | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EAET,WAAW,EAEX,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIzD,eAAO,MAAM,kBAAkB,EAAE,UAAwB,CAAC;AAC1D,eAAO,MAAM,gBAAgB,EAAE,QAAsB,CAAC;AAItD,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,EACd,aAAa,MAAM,WAGpB,CAAC;AAEF,wBAAsB,MAAM,CAC1B,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAAE,EAClB,YAAY,CAAC,EAAE,WAAW,EAC1B,UAAU,GAAE,UAA+B,EAC3C,QAAQ,GAAE,QAA2B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAkD5B;AAED,eAAO,MAAM,gBAAgB,GAC3B,YAAY,UAAU,EACtB,OAAO,SAAS,EAChB,IAAI,WAAW,EACf,aAAY,UAA+B,KAC1C,OAAO,CAAC,oBAAoB,CAW9B,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,UAAU,EACtB,KAAK,MAAM,EACX,aAAY,UAA+B,EAC3C,WAAU,QAA2B,KACpC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAe7C,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,YAAY,UAAU,EACtB,aAAa,SAAS,EACtB,QAAQ,SAAS,EACjB,gBAAe,OAAe,2BAU/B,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EAET,WAAW,EAEX,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIzD,eAAO,MAAM,kBAAkB,EAAE,UAAwB,CAAC;AAC1D,eAAO,MAAM,gBAAgB,EAAE,QAAsB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,GACtC,QAAQ,MAAM,EACd,aAAa,MAAM,WAGpB,CAAC;AAGF,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,aAAa,MAAM,WAGpB,CAAC;AAEF,wBAAsB,MAAM,CAC1B,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAAE,EAClB,YAAY,CAAC,EAAE,WAAW,EAC1B,UAAU,GAAE,UAA+B,EAC3C,QAAQ,GAAE,QAA2B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAkD5B;AAED,eAAO,MAAM,gBAAgB,GAC3B,YAAY,UAAU,EACtB,OAAO,SAAS,EAChB,IAAI,WAAW,EACf,aAAY,UAA+B,KAC1C,OAAO,CAAC,oBAAoB,CAW9B,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,UAAU,EACtB,KAAK,MAAM,EACX,aAAY,UAA+B,EAC3C,WAAU,QAA2B,KACpC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAe7C,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,YAAY,UAAU,EACtB,aAAa,SAAS,EACtB,QAAQ,SAAS,EACjB,gBAAe,OAAe,2BAU/B,CAAC"}
package/dist/esm/util.js CHANGED
@@ -3,11 +3,14 @@ import { DENOMINATOR } from "./constants";
3
3
  import { getAssociatedTokenAddressSync } from "@solana/spl-token";
4
4
  export const DEFAULT_COMMITMENT = "finalized";
5
5
  export const DEFAULT_FINALITY = "finalized";
6
- // token amount => token amount
7
- // sol amount => sol amount
8
- export const calculateWithSlippage = (amount, basisPoints) => {
6
+ // Calculate the minimum outputs after slippage
7
+ export const calculateMinOutWithSlippage = (amount, basisPoints) => {
9
8
  return amount - (amount * basisPoints) / DENOMINATOR;
10
9
  };
10
+ // Calculate the maximum inputs after slippage
11
+ export const calculateMaxInWithSlippage = (amount, basisPoints) => {
12
+ return amount + (amount * basisPoints) / DENOMINATOR;
13
+ };
11
14
  export async function sendTx(connection, tx, payer, signers, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
12
15
  let newTx = new Transaction();
13
16
  if (priorityFees) {
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bet-test-sdk",
3
- "version": "1.2.7",
3
+ "version": "1.2.9",
4
4
  "description": "A simple SDK for interacting with test bet",
5
5
  "module": "./dist/esm/index.js",
6
6
  "main": "./dist/cjs/index.js",
@@ -1,24 +0,0 @@
1
- import { CurveState } from "./curveState";
2
- export type BuyResult = {
3
- token_amount: bigint;
4
- sol_amount: bigint;
5
- };
6
- export type SellResult = {
7
- token_amount: bigint;
8
- sol_amount: bigint;
9
- };
10
- export declare class AMM {
11
- initReservedToken: bigint;
12
- virtualSolReserves: bigint;
13
- virtualTokenReserves: bigint;
14
- realSolReserves: bigint;
15
- realTokenReserves: bigint;
16
- constructor(initReservedToken: bigint, virtualSolReserves: bigint, virtualTokenReserves: bigint, realSolReserves: bigint, realTokenReserves: bigint);
17
- static fromInitBetState(curveState: CurveState): AMM;
18
- static fromCurveStateAccount(curveState: CurveState, initialvirtualTokenReserves: bigint): AMM;
19
- getBuyPrice(tokens: bigint): bigint;
20
- applyBuy(token_amount: bigint): BuyResult;
21
- applySell(token_amount: bigint): SellResult;
22
- getSellPrice(tokens: bigint): bigint;
23
- }
24
- //# sourceMappingURL=amm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amm.d.ts","sourceRoot":"","sources":["../src/amm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,SAAS,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,GAAG;IAED,iBAAiB,EAAE,MAAM;IACzB,kBAAkB,EAAE,MAAM;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;gBAJzB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM;IAGpC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG;IAUpD,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,GAAG,GAAG;IAU9F,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAQnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;IAgBzC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU;IAe3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAMvC"}
package/dist/cjs/amm.d.ts DELETED
@@ -1,24 +0,0 @@
1
- import { CurveState } from "./curveState";
2
- export type BuyResult = {
3
- token_amount: bigint;
4
- sol_amount: bigint;
5
- };
6
- export type SellResult = {
7
- token_amount: bigint;
8
- sol_amount: bigint;
9
- };
10
- export declare class AMM {
11
- initReservedToken: bigint;
12
- virtualSolReserves: bigint;
13
- virtualTokenReserves: bigint;
14
- realSolReserves: bigint;
15
- realTokenReserves: bigint;
16
- constructor(initReservedToken: bigint, virtualSolReserves: bigint, virtualTokenReserves: bigint, realSolReserves: bigint, realTokenReserves: bigint);
17
- static fromInitBetState(curveState: CurveState): AMM;
18
- static fromCurveStateAccount(curveState: CurveState, initialvirtualTokenReserves: bigint): AMM;
19
- getBuyPrice(tokens: bigint): bigint;
20
- applyBuy(token_amount: bigint): BuyResult;
21
- applySell(token_amount: bigint): SellResult;
22
- getSellPrice(tokens: bigint): bigint;
23
- }
24
- //# sourceMappingURL=amm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amm.d.ts","sourceRoot":"","sources":["../../src/amm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,SAAS,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,GAAG;IAED,iBAAiB,EAAE,MAAM;IACzB,kBAAkB,EAAE,MAAM;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;gBAJzB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM;IAGpC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG;IAUpD,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,GAAG,GAAG;IAU9F,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAQnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;IAgBzC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU;IAe3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAMvC"}
package/dist/cjs/amm.js DELETED
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AMM = void 0;
4
- class AMM {
5
- initReservedToken;
6
- virtualSolReserves;
7
- virtualTokenReserves;
8
- realSolReserves;
9
- realTokenReserves;
10
- constructor(initReservedToken, virtualSolReserves, virtualTokenReserves, realSolReserves, realTokenReserves) {
11
- this.initReservedToken = initReservedToken;
12
- this.virtualSolReserves = virtualSolReserves;
13
- this.virtualTokenReserves = virtualTokenReserves;
14
- this.realSolReserves = realSolReserves;
15
- this.realTokenReserves = realTokenReserves;
16
- }
17
- static fromInitBetState(curveState) {
18
- return new AMM(curveState.initReservedToken, curveState.virtualSolReserves, curveState.virtualTokenReserves, 0n, curveState.realTokenReserves);
19
- }
20
- static fromCurveStateAccount(curveState, initialvirtualTokenReserves) {
21
- return new AMM(curveState.virtualSolReserves, curveState.virtualTokenReserves, curveState.realSolReserves, curveState.realTokenReserves, initialvirtualTokenReserves);
22
- }
23
- getBuyPrice(tokens) {
24
- const product_of_reserves = this.virtualSolReserves * this.virtualTokenReserves;
25
- const new_virtual_token_reserves = this.virtualTokenReserves - tokens;
26
- const new_virtual_sol_reserves = product_of_reserves / new_virtual_token_reserves + 1n;
27
- const amount_needed = new_virtual_sol_reserves > this.virtualSolReserves ? new_virtual_sol_reserves - this.virtualSolReserves : 0n;
28
- return amount_needed > 0n ? amount_needed : 0n;
29
- }
30
- applyBuy(token_amount) {
31
- const final_token_amount = token_amount > this.realTokenReserves ? this.realTokenReserves : token_amount;
32
- const sol_amount = this.getBuyPrice(final_token_amount);
33
- this.virtualTokenReserves = this.virtualTokenReserves - final_token_amount;
34
- this.realTokenReserves = this.realTokenReserves - final_token_amount;
35
- this.virtualSolReserves = this.virtualSolReserves + sol_amount;
36
- this.realSolReserves = this.realSolReserves + sol_amount;
37
- return {
38
- token_amount: final_token_amount,
39
- sol_amount: sol_amount
40
- };
41
- }
42
- applySell(token_amount) {
43
- this.virtualTokenReserves = this.virtualTokenReserves + token_amount;
44
- this.realTokenReserves = this.realTokenReserves + token_amount;
45
- const sell_price = this.getSellPrice(token_amount);
46
- this.virtualSolReserves = this.virtualSolReserves - sell_price;
47
- this.realSolReserves = this.realSolReserves - sell_price;
48
- return {
49
- token_amount: token_amount,
50
- sol_amount: sell_price
51
- };
52
- }
53
- getSellPrice(tokens) {
54
- const scaling_factor = this.initReservedToken;
55
- const token_sell_proportion = (tokens * scaling_factor) / this.virtualTokenReserves;
56
- const sol_received = (this.virtualSolReserves * token_sell_proportion) / scaling_factor;
57
- return sol_received < this.realSolReserves ? sol_received : this.realSolReserves;
58
- }
59
- }
60
- exports.AMM = AMM;
61
- //# sourceMappingURL=amm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amm.js","sourceRoot":"","sources":["../../src/amm.ts"],"names":[],"mappings":"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"}
package/dist/esm/amm.d.ts DELETED
@@ -1,24 +0,0 @@
1
- import { CurveState } from "./curveState";
2
- export type BuyResult = {
3
- token_amount: bigint;
4
- sol_amount: bigint;
5
- };
6
- export type SellResult = {
7
- token_amount: bigint;
8
- sol_amount: bigint;
9
- };
10
- export declare class AMM {
11
- initReservedToken: bigint;
12
- virtualSolReserves: bigint;
13
- virtualTokenReserves: bigint;
14
- realSolReserves: bigint;
15
- realTokenReserves: bigint;
16
- constructor(initReservedToken: bigint, virtualSolReserves: bigint, virtualTokenReserves: bigint, realSolReserves: bigint, realTokenReserves: bigint);
17
- static fromInitBetState(curveState: CurveState): AMM;
18
- static fromCurveStateAccount(curveState: CurveState, initialvirtualTokenReserves: bigint): AMM;
19
- getBuyPrice(tokens: bigint): bigint;
20
- applyBuy(token_amount: bigint): BuyResult;
21
- applySell(token_amount: bigint): SellResult;
22
- getSellPrice(tokens: bigint): bigint;
23
- }
24
- //# sourceMappingURL=amm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amm.d.ts","sourceRoot":"","sources":["../../src/amm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,SAAS,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,GAAG;IAED,iBAAiB,EAAE,MAAM;IACzB,kBAAkB,EAAE,MAAM;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;gBAJzB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM;IAGpC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG;IAUpD,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,GAAG,GAAG;IAU9F,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAQnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;IAgBzC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU;IAe3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAMvC"}
package/dist/esm/amm.js DELETED
@@ -1,57 +0,0 @@
1
- export class AMM {
2
- initReservedToken;
3
- virtualSolReserves;
4
- virtualTokenReserves;
5
- realSolReserves;
6
- realTokenReserves;
7
- constructor(initReservedToken, virtualSolReserves, virtualTokenReserves, realSolReserves, realTokenReserves) {
8
- this.initReservedToken = initReservedToken;
9
- this.virtualSolReserves = virtualSolReserves;
10
- this.virtualTokenReserves = virtualTokenReserves;
11
- this.realSolReserves = realSolReserves;
12
- this.realTokenReserves = realTokenReserves;
13
- }
14
- static fromInitBetState(curveState) {
15
- return new AMM(curveState.initReservedToken, curveState.virtualSolReserves, curveState.virtualTokenReserves, 0n, curveState.realTokenReserves);
16
- }
17
- static fromCurveStateAccount(curveState, initialvirtualTokenReserves) {
18
- return new AMM(curveState.virtualSolReserves, curveState.virtualTokenReserves, curveState.realSolReserves, curveState.realTokenReserves, initialvirtualTokenReserves);
19
- }
20
- getBuyPrice(tokens) {
21
- const product_of_reserves = this.virtualSolReserves * this.virtualTokenReserves;
22
- const new_virtual_token_reserves = this.virtualTokenReserves - tokens;
23
- const new_virtual_sol_reserves = product_of_reserves / new_virtual_token_reserves + 1n;
24
- const amount_needed = new_virtual_sol_reserves > this.virtualSolReserves ? new_virtual_sol_reserves - this.virtualSolReserves : 0n;
25
- return amount_needed > 0n ? amount_needed : 0n;
26
- }
27
- applyBuy(token_amount) {
28
- const final_token_amount = token_amount > this.realTokenReserves ? this.realTokenReserves : token_amount;
29
- const sol_amount = this.getBuyPrice(final_token_amount);
30
- this.virtualTokenReserves = this.virtualTokenReserves - final_token_amount;
31
- this.realTokenReserves = this.realTokenReserves - final_token_amount;
32
- this.virtualSolReserves = this.virtualSolReserves + sol_amount;
33
- this.realSolReserves = this.realSolReserves + sol_amount;
34
- return {
35
- token_amount: final_token_amount,
36
- sol_amount: sol_amount
37
- };
38
- }
39
- applySell(token_amount) {
40
- this.virtualTokenReserves = this.virtualTokenReserves + token_amount;
41
- this.realTokenReserves = this.realTokenReserves + token_amount;
42
- const sell_price = this.getSellPrice(token_amount);
43
- this.virtualSolReserves = this.virtualSolReserves - sell_price;
44
- this.realSolReserves = this.realSolReserves - sell_price;
45
- return {
46
- token_amount: token_amount,
47
- sol_amount: sell_price
48
- };
49
- }
50
- getSellPrice(tokens) {
51
- const scaling_factor = this.initReservedToken;
52
- const token_sell_proportion = (tokens * scaling_factor) / this.virtualTokenReserves;
53
- const sol_received = (this.virtualSolReserves * token_sell_proportion) / scaling_factor;
54
- return sol_received < this.realSolReserves ? sol_received : this.realSolReserves;
55
- }
56
- }
57
- //# sourceMappingURL=amm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amm.js","sourceRoot":"","sources":["../../src/amm.ts"],"names":[],"mappings":"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"}