flash-sdk 1.0.3 → 1.0.5
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.
- package/lib/CustodyAccount.js +9 -19
- package/lib/OraclePrice.d.ts +2 -0
- package/lib/OraclePrice.js +4 -0
- package/lib/PerpetualsClient.d.ts +26 -5
- package/lib/PerpetualsClient.js +586 -24
- package/lib/PoolAccount.d.ts +2 -1
- package/lib/PoolAccount.js +16 -29
- package/lib/PoolConfig.d.ts +7 -2
- package/lib/PoolConfig.js +15 -7
- package/lib/PoolConfig.json +4 -0
- package/lib/{PoolDisplayData.d.ts → PoolDataClient.d.ts} +3 -2
- package/lib/{PoolDisplayData.js → PoolDataClient.js} +13 -13
- package/lib/PositionAccount.d.ts +1 -0
- package/lib/Token.js +1 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/idl/perpetuals.d.ts +3675 -0
- package/{src/target/types → lib/idl}/perpetuals.js +140 -3
- package/lib/index.d.ts +3 -0
- package/lib/index.js +5 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/index.d.ts +5 -3
- package/lib/types/index.js +21 -1
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +57 -1
- package/lib/utils/rpc.d.ts +13 -0
- package/lib/utils/rpc.js +217 -0
- package/package.json +1 -1
- package/readme.md +23 -3
- package/src/CustodyAccount.ts +24 -23
- package/src/OraclePrice.ts +4 -4
- package/src/PerpetualsClient.ts +737 -96
- package/src/PoolAccount.ts +34 -32
- package/src/PoolConfig.json +4 -0
- package/src/PoolConfig.ts +21 -6
- package/src/{PoolDisplayData.ts → PoolDataClient.ts} +2 -2
- package/src/Token.ts +1 -0
- package/src/{target/types → idl}/perpetuals.ts +280 -6
- package/src/index.ts +3 -0
- package/src/type-rules.md +4 -0
- package/src/types/index.ts +26 -3
- package/src/utils/index.ts +14 -0
- package/src/utils/rpc.ts +162 -0
- package/lib/CustodyAccount.d.ts.map +0 -1
- package/lib/CustodyAccount.js.map +0 -1
- package/lib/OraclePrice.d.ts.map +0 -1
- package/lib/OraclePrice.js.map +0 -1
- package/lib/PerpetualsClient.d.ts.map +0 -1
- package/lib/PerpetualsClient.js.map +0 -1
- package/lib/PoolAccount.d.ts.map +0 -1
- package/lib/PoolAccount.js.map +0 -1
- package/lib/PositionAccount.d.ts.map +0 -1
- package/lib/PositionAccount.js.map +0 -1
- package/lib/client/src/CustodyAccount.d.ts +0 -30
- package/lib/client/src/CustodyAccount.d.ts.map +0 -1
- package/lib/client/src/CustodyAccount.js +0 -64
- package/lib/client/src/CustodyAccount.js.map +0 -1
- package/lib/client/src/OraclePrice.d.ts +0 -19
- package/lib/client/src/OraclePrice.d.ts.map +0 -1
- package/lib/client/src/OraclePrice.js +0 -84
- package/lib/client/src/OraclePrice.js.map +0 -1
- package/lib/client/src/PerpetualsClient.d.ts +0 -1938
- package/lib/client/src/PerpetualsClient.d.ts.map +0 -1
- package/lib/client/src/PerpetualsClient.js +0 -1043
- package/lib/client/src/PerpetualsClient.js.map +0 -1
- package/lib/client/src/PoolAccount.d.ts +0 -35
- package/lib/client/src/PoolAccount.d.ts.map +0 -1
- package/lib/client/src/PoolAccount.js +0 -307
- package/lib/client/src/PoolAccount.js.map +0 -1
- package/lib/client/src/PositionAccount.d.ts +0 -27
- package/lib/client/src/PositionAccount.d.ts.map +0 -1
- package/lib/client/src/PositionAccount.js +0 -91
- package/lib/client/src/PositionAccount.js.map +0 -1
- package/lib/client/src/constants/index.d.ts +0 -12
- package/lib/client/src/constants/index.d.ts.map +0 -1
- package/lib/client/src/constants/index.js +0 -15
- package/lib/client/src/constants/index.js.map +0 -1
- package/lib/client/src/index.d.ts +0 -9
- package/lib/client/src/index.d.ts.map +0 -1
- package/lib/client/src/index.js +0 -26
- package/lib/client/src/index.js.map +0 -1
- package/lib/client/src/types/index.d.ts +0 -188
- package/lib/client/src/types/index.d.ts.map +0 -1
- package/lib/client/src/types/index.js +0 -57
- package/lib/client/src/types/index.js.map +0 -1
- package/lib/client/src/utils/helpers.d.ts +0 -8
- package/lib/client/src/utils/helpers.d.ts.map +0 -1
- package/lib/client/src/utils/helpers.js +0 -152
- package/lib/client/src/utils/helpers.js.map +0 -1
- package/lib/constants/index.d.ts.map +0 -1
- package/lib/constants/index.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/index.js.map +0 -1
- package/lib/utils/helpers.d.ts +0 -7
- package/lib/utils/helpers.d.ts.map +0 -1
- package/lib/utils/helpers.js +0 -151
- package/lib/utils/helpers.js.map +0 -1
- package/src/readme.md +0 -24
- package/src/target/types/limit_order_cpi.js +0 -132
- package/src/target/types/limit_order_cpi.ts +0 -259
- /package/{src/target/idl/perpetuals.json → lib/Token.d.ts} +0 -0
@@ -1,188 +0,0 @@
|
|
1
|
-
/// <reference types="bn.js" />
|
2
|
-
import { BN } from "@project-serum/anchor";
|
3
|
-
import { PublicKey } from "@solana/web3.js";
|
4
|
-
import { OraclePrice } from "../OraclePrice";
|
5
|
-
export type PositionSide = "long" | "short";
|
6
|
-
export declare function isVariant(object: any, type: string): any;
|
7
|
-
export declare function isOneOfVariant(object: any, types: string[]): any;
|
8
|
-
export declare class Side {
|
9
|
-
static None: {
|
10
|
-
none: {};
|
11
|
-
};
|
12
|
-
static Long: {
|
13
|
-
long: {};
|
14
|
-
};
|
15
|
-
static Short: {
|
16
|
-
short: {};
|
17
|
-
};
|
18
|
-
}
|
19
|
-
export interface Position {
|
20
|
-
owner: PublicKey;
|
21
|
-
pool: PublicKey;
|
22
|
-
custody: PublicKey;
|
23
|
-
openTime: BN;
|
24
|
-
updateTime: BN;
|
25
|
-
side: Side;
|
26
|
-
price: BN;
|
27
|
-
sizeUsd: BN;
|
28
|
-
collateralUsd: BN;
|
29
|
-
unrealizedProfitUsd: BN;
|
30
|
-
unrealizedLossUsd: BN;
|
31
|
-
cumulativeInterestSnapshot: BN;
|
32
|
-
lockedAmount: BN;
|
33
|
-
collateralAmount: BN;
|
34
|
-
bump: number;
|
35
|
-
}
|
36
|
-
export interface Pool {
|
37
|
-
name: string;
|
38
|
-
custodies: PublicKey[];
|
39
|
-
ratios: TokenRatios[];
|
40
|
-
aumUsd: BN;
|
41
|
-
bump: number;
|
42
|
-
lpTokenBump: number;
|
43
|
-
inceptionTime: BN;
|
44
|
-
}
|
45
|
-
export interface TokenRatios {
|
46
|
-
target: BN;
|
47
|
-
min: BN;
|
48
|
-
max: BN;
|
49
|
-
}
|
50
|
-
export interface Custody {
|
51
|
-
pool: PublicKey;
|
52
|
-
mint: PublicKey;
|
53
|
-
tokenAccount: PublicKey;
|
54
|
-
decimals: number;
|
55
|
-
isStable: boolean;
|
56
|
-
oracle: OracleParams;
|
57
|
-
pricing: PricingParams;
|
58
|
-
permissions: Permissions;
|
59
|
-
fees: Fees;
|
60
|
-
borrowRate: BorrowRateParams;
|
61
|
-
assets: Assets;
|
62
|
-
collectedFees: FeesStats;
|
63
|
-
volumeStats: VolumeStats;
|
64
|
-
tradeStats: TradeStats;
|
65
|
-
longPositions: PositionStats;
|
66
|
-
shortPositions: PositionStats;
|
67
|
-
borrowRateState: BorrowRateState;
|
68
|
-
bump: number;
|
69
|
-
tokenAccountBump: number;
|
70
|
-
}
|
71
|
-
export interface BorrowRateParams {
|
72
|
-
baseRate: BN;
|
73
|
-
slope1: BN;
|
74
|
-
slope2: BN;
|
75
|
-
optimalUtilization: BN;
|
76
|
-
}
|
77
|
-
export interface BorrowRateState {
|
78
|
-
currentRate: BN;
|
79
|
-
cumulativeInterest: BN;
|
80
|
-
lastUpdate: BN;
|
81
|
-
}
|
82
|
-
export interface PositionStats {
|
83
|
-
openPositions: BN;
|
84
|
-
collateralUsd: BN;
|
85
|
-
sizeUsd: BN;
|
86
|
-
lockedAmount: BN;
|
87
|
-
weightedLeverage: BN;
|
88
|
-
totalLeverage: BN;
|
89
|
-
cumulativeInterestUsd: BN;
|
90
|
-
cumulativeInterestSnapshot: BN;
|
91
|
-
}
|
92
|
-
export interface Assets {
|
93
|
-
collateral: BN;
|
94
|
-
protocolFees: BN;
|
95
|
-
owned: BN;
|
96
|
-
locked: BN;
|
97
|
-
}
|
98
|
-
export interface FeesStats {
|
99
|
-
swapUsd: BN;
|
100
|
-
addLiquidityUsd: BN;
|
101
|
-
removeLiquidityUsd: BN;
|
102
|
-
openPositionUsd: BN;
|
103
|
-
closePositionUsd: BN;
|
104
|
-
liquidationUsd: BN;
|
105
|
-
}
|
106
|
-
export interface VolumeStats {
|
107
|
-
swapUsd: BN;
|
108
|
-
addLiquidityUsd: BN;
|
109
|
-
removeLiquidityUsd: BN;
|
110
|
-
openPositionUsd: BN;
|
111
|
-
closePositionUsd: BN;
|
112
|
-
liquidationUsd: BN;
|
113
|
-
}
|
114
|
-
export interface Fees {
|
115
|
-
mode: FeesMode;
|
116
|
-
ratioMult: BN;
|
117
|
-
utilizationMult: BN;
|
118
|
-
swapIn: BN;
|
119
|
-
swapOut: BN;
|
120
|
-
stableSwapIn: BN;
|
121
|
-
stableSwapOut: BN;
|
122
|
-
addLiquidity: BN;
|
123
|
-
removeLiquidity: BN;
|
124
|
-
openPosition: BN;
|
125
|
-
closePosition: BN;
|
126
|
-
liquidation: BN;
|
127
|
-
protocolShare: BN;
|
128
|
-
}
|
129
|
-
export declare class FeesMode {
|
130
|
-
static Fixed: {
|
131
|
-
fixed: {};
|
132
|
-
};
|
133
|
-
static Linear: {
|
134
|
-
linear: {};
|
135
|
-
};
|
136
|
-
}
|
137
|
-
export interface OracleParams {
|
138
|
-
oracleAccount: PublicKey;
|
139
|
-
oracleType: OracleType;
|
140
|
-
maxPriceError: BN;
|
141
|
-
maxPriceAgeSec: number;
|
142
|
-
}
|
143
|
-
export declare class OracleType {
|
144
|
-
static None: {
|
145
|
-
none: {};
|
146
|
-
};
|
147
|
-
static Test: {
|
148
|
-
test: {};
|
149
|
-
};
|
150
|
-
static Pyth: {
|
151
|
-
pyth: {};
|
152
|
-
};
|
153
|
-
}
|
154
|
-
export interface Permissions {
|
155
|
-
allowSwap: boolean;
|
156
|
-
allowAddLiquidity: boolean;
|
157
|
-
allowRemoveLiquidity: boolean;
|
158
|
-
allowOpenPosition: boolean;
|
159
|
-
allowClosePosition: boolean;
|
160
|
-
allowPnlWithdrawal: boolean;
|
161
|
-
allowCollateralWithdrawal: boolean;
|
162
|
-
allowSizeChange: boolean;
|
163
|
-
}
|
164
|
-
export interface PricingParams {
|
165
|
-
useEma: boolean;
|
166
|
-
useUnrealizedPnlInAum: boolean;
|
167
|
-
tradeSpreadLong: BN;
|
168
|
-
tradeSpreadShort: BN;
|
169
|
-
swapSpread: BN;
|
170
|
-
minInitialLeverage: BN;
|
171
|
-
maxInitialLeverage: BN;
|
172
|
-
maxLeverage: BN;
|
173
|
-
maxPayoffMult: BN;
|
174
|
-
maxUtilization: BN;
|
175
|
-
maxPositionLockedUsd: BN;
|
176
|
-
maxTotalLockedUsd: BN;
|
177
|
-
}
|
178
|
-
export interface TradeStats {
|
179
|
-
profitUsd: BN;
|
180
|
-
lossUsd: BN;
|
181
|
-
oiLongUsd: BN;
|
182
|
-
oiShortUsd: BN;
|
183
|
-
}
|
184
|
-
export interface PriceFeed {
|
185
|
-
price: OraclePrice;
|
186
|
-
ema_price: OraclePrice;
|
187
|
-
}
|
188
|
-
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAG5C,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,OAElD;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAI1D;AAQD,qBAAa,IAAI;IACb,MAAM,CAAC,IAAI;;MAAgB;IAC3B,MAAM,CAAC,IAAI;;MAAgB;IAC3B,MAAM,CAAC,KAAK;;MAAiB;CAChC;AAMD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IAGnB,QAAQ,EAAE,EAAE,CAAC;IACb,UAAU,EAAE,EAAE,CAAC;IAEf,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;IACZ,aAAa,EAAE,EAAE,CAAC;IAClB,mBAAmB,EAAE,EAAE,CAAC;IACxB,iBAAiB,EAAE,EAAE,CAAC;IACtB,0BAA0B,EAAE,EAAE,CAAC;IAC/B,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,EAAE,CAAC;IAErB,IAAI,EAAE,MAAM,CAAA;CACf;AAKD,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,EAAE,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,EAAE,CAAC;IACX,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,EAAE,CAAC;CACX;AAMD,MAAM,WAAW,OAAO;IAEpB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,gBAAgB,CAAC;IAG7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,SAAS,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IAEvB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,aAAa,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IAGjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAE7B,QAAQ,EAAE,EAAE,CAAC;IACb,MAAM,EAAE,EAAE,CAAC;IACX,MAAM,EAAE,EAAE,CAAC;IACX,kBAAkB,EAAE,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAE5B,WAAW,EAAE,EAAE,CAAC;IAChB,kBAAkB,EAAE,EAAE,CAAC;IACvB,UAAU,EAAE,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,EAAE,CAAC;IAClB,aAAa,EAAE,EAAE,CAAC;IAClB,OAAO,EAAE,EAAE,CAAC;IACZ,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,EAAE,CAAC;IACrB,aAAa,EAAE,EAAE,CAAC;IAClB,qBAAqB,EAAE,EAAE,CAAC;IAC1B,0BAA0B,EAAE,EAAE,CAAC;CAClC;AAID,MAAM,WAAW,MAAM;IACnB,UAAU,EAAE,EAAE,CAAC;IACf,YAAY,EAAE,EAAE,CAAC;IACjB,KAAK,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,EAAE,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,EAAE,CAAC;IACZ,eAAe,EAAE,EAAE,CAAC;IACpB,kBAAkB,EAAE,EAAE,CAAC;IACvB,eAAe,EAAE,EAAE,CAAC;IACpB,gBAAgB,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,EAAE,CAAC;IACZ,eAAe,EAAE,EAAE,CAAC;IACpB,kBAAkB,EAAE,EAAE,CAAC;IACvB,eAAe,EAAE,EAAE,CAAC;IACpB,gBAAgB,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,EAAE,CAAC;IACd,eAAe,EAAG,EAAE,CAAC;IACpB,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,EAAE,EAAE,CAAC;IACZ,YAAY,EAAE,EAAE,CAAC;IACjB,aAAa,EAAE,EAAE,CAAC;IAClB,YAAY,EAAE,EAAE,CAAC;IACjB,eAAe,EAAE,EAAE,CAAC;IACpB,YAAY,EAAE,EAAE,CAAC;IACjB,aAAa,EAAE,EAAE,CAAC;IAClB,WAAW,EAAE,EAAE,CAAC;IAChB,aAAa,EAAE,EAAE,CAAC;CACtB;AAMD,qBAAa,QAAQ;IACjB,MAAM,CAAC,KAAK;;MAAiB;IAC7B,MAAM,CAAC,MAAM;;MAAkB;CAClC;AAED,MAAM,WAAW,YAAY;IACzB,aAAa,EAAE,SAAS,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAQD,qBAAa,UAAU;IACnB,MAAM,CAAC,IAAI;;MAAgB;IAC3B,MAAM,CAAC,IAAI;;MAAgB;IAC3B,MAAM,CAAC,IAAI;;MAAgB;CAC9B;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAE/B,eAAe,EAAE,EAAE,CAAC;IACpB,gBAAgB,EAAE,EAAE,CAAC;IACrB,UAAU,EAAE,EAAE,CAAC;IAEf,kBAAkB,EAAE,EAAE,CAAC;IACvB,kBAAkB,EAAE,EAAE,CAAC;IACvB,WAAW,EAAE,EAAE,CAAC;IAEhB,aAAa,EAAE,EAAE,CAAC;IAClB,cAAc,EAAE,EAAE,CAAC;IAEnB,oBAAoB,EAAE,EAAE,CAAC;IACzB,iBAAiB,EAAE,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,CAAC;IACZ,SAAS,EAAE,EAAE,CAAC;IACd,UAAU,EAAE,EAAE,CAAC;CAClB;AAWD,MAAM,WAAW,SAAS;IAItB,KAAK,EAAE,WAAW,CAAC;IAEnB,SAAS,EAAE,WAAW,CAAC;CAC1B"}
|
@@ -1,57 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.OracleType = exports.FeesMode = exports.Side = exports.isOneOfVariant = exports.isVariant = void 0;
|
4
|
-
// taken from drift
|
5
|
-
function isVariant(object, type) {
|
6
|
-
return object.hasOwnProperty(type);
|
7
|
-
}
|
8
|
-
exports.isVariant = isVariant;
|
9
|
-
// isOneOfVariant(side, ['long', 'short']
|
10
|
-
function isOneOfVariant(object, types) {
|
11
|
-
return types.reduce(function (result, type) {
|
12
|
-
return result || object.hasOwnProperty(type);
|
13
|
-
}, false);
|
14
|
-
}
|
15
|
-
exports.isOneOfVariant = isOneOfVariant;
|
16
|
-
// simple type cannot be used as anchor somehow makes it a object while parseing
|
17
|
-
// export enum Side {
|
18
|
-
// None,
|
19
|
-
// Long,
|
20
|
-
// Short,
|
21
|
-
// }
|
22
|
-
var Side = /** @class */ (function () {
|
23
|
-
function Side() {
|
24
|
-
}
|
25
|
-
Side.None = { none: {} };
|
26
|
-
Side.Long = { long: {} };
|
27
|
-
Side.Short = { short: {} };
|
28
|
-
return Side;
|
29
|
-
}());
|
30
|
-
exports.Side = Side;
|
31
|
-
// export enum FeesMode {
|
32
|
-
// Fixed,
|
33
|
-
// Linear
|
34
|
-
// }
|
35
|
-
var FeesMode = /** @class */ (function () {
|
36
|
-
function FeesMode() {
|
37
|
-
}
|
38
|
-
FeesMode.Fixed = { fixed: {} };
|
39
|
-
FeesMode.Linear = { linear: {} };
|
40
|
-
return FeesMode;
|
41
|
-
}());
|
42
|
-
exports.FeesMode = FeesMode;
|
43
|
-
// export enum OracleType {
|
44
|
-
// None,
|
45
|
-
// Test,
|
46
|
-
// Pyth,
|
47
|
-
// }
|
48
|
-
var OracleType = /** @class */ (function () {
|
49
|
-
function OracleType() {
|
50
|
-
}
|
51
|
-
OracleType.None = { none: {} };
|
52
|
-
OracleType.Test = { test: {} };
|
53
|
-
OracleType.Pyth = { pyth: {} };
|
54
|
-
return OracleType;
|
55
|
-
}());
|
56
|
-
exports.OracleType = OracleType;
|
57
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";;;AAMA,qBAAqB;AACrB,SAAgB,SAAS,CAAC,MAAW,EAAE,IAAY;IAC/C,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAFD,8BAEC;AAED,yCAAyC;AACzC,SAAgB,cAAc,CAAC,MAAW,EAAE,KAAe;IACvD,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI;QAC7B,OAAO,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,EAAE,KAAK,CAAC,CAAC;AACd,CAAC;AAJD,wCAIC;AAED,kFAAkF;AAClF,qBAAqB;AACrB,YAAY;AACZ,YAAY;AACZ,aAAa;AACb,IAAI;AACJ;IAAA;IAIA,CAAC;IAHU,SAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,SAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,UAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACjC,WAAC;CAAA,AAJD,IAIC;AAJY,oBAAI;AAwJjB,yBAAyB;AACzB,aAAa;AACb,aAAa;AACb,IAAI;AACJ;IAAA;IAGA,CAAC;IAFU,cAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACtB,eAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnC,eAAC;CAAA,AAHD,IAGC;AAHY,4BAAQ;AAYrB,2BAA2B;AAC3B,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,IAAI;AAEJ;IAAA;IAIA,CAAC;IAHU,eAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,eAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,eAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC/B,iBAAC;CAAA,AAJD,IAIC;AAJY,gCAAU"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import BN from "bn.js";
|
2
|
-
export declare const getUnixTs: () => number;
|
3
|
-
export declare const scaleToExponent: (arg: BN, exponent: BN, target_exponent: BN) => BN;
|
4
|
-
export declare const checkedCeilDiv: (arg1: BN, arg2: BN) => BN;
|
5
|
-
export declare const checkedDecimalCeilMul: (coefficient1: BN, exponent1: BN, coefficient2: BN, exponent2: BN, target_exponent: BN) => BN;
|
6
|
-
export declare const checkedDecimalMul: (coefficient1: BN, exponent1: BN, coefficient2: BN, exponent2: BN, target_exponent: BN) => BN;
|
7
|
-
export declare const checkedDecimalDiv: (coefficient1: BN, exponent1: BN, coefficient2: BN, exponent2: BN, target_exponent: BN) => BN;
|
8
|
-
//# sourceMappingURL=helpers.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvB,eAAO,MAAM,SAAS,cAEnB,CAAC;AAIJ,eAAO,MAAM,eAAe,QAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAI,EAY7E,CAAA;AAGD,eAAO,MAAM,cAAc,SAAU,EAAE,QAAQ,EAAE,OAiBhD,CAAA;AAED,eAAO,MAAM,qBAAqB,iBAChB,EAAE,aACL,EAAE,gBACC,EAAE,aACL,EAAE,mBACI,EAAE,KACnB,EA0BH,CAAA;AAED,eAAO,MAAM,iBAAiB,iBACd,EAAE,aACL,EAAE,gBACC,EAAE,aACL,EAAE,mBACI,EAAE,KACjB,EAuBH,CAAA;AAED,eAAO,MAAM,iBAAiB,iBACd,EAAE,aACL,EAAE,gBACC,EAAE,aACL,EAAE,mBACI,EAAE,KACjB,EAsDH,CAAA"}
|
@@ -1,152 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.checkedDecimalDiv = exports.checkedDecimalMul = exports.checkedDecimalCeilMul = exports.checkedCeilDiv = exports.scaleToExponent = exports.getUnixTs = void 0;
|
7
|
-
var bn_js_1 = __importDefault(require("bn.js"));
|
8
|
-
var constants_1 = require("../constants");
|
9
|
-
var getUnixTs = function () {
|
10
|
-
return new Date().getTime() / 1000;
|
11
|
-
};
|
12
|
-
exports.getUnixTs = getUnixTs;
|
13
|
-
// recheck ?? logic
|
14
|
-
var scaleToExponent = function (arg, exponent, target_exponent) {
|
15
|
-
if (target_exponent.eq(exponent)) {
|
16
|
-
return arg;
|
17
|
-
}
|
18
|
-
var delta = target_exponent.sub(exponent);
|
19
|
-
if (delta.gt(constants_1.BN_ZERO)) {
|
20
|
-
// checked_div(arg, checked_pow(10, delta as usize)?)
|
21
|
-
return arg.div(new bn_js_1.default(10).pow(delta));
|
22
|
-
}
|
23
|
-
else {
|
24
|
-
// checked_mul(arg, checked_pow(10, (-delta) as usize)?)
|
25
|
-
return arg.mul(new bn_js_1.default(10).pow(delta.muln(-1)));
|
26
|
-
}
|
27
|
-
};
|
28
|
-
exports.scaleToExponent = scaleToExponent;
|
29
|
-
// ceil(a/b) = ((a + b - 1) / b) , if a>=0
|
30
|
-
var checkedCeilDiv = function (arg1, arg2) {
|
31
|
-
if (arg1.gt(constants_1.BN_ZERO)) {
|
32
|
-
if (arg1.eq(arg2) && !arg2.isZero()) {
|
33
|
-
return constants_1.BN_ONE;
|
34
|
-
}
|
35
|
-
var res = (arg1.sub(constants_1.BN_ONE)).div(arg2);
|
36
|
-
if (!res) {
|
37
|
-
throw Error("error :: MathOverflow");
|
38
|
-
}
|
39
|
-
return res.add(constants_1.BN_ONE);
|
40
|
-
}
|
41
|
-
else {
|
42
|
-
var res = (arg1).div(arg2);
|
43
|
-
if (!res) {
|
44
|
-
throw Error("error :: MathOverflow");
|
45
|
-
}
|
46
|
-
return res;
|
47
|
-
}
|
48
|
-
};
|
49
|
-
exports.checkedCeilDiv = checkedCeilDiv;
|
50
|
-
var checkedDecimalCeilMul = function (coefficient1, exponent1, coefficient2, exponent2, target_exponent) {
|
51
|
-
if (coefficient1.isZero() || coefficient2.isZero()) {
|
52
|
-
return constants_1.BN_ZERO;
|
53
|
-
}
|
54
|
-
var target_power = (exponent1.add(exponent2)).sub(target_exponent);
|
55
|
-
if (target_power.gt(constants_1.BN_ZERO)) {
|
56
|
-
// checked_as_u64(checked_mul(
|
57
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
58
|
-
// checked_pow(10u128, target_power as usize)?,
|
59
|
-
// )?)
|
60
|
-
return (coefficient1.mul(coefficient2)).mul(new bn_js_1.default(10).pow(target_power));
|
61
|
-
}
|
62
|
-
else {
|
63
|
-
// checked_as_u64(checked_ceil_div(
|
64
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
65
|
-
// checked_pow(10u128, (-target_power) as usize)?,
|
66
|
-
// )?)
|
67
|
-
// ceil(a/b) = ((a + b - 1) / b) , if a>=0
|
68
|
-
//
|
69
|
-
var a = (coefficient1.mul(coefficient2));
|
70
|
-
var b = (new bn_js_1.default(10).pow(target_power.muln(-1)));
|
71
|
-
// return (a.add(b).subn(1)).div(b);
|
72
|
-
return (0, exports.checkedCeilDiv)(a, b);
|
73
|
-
}
|
74
|
-
};
|
75
|
-
exports.checkedDecimalCeilMul = checkedDecimalCeilMul;
|
76
|
-
var checkedDecimalMul = function (coefficient1, exponent1, coefficient2, exponent2, target_exponent) {
|
77
|
-
if (coefficient1.isZero() || coefficient2.isZero()) {
|
78
|
-
return constants_1.BN_ZERO;
|
79
|
-
}
|
80
|
-
var target_power = (exponent1.add(exponent2)).sub(target_exponent);
|
81
|
-
if (target_power.gt(constants_1.BN_ZERO)) {
|
82
|
-
// checked_as_u64(checked_mul(
|
83
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
84
|
-
// checked_pow(10u128, target_power as usize)?,
|
85
|
-
// )?)
|
86
|
-
return (coefficient1.mul(coefficient2)).mul(new bn_js_1.default(10).pow(target_power));
|
87
|
-
}
|
88
|
-
else {
|
89
|
-
// checked_as_u64(checked_div(
|
90
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
91
|
-
// checked_pow(10u128, (-target_power) as usize)?,
|
92
|
-
// )?)
|
93
|
-
return (coefficient1.mul(coefficient2))
|
94
|
-
.div(new bn_js_1.default(10).pow(target_power.muln(-1)));
|
95
|
-
}
|
96
|
-
};
|
97
|
-
exports.checkedDecimalMul = checkedDecimalMul;
|
98
|
-
var checkedDecimalDiv = function (coefficient1, exponent1, coefficient2, exponent2, target_exponent) {
|
99
|
-
if (coefficient2.isZero()) {
|
100
|
-
// msg!("Error: Overflow in {} / {}", coefficient1, coefficient2);
|
101
|
-
// return err!(PerpetualsError::MathOverflow);
|
102
|
-
throw Error("\"Error: Overflow in ".concat(coefficient1, " / ").concat(coefficient2));
|
103
|
-
}
|
104
|
-
if (coefficient1.isZero()) {
|
105
|
-
return constants_1.BN_ZERO;
|
106
|
-
}
|
107
|
-
// compute scale factor for the dividend
|
108
|
-
var scale_factor = constants_1.BN_ZERO;
|
109
|
-
var target_power = (exponent1.sub(exponent2)).sub(target_exponent);
|
110
|
-
if (exponent1.gt(constants_1.BN_ZERO)) {
|
111
|
-
scale_factor = scale_factor.add(exponent1);
|
112
|
-
}
|
113
|
-
if (exponent2.lt(constants_1.BN_ZERO)) {
|
114
|
-
scale_factor = scale_factor.sub(exponent2);
|
115
|
-
target_power = target_power.add(exponent2);
|
116
|
-
}
|
117
|
-
if (target_exponent.lt(constants_1.BN_ZERO)) {
|
118
|
-
scale_factor = scale_factor.sub(target_exponent);
|
119
|
-
target_power = target_power.add(target_exponent);
|
120
|
-
}
|
121
|
-
var scaled_coeff1 = constants_1.BN_ZERO;
|
122
|
-
if (scale_factor.gt(constants_1.BN_ZERO)) {
|
123
|
-
// checked_mul(
|
124
|
-
// coefficient1 ,
|
125
|
-
// checked_pow(10u128, scale_factor as usize)?,
|
126
|
-
// )?
|
127
|
-
scaled_coeff1 = coefficient1.mul(new bn_js_1.default(10).pow(scale_factor));
|
128
|
-
}
|
129
|
-
else {
|
130
|
-
scaled_coeff1 = coefficient1;
|
131
|
-
}
|
132
|
-
;
|
133
|
-
if (target_power.gte(constants_1.BN_ZERO)) {
|
134
|
-
// return (
|
135
|
-
// checked_mul(
|
136
|
-
// checked_div(scaled_coeff1, coefficient2),
|
137
|
-
// checked_pow(10u128, target_power),
|
138
|
-
// ))
|
139
|
-
return (scaled_coeff1.div(coefficient2))
|
140
|
-
.mul(new bn_js_1.default(10).pow(target_power));
|
141
|
-
}
|
142
|
-
else {
|
143
|
-
// return checked_as_u64(checked_div(
|
144
|
-
// checked_div(scaled_coeff1, coefficient2 as u128)?,
|
145
|
-
// checked_pow(10u128, (-target_power) as usize)?,
|
146
|
-
// ))
|
147
|
-
return (scaled_coeff1.div(coefficient2))
|
148
|
-
.div(new bn_js_1.default(10).pow(target_power.muln(-1)));
|
149
|
-
}
|
150
|
-
};
|
151
|
-
exports.checkedDecimalDiv = checkedDecimalDiv;
|
152
|
-
//# sourceMappingURL=helpers.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,0CAA+C;AAExC,IAAM,SAAS,GAAG;IACrB,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AACrC,CAAC,CAAC;AAFS,QAAA,SAAS,aAElB;AAGF,oBAAoB;AACf,IAAM,eAAe,GAAG,UAAC,GAAO,EAAE,QAAY,EAAE,eAAmB;IACtE,IAAI,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;QAC9B,OAAO,GAAG,CAAC;KACd;IACD,IAAI,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAE;QACrB,qDAAqD;QACrD,OAAO,GAAG,CAAC,GAAG,CAAE,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAE,CAAC;KACzC;SAAM;QACH,wDAAwD;QACxD,OAAO,GAAG,CAAC,GAAG,CAAE,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAClD;AACL,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B;AAED,0CAA0C;AACnC,IAAM,cAAc,GAAG,UAAC,IAAQ,EAAE,IAAQ;IAC7C,IAAI,IAAI,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAC;QACjB,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YACjC,OAAO,kBAAM,CAAC;SACjB;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAG,CAAC,GAAG,EAAC;YACN,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAA;SACrC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,kBAAM,CAAC,CAAC;KAC1B;SAAM;QACL,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAG,CAAC,GAAG,EAAC;YACN,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAA;SACrC;QACD,OAAO,GAAG,CAAC;KACZ;AACL,CAAC,CAAA;AAjBY,QAAA,cAAc,kBAiB1B;AAEM,IAAM,qBAAqB,GAAG,UACjC,YAAgB,EAChB,SAAa,EACb,YAAgB,EAChB,SAAa,EACb,eAAmB;IAEnB,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE;QAChD,OAAO,mBAAO,CAAC;KAClB;IACD,IAAI,YAAY,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnE,IAAI,YAAY,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAE;QAC1B,8BAA8B;QAC9B,gEAAgE;QAChE,mDAAmD;QACnD,MAAM;QAEL,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;KAE9E;SAAM;QACH,mCAAmC;QACnC,gEAAgE;QAChE,sDAAsD;QACtD,MAAM;QAEN,0CAA0C;QAC1C,IAAI;QACJ,IAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3C,IAAM,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,oCAAoC;QACpC,OAAO,IAAA,sBAAc,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;KAC9B;AACL,CAAC,CAAA;AAhCY,QAAA,qBAAqB,yBAgCjC;AAEM,IAAM,iBAAiB,GAAG,UAC/B,YAAgB,EAChB,SAAa,EACb,YAAgB,EAChB,SAAa,EACb,eAAmB;IAEnB,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE;QAChD,OAAO,mBAAO,CAAC;KAClB;IACD,IAAI,YAAY,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnE,IAAI,YAAY,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAE;QAC1B,8BAA8B;QAC9B,gEAAgE;QAChE,mDAAmD;QACnD,MAAM;QAEL,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;KAE9E;SAAM;QACL,8BAA8B;QAC9B,8DAA8D;QAC9D,oDAAoD;QACpD,MAAM;QAEJ,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAC9B,GAAG,CACH,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACnD;AACH,CAAC,CAAA;AA7BY,QAAA,iBAAiB,qBA6B7B;AAEM,IAAM,iBAAiB,GAAG,UAC/B,YAAgB,EAChB,SAAa,EACb,YAAgB,EAChB,SAAa,EACb,eAAmB;IAEnB,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE;QACvB,kEAAkE;QAClE,8CAA8C;QAC9C,MAAM,KAAK,CAAC,+BAAuB,YAAY,gBAAM,YAAY,CAAE,CAAC,CAAA;KACvE;IACD,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE;QACvB,OAAO,mBAAO,CAAC;KAClB;IACD,wCAAwC;IACxC,IAAK,YAAY,GAAG,mBAAO,CAAC;IAC5B,IAAK,YAAY,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAG;QACxB,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC9C;IACD,IAAI,SAAS,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAE;QACvB,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC9C;IACD,IAAI,eAAe,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAE;QAC7B,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACjD,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KACpD;IACD,IAAI,aAAa,GAAG,mBAAO,CAAC;IAC5B,IAAI,YAAY,CAAC,EAAE,CAAC,mBAAO,CAAC,EAAE;QAC1B,eAAe;QACf,qBAAqB;QACrB,mDAAmD;QACnD,KAAK;QACL,aAAa,GAAG,YAAY,CAAC,GAAG,CAC9B,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAC7B,CAAC;KACL;SAAM;QACH,aAAa,GAAG,YAAY,CAAC;KAChC;IAAA,CAAC;IAEF,IAAI,YAAY,CAAC,GAAG,CAAC,mBAAO,CAAC,EAAE;QAC7B,YAAY;QACZ,iBAAiB;QACjB,kDAAkD;QAClD,2CAA2C;QAC3C,OAAO;QACR,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACrC,GAAG,CAAE,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAE,CAAC;KAEvC;SAAM;QACL,qCAAqC;QACrC,2DAA2D;QAC3D,wDAAwD;QACxD,OAAO;QACP,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACtC,GAAG,CAAE,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;KAEhD;AACH,CAAC,CAAA;AA5DY,QAAA,iBAAiB,qBA4D7B"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,YAAY,IAAI,CAAC;AAG9B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,SAAS,QAAqB,CAAC;AAE5C,eAAO,MAAM,WAAW,IAAe,CAAC;AAExC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,UAAU,QAAsB,CAAC;AAE9C,eAAO,MAAM,OAAO,iBAAY,CAAC;AACjC,eAAO,MAAM,MAAM,iBAAY,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAEd,QAAA,mBAAmB,GAAG,CAAC,CAAC,CAAC,uBAAuB;AAChD,QAAA,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG;AACvB,QAAA,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG;AAGrB,QAAA,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG;AACrB,QAAA,SAAS,GAAG,SAAA,EAAE,EAAE,CAAC,oBAAY,CAAC,CAAA,CAAC;AAE/B,QAAA,WAAW,GAAG,oBAAY,CAAC;AAE3B,QAAA,aAAa,GAAG,CAAC,CAAC,CAAC,cAAc;AACjC,QAAA,UAAU,GAAG,SAAA,EAAE,EAAE,CAAC,qBAAa,CAAC,CAAA,CAAC;AAEjC,QAAA,OAAO,GAAG,IAAI,UAAE,CAAC,CAAC,CAAC,CAAC;AACpB,QAAA,MAAM,GAAG,IAAI,UAAE,CAAC,CAAC,CAAC,CAAC"}
|
package/lib/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
|
package/lib/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC;AAClC,gDAA8B;AAC9B,8CAA4B;AAC5B,0CAAwB;AACxB,qDAAmC"}
|
package/lib/types/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAMA,qBAAqB;AACrB,SAAgB,SAAS,CAAC,MAAW,EAAE,IAAY;IAC/C,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAFD,8BAEC;AAED,yCAAyC;AACzC,SAAgB,cAAc,CAAC,MAAW,EAAE,KAAe;IACvD,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI;QAC7B,OAAO,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,EAAE,KAAK,CAAC,CAAC;AACd,CAAC;AAJD,wCAIC;AAED,kFAAkF;AAClF,qBAAqB;AACrB,YAAY;AACZ,YAAY;AACZ,aAAa;AACb,IAAI;AACJ;IAAA;IAIA,CAAC;IAHU,SAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,SAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,UAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACjC,WAAC;CAAA,AAJD,IAIC;AAJY,oBAAI;AAwJjB,yBAAyB;AACzB,aAAa;AACb,aAAa;AACb,IAAI;AACJ;IAAA;IAGA,CAAC;IAFU,cAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACtB,eAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnC,eAAC;CAAA,AAHD,IAGC;AAHY,4BAAQ;AAYrB,2BAA2B;AAC3B,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,IAAI;AAEJ;IAAA;IAIA,CAAC;IAHU,eAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,eAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpB,eAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC/B,iBAAC;CAAA,AAJD,IAIC;AAJY,gCAAU"}
|
package/lib/utils/helpers.d.ts
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
import BN from "bn.js";
|
2
|
-
export declare const getUnixTs: () => number;
|
3
|
-
export declare const scaleToExponent: (arg: BN, exponent: BN, target_exponent: BN) => BN;
|
4
|
-
export declare const checkedCeilDiv: (arg1: BN, arg2: BN) => BN;
|
5
|
-
export declare const checkedDecimalCeilMul: (coefficient1: BN, exponent1: BN, coefficient2: BN, exponent2: BN, target_exponent: BN) => BN;
|
6
|
-
export declare const checkedDecimalMul: (coefficient1: BN, exponent1: BN, coefficient2: BN, exponent2: BN, target_exponent: BN) => BN;
|
7
|
-
export declare const checkedDecimalDiv: (coefficient1: BN, exponent1: BN, coefficient2: BN, exponent2: BN, target_exponent: BN) => BN;
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvB,eAAO,MAAM,SAAS,cAEnB,CAAC;AAIJ,eAAO,MAAM,eAAe,QAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAI,EAY7E,CAAA;AAGD,eAAO,MAAM,cAAc,SAAU,EAAE,QAAQ,EAAE,OAiBhD,CAAA;AAED,eAAO,MAAM,qBAAqB,iBAChB,EAAE,aACL,EAAE,gBACC,EAAE,aACL,EAAE,mBACI,EAAE,KACnB,EA0BH,CAAA;AAED,eAAO,MAAM,iBAAiB,iBACd,EAAE,aACL,EAAE,gBACC,EAAE,aACL,EAAE,mBACI,EAAE,KACjB,EAuBH,CAAA;AAED,eAAO,MAAM,iBAAiB,iBACd,EAAE,aACL,EAAE,gBACC,EAAE,aACL,EAAE,mBACI,EAAE,KACjB,EAsDH,CAAA"}
|
package/lib/utils/helpers.js
DELETED
@@ -1,151 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.checkedDecimalDiv = exports.checkedDecimalMul = exports.checkedDecimalCeilMul = exports.checkedCeilDiv = exports.scaleToExponent = exports.getUnixTs = void 0;
|
7
|
-
var bn_js_1 = __importDefault(require("bn.js"));
|
8
|
-
var constants_1 = require("../constants");
|
9
|
-
var getUnixTs = function () {
|
10
|
-
return new Date().getTime() / 1000;
|
11
|
-
};
|
12
|
-
exports.getUnixTs = getUnixTs;
|
13
|
-
// recheck ?? logic
|
14
|
-
var scaleToExponent = function (arg, exponent, target_exponent) {
|
15
|
-
if (target_exponent.eq(exponent)) {
|
16
|
-
return arg;
|
17
|
-
}
|
18
|
-
var delta = target_exponent.sub(exponent);
|
19
|
-
if (delta.gt(constants_1.BN_ZERO)) {
|
20
|
-
// checked_div(arg, checked_pow(10, delta as usize)?)
|
21
|
-
return arg.div(new bn_js_1.default(10).pow(delta));
|
22
|
-
}
|
23
|
-
else {
|
24
|
-
// checked_mul(arg, checked_pow(10, (-delta) as usize)?)
|
25
|
-
return arg.mul(new bn_js_1.default(10).pow(delta.muln(-1)));
|
26
|
-
}
|
27
|
-
};
|
28
|
-
exports.scaleToExponent = scaleToExponent;
|
29
|
-
// ceil(a/b) = ((a + b - 1) / b) , if a>=0
|
30
|
-
var checkedCeilDiv = function (arg1, arg2) {
|
31
|
-
if (arg1.gt(constants_1.BN_ZERO)) {
|
32
|
-
if (arg1.eq(arg2) && !arg2.isZero()) {
|
33
|
-
return constants_1.BN_ONE;
|
34
|
-
}
|
35
|
-
var res = (arg1.sub(constants_1.BN_ONE)).div(arg2);
|
36
|
-
if (!res) {
|
37
|
-
throw Error("error :: MathOverflow");
|
38
|
-
}
|
39
|
-
return res.add(constants_1.BN_ONE);
|
40
|
-
}
|
41
|
-
else {
|
42
|
-
var res = (arg1).div(arg2);
|
43
|
-
if (!res) {
|
44
|
-
throw Error("error :: MathOverflow");
|
45
|
-
}
|
46
|
-
return res;
|
47
|
-
}
|
48
|
-
};
|
49
|
-
exports.checkedCeilDiv = checkedCeilDiv;
|
50
|
-
var checkedDecimalCeilMul = function (coefficient1, exponent1, coefficient2, exponent2, target_exponent) {
|
51
|
-
if (coefficient1.isZero() || coefficient2.isZero()) {
|
52
|
-
return constants_1.BN_ZERO;
|
53
|
-
}
|
54
|
-
var target_power = (exponent1.add(exponent2)).sub(target_exponent);
|
55
|
-
if (target_power.gt(constants_1.BN_ZERO)) {
|
56
|
-
// checked_as_u64(checked_mul(
|
57
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
58
|
-
// checked_pow(10u128, target_power as usize)?,
|
59
|
-
// )?)
|
60
|
-
return (coefficient1.mul(coefficient2)).mul(new bn_js_1.default(10).pow(target_power));
|
61
|
-
}
|
62
|
-
else {
|
63
|
-
// checked_as_u64(checked_ceil_div(
|
64
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
65
|
-
// checked_pow(10u128, (-target_power) as usize)?,
|
66
|
-
// )?)
|
67
|
-
// ceil(a/b) = ((a + b - 1) / b) , if a>=0
|
68
|
-
//
|
69
|
-
var a = (coefficient1.mul(coefficient2));
|
70
|
-
var b = (new bn_js_1.default(10).pow(target_power.muln(-1)));
|
71
|
-
// return (a.add(b).subn(1)).div(b);
|
72
|
-
return (0, exports.checkedCeilDiv)(a, b);
|
73
|
-
}
|
74
|
-
};
|
75
|
-
exports.checkedDecimalCeilMul = checkedDecimalCeilMul;
|
76
|
-
var checkedDecimalMul = function (coefficient1, exponent1, coefficient2, exponent2, target_exponent) {
|
77
|
-
if (coefficient1.isZero() || coefficient2.isZero()) {
|
78
|
-
return constants_1.BN_ZERO;
|
79
|
-
}
|
80
|
-
var target_power = (exponent1.add(exponent2)).sub(target_exponent);
|
81
|
-
if (target_power.gt(constants_1.BN_ZERO)) {
|
82
|
-
// checked_as_u64(checked_mul(
|
83
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
84
|
-
// checked_pow(10u128, target_power as usize)?,
|
85
|
-
// )?)
|
86
|
-
return (coefficient1.mul(coefficient2)).mul(new bn_js_1.default(10).pow(target_power));
|
87
|
-
}
|
88
|
-
else {
|
89
|
-
// checked_as_u64(checked_div(
|
90
|
-
// checked_mul(coefficient1 as u128, coefficient2 as u128)?,
|
91
|
-
// checked_pow(10u128, (-target_power) as usize)?,
|
92
|
-
// )?)
|
93
|
-
return (coefficient1.mul(coefficient2))
|
94
|
-
.div(new bn_js_1.default(10).pow(target_power.muln(-1)));
|
95
|
-
}
|
96
|
-
};
|
97
|
-
exports.checkedDecimalMul = checkedDecimalMul;
|
98
|
-
var checkedDecimalDiv = function (coefficient1, exponent1, coefficient2, exponent2, target_exponent) {
|
99
|
-
if (coefficient2.isZero()) {
|
100
|
-
// msg!("Error: Overflow in {} / {}", coefficient1, coefficient2);
|
101
|
-
// return err!(PerpetualsError::MathOverflow);
|
102
|
-
throw Error("\"Error: Overflow in ".concat(coefficient1, " / ").concat(coefficient2));
|
103
|
-
}
|
104
|
-
if (coefficient1.isZero()) {
|
105
|
-
return constants_1.BN_ZERO;
|
106
|
-
}
|
107
|
-
// compute scale factor for the dividend
|
108
|
-
var scale_factor = constants_1.BN_ZERO;
|
109
|
-
var target_power = (exponent1.sub(exponent2)).sub(target_exponent);
|
110
|
-
if (exponent1.gt(constants_1.BN_ZERO)) {
|
111
|
-
scale_factor = scale_factor.add(exponent1);
|
112
|
-
}
|
113
|
-
if (exponent2.lt(constants_1.BN_ZERO)) {
|
114
|
-
scale_factor = scale_factor.sub(exponent2);
|
115
|
-
target_power = target_power.add(exponent2);
|
116
|
-
}
|
117
|
-
if (target_exponent.lt(constants_1.BN_ZERO)) {
|
118
|
-
scale_factor = scale_factor.sub(target_exponent);
|
119
|
-
target_power = target_power.add(target_exponent);
|
120
|
-
}
|
121
|
-
var scaled_coeff1 = constants_1.BN_ZERO;
|
122
|
-
if (scale_factor.gt(constants_1.BN_ZERO)) {
|
123
|
-
// checked_mul(
|
124
|
-
// coefficient1 ,
|
125
|
-
// checked_pow(10u128, scale_factor as usize)?,
|
126
|
-
// )?
|
127
|
-
scaled_coeff1 = coefficient1.mul(new bn_js_1.default(10).pow(scale_factor));
|
128
|
-
}
|
129
|
-
else {
|
130
|
-
scaled_coeff1 = coefficient1;
|
131
|
-
}
|
132
|
-
;
|
133
|
-
if (target_power.gte(constants_1.BN_ZERO)) {
|
134
|
-
// return (
|
135
|
-
// checked_mul(
|
136
|
-
// checked_div(scaled_coeff1, coefficient2),
|
137
|
-
// checked_pow(10u128, target_power),
|
138
|
-
// ))
|
139
|
-
return (scaled_coeff1.div(coefficient2))
|
140
|
-
.mul(new bn_js_1.default(10).pow(target_power));
|
141
|
-
}
|
142
|
-
else {
|
143
|
-
// return checked_as_u64(checked_div(
|
144
|
-
// checked_div(scaled_coeff1, coefficient2 as u128)?,
|
145
|
-
// checked_pow(10u128, (-target_power) as usize)?,
|
146
|
-
// ))
|
147
|
-
return (scaled_coeff1.div(coefficient2))
|
148
|
-
.div(new bn_js_1.default(10).pow(target_power.muln(-1)));
|
149
|
-
}
|
150
|
-
};
|
151
|
-
exports.checkedDecimalDiv = checkedDecimalDiv;
|
package/lib/utils/helpers.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
|