@drift-labs/sdk 0.1.3 → 0.1.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 (79) hide show
  1. package/.eslintrc.json +36 -0
  2. package/.prettierignore +1 -0
  3. package/.prettierrc.js +9 -0
  4. package/README.md +8 -5
  5. package/lib/accounts/defaultClearingHouseAccountSubscriber.d.ts +1 -0
  6. package/lib/accounts/defaultClearingHouseAccountSubscriber.d.ts.map +1 -0
  7. package/lib/accounts/defaultHistoryAccountSubscriber.d.ts +1 -0
  8. package/lib/accounts/defaultHistoryAccountSubscriber.d.ts.map +1 -0
  9. package/lib/accounts/defaultUserAccountSubscriber.d.ts +1 -0
  10. package/lib/accounts/defaultUserAccountSubscriber.d.ts.map +1 -0
  11. package/lib/accounts/types.d.ts +1 -0
  12. package/lib/accounts/types.d.ts.map +1 -0
  13. package/lib/accounts/webSocketAccountSubscriber.d.ts +1 -0
  14. package/lib/accounts/webSocketAccountSubscriber.d.ts.map +1 -0
  15. package/lib/addresses.d.ts +1 -0
  16. package/lib/addresses.d.ts.map +1 -0
  17. package/lib/admin.d.ts +2 -1
  18. package/lib/admin.d.ts.map +1 -0
  19. package/lib/admin.js +2 -2
  20. package/lib/assert/assert.d.ts +1 -0
  21. package/lib/assert/assert.d.ts.map +1 -0
  22. package/lib/clearingHouse.d.ts +1 -0
  23. package/lib/clearingHouse.d.ts.map +1 -0
  24. package/lib/clearingHouseUser.d.ts +2 -1
  25. package/lib/clearingHouseUser.d.ts.map +1 -0
  26. package/lib/clearingHouseUser.js +20 -3
  27. package/lib/config.d.ts +1 -0
  28. package/lib/config.d.ts.map +1 -0
  29. package/lib/config.js +1 -1
  30. package/lib/constants/markets.d.ts +1 -0
  31. package/lib/constants/markets.d.ts.map +1 -0
  32. package/lib/constants/markets.js +21 -21
  33. package/lib/constants/numericConstants.d.ts +1 -0
  34. package/lib/constants/numericConstants.d.ts.map +1 -0
  35. package/lib/examples/makeTradeExample.d.ts +1 -0
  36. package/lib/examples/makeTradeExample.d.ts.map +1 -0
  37. package/lib/idl/clearing_house.json +39 -30
  38. package/lib/index.d.ts +1 -0
  39. package/lib/index.d.ts.map +1 -0
  40. package/lib/math/amm.d.ts +1 -0
  41. package/lib/math/amm.d.ts.map +1 -0
  42. package/lib/math/conversion.d.ts +1 -0
  43. package/lib/math/conversion.d.ts.map +1 -0
  44. package/lib/math/funding.d.ts +34 -1
  45. package/lib/math/funding.d.ts.map +1 -0
  46. package/lib/math/funding.js +152 -15
  47. package/lib/math/market.d.ts +1 -0
  48. package/lib/math/market.d.ts.map +1 -0
  49. package/lib/math/position.d.ts +1 -0
  50. package/lib/math/position.d.ts.map +1 -0
  51. package/lib/math/trade.d.ts +5 -3
  52. package/lib/math/trade.d.ts.map +1 -0
  53. package/lib/math/trade.js +5 -4
  54. package/lib/math/utils.d.ts +1 -0
  55. package/lib/math/utils.d.ts.map +1 -0
  56. package/lib/mockUSDCFaucet.d.ts +1 -0
  57. package/lib/mockUSDCFaucet.d.ts.map +1 -0
  58. package/lib/pythClient.d.ts +1 -0
  59. package/lib/pythClient.d.ts.map +1 -0
  60. package/lib/tx/defaultTxSender.d.ts +1 -0
  61. package/lib/tx/defaultTxSender.d.ts.map +1 -0
  62. package/lib/tx/types.d.ts +1 -0
  63. package/lib/tx/types.d.ts.map +1 -0
  64. package/lib/tx/utils.d.ts +1 -0
  65. package/lib/tx/utils.d.ts.map +1 -0
  66. package/lib/types.d.ts +11 -1
  67. package/lib/types.d.ts.map +1 -0
  68. package/package.json +16 -3
  69. package/src/admin.ts +4 -4
  70. package/src/clearingHouse.ts +12 -12
  71. package/src/clearingHouseUser.ts +27 -4
  72. package/src/config.ts +1 -2
  73. package/src/constants/markets.ts +21 -21
  74. package/src/idl/clearing_house.json +39 -30
  75. package/src/math/funding.ts +189 -29
  76. package/src/math/position.ts +3 -3
  77. package/src/math/trade.ts +14 -8
  78. package/src/types.ts +10 -1
  79. package/tsconfig.json +2 -1
package/.eslintrc.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "env": {
5
+ "browser": true
6
+ },
7
+ "ignorePatterns": ["**/lib"],
8
+ "plugins": [],
9
+ "extends": [
10
+ "eslint:recommended",
11
+ "plugin:@typescript-eslint/eslint-recommended",
12
+ "plugin:@typescript-eslint/recommended"
13
+ ],
14
+ "rules": {
15
+ "@typescript-eslint/explicit-function-return-type": "off",
16
+ "@typescript-eslint/ban-ts-ignore": "off",
17
+ "@typescript-eslint/ban-ts-comment": "off",
18
+ "@typescript-eslint/no-explicit-any": "off",
19
+ "@typescript-eslint/no-unused-vars": [
20
+ 2,
21
+ {
22
+ "argsIgnorePattern": "^_",
23
+ "varsIgnorePattern": "^_"
24
+ }
25
+ ],
26
+ "@typescript-eslint/no-var-requires": 0,
27
+ "@typescript-eslint/no-empty-function": 0,
28
+ "no-mixed-spaces-and-tabs": [2, "smart-tabs"],
29
+ "semi": 2
30
+ },
31
+ "settings": {
32
+ "react": {
33
+ "version": "detect"
34
+ }
35
+ }
36
+ }
@@ -0,0 +1 @@
1
+ **/node_modules/**
package/.prettierrc.js ADDED
@@ -0,0 +1,9 @@
1
+ module.exports = {
2
+ semi: true,
3
+ trailingComma: 'es5',
4
+ singleQuote: true,
5
+ printWidth: 80,
6
+ tabWidth: 2,
7
+ useTabs: true,
8
+ bracketSameLine: false,
9
+ };
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  <p>
7
7
  <a href="https://www.npmjs.com/package/@drift-labs/sdk"><img alt="SDK npm package" src="https://img.shields.io/npm/v/@drift-labs/sdk" /></a>
8
- <a href="https://docs.drift.trade/drift-sdk-documentation"><img alt="Docs" src="https://img.shields.io/badge/docs-tutorials-blueviolet" /></a>
8
+ <a href="https://drift-labs.github.io/protocol-v1/sdk/"><img alt="Docs" src="https://img.shields.io/badge/docs-tutorials-blueviolet" /></a>
9
9
  <a href="https://discord.com/channels/849494028176588802/878700556904980500"><img alt="Discord Chat" src="https://img.shields.io/discord/889577356681945098?color=blueviolet" /></a>
10
10
  <a href="https://opensource.org/licenses/Apache-2.0"><img alt="License" src="https://img.shields.io/github/license/project-serum/anchor?color=blueviolet" /></a>
11
11
  </p>
@@ -17,7 +17,7 @@ This repository provides open source access to Drift's Typescript SDK, Solana Pr
17
17
 
18
18
  # SDK Guide
19
19
 
20
- More of the SDK docs can be found on Drift's dedicated Docs hosted [here](https://docs.drift.trade/drift-sdk-documentation), and technical documentation of the SDK's code can be found [here](https://drift-labs.github.io/sdk/).
20
+ The technical documentation for the SDK can be found [here](https://drift-labs.github.io/protocol-v1/sdk/), and you can visit Drift's general purpose documentation [here](https://docs.drift.trade/drift-sdk-documentation).
21
21
 
22
22
  ## Installation
23
23
 
@@ -64,16 +64,19 @@ The Drift SDK uses some common precisions, which are available as constants to i
64
64
 
65
65
  **Important Note for BigNum division**
66
66
 
67
- Because BN only supports integers, you need to be conscious of the numbers you are using when dividing. BN will always take the floor of the division, if you want to get the exact divison, you need to add the modulus of the two numbers as well. There is a helper function `convertToNumber` in the SDK which will do this for you.
67
+ Because BN only supports integers, you need to be conscious of the numbers you are using when dividing. BN will return the floor when using the regular division function; if you want to get the exact divison, you need to add the modulus of the two numbers as well. There is a helper function `convertToNumber` in the SDK which will do this for you.
68
68
 
69
- ```
70
- Example:
69
+ ```typescript
70
+ import {convertToNumber} from @drift-labs/sdk
71
71
 
72
72
  // Gets the floor value
73
73
  new BN(10500).div(new BN(1000)).toNumber(); // = 10
74
74
 
75
75
  // Gets the exact value
76
76
  new BN(10500).div(new BN(1000)).toNumber() + BN(10500).mod(new BN(1000)).toNumber(); // = 10.5
77
+
78
+ // Also gets the exact value
79
+ convertToNumber(new BN(10500), new BN(1000)); // = 10.5
77
80
  ```
78
81
 
79
82
  ## Examples
@@ -35,3 +35,4 @@ export declare class DefaultClearingHouseAccountSubscriber implements ClearingHo
35
35
  getCurveHistoryAccount(): CurveHistoryAccount;
36
36
  getLiquidationHistoryAccount(): LiquidationHistoryAccount;
37
37
  }
38
+ //# sourceMappingURL=defaultClearingHouseAccountSubscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultClearingHouseAccountSubscriber.d.ts","sourceRoot":"","sources":["../../src/accounts/defaultClearingHouseAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAsB,MAAM,SAAS,CAAC;AAChE,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,qBAAa,qCACZ,YAAW,8BAA8B;IAEzC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAC3E,sBAAsB,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACzD,wBAAwB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC7D,6BAA6B,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACvE,+BAA+B,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC3E,sCAAsC,CAAC,EAAE,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;IACzF,mCAAmC,CAAC,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IACnF,6BAA6B,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACvE,mCAAmC,CAAC,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IAEnF,0BAA0B,EAAE,yBAAyB,EAAE,CAAM;IAE7D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAmB;IAC9C,OAAO,CAAC,2BAA2B,CAAyB;gBAEzC,OAAO,EAAE,OAAO;IAMtB,SAAS,CACrB,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,GACjD,OAAO,CAAC,OAAO,CAAC;IAiJN,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCzC,kBAAkB,IAAI,IAAI;IAQ1B,0BAA0B,CACzB,oBAAoB,EAAE,yBAAyB,GAC7C,IAAI;IAcA,eAAe,IAAI,YAAY;IAK/B,iBAAiB,IAAI,cAAc;IAKnC,sBAAsB,IAAI,mBAAmB;IAM7C,wBAAwB,IAAI,qBAAqB;IAMjD,+BAA+B,IAAI,4BAA4B;IAM/D,4BAA4B,IAAI,yBAAyB;IAMzD,sBAAsB,IAAI,mBAAmB;IAM7C,4BAA4B,IAAI,yBAAyB;CAKhE"}
@@ -26,3 +26,4 @@ export declare class DefaultHistoryAccountSubscriber implements HistoryAccountSu
26
26
  getCurveHistoryAccount(): CurveHistoryAccount;
27
27
  getLiquidationHistoryAccount(): LiquidationHistoryAccount;
28
28
  }
29
+ //# sourceMappingURL=defaultHistoryAccountSubscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultHistoryAccountSubscriber.d.ts","sourceRoot":"","sources":["../../src/accounts/defaultHistoryAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAsB,MAAM,SAAS,CAAC;AAChE,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EAEzB,mBAAmB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,qBAAa,+BACZ,YAAW,wBAAwB;IAEnC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAC3E,6BAA6B,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACvE,+BAA+B,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC3E,sCAAsC,CAAC,EAAE,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;IACzF,mCAAmC,CAAC,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IACnF,6BAA6B,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACvE,mCAAmC,CAAC,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;gBAEhE,OAAO,EAAE,OAAO;IAMtB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IA2F7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAczC,kBAAkB,IAAI,IAAI;IAQnB,sBAAsB,IAAI,mBAAmB;IAK7C,wBAAwB,IAAI,qBAAqB;IAKjD,+BAA+B,IAAI,4BAA4B;IAK/D,4BAA4B,IAAI,yBAAyB;IAKzD,sBAAsB,IAAI,mBAAmB;IAK7C,4BAA4B,IAAI,yBAAyB;CAIhE"}
@@ -18,3 +18,4 @@ export declare class DefaultUserAccountSubscriber implements UserAccountSubscrib
18
18
  getUserAccount(): UserAccount;
19
19
  getUserPositionsAccount(): UserPositionsAccount;
20
20
  }
21
+ //# sourceMappingURL=defaultUserAccountSubscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultUserAccountSubscriber.d.ts","sourceRoot":"","sources":["../../src/accounts/defaultUserAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE7D,qBAAa,4BAA6B,YAAW,qBAAqB;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAClE,SAAS,EAAE,SAAS,CAAC;IAErB,yBAAyB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1D,8BAA8B,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;gBAErD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAOnD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAsC7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,cAAc,IAAI,WAAW;IAI7B,uBAAuB,IAAI,oBAAoB;CAGtD"}
@@ -71,3 +71,4 @@ export interface UserAccountSubscriber {
71
71
  getUserAccount(): UserAccount;
72
72
  getUserPositionsAccount(): UserPositionsAccount;
73
73
  }
74
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/accounts/types.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,4 @@ export declare class WebSocketAccountSubscriber<T> implements AccountSubscriber<
10
10
  subscribe(onChange: (data: T) => void): Promise<void>;
11
11
  unsubscribe(): Promise<void>;
12
12
  }
13
+ //# sourceMappingURL=webSocketAccountSubscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webSocketAccountSubscriber.d.ts","sourceRoot":"","sources":["../../src/accounts/webSocketAccountSubscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,0BAA0B,CAAC,CAAC,CAAE,YAAW,iBAAiB,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,SAAS,CAAC;gBAG3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,SAAS;IAOtB,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B"}
@@ -3,3 +3,4 @@ export declare function getClearingHouseStateAccountPublicKeyAndNonce(programId:
3
3
  export declare function getClearingHouseStateAccountPublicKey(programId: PublicKey): Promise<PublicKey>;
4
4
  export declare function getUserAccountPublicKeyAndNonce(programId: PublicKey, authority: PublicKey): Promise<[PublicKey, number]>;
5
5
  export declare function getUserAccountPublicKey(programId: PublicKey, authority: PublicKey): Promise<PublicKey>;
6
+ //# sourceMappingURL=addresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../src/addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,wBAAsB,6CAA6C,CAClE,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAK9B;AAED,wBAAsB,qCAAqC,CAC1D,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,SAAS,CAAC,CAEpB;AAED,wBAAsB,+BAA+B,CACpD,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAK9B;AAED,wBAAsB,uBAAuB,CAC5C,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,SAAS,CAAC,CAEpB"}
package/lib/admin.d.ts CHANGED
@@ -6,7 +6,7 @@ import { ClearingHouse } from './clearingHouse';
6
6
  export declare class Admin extends ClearingHouse {
7
7
  static from(connection: Connection, wallet: IWallet, clearingHouseProgramId: PublicKey, opts?: ConfirmOptions): Admin;
8
8
  initialize(usdcMint: PublicKey, adminControlsPrices: boolean): Promise<[TransactionSignature, TransactionSignature]>;
9
- initializeMarket(marketIndex: BN, priceOracle: PublicKey, baseAmount: BN, quoteAmount: BN, periodicity: BN, pegMultiplier?: BN): Promise<TransactionSignature>;
9
+ initializeMarket(marketIndex: BN, priceOracle: PublicKey, baseAssetReserve: BN, quoteAssetReserve: BN, periodicity: BN, pegMultiplier?: BN): Promise<TransactionSignature>;
10
10
  moveAmmPrice(baseAssetReserve: BN, quoteAssetReserve: BN, marketIndex: BN): Promise<TransactionSignature>;
11
11
  updateK(sqrtK: BN, marketIndex: BN): Promise<TransactionSignature>;
12
12
  moveAmmToPrice(marketIndex: BN, targetPrice: BN): Promise<TransactionSignature>;
@@ -32,3 +32,4 @@ export declare class Admin extends ClearingHouse {
32
32
  updateExchangePaused(exchangePaused: boolean): Promise<TransactionSignature>;
33
33
  disableAdminControlsPrices(): Promise<TransactionSignature>;
34
34
  }
35
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
package/lib/admin.js CHANGED
@@ -122,12 +122,12 @@ class Admin extends clearingHouse_1.ClearingHouse {
122
122
  return [initializeTxSig, initializeHistoryTxSig];
123
123
  });
124
124
  }
125
- initializeMarket(marketIndex, priceOracle, baseAmount, quoteAmount, periodicity, pegMultiplier = numericConstants_1.PEG_PRECISION) {
125
+ initializeMarket(marketIndex, priceOracle, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier = numericConstants_1.PEG_PRECISION) {
126
126
  return __awaiter(this, void 0, void 0, function* () {
127
127
  if (this.getMarketsAccount().markets[marketIndex.toNumber()].initialized) {
128
128
  throw Error(`MarketIndex ${marketIndex.toNumber()} already initialized`);
129
129
  }
130
- const initializeMarketTx = yield this.program.transaction.initializeMarket(marketIndex, baseAmount, quoteAmount, periodicity, pegMultiplier, {
130
+ const initializeMarketTx = yield this.program.transaction.initializeMarket(marketIndex, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier, {
131
131
  accounts: {
132
132
  state: yield this.getStatePublicKey(),
133
133
  admin: this.wallet.publicKey,
@@ -1 +1,2 @@
1
1
  export declare function assert(condition: boolean, error?: string): void;
2
+ //# sourceMappingURL=assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/assert/assert.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAI/D"}
@@ -107,3 +107,4 @@ export declare class ClearingHouse {
107
107
  getSettleFundingPaymentIx(userAccount: PublicKey, userPositionsAccount: PublicKey): Promise<TransactionInstruction>;
108
108
  triggerEvent(eventName: keyof ClearingHouseAccountEvents, data?: any): void;
109
109
  }
110
+ //# sourceMappingURL=clearingHouse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearingHouse.d.ts","sourceRoot":"","sources":["../src/clearingHouse.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ export declare class ClearingHouseUser {
72
72
  * calculates average exit price for closing 100% of position
73
73
  * @returns : Precision MARK_PRICE_PRECISION
74
74
  */
75
- getPositionEstimatedExitPrice(position: UserPosition): BN;
75
+ getPositionEstimatedExitPrice(position: UserPosition, amountToClose?: BN): BN;
76
76
  /**
77
77
  * calculates current user leverage across all positions
78
78
  * @returns : Precision TEN_THOUSAND
@@ -139,3 +139,4 @@ export declare class ClearingHouseUser {
139
139
  */
140
140
  private getTotalPositionValueExcludingMarket;
141
141
  }
142
+ //# sourceMappingURL=clearingHouseUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearingHouseUser.d.ts","sourceRoot":"","sources":["../src/clearingHouseUser.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,13 @@ class ClearingHouseUser {
60
60
  * @returns userPosition
61
61
  */
62
62
  getUserPosition(marketIndex) {
63
- return this.getUserPositionsAccount().positions.find((position) => position.marketIndex.eq(marketIndex));
63
+ var _a;
64
+ return ((_a = this.getUserPositionsAccount().positions.find((position) => position.marketIndex.eq(marketIndex))) !== null && _a !== void 0 ? _a : {
65
+ baseAssetAmount: numericConstants_1.ZERO,
66
+ lastCumulativeFundingRate: numericConstants_1.ZERO,
67
+ marketIndex,
68
+ quoteAssetAmount: numericConstants_1.ZERO,
69
+ });
64
70
  }
65
71
  getUserAccountPublicKey() {
66
72
  return __awaiter(this, void 0, void 0, function* () {
@@ -158,8 +164,19 @@ class ClearingHouseUser {
158
164
  * calculates average exit price for closing 100% of position
159
165
  * @returns : Precision MARK_PRICE_PRECISION
160
166
  */
161
- getPositionEstimatedExitPrice(position) {
167
+ getPositionEstimatedExitPrice(position, amountToClose) {
162
168
  const market = this.clearingHouse.getMarket(position.marketIndex);
169
+ if (amountToClose) {
170
+ if (amountToClose.eq(numericConstants_1.ZERO)) {
171
+ return _1.calculateMarkPrice(market);
172
+ }
173
+ position = {
174
+ baseAssetAmount: amountToClose,
175
+ lastCumulativeFundingRate: position.lastCumulativeFundingRate,
176
+ marketIndex: position.marketIndex,
177
+ quoteAssetAmount: position.quoteAssetAmount,
178
+ };
179
+ }
163
180
  const baseAssetValue = _1.calculateBaseAssetValue(market, position);
164
181
  if (position.baseAssetAmount.eq(numericConstants_1.ZERO)) {
165
182
  return numericConstants_1.ZERO;
@@ -281,7 +298,7 @@ class ClearingHouseUser {
281
298
  // total position value after trade
282
299
  const targetTotalPositionValueUSDC = totalCurrentPositionValueIgnoringTargetUSDC.add(proposedMarketPositionValueUSDC);
283
300
  // if the position value after the trade is less than total collateral, there is no liq price
284
- if (targetTotalPositionValueUSDC.lte(totalCollateralUSDC)) {
301
+ if (targetTotalPositionValueUSDC.lte(totalCollateralUSDC) && proposedMarketPosition.baseAssetAmount.gt(numericConstants_1.ZERO)) {
285
302
  return new bn_js_1.default(-1);
286
303
  }
287
304
  // proportion of proposed market position to overall position
package/lib/config.d.ts CHANGED
@@ -21,3 +21,4 @@ export declare const initialize: (props: {
21
21
  overrideEnv?: Partial<DriftConfig>;
22
22
  }) => DriftConfig;
23
23
  export {};
24
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,aAAK,WAAW,GAAG;IAClB,GAAG,EAAE,QAAQ,CAAC;IACd,2BAA2B,EAAE,MAAM,CAAC;IACpC,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEjD,eAAO,MAAM,OAAO,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,WAAW;CAarD,CAAC;AAIF,eAAO,MAAM,SAAS,QAAO,WAA4B,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,UAAW;IACjC,GAAG,EAAE,QAAQ,CAAC;IACd,WAAW,CAAC,EAAE,QAAQ,WAAW,CAAC,CAAC;CACnC,KAAG,WAQH,CAAC"}
package/lib/config.js CHANGED
@@ -5,7 +5,7 @@ exports.configs = {
5
5
  devnet: {
6
6
  ENV: 'devnet',
7
7
  PYTH_ORACLE_MAPPING_ADDRESS: 'BmA9Z6FjioHJPpjT39QazZyhDRUdZy2ezwx4GiDdE2u2',
8
- CLEARING_HOUSE_PROGRAM_ID: 'tCyWBVHtN4iGtZWs2dkefWk38SyN4RGtED14KzUopK9',
8
+ CLEARING_HOUSE_PROGRAM_ID: 'AsW7LnXB9UA1uec9wi9MctYTgTz7YH9snhxd16GsFaGX',
9
9
  USDC_MINT_ADDRESS: '8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2',
10
10
  },
11
11
  'mainnet-beta': {
@@ -8,3 +8,4 @@ declare type Market = {
8
8
  };
9
9
  export declare const Markets: Market[];
10
10
  export {};
11
+ //# sourceMappingURL=markets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/constants/markets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,aAAK,MAAM,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,EAAE,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,MAAM,EA6B3B,CAAC"}
@@ -13,25 +13,25 @@ exports.Markets = [
13
13
  devnetPythOracle: 'J83w4HKfqxwcq3BEMMkPFSppX3gqekLyLJBexebFVkix',
14
14
  mainnetPythOracle: 'H6ARHf6YXhGYeQfUzQNGk6rDNnLBQKrenN712K4AQJEG',
15
15
  },
16
- // {
17
- // symbol: 'BTC-PERP',
18
- // baseAssetSymbol: 'BTC',
19
- // marketIndex: new BN(1),
20
- // devnetPythOracle: 'HovQMDrbAgAYPCmHVSrezcSmkMtXSSUsLDFANExrZh2J',
21
- // mainnetPythOracle: 'GVXRSBjFk6e6J3NbVPXohDJetcTjaeeuykUpbQF8UoMU',
22
- // },
23
- // {
24
- // symbol: 'ETH-PERP',
25
- // baseAssetSymbol: 'ETH',
26
- // marketIndex: new BN(2),
27
- // devnetPythOracle: 'EdVCmQ9FSPcVe5YySXDPCRmc8aDQLKJ9xvYBMZPie1Vw',
28
- // mainnetPythOracle: 'JBu1AL4obBcCMqKBBxhpWCNUt136ijcuMZLFvTP7iWdB',
29
- // },
30
- // {
31
- // symbol: 'COPE-PERP',
32
- // baseAssetSymbol: 'COPE',
33
- // marketIndex: new BN(3),
34
- // devnetPythOracle: 'BAXDJUXtz6P5ARhHH1aPwgv4WENzHwzyhmLYK4daFwiM',
35
- // mainnetPythOracle: '9xYBiDWYsh2fHzpsz3aaCnNHCKWBNtfEDLtU6kS4aFD9',
36
- // },
16
+ {
17
+ symbol: 'BTC-PERP',
18
+ baseAssetSymbol: 'BTC',
19
+ marketIndex: new bn_js_1.default(1),
20
+ devnetPythOracle: 'HovQMDrbAgAYPCmHVSrezcSmkMtXSSUsLDFANExrZh2J',
21
+ mainnetPythOracle: 'GVXRSBjFk6e6J3NbVPXohDJetcTjaeeuykUpbQF8UoMU',
22
+ },
23
+ {
24
+ symbol: 'ETH-PERP',
25
+ baseAssetSymbol: 'ETH',
26
+ marketIndex: new bn_js_1.default(2),
27
+ devnetPythOracle: 'EdVCmQ9FSPcVe5YySXDPCRmc8aDQLKJ9xvYBMZPie1Vw',
28
+ mainnetPythOracle: 'JBu1AL4obBcCMqKBBxhpWCNUt136ijcuMZLFvTP7iWdB',
29
+ },
30
+ {
31
+ symbol: 'LUNA-PERP',
32
+ baseAssetSymbol: 'LUNA',
33
+ marketIndex: new bn_js_1.default(3),
34
+ devnetPythOracle: '8PugCXTAHLM9kfLSQWe2njE5pzAgUdpPk3Nx5zSm7BD3',
35
+ mainnetPythOracle: '5bmWuR1dgP4avtGYMNKLuxumZTVKGgoN2BCMXWDNL9nY',
36
+ },
37
37
  ];
@@ -13,3 +13,4 @@ export declare const PEG_PRECISION: BN;
13
13
  export declare const AMM_RESERVE_PRECISION: BN;
14
14
  export declare const AMM_TO_QUOTE_PRECISION_RATIO: BN;
15
15
  export declare const PRICE_TO_QUOTE_PRECISION: BN;
16
+ //# sourceMappingURL=numericConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numericConstants.d.ts","sourceRoot":"","sources":["../../src/constants/numericConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,eAAO,MAAM,IAAI,IAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,IAAY,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAgB,CAAC;AAC1C,eAAO,MAAM,MAAM,IAAkC,CAAC;AAEtD,eAAO,MAAM,YAAY,IAAY,CAAC;AACtC,eAAO,MAAM,sBAAsB,IAAc,CAAC;AAClD,eAAO,MAAM,yBAAyB,IAAc,CAAC;AAErD,eAAO,MAAM,eAAe,IAAkB,CAAC;AAC/C,eAAO,MAAM,oBAAoB,IAAmB,CAAC;AACrD,eAAO,MAAM,yBAAyB,IAAgB,CAAC;AACvD,eAAO,MAAM,aAAa,IAAe,CAAC;AAE1C,eAAO,MAAM,qBAAqB,IAAmB,CAAC;AACtD,eAAO,MAAM,4BAA4B,IACE,CAAC;AAC5C,eAAO,MAAM,wBAAwB,IACK,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
2
  export declare const getTokenAddress: (mintAddress: string, userPubKey: string) => Promise<PublicKey>;
3
+ //# sourceMappingURL=makeTradeExample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeTradeExample.d.ts","sourceRoot":"","sources":["../../src/examples/makeTradeExample.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAcjE,eAAO,MAAM,eAAe,gBACd,MAAM,cACP,MAAM,KAChB,QAAQ,SAAS,CAOnB,CAAC"}
@@ -1724,6 +1724,34 @@
1724
1724
  }
1725
1725
  ],
1726
1726
  "types": [
1727
+ {
1728
+ "name": "InitializeUserOptionalAccounts",
1729
+ "type": {
1730
+ "kind": "struct",
1731
+ "fields": [
1732
+ {
1733
+ "name": "whitelistToken",
1734
+ "type": "bool"
1735
+ }
1736
+ ]
1737
+ }
1738
+ },
1739
+ {
1740
+ "name": "ManagePositionOptionalAccounts",
1741
+ "type": {
1742
+ "kind": "struct",
1743
+ "fields": [
1744
+ {
1745
+ "name": "discountToken",
1746
+ "type": "bool"
1747
+ },
1748
+ {
1749
+ "name": "referrer",
1750
+ "type": "bool"
1751
+ }
1752
+ ]
1753
+ }
1754
+ },
1727
1755
  {
1728
1756
  "name": "CurveRecord",
1729
1757
  "type": {
@@ -1938,34 +1966,6 @@
1938
1966
  ]
1939
1967
  }
1940
1968
  },
1941
- {
1942
- "name": "InitializeUserOptionalAccounts",
1943
- "type": {
1944
- "kind": "struct",
1945
- "fields": [
1946
- {
1947
- "name": "whitelistToken",
1948
- "type": "bool"
1949
- }
1950
- ]
1951
- }
1952
- },
1953
- {
1954
- "name": "ManagePositionOptionalAccounts",
1955
- "type": {
1956
- "kind": "struct",
1957
- "fields": [
1958
- {
1959
- "name": "discountToken",
1960
- "type": "bool"
1961
- },
1962
- {
1963
- "name": "referrer",
1964
- "type": "bool"
1965
- }
1966
- ]
1967
- }
1968
- },
1969
1969
  {
1970
1970
  "name": "LiquidationRecord",
1971
1971
  "type": {
@@ -2140,7 +2140,7 @@
2140
2140
  "type": "i64"
2141
2141
  },
2142
2142
  {
2143
- "name": "lastOracleMarkSpreadTwap",
2143
+ "name": "lastOraclePriceTwap",
2144
2144
  "type": "i128"
2145
2145
  },
2146
2146
  {
@@ -2175,9 +2175,13 @@
2175
2175
  "name": "minimumTradeSize",
2176
2176
  "type": "u128"
2177
2177
  },
2178
+ {
2179
+ "name": "lastOraclePriceTwapTs",
2180
+ "type": "i64"
2181
+ },
2178
2182
  {
2179
2183
  "name": "padding0",
2180
- "type": "u128"
2184
+ "type": "u64"
2181
2185
  },
2182
2186
  {
2183
2187
  "name": "padding1",
@@ -2757,6 +2761,11 @@
2757
2761
  "code": 337,
2758
2762
  "name": "InvalidFundingProfitability",
2759
2763
  "msg": "AMM funding out of bounds pnl"
2764
+ },
2765
+ {
2766
+ "code": 338,
2767
+ "name": "CastingFailure",
2768
+ "msg": "Casting Failure"
2760
2769
  }
2761
2770
  ]
2762
2771
  }
package/lib/index.d.ts CHANGED
@@ -21,3 +21,4 @@ export * from './math/utils';
21
21
  export * from './config';
22
22
  export * from './constants/numericConstants';
23
23
  export { BN };
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAE3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kDAAkD,CAAC;AACjE,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAE7C,OAAO,EAAE,EAAE,EAAE,CAAC"}
package/lib/math/amm.d.ts CHANGED
@@ -38,3 +38,4 @@ export declare function calculateSwapOutput(inputAssetReserve: BN, swapAmount: B
38
38
  * @param positionDirection
39
39
  */
40
40
  export declare function getSwapDirection(inputAssetType: AssetType, positionDirection: PositionDirection): SwapDirection;
41
+ //# sourceMappingURL=amm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amm.d.ts","sourceRoot":"","sources":["../../src/math/amm.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAO3C,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGjE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC7B,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,EAAE,GAChB,EAAE,CAUJ;AAED,oBAAY,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC5C,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,SAAS,EACzB,UAAU,EAAE,EAAE,EACd,aAAa,EAAE,aAAa,GAC1B,CAAC,EAAE,EAAE,EAAE,CAAC,CAmCV;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,iBAAiB,EAAE,EAAE,EACrB,UAAU,EAAE,EAAE,EACd,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,EAAE,GACX,CAAC,EAAE,EAAE,EAAE,CAAC,CASV;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,cAAc,EAAE,SAAS,EACzB,iBAAiB,EAAE,iBAAiB,GAClC,aAAa,CAgBf"}
@@ -1,3 +1,4 @@
1
1
  import BN from 'bn.js';
2
2
  export declare const convertToNumber: (bigNumber: BN, precision?: BN) => number;
3
3
  export declare const convertBaseAssetAmountToNumber: (baseAssetAmount: BN) => number;
4
+ //# sourceMappingURL=conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/math/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAMvB,eAAO,MAAM,eAAe,cAChB,EAAE,cACF,EAAE,WAOb,CAAC;AAEF,eAAO,MAAM,8BAA8B,oBAAqB,EAAE,WAKjE,CAAC"}
@@ -2,6 +2,14 @@
2
2
  import { BN } from '@project-serum/anchor';
3
3
  import { PythClient } from '../pythClient';
4
4
  import { Market } from '../types';
5
+ /**
6
+ *
7
+ * @param market
8
+ * @param pythClient
9
+ * @param periodAdjustment
10
+ * @returns Estimated funding rate. : Precision //TODO-PRECISION
11
+ */
12
+ export declare function calculateAllEstimatedFundingRate(market: Market, pythClient: PythClient, periodAdjustment?: BN): Promise<[BN, BN, BN, BN, BN]>;
5
13
  /**
6
14
  *
7
15
  * @param market
@@ -10,4 +18,29 @@ import { Market } from '../types';
10
18
  * @param estimationMethod
11
19
  * @returns Estimated funding rate. : Precision //TODO-PRECISION
12
20
  */
13
- export declare function calculateEstimatedFundingRate(market: Market, pythClient: PythClient, periodAdjustment: BN, estimationMethod: 'interpolated' | 'lowerbound'): Promise<BN>;
21
+ export declare function calculateEstimatedFundingRate(market: Market, pythClient: PythClient, periodAdjustment: BN, estimationMethod: 'interpolated' | 'lowerbound' | 'capped'): Promise<BN>;
22
+ /**
23
+ *
24
+ * @param market
25
+ * @param pythClient
26
+ * @param periodAdjustment
27
+ * @param estimationMethod
28
+ * @returns Estimated funding rate. : Precision //TODO-PRECISION
29
+ */
30
+ export declare function calculateLongShortFundingRate(market: Market, pythClient: PythClient, periodAdjustment?: BN): Promise<[BN, BN]>;
31
+ /**
32
+ *
33
+ * @param market
34
+ * @param pythClient
35
+ * @param periodAdjustment
36
+ * @param estimationMethod
37
+ * @returns Estimated funding rate. : Precision //TODO-PRECISION
38
+ */
39
+ export declare function calculateLongShortFundingRateAndLiveTwaps(market: Market, pythClient: PythClient, periodAdjustment?: BN): Promise<[BN, BN, BN, BN]>;
40
+ /**
41
+ *
42
+ * @param market
43
+ * @returns Estimated fee pool size
44
+ */
45
+ export declare function calculateFundingPool(market: Market): BN;
46
+ //# sourceMappingURL=funding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funding.d.ts","sourceRoot":"","sources":["../../src/math/funding.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAO3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CACrD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAoH/B;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,EAAc,EAChC,gBAAgB,EAAE,cAAc,GAAG,YAAY,GAAG,QAAQ,GACxD,OAAO,CAAC,EAAE,CAAC,CAgBb;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAcnB;AAED;;;;;;;GAOG;AACF,wBAAsB,yCAAyC,CAC/D,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAY3B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAKvD"}