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.
Files changed (102) hide show
  1. package/lib/CustodyAccount.js +9 -19
  2. package/lib/OraclePrice.d.ts +2 -0
  3. package/lib/OraclePrice.js +4 -0
  4. package/lib/PerpetualsClient.d.ts +26 -5
  5. package/lib/PerpetualsClient.js +586 -24
  6. package/lib/PoolAccount.d.ts +2 -1
  7. package/lib/PoolAccount.js +16 -29
  8. package/lib/PoolConfig.d.ts +7 -2
  9. package/lib/PoolConfig.js +15 -7
  10. package/lib/PoolConfig.json +4 -0
  11. package/lib/{PoolDisplayData.d.ts → PoolDataClient.d.ts} +3 -2
  12. package/lib/{PoolDisplayData.js → PoolDataClient.js} +13 -13
  13. package/lib/PositionAccount.d.ts +1 -0
  14. package/lib/Token.js +1 -0
  15. package/lib/constants/index.d.ts +1 -0
  16. package/lib/idl/perpetuals.d.ts +3675 -0
  17. package/{src/target/types → lib/idl}/perpetuals.js +140 -3
  18. package/lib/index.d.ts +3 -0
  19. package/lib/index.js +5 -0
  20. package/lib/tsconfig.tsbuildinfo +1 -1
  21. package/lib/types/index.d.ts +5 -3
  22. package/lib/types/index.js +21 -1
  23. package/lib/utils/index.d.ts +2 -0
  24. package/lib/utils/index.js +57 -1
  25. package/lib/utils/rpc.d.ts +13 -0
  26. package/lib/utils/rpc.js +217 -0
  27. package/package.json +1 -1
  28. package/readme.md +23 -3
  29. package/src/CustodyAccount.ts +24 -23
  30. package/src/OraclePrice.ts +4 -4
  31. package/src/PerpetualsClient.ts +737 -96
  32. package/src/PoolAccount.ts +34 -32
  33. package/src/PoolConfig.json +4 -0
  34. package/src/PoolConfig.ts +21 -6
  35. package/src/{PoolDisplayData.ts → PoolDataClient.ts} +2 -2
  36. package/src/Token.ts +1 -0
  37. package/src/{target/types → idl}/perpetuals.ts +280 -6
  38. package/src/index.ts +3 -0
  39. package/src/type-rules.md +4 -0
  40. package/src/types/index.ts +26 -3
  41. package/src/utils/index.ts +14 -0
  42. package/src/utils/rpc.ts +162 -0
  43. package/lib/CustodyAccount.d.ts.map +0 -1
  44. package/lib/CustodyAccount.js.map +0 -1
  45. package/lib/OraclePrice.d.ts.map +0 -1
  46. package/lib/OraclePrice.js.map +0 -1
  47. package/lib/PerpetualsClient.d.ts.map +0 -1
  48. package/lib/PerpetualsClient.js.map +0 -1
  49. package/lib/PoolAccount.d.ts.map +0 -1
  50. package/lib/PoolAccount.js.map +0 -1
  51. package/lib/PositionAccount.d.ts.map +0 -1
  52. package/lib/PositionAccount.js.map +0 -1
  53. package/lib/client/src/CustodyAccount.d.ts +0 -30
  54. package/lib/client/src/CustodyAccount.d.ts.map +0 -1
  55. package/lib/client/src/CustodyAccount.js +0 -64
  56. package/lib/client/src/CustodyAccount.js.map +0 -1
  57. package/lib/client/src/OraclePrice.d.ts +0 -19
  58. package/lib/client/src/OraclePrice.d.ts.map +0 -1
  59. package/lib/client/src/OraclePrice.js +0 -84
  60. package/lib/client/src/OraclePrice.js.map +0 -1
  61. package/lib/client/src/PerpetualsClient.d.ts +0 -1938
  62. package/lib/client/src/PerpetualsClient.d.ts.map +0 -1
  63. package/lib/client/src/PerpetualsClient.js +0 -1043
  64. package/lib/client/src/PerpetualsClient.js.map +0 -1
  65. package/lib/client/src/PoolAccount.d.ts +0 -35
  66. package/lib/client/src/PoolAccount.d.ts.map +0 -1
  67. package/lib/client/src/PoolAccount.js +0 -307
  68. package/lib/client/src/PoolAccount.js.map +0 -1
  69. package/lib/client/src/PositionAccount.d.ts +0 -27
  70. package/lib/client/src/PositionAccount.d.ts.map +0 -1
  71. package/lib/client/src/PositionAccount.js +0 -91
  72. package/lib/client/src/PositionAccount.js.map +0 -1
  73. package/lib/client/src/constants/index.d.ts +0 -12
  74. package/lib/client/src/constants/index.d.ts.map +0 -1
  75. package/lib/client/src/constants/index.js +0 -15
  76. package/lib/client/src/constants/index.js.map +0 -1
  77. package/lib/client/src/index.d.ts +0 -9
  78. package/lib/client/src/index.d.ts.map +0 -1
  79. package/lib/client/src/index.js +0 -26
  80. package/lib/client/src/index.js.map +0 -1
  81. package/lib/client/src/types/index.d.ts +0 -188
  82. package/lib/client/src/types/index.d.ts.map +0 -1
  83. package/lib/client/src/types/index.js +0 -57
  84. package/lib/client/src/types/index.js.map +0 -1
  85. package/lib/client/src/utils/helpers.d.ts +0 -8
  86. package/lib/client/src/utils/helpers.d.ts.map +0 -1
  87. package/lib/client/src/utils/helpers.js +0 -152
  88. package/lib/client/src/utils/helpers.js.map +0 -1
  89. package/lib/constants/index.d.ts.map +0 -1
  90. package/lib/constants/index.js.map +0 -1
  91. package/lib/index.d.ts.map +0 -1
  92. package/lib/index.js.map +0 -1
  93. package/lib/types/index.d.ts.map +0 -1
  94. package/lib/types/index.js.map +0 -1
  95. package/lib/utils/helpers.d.ts +0 -7
  96. package/lib/utils/helpers.d.ts.map +0 -1
  97. package/lib/utils/helpers.js +0 -151
  98. package/lib/utils/helpers.js.map +0 -1
  99. package/src/readme.md +0 -24
  100. package/src/target/types/limit_order_cpi.js +0 -132
  101. package/src/target/types/limit_order_cpi.ts +0 -259
  102. /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":"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"}
@@ -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":"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"}
@@ -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"}
@@ -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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -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,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"}
@@ -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;
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}