@gainsnetwork/sdk 1.3.0-rc6 → 1.4.0-rc1
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/backend/globalTrades/index.js +10 -10
- package/lib/backend/tradingVariables/backend.types.d.ts +4 -11
- package/lib/backend/tradingVariables/converter.d.ts +3 -7
- package/lib/backend/tradingVariables/converter.js +63 -71
- package/lib/backend/tradingVariables/index.js +8 -10
- package/lib/backend/tradingVariables/types.d.ts +2 -4
- package/lib/constants.d.ts +4 -0
- package/lib/constants.js +6 -1
- package/lib/contracts/addresses.d.ts +1 -1
- package/lib/contracts/addresses.js +4 -8
- package/lib/contracts/addresses.json +0 -29
- package/lib/contracts/index.d.ts +1 -1
- package/lib/contracts/index.js +3 -3
- package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +299 -608
- package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +313 -1996
- package/lib/contracts/utils/borrowingFees.js +20 -9
- package/lib/contracts/utils/openTrades.js +20 -11
- package/lib/contracts/utils/pairs.d.ts +2 -13
- package/lib/contracts/utils/pairs.js +34 -80
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/markets/forex.js +1 -1
- package/lib/markets/leverage/builder.js +2 -2
- package/lib/markets/price/index.d.ts +0 -1
- package/lib/markets/price/index.js +0 -1
- package/lib/markets/price/types.d.ts +0 -27
- package/lib/trade/fees/borrowing/builder.js +3 -2
- package/lib/trade/fees/borrowing/converter.js +1 -5
- package/lib/trade/fees/borrowing/index.js +5 -5
- package/lib/trade/fees/borrowingV2/builder.js +4 -3
- package/lib/trade/fees/borrowingV2/converter.js +1 -1
- package/lib/trade/fees/borrowingV2/fetcher.js +32 -26
- package/lib/trade/fees/borrowingV2/index.js +3 -3
- package/lib/trade/fees/converter.js +22 -22
- package/lib/trade/fees/fundingFees/builder.js +7 -6
- package/lib/trade/fees/fundingFees/converter.js +1 -1
- package/lib/trade/fees/fundingFees/fetcher.js +25 -16
- package/lib/trade/fees/fundingFees/index.js +3 -2
- package/lib/trade/fees/tiers/index.js +2 -1
- package/lib/trade/fees/trading/index.js +3 -5
- package/lib/trade/liquidation/builder.js +2 -1
- package/lib/trade/liquidation/index.js +6 -4
- package/lib/trade/liquidation.d.ts +12 -0
- package/lib/trade/liquidation.js +55 -0
- package/lib/trade/oiWindows.js +2 -1
- package/lib/trade/pnl/builder.js +2 -1
- package/lib/trade/pnl/converter.js +1 -1
- package/lib/trade/pnl/index.js +7 -4
- package/lib/trade/pnl.d.ts +10 -0
- package/lib/trade/pnl.js +33 -0
- package/lib/trade/priceImpact/close/builder.js +2 -1
- package/lib/trade/priceImpact/close/index.js +1 -4
- package/lib/trade/priceImpact/cumulVol/builder.js +11 -21
- package/lib/trade/priceImpact/cumulVol/converter.d.ts +0 -63
- package/lib/trade/priceImpact/cumulVol/converter.js +1 -97
- package/lib/trade/priceImpact/cumulVol/index.d.ts +6 -7
- package/lib/trade/priceImpact/cumulVol/index.js +41 -149
- package/lib/trade/priceImpact/open/builder.js +2 -1
- package/lib/trade/priceImpact/open/index.js +1 -7
- package/lib/trade/priceImpact/skew/builder.js +3 -2
- package/lib/trade/priceImpact/skew/converter.js +1 -1
- package/lib/trade/priceImpact/skew/fetcher.js +33 -24
- package/lib/trade/types.d.ts +5 -1
- package/lib/trade/types.js +4 -0
- package/package.json +2 -2
- package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +0 -1911
- package/lib/contracts/types/generated/GFarmTradingStorageV5.js +0 -2
- package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +0 -1067
- package/lib/contracts/types/generated/GNSBorrowingFees.js +0 -2
- package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.d.ts +0 -979
- package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.js +0 -2
- package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +0 -1058
- package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +0 -2
- package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +0 -533
- package/lib/contracts/types/generated/GNSNftRewardsV6.js +0 -2
- package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +0 -613
- package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +0 -2
- package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +0 -911
- package/lib/contracts/types/generated/GNSPairInfosV6_1.js +0 -2
- package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +0 -660
- package/lib/contracts/types/generated/GNSPairsStorageV6.js +0 -2
- package/lib/contracts/types/generated/GNSTrading.d.ts +0 -758
- package/lib/contracts/types/generated/GNSTrading.js +0 -2
- package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +0 -875
- package/lib/contracts/types/generated/GNSTradingCallbacks.js +0 -2
- package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.d.ts +0 -806
- package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.js +0 -2
- package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +0 -821
- package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +0 -2
- package/lib/contracts/types/generated/GNSTradingStorage.d.ts +0 -1387
- package/lib/contracts/types/generated/GNSTradingStorage.js +0 -2
- package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +0 -1838
- package/lib/contracts/types/generated/GTokenV6_3_2.js +0 -2
- package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +0 -83
- package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +0 -2691
- package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.d.ts +0 -88
- package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.js +0 -1654
- package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +0 -113
- package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +0 -1742
- package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +0 -124
- package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +0 -1784
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +0 -100
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +0 -1116
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +0 -100
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +0 -1003
- package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +0 -98
- package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +0 -1485
- package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +0 -117
- package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +0 -1265
- package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.d.ts +0 -82
- package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.js +0 -1273
- package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +0 -82
- package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +0 -1326
- package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +0 -113
- package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +0 -1428
- package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +0 -96
- package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +0 -2241
- package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +0 -95
- package/lib/contracts/types/generated/factories/GNSTrading__factory.js +0 -1071
- package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +0 -110
- package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +0 -2682
- package/lib/markets/oi/fetcher.d.ts +0 -58
- package/lib/markets/oi/fetcher.js +0 -181
- package/lib/markets/oi/validation.d.ts +0 -80
- package/lib/markets/oi/validation.js +0 -172
- package/lib/markets/price/signedPrices.d.ts +0 -36
- package/lib/markets/price/signedPrices.js +0 -181
- package/lib/pricing/depthBands/converter.d.ts +0 -65
- package/lib/pricing/depthBands/converter.js +0 -155
- package/lib/pricing/depthBands/decoder.d.ts +0 -32
- package/lib/pricing/depthBands/decoder.js +0 -109
- package/lib/pricing/depthBands/encoder.d.ts +0 -19
- package/lib/pricing/depthBands/encoder.js +0 -105
- package/lib/pricing/depthBands/index.d.ts +0 -8
- package/lib/pricing/depthBands/index.js +0 -26
- package/lib/pricing/depthBands/types.d.ts +0 -49
- package/lib/pricing/depthBands/types.js +0 -10
- package/lib/pricing/depthBands/validator.d.ts +0 -22
- package/lib/pricing/depthBands/validator.js +0 -113
- package/lib/pricing/depthBands.d.ts +0 -39
- package/lib/pricing/depthBands.js +0 -94
- package/lib/pricing/index.d.ts +0 -4
- package/lib/pricing/index.js +0 -20
- package/lib/trade/effectiveLeverage/builder.d.ts +0 -23
- package/lib/trade/effectiveLeverage/builder.js +0 -30
- package/lib/trade/fees/holdingFees/index.d.ts +0 -46
- package/lib/trade/fees/holdingFees/index.js +0 -105
- package/lib/trade/fees/holdingFees/types.d.ts +0 -23
- package/lib/trade/fees/holdingFees/types.js +0 -5
- package/lib/trade/fees/trading/holdingFees.d.ts +0 -28
- package/lib/trade/fees/trading/holdingFees.js +0 -66
- package/lib/trade/fees/trading/holdingFeesStructured.d.ts +0 -28
- package/lib/trade/fees/trading/holdingFeesStructured.js +0 -66
- package/lib/trade/priceImpact/cumulVol/types.d.ts +0 -11
- package/lib/trade/priceImpact/cumulVol/types.js +0 -2
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @dev Holding fees calculation for structured contexts
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getTradePendingHoldingFeesCollateralStructured = void 0;
|
|
7
|
-
const types_1 = require("../../../contracts/types");
|
|
8
|
-
const borrowing_1 = require("../borrowing");
|
|
9
|
-
const borrowingV2_1 = require("../borrowingV2");
|
|
10
|
-
const pairContext_1 = require("../fundingFees/pairContext");
|
|
11
|
-
/**
|
|
12
|
-
* @dev Calculates total holding fees using structured context
|
|
13
|
-
* @param trade The trade to calculate fees for
|
|
14
|
-
* @param tradeInfo Trade info containing contracts version
|
|
15
|
-
* @param tradeFeesData Trade fees data containing initial acc fees
|
|
16
|
-
* @param currentPairPrice Current pair price
|
|
17
|
-
* @param context Structured context with sub-contexts for each fee type
|
|
18
|
-
* @returns Object containing all holding fee components
|
|
19
|
-
*/
|
|
20
|
-
const getTradePendingHoldingFeesCollateralStructured = (trade, tradeInfo, tradeFeesData, currentPairPrice, context) => {
|
|
21
|
-
const positionSizeCollateral = trade.collateralAmount * trade.leverage;
|
|
22
|
-
// Calculate funding fees (v10+ only)
|
|
23
|
-
let fundingFeeCollateral = 0;
|
|
24
|
-
if (context.contractsVersion >= types_1.ContractsVersion.V10 &&
|
|
25
|
-
context.funding &&
|
|
26
|
-
tradeFeesData.initialAccFundingFeeP !== undefined) {
|
|
27
|
-
fundingFeeCollateral = (0, pairContext_1.getPairTradeFundingFeesCollateral)({
|
|
28
|
-
positionSizeCollateral,
|
|
29
|
-
openPrice: trade.openPrice,
|
|
30
|
-
long: trade.long,
|
|
31
|
-
currentPairPrice,
|
|
32
|
-
initialAccFundingFeeP: tradeFeesData.initialAccFundingFeeP,
|
|
33
|
-
}, context.funding // TODO: Fix types once funding types are properly imported
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
// Calculate borrowing fees v2
|
|
37
|
-
let borrowingFeeCollateral = 0;
|
|
38
|
-
if (context.borrowingV2 && tradeFeesData.initialAccBorrowingFeeP !== undefined) {
|
|
39
|
-
borrowingFeeCollateral = (0, borrowingV2_1.getPairTradeBorrowingFeesCollateral)({
|
|
40
|
-
positionSizeCollateral,
|
|
41
|
-
openPrice: trade.openPrice,
|
|
42
|
-
currentPairPrice,
|
|
43
|
-
initialAccBorrowingFeeP: tradeFeesData.initialAccBorrowingFeeP,
|
|
44
|
-
currentTimestamp: context.currentTimestamp,
|
|
45
|
-
}, context.borrowingV2);
|
|
46
|
-
}
|
|
47
|
-
// Calculate v1 borrowing fees (some markets use v1 indefinitely)
|
|
48
|
-
let borrowingFeeCollateral_old = 0;
|
|
49
|
-
if (context.borrowingV1) {
|
|
50
|
-
borrowingFeeCollateral_old = (0, borrowing_1.getPairBorrowingFee)(positionSizeCollateral, trade.long, context.borrowingV1.initialAccFees || { accPairFee: 0, accGroupFee: 0, block: 0 }, {
|
|
51
|
-
currentBlock: context.borrowingV1.currentBlock,
|
|
52
|
-
group: context.borrowingV1.group,
|
|
53
|
-
pair: context.borrowingV1.pair,
|
|
54
|
-
collateralPriceUsd: context.collateralPriceUsd,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
fundingFeeCollateral,
|
|
59
|
-
borrowingFeeCollateral,
|
|
60
|
-
borrowingFeeCollateral_old,
|
|
61
|
-
totalFeeCollateral: fundingFeeCollateral +
|
|
62
|
-
borrowingFeeCollateral +
|
|
63
|
-
borrowingFeeCollateral_old,
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
exports.getTradePendingHoldingFeesCollateralStructured = getTradePendingHoldingFeesCollateralStructured;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @dev Holding fees calculation for structured contexts
|
|
3
|
-
*/
|
|
4
|
-
import { Trade, TradeInfo, TradeFeesData } from "../../types";
|
|
5
|
-
import { TradeHoldingFees } from "./types";
|
|
6
|
-
import { ContractsVersion } from "../../../contracts/types";
|
|
7
|
-
import type { BorrowingV1SubContext, BorrowingV2SubContext, FundingFeesSubContext } from "../../pnl";
|
|
8
|
-
/**
|
|
9
|
-
* @dev Context for holding fees calculation with structured sub-contexts
|
|
10
|
-
*/
|
|
11
|
-
export type GetStructuredHoldingFeesContext = {
|
|
12
|
-
contractsVersion: ContractsVersion;
|
|
13
|
-
currentTimestamp: number;
|
|
14
|
-
collateralPriceUsd: number;
|
|
15
|
-
borrowingV1?: BorrowingV1SubContext;
|
|
16
|
-
borrowingV2?: BorrowingV2SubContext;
|
|
17
|
-
funding?: FundingFeesSubContext;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* @dev Calculates total holding fees using structured context
|
|
21
|
-
* @param trade The trade to calculate fees for
|
|
22
|
-
* @param tradeInfo Trade info containing contracts version
|
|
23
|
-
* @param tradeFeesData Trade fees data containing initial acc fees
|
|
24
|
-
* @param currentPairPrice Current pair price
|
|
25
|
-
* @param context Structured context with sub-contexts for each fee type
|
|
26
|
-
* @returns Object containing all holding fee components
|
|
27
|
-
*/
|
|
28
|
-
export declare const getTradePendingHoldingFeesCollateralStructured: (trade: Trade, tradeInfo: TradeInfo, tradeFeesData: TradeFeesData, currentPairPrice: number, context: GetStructuredHoldingFeesContext) => TradeHoldingFees;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @dev Holding fees calculation for structured contexts
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getTradePendingHoldingFeesCollateralStructured = void 0;
|
|
7
|
-
const types_1 = require("../../../contracts/types");
|
|
8
|
-
const borrowing_1 = require("../borrowing");
|
|
9
|
-
const borrowingV2_1 = require("../borrowingV2");
|
|
10
|
-
const fundingFees_1 = require("../fundingFees");
|
|
11
|
-
/**
|
|
12
|
-
* @dev Calculates total holding fees using structured context
|
|
13
|
-
* @param trade The trade to calculate fees for
|
|
14
|
-
* @param tradeInfo Trade info containing contracts version
|
|
15
|
-
* @param tradeFeesData Trade fees data containing initial acc fees
|
|
16
|
-
* @param currentPairPrice Current pair price
|
|
17
|
-
* @param context Structured context with sub-contexts for each fee type
|
|
18
|
-
* @returns Object containing all holding fee components
|
|
19
|
-
*/
|
|
20
|
-
const getTradePendingHoldingFeesCollateralStructured = (trade, tradeInfo, tradeFeesData, currentPairPrice, context) => {
|
|
21
|
-
const positionSizeCollateral = trade.collateralAmount * trade.leverage;
|
|
22
|
-
// Calculate funding fees (v10+ only)
|
|
23
|
-
let fundingFeeCollateral = 0;
|
|
24
|
-
if (context.contractsVersion >= types_1.ContractsVersion.V10 &&
|
|
25
|
-
context.funding &&
|
|
26
|
-
tradeFeesData.initialAccFundingFeeP !== undefined) {
|
|
27
|
-
fundingFeeCollateral = (0, fundingFees_1.getTradeFundingFeesCollateral)(trade, tradeInfo, tradeFeesData, currentPairPrice, Object.assign(Object.assign({}, context.funding), { currentTimestamp: context.currentTimestamp }) // TODO: Fix types once funding types are properly imported
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
// Calculate borrowing fees v2
|
|
31
|
-
let borrowingFeeCollateral = 0;
|
|
32
|
-
if (context.borrowingV2 &&
|
|
33
|
-
tradeFeesData.initialAccBorrowingFeeP !== undefined) {
|
|
34
|
-
borrowingFeeCollateral = (0, borrowingV2_1.getTradeBorrowingFeesCollateral)({
|
|
35
|
-
positionSizeCollateral,
|
|
36
|
-
openPrice: trade.openPrice,
|
|
37
|
-
currentPairPrice,
|
|
38
|
-
initialAccBorrowingFeeP: tradeFeesData.initialAccBorrowingFeeP,
|
|
39
|
-
currentTimestamp: context.currentTimestamp,
|
|
40
|
-
}, context.borrowingV2);
|
|
41
|
-
}
|
|
42
|
-
// Calculate v1 borrowing fees (some markets use v1 indefinitely)
|
|
43
|
-
let borrowingFeeCollateral_old = 0;
|
|
44
|
-
if (context.borrowingV1) {
|
|
45
|
-
borrowingFeeCollateral_old = (0, borrowing_1.getBorrowingFee)(positionSizeCollateral, undefined, // pairIndex not needed for pair-specific context
|
|
46
|
-
trade.long, context.borrowingV1.initialAccFees || {
|
|
47
|
-
accPairFee: 0,
|
|
48
|
-
accGroupFee: 0,
|
|
49
|
-
block: 0,
|
|
50
|
-
}, {
|
|
51
|
-
currentBlock: context.borrowingV1.currentBlock,
|
|
52
|
-
group: context.borrowingV1.group,
|
|
53
|
-
pair: context.borrowingV1.pair,
|
|
54
|
-
collateralPriceUsd: context.collateralPriceUsd,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
fundingFeeCollateral,
|
|
59
|
-
borrowingFeeCollateral,
|
|
60
|
-
borrowingFeeCollateral_old,
|
|
61
|
-
totalFeeCollateral: fundingFeeCollateral +
|
|
62
|
-
borrowingFeeCollateral +
|
|
63
|
-
borrowingFeeCollateral_old,
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
exports.getTradePendingHoldingFeesCollateralStructured = getTradePendingHoldingFeesCollateralStructured;
|