flash-sdk 1.0.80 → 1.0.81

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,34 @@
1
1
  /// <reference types="bn.js" />
2
- import { PublicKey } from "@solana/web3.js";
3
- import { OraclePrice } from "../OraclePrice";
4
- import { BN } from "@coral-xyz/anchor";
2
+ import { MethodsNamespace, IdlTypes, IdlAccounts, BN } from "@coral-xyz/anchor";
3
+ import { Perpetuals } from "../idl/perpetuals";
5
4
  export type PositionSide = "long" | "short";
5
+ export type Methods = MethodsNamespace<Perpetuals>;
6
+ export type Accounts = IdlAccounts<Perpetuals>;
7
+ export type Types = IdlTypes<Perpetuals>;
8
+ export type InitParams = Types["InitParams"];
9
+ export type OracleParams = Types["OracleParams"];
10
+ export type PricingParams = Types["PricingParams"];
11
+ export type Permissions = Types["Permissions"];
12
+ export type Fees = Types["Fees"];
13
+ export type BorrowRateParams = Types["BorrowRateParams"];
14
+ export type TokenRatios = Types["TokenRatios"];
15
+ export type SetCustomOraclePriceParams = Types["SetCustomOraclePriceParams"];
16
+ export type AmountAndFee = Types["AmountAndFee"];
17
+ export type NewPositionPricesAndFee = Types["NewPositionPricesAndFee"];
18
+ export type PriceAndFee = Types["PriceAndFee"];
19
+ export type ProfitAndLoss = Types["ProfitAndLoss"];
20
+ export type SwapAmountAndFees = Types["SwapAmountAndFees"];
21
+ export type RatioFee = Types["RatioFees"];
22
+ export type Assets = Types["Assets"];
23
+ export type FeesStats = Types["FeesStats"];
24
+ export type TradeStats = Types["TradeStats"];
25
+ export type VolumeStats = Types["VolumeStats"];
26
+ export type PositionStats = Types["PositionStats"];
27
+ export type BorrowRateState = Types["BorrowRateState"];
28
+ export type Custody = Accounts["custody"];
29
+ export type Pool = Accounts["pool"];
30
+ export type Position = Accounts["position"];
31
+ export type PerpetualsAccount = Accounts["perpetuals"];
6
32
  export declare function isVariant(object: any, type: string): any;
7
33
  export declare function isOneOfVariant(object: any, types: string[]): any;
8
34
  export declare class Side {
@@ -16,6 +42,17 @@ export declare class Side {
16
42
  short: {};
17
43
  };
18
44
  }
45
+ export declare class OracleType {
46
+ static None: {
47
+ none: {};
48
+ };
49
+ static Test: {
50
+ test: {};
51
+ };
52
+ static Pyth: {
53
+ pyth: {};
54
+ };
55
+ }
19
56
  export declare class AumCalcMode {
20
57
  static Min: {
21
58
  min: {};
@@ -23,134 +60,6 @@ export declare class AumCalcMode {
23
60
  static Max: {
24
61
  max: {};
25
62
  };
26
- static Last: {
27
- last: {};
28
- };
29
- static EMA: {
30
- ema: {};
31
- };
32
- }
33
- export interface Position {
34
- owner: PublicKey;
35
- delegate: PublicKey;
36
- pool: PublicKey;
37
- custody: PublicKey;
38
- collateralCustody: PublicKey;
39
- openTime: BN;
40
- updateTime: BN;
41
- side: Side;
42
- price: BN;
43
- sizeUsd: BN;
44
- borrowSizeUsd: BN;
45
- collateralUsd: BN;
46
- unrealizedProfitUsd: BN;
47
- unrealizedLossUsd: BN;
48
- cumulativeInterestSnapshot: BN;
49
- lockedAmount: BN;
50
- collateralAmount: BN;
51
- sizeAmount: BN;
52
- bump: number;
53
- }
54
- export declare const DEFAULT_POSITION: Position;
55
- export interface Pool {
56
- name: string;
57
- custodies: PublicKey[];
58
- ratios: TokenRatios[];
59
- aumUsd: BN;
60
- bump: number;
61
- lpTokenBump: number;
62
- inceptionTime: BN;
63
- }
64
- export interface TokenRatios {
65
- target: BN;
66
- min: BN;
67
- max: BN;
68
- }
69
- export interface Custody {
70
- pool: PublicKey;
71
- mint: PublicKey;
72
- tokenAccount: PublicKey;
73
- decimals: number;
74
- isStable: boolean;
75
- oracle: OracleParams;
76
- pricing: PricingParams;
77
- permissions: Permissions;
78
- fees: Fees;
79
- borrowRate: BorrowRateParams;
80
- assets: Assets;
81
- collectedFees: FeesStats;
82
- volumeStats: VolumeStats;
83
- tradeStats: TradeStats;
84
- longPositions: PositionStats;
85
- shortPositions: PositionStats;
86
- borrowRateState: BorrowRateState;
87
- bump: number;
88
- tokenAccountBump: number;
89
- }
90
- export interface BorrowRateParams {
91
- baseRate: BN;
92
- slope1: BN;
93
- slope2: BN;
94
- optimalUtilization: BN;
95
- }
96
- export interface BorrowRateState {
97
- currentRate: BN;
98
- cumulativeInterest: BN;
99
- lastUpdate: BN;
100
- }
101
- export interface PositionStats {
102
- openPositions: BN;
103
- collateralUsd: BN;
104
- sizeUsd: BN;
105
- lockedAmount: BN;
106
- weightedPrice: BN;
107
- totalQuantity: BN;
108
- cumulativeInterestUsd: BN;
109
- cumulativeInterestSnapshot: BN;
110
- }
111
- export interface Assets {
112
- collateral: BN;
113
- protocolFees: BN;
114
- owned: BN;
115
- locked: BN;
116
- }
117
- export interface FeesStats {
118
- swapUsd: BN;
119
- addLiquidityUsd: BN;
120
- removeLiquidityUsd: BN;
121
- openPositionUsd: BN;
122
- closePositionUsd: BN;
123
- liquidationUsd: BN;
124
- }
125
- export interface VolumeStats {
126
- swapUsd: BN;
127
- addLiquidityUsd: BN;
128
- removeLiquidityUsd: BN;
129
- openPositionUsd: BN;
130
- closePositionUsd: BN;
131
- liquidationUsd: BN;
132
- }
133
- export interface RatioFees {
134
- baseRate: BN;
135
- slope1: BN;
136
- constant1: BN;
137
- slope2: BN;
138
- constant2: BN;
139
- minFee: BN;
140
- maxFee: BN;
141
- }
142
- export interface Fees {
143
- mode: FeesMode;
144
- ratioMult: BN;
145
- utilizationMult: BN;
146
- swapIn: RatioFees;
147
- swapOut: RatioFees;
148
- addLiquidity: RatioFees;
149
- removeLiquidity: RatioFees;
150
- openPosition: BN;
151
- closePosition: BN;
152
- liquidation: BN;
153
- protocolShare: BN;
154
63
  }
155
64
  export declare class FeesMode {
156
65
  static Fixed: {
@@ -160,63 +69,37 @@ export declare class FeesMode {
160
69
  linear: {};
161
70
  };
162
71
  }
163
- export interface OracleParams {
164
- oracleAccount: PublicKey;
165
- oracleType: OracleType;
166
- maxPriceError: BN;
167
- maxPriceAgeSec: number;
168
- }
169
- export declare class OracleType {
170
- static None: {
171
- none: {};
72
+ export declare class FeesAction {
73
+ static AddLiquidity: {
74
+ addLiquidity: {};
172
75
  };
173
- static Test: {
174
- test: {};
76
+ static RemoveLiquidity: {
77
+ removeLiquidity: {};
175
78
  };
176
- static Pyth: {
177
- pyth: {};
79
+ static SwapIn: {
80
+ swapIn: {};
81
+ };
82
+ static SwapOut: {
83
+ swapOut: {};
84
+ };
85
+ static StableSwapIn: {
86
+ stableSwapIn: {};
87
+ };
88
+ static StableSwapOut: {
89
+ stableSwapOut: {};
178
90
  };
179
91
  }
180
- export interface Permissions {
181
- allowSwap: boolean;
182
- allowAddLiquidity: boolean;
183
- allowRemoveLiquidity: boolean;
184
- allowOpenPosition: boolean;
185
- allowClosePosition: boolean;
186
- allowPnlWithdrawal: boolean;
187
- allowCollateralWithdrawal: boolean;
188
- allowSizeChange: boolean;
189
- }
190
- export interface PricingParams {
191
- useEma: boolean;
192
- useUnrealizedPnlInAum: boolean;
193
- tradeSpreadLong: BN;
194
- tradeSpreadShort: BN;
195
- swapSpread: BN;
196
- minInitialLeverage: BN;
197
- maxInitialLeverage: BN;
198
- maxLeverage: BN;
199
- maxPayoffMult: BN;
200
- maxUtilization: BN;
201
- maxPositionLockedUsd: BN;
202
- maxTotalLockedUsd: BN;
203
- }
204
- export interface TradeStats {
205
- profitUsd: BN;
206
- lossUsd: BN;
207
- oiLong: BN;
208
- oiShort: BN;
209
- }
210
- export interface PriceFeed {
211
- price: OraclePrice;
212
- ema_price: OraclePrice;
213
- }
92
+ export declare const DEFAULT_POSITION: Position;
214
93
  export interface ExitPriceAndFee {
215
94
  price: BN;
216
95
  fee: BN;
217
96
  exitAmount: BN;
218
97
  liquidationPrice: BN;
219
98
  }
99
+ export interface MinAndMaxPrice {
100
+ min: BN;
101
+ max: BN;
102
+ }
220
103
  export interface EntryPriceAndFee {
221
104
  price: BN;
222
105
  fee: BN;
@@ -226,19 +109,6 @@ export interface RemoveCollateralData {
226
109
  collateralAmountRecieved: BN;
227
110
  newCollateralAmount: BN;
228
111
  }
229
- export interface ProfitAndLoss {
230
- profit: BN;
231
- loss: BN;
232
- }
233
- export interface SwapAmountAndFees {
234
- amountOut: BN;
235
- feeIn: BN;
236
- feeOut: BN;
237
- }
238
- export interface AmountAndFee {
239
- amount: BN;
240
- fee: BN;
241
- }
242
112
  export interface AddLiquidityAmountAndFee {
243
113
  lpAmountOut: BN;
244
114
  fee: BN;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OracleType = exports.FeesMode = exports.DEFAULT_POSITION = exports.AumCalcMode = exports.Side = exports.isOneOfVariant = exports.isVariant = void 0;
3
+ exports.DEFAULT_POSITION = exports.FeesAction = exports.FeesMode = exports.AumCalcMode = exports.OracleType = exports.Side = exports.isOneOfVariant = exports.isVariant = void 0;
4
4
  var web3_js_1 = require("@solana/web3.js");
5
5
  var constants_1 = require("../constants");
6
6
  function isVariant(object, type) {
@@ -22,16 +22,43 @@ var Side = (function () {
22
22
  return Side;
23
23
  }());
24
24
  exports.Side = Side;
25
+ var OracleType = (function () {
26
+ function OracleType() {
27
+ }
28
+ OracleType.None = { none: {} };
29
+ OracleType.Test = { test: {} };
30
+ OracleType.Pyth = { pyth: {} };
31
+ return OracleType;
32
+ }());
33
+ exports.OracleType = OracleType;
25
34
  var AumCalcMode = (function () {
26
35
  function AumCalcMode() {
27
36
  }
28
37
  AumCalcMode.Min = { min: {} };
29
38
  AumCalcMode.Max = { max: {} };
30
- AumCalcMode.Last = { last: {} };
31
- AumCalcMode.EMA = { ema: {} };
32
39
  return AumCalcMode;
33
40
  }());
34
41
  exports.AumCalcMode = AumCalcMode;
42
+ var FeesMode = (function () {
43
+ function FeesMode() {
44
+ }
45
+ FeesMode.Fixed = { fixed: {} };
46
+ FeesMode.Linear = { linear: {} };
47
+ return FeesMode;
48
+ }());
49
+ exports.FeesMode = FeesMode;
50
+ var FeesAction = (function () {
51
+ function FeesAction() {
52
+ }
53
+ FeesAction.AddLiquidity = { addLiquidity: {} };
54
+ FeesAction.RemoveLiquidity = { removeLiquidity: {} };
55
+ FeesAction.SwapIn = { swapIn: {} };
56
+ FeesAction.SwapOut = { swapOut: {} };
57
+ FeesAction.StableSwapIn = { stableSwapIn: {} };
58
+ FeesAction.StableSwapOut = { stableSwapOut: {} };
59
+ return FeesAction;
60
+ }());
61
+ exports.FeesAction = FeesAction;
35
62
  exports.DEFAULT_POSITION = {
36
63
  owner: web3_js_1.PublicKey.default,
37
64
  delegate: web3_js_1.PublicKey.default,
@@ -53,20 +80,3 @@ exports.DEFAULT_POSITION = {
53
80
  sizeAmount: constants_1.BN_ZERO,
54
81
  bump: 0
55
82
  };
56
- var FeesMode = (function () {
57
- function FeesMode() {
58
- }
59
- FeesMode.Fixed = { fixed: {} };
60
- FeesMode.Linear = { linear: {} };
61
- return FeesMode;
62
- }());
63
- exports.FeesMode = FeesMode;
64
- var OracleType = (function () {
65
- function OracleType() {
66
- }
67
- OracleType.None = { none: {} };
68
- OracleType.Test = { test: {} };
69
- OracleType.Pyth = { pyth: {} };
70
- return OracleType;
71
- }());
72
- exports.OracleType = OracleType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flash-sdk",
3
- "version": "1.0.80",
3
+ "version": "1.0.81",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [