@gainsnetwork/sdk 0.2.12-rc1 → 0.2.12-rc10

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.
@@ -44,14 +44,14 @@ export declare namespace IPairsStorage {
44
44
  };
45
45
  type GroupLiquidationParamsStructOutput = [
46
46
  number,
47
- BigNumber,
48
- BigNumber,
47
+ number,
48
+ number,
49
49
  number,
50
50
  number
51
51
  ] & {
52
52
  maxLiqSpreadP: number;
53
- startLiqThresholdP: BigNumber;
54
- endLiqThresholdP: BigNumber;
53
+ startLiqThresholdP: number;
54
+ endLiqThresholdP: number;
55
55
  startLeverage: number;
56
56
  endLeverage: number;
57
57
  };
@@ -219,6 +219,7 @@ export declare namespace IPriceImpact {
219
219
  pairIndex: PromiseOrValue<BigNumberish>;
220
220
  windowId: PromiseOrValue<BigNumberish>;
221
221
  long: PromiseOrValue<boolean>;
222
+ open: PromiseOrValue<boolean>;
222
223
  openInterestUsd: PromiseOrValue<BigNumberish>;
223
224
  };
224
225
  type OiWindowUpdateStructOutput = [
@@ -228,6 +229,7 @@ export declare namespace IPriceImpact {
228
229
  BigNumber,
229
230
  BigNumber,
230
231
  boolean,
232
+ boolean,
231
233
  BigNumber
232
234
  ] & {
233
235
  trader: string;
@@ -236,6 +238,7 @@ export declare namespace IPriceImpact {
236
238
  pairIndex: BigNumber;
237
239
  windowId: BigNumber;
238
240
  long: boolean;
241
+ open: boolean;
239
242
  openInterestUsd: BigNumber;
240
243
  };
241
244
  type OiWindowsSettingsStruct = {
@@ -256,12 +259,16 @@ export declare namespace IPriceImpact {
256
259
  onePercentDepthAboveUsd: BigNumber;
257
260
  onePercentDepthBelowUsd: BigNumber;
258
261
  };
259
- type TradePriceImpactInfoStruct = {
260
- lastWindowOiUsd: PromiseOrValue<BigNumberish>;
262
+ type PairFactorsStruct = {
263
+ protectionCloseFactor: PromiseOrValue<BigNumberish>;
264
+ protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>;
265
+ cumulativeFactor: PromiseOrValue<BigNumberish>;
261
266
  __placeholder: PromiseOrValue<BigNumberish>;
262
267
  };
263
- type TradePriceImpactInfoStructOutput = [BigNumber, BigNumber] & {
264
- lastWindowOiUsd: BigNumber;
268
+ type PairFactorsStructOutput = [number, number, number, BigNumber] & {
269
+ protectionCloseFactor: number;
270
+ protectionCloseFactorBlocks: number;
271
+ cumulativeFactor: number;
265
272
  __placeholder: BigNumber;
266
273
  };
267
274
  }
@@ -351,6 +358,8 @@ export declare namespace ITradingStorage {
351
358
  maxSlippageP: PromiseOrValue<BigNumberish>;
352
359
  lastOiUpdateTs: PromiseOrValue<BigNumberish>;
353
360
  collateralPriceUsd: PromiseOrValue<BigNumberish>;
361
+ contractsVersion: PromiseOrValue<BigNumberish>;
362
+ lastPosIncreaseBlock: PromiseOrValue<BigNumberish>;
354
363
  __placeholder: PromiseOrValue<BigNumberish>;
355
364
  };
356
365
  type TradeInfoStructOutput = [
@@ -360,6 +369,8 @@ export declare namespace ITradingStorage {
360
369
  number,
361
370
  number,
362
371
  number,
372
+ number,
373
+ number,
363
374
  number
364
375
  ] & {
365
376
  createdBlock: number;
@@ -368,6 +379,8 @@ export declare namespace ITradingStorage {
368
379
  maxSlippageP: number;
369
380
  lastOiUpdateTs: number;
370
381
  collateralPriceUsd: number;
382
+ contractsVersion: number;
383
+ lastPosIncreaseBlock: number;
371
384
  __placeholder: number;
372
385
  };
373
386
  type CollateralStruct = {
@@ -528,6 +541,56 @@ export declare namespace ITradingCallbacks {
528
541
  high: BigNumber;
529
542
  low: BigNumber;
530
543
  };
544
+ type ValuesStruct = {
545
+ positionSizeCollateral: PromiseOrValue<BigNumberish>;
546
+ gnsPriceCollateral: PromiseOrValue<BigNumberish>;
547
+ profitP: PromiseOrValue<BigNumberish>;
548
+ executionPrice: PromiseOrValue<BigNumberish>;
549
+ liqPrice: PromiseOrValue<BigNumberish>;
550
+ amountSentToTrader: PromiseOrValue<BigNumberish>;
551
+ reward1: PromiseOrValue<BigNumberish>;
552
+ reward2: PromiseOrValue<BigNumberish>;
553
+ reward3: PromiseOrValue<BigNumberish>;
554
+ collateralPrecisionDelta: PromiseOrValue<BigNumberish>;
555
+ collateralPriceUsd: PromiseOrValue<BigNumberish>;
556
+ exactExecution: PromiseOrValue<boolean>;
557
+ closingFeeCollateral: PromiseOrValue<BigNumberish>;
558
+ triggerFeeCollateral: PromiseOrValue<BigNumberish>;
559
+ collateralLeftInStorage: PromiseOrValue<BigNumberish>;
560
+ };
561
+ type ValuesStructOutput = [
562
+ BigNumber,
563
+ BigNumber,
564
+ BigNumber,
565
+ BigNumber,
566
+ BigNumber,
567
+ BigNumber,
568
+ BigNumber,
569
+ BigNumber,
570
+ BigNumber,
571
+ BigNumber,
572
+ BigNumber,
573
+ boolean,
574
+ BigNumber,
575
+ BigNumber,
576
+ BigNumber
577
+ ] & {
578
+ positionSizeCollateral: BigNumber;
579
+ gnsPriceCollateral: BigNumber;
580
+ profitP: BigNumber;
581
+ executionPrice: BigNumber;
582
+ liqPrice: BigNumber;
583
+ amountSentToTrader: BigNumber;
584
+ reward1: BigNumber;
585
+ reward2: BigNumber;
586
+ reward3: BigNumber;
587
+ collateralPrecisionDelta: BigNumber;
588
+ collateralPriceUsd: BigNumber;
589
+ exactExecution: boolean;
590
+ closingFeeCollateral: BigNumber;
591
+ triggerFeeCollateral: BigNumber;
592
+ collateralLeftInStorage: BigNumber;
593
+ };
531
594
  }
532
595
  export declare namespace IBorrowingFees {
533
596
  type BorrowingDataStruct = {
@@ -652,6 +715,7 @@ export declare namespace IBorrowingFees {
652
715
  collateral: PromiseOrValue<BigNumberish>;
653
716
  leverage: PromiseOrValue<BigNumberish>;
654
717
  useBorrowingFees: PromiseOrValue<boolean>;
718
+ liquidationParams: IPairsStorage.GroupLiquidationParamsStruct;
655
719
  };
656
720
  type LiqPriceInputStructOutput = [
657
721
  number,
@@ -662,7 +726,8 @@ export declare namespace IBorrowingFees {
662
726
  boolean,
663
727
  BigNumber,
664
728
  BigNumber,
665
- boolean
729
+ boolean,
730
+ IPairsStorage.GroupLiquidationParamsStructOutput
666
731
  ] & {
667
732
  collateralIndex: number;
668
733
  trader: string;
@@ -673,6 +738,7 @@ export declare namespace IBorrowingFees {
673
738
  collateral: BigNumber;
674
739
  leverage: BigNumber;
675
740
  useBorrowingFees: boolean;
741
+ liquidationParams: IPairsStorage.GroupLiquidationParamsStructOutput;
676
742
  };
677
743
  type BorrowingGroupParamsStruct = {
678
744
  feePerBlock: PromiseOrValue<BigNumberish>;
@@ -844,7 +910,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
844
910
  "getPairLiquidationParams(uint256)": FunctionFragment;
845
911
  "groups(uint256)": FunctionFragment;
846
912
  "groupsCount()": FunctionFragment;
847
- "initializeGroupLiquidationParams((uint40,uint64,uint64,uint24,uint24)[])": FunctionFragment;
913
+ "initializeGroupLiquidationParams((uint40,uint40,uint40,uint24,uint24)[])": FunctionFragment;
848
914
  "isPairIndexListed(uint256)": FunctionFragment;
849
915
  "isPairListed(string,string)": FunctionFragment;
850
916
  "pairCloseFeeP(uint256)": FunctionFragment;
@@ -861,7 +927,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
861
927
  "pairs(uint256)": FunctionFragment;
862
928
  "pairsBackend(uint256)": FunctionFragment;
863
929
  "pairsCount()": FunctionFragment;
864
- "setGroupLiquidationParams(uint256,(uint40,uint64,uint64,uint24,uint24))": FunctionFragment;
930
+ "setGroupLiquidationParams(uint256,(uint40,uint40,uint40,uint24,uint24))": FunctionFragment;
865
931
  "setPairCustomMaxLeverages(uint256[],uint256[])": FunctionFragment;
866
932
  "updateFees(uint256[],(string,uint256,uint256,uint256,uint256,uint256)[])": FunctionFragment;
867
933
  "updateGroups(uint256[],(string,bytes32,uint256,uint256)[])": FunctionFragment;
@@ -900,26 +966,23 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
900
966
  "setFeeTiers(uint256[],(uint32,uint32)[])": FunctionFragment;
901
967
  "setGroupVolumeMultipliers(uint256[],uint256[])": FunctionFragment;
902
968
  "updateTraderPoints(address,uint256,uint256)": FunctionFragment;
903
- "addPriceImpactOpenInterest(address,uint32,uint256)": FunctionFragment;
969
+ "addPriceImpactOpenInterest(address,uint32,uint256,bool)": FunctionFragment;
904
970
  "getOiWindow(uint48,uint256,uint256)": FunctionFragment;
905
971
  "getOiWindows(uint48,uint256,uint256[])": FunctionFragment;
906
972
  "getOiWindowsSettings()": FunctionFragment;
907
973
  "getPairDepth(uint256)": FunctionFragment;
908
974
  "getPairDepths(uint256[])": FunctionFragment;
975
+ "getPairFactors(uint256[])": FunctionFragment;
909
976
  "getPriceImpactOi(uint256,bool)": FunctionFragment;
910
- "getProtectionCloseFactorBlocks()": FunctionFragment;
911
- "getProtectionCloseFactors(uint256[])": FunctionFragment;
912
- "getTradeLastWindowOiUsd(address,uint32)": FunctionFragment;
913
- "getTradePriceImpact(uint256,uint256,bool,uint256,bool,bool,uint256)": FunctionFragment;
914
- "getTradePriceImpactInfo(address,uint32)": FunctionFragment;
977
+ "getTradePriceImpact(uint256,uint256,bool,uint256,bool,bool,uint256,uint8)": FunctionFragment;
978
+ "initializePairFactors(uint16[],uint40[],uint32[],uint40[])": FunctionFragment;
915
979
  "initializePriceImpact(uint48,uint48)": FunctionFragment;
916
- "initializeProtectionCloseFactorBlocks(uint24)": FunctionFragment;
917
- "removePriceImpactOpenInterest(address,uint32,uint256)": FunctionFragment;
980
+ "setCumulativeFactors(uint16[],uint40[])": FunctionFragment;
918
981
  "setPairDepths(uint256[],uint128[],uint128[])": FunctionFragment;
919
982
  "setPriceImpactWindowsCount(uint48)": FunctionFragment;
920
983
  "setPriceImpactWindowsDuration(uint48)": FunctionFragment;
921
- "setProtectionCloseFactorBlocks(uint24)": FunctionFragment;
922
- "setProtectionCloseFactors(uint16[],uint256[])": FunctionFragment;
984
+ "setProtectionCloseFactorBlocks(uint16[],uint32[])": FunctionFragment;
985
+ "setProtectionCloseFactors(uint16[],uint40[])": FunctionFragment;
923
986
  "addCollateral(address,address)": FunctionFragment;
924
987
  "closePendingOrder((address,uint32))": FunctionFragment;
925
988
  "closeTrade((address,uint32))": FunctionFragment;
@@ -932,6 +995,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
932
995
  "getCollaterals()": FunctionFragment;
933
996
  "getCollateralsCount()": FunctionFragment;
934
997
  "getCounters(address,uint8)": FunctionFragment;
998
+ "getCurrentContractsVersion()": FunctionFragment;
935
999
  "getGToken(uint8)": FunctionFragment;
936
1000
  "getPendingOrder((address,uint32))": FunctionFragment;
937
1001
  "getPendingOrders(address)": FunctionFragment;
@@ -949,12 +1013,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
949
1013
  "isCollateralActive(uint8)": FunctionFragment;
950
1014
  "isCollateralListed(uint8)": FunctionFragment;
951
1015
  "storePendingOrder(((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),address,uint32,bool,uint8,uint32,uint16))": FunctionFragment;
952
- "storeTrade((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),(uint32,uint32,uint32,uint16,uint48,uint48,uint48))": FunctionFragment;
1016
+ "storeTrade((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),(uint32,uint32,uint32,uint16,uint48,uint48,uint8,uint32,uint8))": FunctionFragment;
953
1017
  "toggleCollateralActiveState(uint8)": FunctionFragment;
954
1018
  "updateGToken(address,address)": FunctionFragment;
955
1019
  "updateOpenOrderDetails((address,uint32),uint64,uint64,uint64,uint16)": FunctionFragment;
956
1020
  "updateTradeCollateralAmount((address,uint32),uint120)": FunctionFragment;
957
- "updateTradePosition((address,uint32),uint120,uint24,uint64)": FunctionFragment;
1021
+ "updateTradeMaxClosingSlippageP((address,uint32),uint16)": FunctionFragment;
1022
+ "updateTradePosition((address,uint32),uint120,uint24,uint64,bool)": FunctionFragment;
958
1023
  "updateTradeSl((address,uint32),uint64)": FunctionFragment;
959
1024
  "updateTradeTp((address,uint32),uint64)": FunctionFragment;
960
1025
  "updateTradingActivated(uint8)": FunctionFragment;
@@ -967,8 +1032,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
967
1032
  "updateTriggerTimeoutBlocks(uint16)": FunctionFragment;
968
1033
  "cancelOpenOrder(uint32)": FunctionFragment;
969
1034
  "cancelOrderAfterTimeout(uint32)": FunctionFragment;
970
- "closeTradeMarket(uint32)": FunctionFragment;
971
- "decreasePositionSize(uint32,uint120,uint24)": FunctionFragment;
1035
+ "closeTradeMarket(uint32,uint64)": FunctionFragment;
1036
+ "decreasePositionSize(uint32,uint120,uint24,uint64)": FunctionFragment;
972
1037
  "delegatedTradingAction(address,bytes)": FunctionFragment;
973
1038
  "getByPassTriggerLink(address)": FunctionFragment;
974
1039
  "getMarketOrdersTimeoutBlocks()": FunctionFragment;
@@ -985,6 +1050,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
985
1050
  "updateByPassTriggerLink(address[],bool[])": FunctionFragment;
986
1051
  "updateLeverage(uint32,uint24)": FunctionFragment;
987
1052
  "updateMarketOrdersTimeoutBlocks(uint16)": FunctionFragment;
1053
+ "updateMaxClosingSlippageP(uint32,uint16)": FunctionFragment;
988
1054
  "updateOpenOrder(uint32,uint64,uint64,uint64,uint16)": FunctionFragment;
989
1055
  "updateSl(uint32,uint64)": FunctionFragment;
990
1056
  "updateTp(uint32,uint64)": FunctionFragment;
@@ -1000,6 +1066,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1000
1066
  "openTradeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1001
1067
  "updateLeverageCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1002
1068
  "updateVaultClosingFeeP(uint8)": FunctionFragment;
1069
+ "validateTriggerCloseOrderCallback((address,uint32),uint8,uint64,uint64,uint64)": FunctionFragment;
1070
+ "validateTriggerOpenOrderCallback((address,uint32),uint8,uint64,uint64,uint64)": FunctionFragment;
1003
1071
  "getAllBorrowingPairs(uint8)": FunctionFragment;
1004
1072
  "getBorrowingGroup(uint8,uint16)": FunctionFragment;
1005
1073
  "getBorrowingGroupOi(uint8,uint16)": FunctionFragment;
@@ -1016,7 +1084,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1016
1084
  "getPairOiCollateral(uint8,uint16,bool)": FunctionFragment;
1017
1085
  "getPairOisCollateral(uint8,uint16)": FunctionFragment;
1018
1086
  "getTradeBorrowingFee((uint8,address,uint16,uint32,bool,uint256,uint256))": FunctionFragment;
1019
- "getTradeLiquidationPrice((uint8,address,uint16,uint32,uint64,bool,uint256,uint256,bool))": FunctionFragment;
1087
+ "getTradeLiquidationPrice((uint8,address,uint16,uint32,uint64,bool,uint256,uint256,bool,(uint40,uint40,uint40,uint24,uint24)))": FunctionFragment;
1020
1088
  "handleTradeBorrowingCallback(uint8,address,uint16,uint32,uint256,bool,bool)": FunctionFragment;
1021
1089
  "resetTradeBorrowingFees(uint8,address,uint16,uint32,bool)": FunctionFragment;
1022
1090
  "setBorrowingGroupParams(uint8,uint16,(uint32,uint72,uint48))": FunctionFragment;
@@ -1043,7 +1111,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1043
1111
  "getOracle(uint256)": FunctionFragment;
1044
1112
  "getOracles()": FunctionFragment;
1045
1113
  "getPendingRequest(bytes32)": FunctionFragment;
1046
- "getPrice(uint8,address,uint16,(address,uint32),uint8,uint256,uint256)": FunctionFragment;
1114
+ "getPrice(uint8,uint16,(address,uint32),(address,uint32),uint8,uint256,uint256)": FunctionFragment;
1047
1115
  "getPriceAggregatorOrder(bytes32)": FunctionFragment;
1048
1116
  "getPriceAggregatorOrderAnswers((address,uint32))": FunctionFragment;
1049
1117
  "getRequestCount()": FunctionFragment;
@@ -1067,7 +1135,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1067
1135
  "sellGnsForCollateral(uint8,uint256)": FunctionFragment;
1068
1136
  "updateOtcConfig((address,uint64,uint64,uint64,uint64))": FunctionFragment;
1069
1137
  };
1070
- getFunction(nameOrSignatureOrTopic: "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "getAddresses" | "hasRole" | "initialize" | "setRoles" | "addFees" | "addGroups" | "addPairs" | "fees" | "feesCount" | "getAllPairsRestrictedMaxLeverage" | "getGroupLiquidationParams" | "getPairLiquidationParams" | "groups" | "groupsCount" | "initializeGroupLiquidationParams" | "isPairIndexListed" | "isPairListed" | "pairCloseFeeP" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinFeeUsd" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOpenFeeP" | "pairOracleFeeP" | "pairSpreadP" | "pairTriggerOrderFeeP" | "pairs" | "pairsBackend" | "pairsCount" | "setGroupLiquidationParams" | "setPairCustomMaxLeverages" | "updateFees" | "updateGroups" | "updatePairs" | "claimAllyRewards" | "claimReferrerRewards" | "distributeReferralReward" | "getAllyDetails" | "getReferralsAllyFeeP" | "getReferralsOpenFeeP" | "getReferralsStartReferrerFeeP" | "getReferralsTargetVolumeUsd" | "getReferrerDetails" | "getReferrerFeeP" | "getReferrersReferred" | "getTraderActiveReferrer" | "getTraderLastReferrer" | "getTradersReferred" | "initializeReferrals" | "registerPotentialReferrer" | "unwhitelistAllies" | "unwhitelistReferrers" | "updateAllyFeeP" | "updateReferralsOpenFeeP" | "updateReferralsTargetVolumeUsd" | "updateStartReferrerFeeP" | "whitelistAllies" | "whitelistReferrers" | "calculateFeeAmount" | "getFeeTier" | "getFeeTiersCount" | "getFeeTiersTraderDailyInfo" | "getFeeTiersTraderInfo" | "getGroupVolumeMultiplier" | "initializeFeeTiers" | "setFeeTiers" | "setGroupVolumeMultipliers" | "updateTraderPoints" | "addPriceImpactOpenInterest" | "getOiWindow" | "getOiWindows" | "getOiWindowsSettings" | "getPairDepth" | "getPairDepths" | "getPriceImpactOi" | "getProtectionCloseFactorBlocks" | "getProtectionCloseFactors" | "getTradeLastWindowOiUsd" | "getTradePriceImpact" | "getTradePriceImpactInfo" | "initializePriceImpact" | "initializeProtectionCloseFactorBlocks" | "removePriceImpactOpenInterest" | "setPairDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "setProtectionCloseFactorBlocks" | "setProtectionCloseFactors" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllTradeInfos" | "getAllTrades" | "getAllTradesLiquidationParams" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getGToken" | "getPendingOrder" | "getPendingOrders" | "getTrade" | "getTradeInfo" | "getTradeInfos" | "getTradeLiquidationParams" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTrades" | "getTradesLiquidationParams" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralListed" | "storePendingOrder" | "storeTrade" | "toggleCollateralActiveState" | "updateGToken" | "updateOpenOrderDetails" | "updateTradeCollateralAmount" | "updateTradePosition" | "updateTradeSl" | "updateTradeTp" | "updateTradingActivated" | "claimPendingTriggerRewards" | "distributeTriggerReward" | "getTriggerPendingRewardsGns" | "getTriggerTimeoutBlocks" | "hasActiveOrder" | "initializeTriggerRewards" | "updateTriggerTimeoutBlocks" | "cancelOpenOrder" | "cancelOrderAfterTimeout" | "closeTradeMarket" | "decreasePositionSize" | "delegatedTradingAction" | "getByPassTriggerLink" | "getMarketOrdersTimeoutBlocks" | "getTradingDelegate" | "getWrappedNativeToken" | "increasePositionSize" | "initializeTrading" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateMarketOrdersTimeoutBlocks" | "updateOpenOrder" | "updateSl" | "updateTp" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "openTradeMarketCallback" | "updateLeverageCallback" | "updateVaultClosingFeeP" | "getAllBorrowingPairs" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOi" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiCollateral" | "getPairOisCollateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "resetTradeBorrowingFees" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobId" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMinAnswers" | "getOracle" | "getOracles" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobId" | "setMarketJobId" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig"): FunctionFragment;
1138
+ getFunction(nameOrSignatureOrTopic: "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "getAddresses" | "hasRole" | "initialize" | "setRoles" | "addFees" | "addGroups" | "addPairs" | "fees" | "feesCount" | "getAllPairsRestrictedMaxLeverage" | "getGroupLiquidationParams" | "getPairLiquidationParams" | "groups" | "groupsCount" | "initializeGroupLiquidationParams" | "isPairIndexListed" | "isPairListed" | "pairCloseFeeP" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinFeeUsd" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOpenFeeP" | "pairOracleFeeP" | "pairSpreadP" | "pairTriggerOrderFeeP" | "pairs" | "pairsBackend" | "pairsCount" | "setGroupLiquidationParams" | "setPairCustomMaxLeverages" | "updateFees" | "updateGroups" | "updatePairs" | "claimAllyRewards" | "claimReferrerRewards" | "distributeReferralReward" | "getAllyDetails" | "getReferralsAllyFeeP" | "getReferralsOpenFeeP" | "getReferralsStartReferrerFeeP" | "getReferralsTargetVolumeUsd" | "getReferrerDetails" | "getReferrerFeeP" | "getReferrersReferred" | "getTraderActiveReferrer" | "getTraderLastReferrer" | "getTradersReferred" | "initializeReferrals" | "registerPotentialReferrer" | "unwhitelistAllies" | "unwhitelistReferrers" | "updateAllyFeeP" | "updateReferralsOpenFeeP" | "updateReferralsTargetVolumeUsd" | "updateStartReferrerFeeP" | "whitelistAllies" | "whitelistReferrers" | "calculateFeeAmount" | "getFeeTier" | "getFeeTiersCount" | "getFeeTiersTraderDailyInfo" | "getFeeTiersTraderInfo" | "getGroupVolumeMultiplier" | "initializeFeeTiers" | "setFeeTiers" | "setGroupVolumeMultipliers" | "updateTraderPoints" | "addPriceImpactOpenInterest" | "getOiWindow" | "getOiWindows" | "getOiWindowsSettings" | "getPairDepth" | "getPairDepths" | "getPairFactors" | "getPriceImpactOi" | "getTradePriceImpact" | "initializePairFactors" | "initializePriceImpact" | "setCumulativeFactors" | "setPairDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "setProtectionCloseFactorBlocks" | "setProtectionCloseFactors" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllTradeInfos" | "getAllTrades" | "getAllTradesLiquidationParams" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getCurrentContractsVersion" | "getGToken" | "getPendingOrder" | "getPendingOrders" | "getTrade" | "getTradeInfo" | "getTradeInfos" | "getTradeLiquidationParams" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTrades" | "getTradesLiquidationParams" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralListed" | "storePendingOrder" | "storeTrade" | "toggleCollateralActiveState" | "updateGToken" | "updateOpenOrderDetails" | "updateTradeCollateralAmount" | "updateTradeMaxClosingSlippageP" | "updateTradePosition" | "updateTradeSl" | "updateTradeTp" | "updateTradingActivated" | "claimPendingTriggerRewards" | "distributeTriggerReward" | "getTriggerPendingRewardsGns" | "getTriggerTimeoutBlocks" | "hasActiveOrder" | "initializeTriggerRewards" | "updateTriggerTimeoutBlocks" | "cancelOpenOrder" | "cancelOrderAfterTimeout" | "closeTradeMarket" | "decreasePositionSize" | "delegatedTradingAction" | "getByPassTriggerLink" | "getMarketOrdersTimeoutBlocks" | "getTradingDelegate" | "getWrappedNativeToken" | "increasePositionSize" | "initializeTrading" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateMarketOrdersTimeoutBlocks" | "updateMaxClosingSlippageP" | "updateOpenOrder" | "updateSl" | "updateTp" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "openTradeMarketCallback" | "updateLeverageCallback" | "updateVaultClosingFeeP" | "validateTriggerCloseOrderCallback" | "validateTriggerOpenOrderCallback" | "getAllBorrowingPairs" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOi" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiCollateral" | "getPairOisCollateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "resetTradeBorrowingFees" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobId" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMinAnswers" | "getOracle" | "getOracles" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobId" | "setMarketJobId" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig"): FunctionFragment;
1071
1139
  encodeFunctionData(functionFragment: "diamondCut", values: [
1072
1140
  IDiamondStorage.FacetCutStruct[],
1073
1141
  PromiseOrValue<string>,
@@ -1176,7 +1244,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1176
1244
  encodeFunctionData(functionFragment: "addPriceImpactOpenInterest", values: [
1177
1245
  PromiseOrValue<string>,
1178
1246
  PromiseOrValue<BigNumberish>,
1179
- PromiseOrValue<BigNumberish>
1247
+ PromiseOrValue<BigNumberish>,
1248
+ PromiseOrValue<boolean>
1180
1249
  ]): string;
1181
1250
  encodeFunctionData(functionFragment: "getOiWindow", values: [
1182
1251
  PromiseOrValue<BigNumberish>,
@@ -1191,10 +1260,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1191
1260
  encodeFunctionData(functionFragment: "getOiWindowsSettings", values?: undefined): string;
1192
1261
  encodeFunctionData(functionFragment: "getPairDepth", values: [PromiseOrValue<BigNumberish>]): string;
1193
1262
  encodeFunctionData(functionFragment: "getPairDepths", values: [PromiseOrValue<BigNumberish>[]]): string;
1263
+ encodeFunctionData(functionFragment: "getPairFactors", values: [PromiseOrValue<BigNumberish>[]]): string;
1194
1264
  encodeFunctionData(functionFragment: "getPriceImpactOi", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<boolean>]): string;
1195
- encodeFunctionData(functionFragment: "getProtectionCloseFactorBlocks", values?: undefined): string;
1196
- encodeFunctionData(functionFragment: "getProtectionCloseFactors", values: [PromiseOrValue<BigNumberish>[]]): string;
1197
- encodeFunctionData(functionFragment: "getTradeLastWindowOiUsd", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1198
1265
  encodeFunctionData(functionFragment: "getTradePriceImpact", values: [
1199
1266
  PromiseOrValue<BigNumberish>,
1200
1267
  PromiseOrValue<BigNumberish>,
@@ -1202,16 +1269,17 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1202
1269
  PromiseOrValue<BigNumberish>,
1203
1270
  PromiseOrValue<boolean>,
1204
1271
  PromiseOrValue<boolean>,
1205
- PromiseOrValue<BigNumberish>
1206
- ]): string;
1207
- encodeFunctionData(functionFragment: "getTradePriceImpactInfo", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1208
- encodeFunctionData(functionFragment: "initializePriceImpact", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1209
- encodeFunctionData(functionFragment: "initializeProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1210
- encodeFunctionData(functionFragment: "removePriceImpactOpenInterest", values: [
1211
- PromiseOrValue<string>,
1212
1272
  PromiseOrValue<BigNumberish>,
1213
1273
  PromiseOrValue<BigNumberish>
1214
1274
  ]): string;
1275
+ encodeFunctionData(functionFragment: "initializePairFactors", values: [
1276
+ PromiseOrValue<BigNumberish>[],
1277
+ PromiseOrValue<BigNumberish>[],
1278
+ PromiseOrValue<BigNumberish>[],
1279
+ PromiseOrValue<BigNumberish>[]
1280
+ ]): string;
1281
+ encodeFunctionData(functionFragment: "initializePriceImpact", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1282
+ encodeFunctionData(functionFragment: "setCumulativeFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1215
1283
  encodeFunctionData(functionFragment: "setPairDepths", values: [
1216
1284
  PromiseOrValue<BigNumberish>[],
1217
1285
  PromiseOrValue<BigNumberish>[],
@@ -1219,7 +1287,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1219
1287
  ]): string;
1220
1288
  encodeFunctionData(functionFragment: "setPriceImpactWindowsCount", values: [PromiseOrValue<BigNumberish>]): string;
1221
1289
  encodeFunctionData(functionFragment: "setPriceImpactWindowsDuration", values: [PromiseOrValue<BigNumberish>]): string;
1222
- encodeFunctionData(functionFragment: "setProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1290
+ encodeFunctionData(functionFragment: "setProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1223
1291
  encodeFunctionData(functionFragment: "setProtectionCloseFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1224
1292
  encodeFunctionData(functionFragment: "addCollateral", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1225
1293
  encodeFunctionData(functionFragment: "closePendingOrder", values: [ITradingStorage.IdStruct]): string;
@@ -1233,6 +1301,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1233
1301
  encodeFunctionData(functionFragment: "getCollaterals", values?: undefined): string;
1234
1302
  encodeFunctionData(functionFragment: "getCollateralsCount", values?: undefined): string;
1235
1303
  encodeFunctionData(functionFragment: "getCounters", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1304
+ encodeFunctionData(functionFragment: "getCurrentContractsVersion", values?: undefined): string;
1236
1305
  encodeFunctionData(functionFragment: "getGToken", values: [PromiseOrValue<BigNumberish>]): string;
1237
1306
  encodeFunctionData(functionFragment: "getPendingOrder", values: [ITradingStorage.IdStruct]): string;
1238
1307
  encodeFunctionData(functionFragment: "getPendingOrders", values: [PromiseOrValue<string>]): string;
@@ -1266,11 +1335,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1266
1335
  PromiseOrValue<BigNumberish>
1267
1336
  ]): string;
1268
1337
  encodeFunctionData(functionFragment: "updateTradeCollateralAmount", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1338
+ encodeFunctionData(functionFragment: "updateTradeMaxClosingSlippageP", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1269
1339
  encodeFunctionData(functionFragment: "updateTradePosition", values: [
1270
1340
  ITradingStorage.IdStruct,
1271
1341
  PromiseOrValue<BigNumberish>,
1272
1342
  PromiseOrValue<BigNumberish>,
1273
- PromiseOrValue<BigNumberish>
1343
+ PromiseOrValue<BigNumberish>,
1344
+ PromiseOrValue<boolean>
1274
1345
  ]): string;
1275
1346
  encodeFunctionData(functionFragment: "updateTradeSl", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1276
1347
  encodeFunctionData(functionFragment: "updateTradeTp", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
@@ -1284,8 +1355,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1284
1355
  encodeFunctionData(functionFragment: "updateTriggerTimeoutBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1285
1356
  encodeFunctionData(functionFragment: "cancelOpenOrder", values: [PromiseOrValue<BigNumberish>]): string;
1286
1357
  encodeFunctionData(functionFragment: "cancelOrderAfterTimeout", values: [PromiseOrValue<BigNumberish>]): string;
1287
- encodeFunctionData(functionFragment: "closeTradeMarket", values: [PromiseOrValue<BigNumberish>]): string;
1358
+ encodeFunctionData(functionFragment: "closeTradeMarket", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1288
1359
  encodeFunctionData(functionFragment: "decreasePositionSize", values: [
1360
+ PromiseOrValue<BigNumberish>,
1289
1361
  PromiseOrValue<BigNumberish>,
1290
1362
  PromiseOrValue<BigNumberish>,
1291
1363
  PromiseOrValue<BigNumberish>
@@ -1320,6 +1392,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1320
1392
  encodeFunctionData(functionFragment: "updateByPassTriggerLink", values: [PromiseOrValue<string>[], PromiseOrValue<boolean>[]]): string;
1321
1393
  encodeFunctionData(functionFragment: "updateLeverage", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1322
1394
  encodeFunctionData(functionFragment: "updateMarketOrdersTimeoutBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1395
+ encodeFunctionData(functionFragment: "updateMaxClosingSlippageP", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1323
1396
  encodeFunctionData(functionFragment: "updateOpenOrder", values: [
1324
1397
  PromiseOrValue<BigNumberish>,
1325
1398
  PromiseOrValue<BigNumberish>,
@@ -1341,6 +1414,20 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1341
1414
  encodeFunctionData(functionFragment: "openTradeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1342
1415
  encodeFunctionData(functionFragment: "updateLeverageCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1343
1416
  encodeFunctionData(functionFragment: "updateVaultClosingFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1417
+ encodeFunctionData(functionFragment: "validateTriggerCloseOrderCallback", values: [
1418
+ ITradingStorage.IdStruct,
1419
+ PromiseOrValue<BigNumberish>,
1420
+ PromiseOrValue<BigNumberish>,
1421
+ PromiseOrValue<BigNumberish>,
1422
+ PromiseOrValue<BigNumberish>
1423
+ ]): string;
1424
+ encodeFunctionData(functionFragment: "validateTriggerOpenOrderCallback", values: [
1425
+ ITradingStorage.IdStruct,
1426
+ PromiseOrValue<BigNumberish>,
1427
+ PromiseOrValue<BigNumberish>,
1428
+ PromiseOrValue<BigNumberish>,
1429
+ PromiseOrValue<BigNumberish>
1430
+ ]): string;
1344
1431
  encodeFunctionData(functionFragment: "getAllBorrowingPairs", values: [PromiseOrValue<BigNumberish>]): string;
1345
1432
  encodeFunctionData(functionFragment: "getBorrowingGroup", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1346
1433
  encodeFunctionData(functionFragment: "getBorrowingGroupOi", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
@@ -1442,9 +1529,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1442
1529
  encodeFunctionData(functionFragment: "getPendingRequest", values: [PromiseOrValue<BytesLike>]): string;
1443
1530
  encodeFunctionData(functionFragment: "getPrice", values: [
1444
1531
  PromiseOrValue<BigNumberish>,
1445
- PromiseOrValue<string>,
1446
1532
  PromiseOrValue<BigNumberish>,
1447
1533
  ITradingStorage.IdStruct,
1534
+ ITradingStorage.IdStruct,
1448
1535
  PromiseOrValue<BigNumberish>,
1449
1536
  PromiseOrValue<BigNumberish>,
1450
1537
  PromiseOrValue<BigNumberish>
@@ -1568,15 +1655,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1568
1655
  decodeFunctionResult(functionFragment: "getOiWindowsSettings", data: BytesLike): Result;
1569
1656
  decodeFunctionResult(functionFragment: "getPairDepth", data: BytesLike): Result;
1570
1657
  decodeFunctionResult(functionFragment: "getPairDepths", data: BytesLike): Result;
1658
+ decodeFunctionResult(functionFragment: "getPairFactors", data: BytesLike): Result;
1571
1659
  decodeFunctionResult(functionFragment: "getPriceImpactOi", data: BytesLike): Result;
1572
- decodeFunctionResult(functionFragment: "getProtectionCloseFactorBlocks", data: BytesLike): Result;
1573
- decodeFunctionResult(functionFragment: "getProtectionCloseFactors", data: BytesLike): Result;
1574
- decodeFunctionResult(functionFragment: "getTradeLastWindowOiUsd", data: BytesLike): Result;
1575
1660
  decodeFunctionResult(functionFragment: "getTradePriceImpact", data: BytesLike): Result;
1576
- decodeFunctionResult(functionFragment: "getTradePriceImpactInfo", data: BytesLike): Result;
1661
+ decodeFunctionResult(functionFragment: "initializePairFactors", data: BytesLike): Result;
1577
1662
  decodeFunctionResult(functionFragment: "initializePriceImpact", data: BytesLike): Result;
1578
- decodeFunctionResult(functionFragment: "initializeProtectionCloseFactorBlocks", data: BytesLike): Result;
1579
- decodeFunctionResult(functionFragment: "removePriceImpactOpenInterest", data: BytesLike): Result;
1663
+ decodeFunctionResult(functionFragment: "setCumulativeFactors", data: BytesLike): Result;
1580
1664
  decodeFunctionResult(functionFragment: "setPairDepths", data: BytesLike): Result;
1581
1665
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsCount", data: BytesLike): Result;
1582
1666
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsDuration", data: BytesLike): Result;
@@ -1594,6 +1678,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1594
1678
  decodeFunctionResult(functionFragment: "getCollaterals", data: BytesLike): Result;
1595
1679
  decodeFunctionResult(functionFragment: "getCollateralsCount", data: BytesLike): Result;
1596
1680
  decodeFunctionResult(functionFragment: "getCounters", data: BytesLike): Result;
1681
+ decodeFunctionResult(functionFragment: "getCurrentContractsVersion", data: BytesLike): Result;
1597
1682
  decodeFunctionResult(functionFragment: "getGToken", data: BytesLike): Result;
1598
1683
  decodeFunctionResult(functionFragment: "getPendingOrder", data: BytesLike): Result;
1599
1684
  decodeFunctionResult(functionFragment: "getPendingOrders", data: BytesLike): Result;
@@ -1616,6 +1701,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1616
1701
  decodeFunctionResult(functionFragment: "updateGToken", data: BytesLike): Result;
1617
1702
  decodeFunctionResult(functionFragment: "updateOpenOrderDetails", data: BytesLike): Result;
1618
1703
  decodeFunctionResult(functionFragment: "updateTradeCollateralAmount", data: BytesLike): Result;
1704
+ decodeFunctionResult(functionFragment: "updateTradeMaxClosingSlippageP", data: BytesLike): Result;
1619
1705
  decodeFunctionResult(functionFragment: "updateTradePosition", data: BytesLike): Result;
1620
1706
  decodeFunctionResult(functionFragment: "updateTradeSl", data: BytesLike): Result;
1621
1707
  decodeFunctionResult(functionFragment: "updateTradeTp", data: BytesLike): Result;
@@ -1647,6 +1733,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1647
1733
  decodeFunctionResult(functionFragment: "updateByPassTriggerLink", data: BytesLike): Result;
1648
1734
  decodeFunctionResult(functionFragment: "updateLeverage", data: BytesLike): Result;
1649
1735
  decodeFunctionResult(functionFragment: "updateMarketOrdersTimeoutBlocks", data: BytesLike): Result;
1736
+ decodeFunctionResult(functionFragment: "updateMaxClosingSlippageP", data: BytesLike): Result;
1650
1737
  decodeFunctionResult(functionFragment: "updateOpenOrder", data: BytesLike): Result;
1651
1738
  decodeFunctionResult(functionFragment: "updateSl", data: BytesLike): Result;
1652
1739
  decodeFunctionResult(functionFragment: "updateTp", data: BytesLike): Result;
@@ -1662,6 +1749,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1662
1749
  decodeFunctionResult(functionFragment: "openTradeMarketCallback", data: BytesLike): Result;
1663
1750
  decodeFunctionResult(functionFragment: "updateLeverageCallback", data: BytesLike): Result;
1664
1751
  decodeFunctionResult(functionFragment: "updateVaultClosingFeeP", data: BytesLike): Result;
1752
+ decodeFunctionResult(functionFragment: "validateTriggerCloseOrderCallback", data: BytesLike): Result;
1753
+ decodeFunctionResult(functionFragment: "validateTriggerOpenOrderCallback", data: BytesLike): Result;
1665
1754
  decodeFunctionResult(functionFragment: "getAllBorrowingPairs", data: BytesLike): Result;
1666
1755
  decodeFunctionResult(functionFragment: "getBorrowingGroup", data: BytesLike): Result;
1667
1756
  decodeFunctionResult(functionFragment: "getBorrowingGroupOi", data: BytesLike): Result;
@@ -1761,16 +1850,16 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1761
1850
  "TraderInfoFirstUpdate(address,uint32)": EventFragment;
1762
1851
  "TraderInfoUpdated(address,tuple)": EventFragment;
1763
1852
  "TraderTrailingPointsExpired(address,uint32,uint32,uint224)": EventFragment;
1853
+ "CumulativeFactorUpdated(uint256,uint40)": EventFragment;
1764
1854
  "OiWindowsSettingsInitialized(uint48,uint48)": EventFragment;
1765
1855
  "OnePercentDepthUpdated(uint256,uint128,uint128)": EventFragment;
1766
1856
  "PriceImpactOiTransferredPair(uint256,tuple)": EventFragment;
1767
1857
  "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)": EventFragment;
1768
- "PriceImpactOpenInterestAdded(tuple,bool)": EventFragment;
1769
- "PriceImpactOpenInterestRemoved(tuple,bool)": EventFragment;
1858
+ "PriceImpactOpenInterestAdded(tuple)": EventFragment;
1770
1859
  "PriceImpactWindowsCountUpdated(uint48)": EventFragment;
1771
1860
  "PriceImpactWindowsDurationUpdated(uint48)": EventFragment;
1772
- "ProtectionCloseFactorBlocksUpdated(uint24)": EventFragment;
1773
- "ProtectionCloseFactorUpdated(uint256,uint256)": EventFragment;
1861
+ "ProtectionCloseFactorBlocksUpdated(uint256,uint32)": EventFragment;
1862
+ "ProtectionCloseFactorUpdated(uint256,uint40)": EventFragment;
1774
1863
  "CollateralAdded(address,uint8,address)": EventFragment;
1775
1864
  "CollateralDisabled(uint8)": EventFragment;
1776
1865
  "CollateralUpdated(uint8,bool)": EventFragment;
@@ -1780,7 +1869,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1780
1869
  "PendingOrderStored(tuple)": EventFragment;
1781
1870
  "TradeClosed(tuple)": EventFragment;
1782
1871
  "TradeCollateralUpdated(tuple,uint120)": EventFragment;
1783
- "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64)": EventFragment;
1872
+ "TradeMaxClosingSlippagePUpdated(tuple,uint16)": EventFragment;
1873
+ "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64,bool)": EventFragment;
1784
1874
  "TradeSlUpdated(tuple,uint64)": EventFragment;
1785
1875
  "TradeStored(tuple,tuple,tuple)": EventFragment;
1786
1876
  "TradeTpUpdated(tuple,uint64)": EventFragment;
@@ -1825,8 +1915,6 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1825
1915
  "BorrowingPairOiUpdated(uint8,uint16,bool,bool,uint72,uint72,uint72)": EventFragment;
1826
1916
  "BorrowingPairParamsUpdated(uint8,uint16,uint16,uint32,uint48,uint72)": EventFragment;
1827
1917
  "TradeBorrowingCallbackHandled(uint8,address,uint16,uint32,bool,bool,uint256)": EventFragment;
1828
- "ChainlinkFulfilled(bytes32)": EventFragment;
1829
- "ChainlinkRequested(bytes32)": EventFragment;
1830
1918
  "CollateralGnsLiquidityPoolUpdated(uint8,tuple)": EventFragment;
1831
1919
  "CollateralUsdPriceFeedUpdated(uint8,address)": EventFragment;
1832
1920
  "JobIdUpdated(uint256,bytes32)": EventFragment;
@@ -1838,7 +1926,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1838
1926
  "OracleRemoved(uint256,address)": EventFragment;
1839
1927
  "OracleReplaced(uint256,address,address)": EventFragment;
1840
1928
  "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)": EventFragment;
1841
- "PriceRequested(uint8,address,uint256,tuple,uint8,uint256,bool,bytes32,uint256,uint256)": EventFragment;
1929
+ "PriceRequested(uint8,uint256,tuple,tuple,uint8,uint256,bool,bytes32,uint256,uint256)": EventFragment;
1842
1930
  "TradingCallbackExecuted(tuple,uint8)": EventFragment;
1843
1931
  "TwapIntervalUpdated(uint32)": EventFragment;
1844
1932
  "OtcBalanceUpdated(uint8,uint256)": EventFragment;
@@ -1877,12 +1965,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1877
1965
  getEvent(nameOrSignatureOrTopic: "TraderInfoFirstUpdate"): EventFragment;
1878
1966
  getEvent(nameOrSignatureOrTopic: "TraderInfoUpdated"): EventFragment;
1879
1967
  getEvent(nameOrSignatureOrTopic: "TraderTrailingPointsExpired"): EventFragment;
1968
+ getEvent(nameOrSignatureOrTopic: "CumulativeFactorUpdated"): EventFragment;
1880
1969
  getEvent(nameOrSignatureOrTopic: "OiWindowsSettingsInitialized"): EventFragment;
1881
1970
  getEvent(nameOrSignatureOrTopic: "OnePercentDepthUpdated"): EventFragment;
1882
1971
  getEvent(nameOrSignatureOrTopic: "PriceImpactOiTransferredPair"): EventFragment;
1883
1972
  getEvent(nameOrSignatureOrTopic: "PriceImpactOiTransferredPairs"): EventFragment;
1884
1973
  getEvent(nameOrSignatureOrTopic: "PriceImpactOpenInterestAdded"): EventFragment;
1885
- getEvent(nameOrSignatureOrTopic: "PriceImpactOpenInterestRemoved"): EventFragment;
1886
1974
  getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsCountUpdated"): EventFragment;
1887
1975
  getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsDurationUpdated"): EventFragment;
1888
1976
  getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorBlocksUpdated"): EventFragment;
@@ -1896,6 +1984,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1896
1984
  getEvent(nameOrSignatureOrTopic: "PendingOrderStored"): EventFragment;
1897
1985
  getEvent(nameOrSignatureOrTopic: "TradeClosed"): EventFragment;
1898
1986
  getEvent(nameOrSignatureOrTopic: "TradeCollateralUpdated"): EventFragment;
1987
+ getEvent(nameOrSignatureOrTopic: "TradeMaxClosingSlippagePUpdated"): EventFragment;
1899
1988
  getEvent(nameOrSignatureOrTopic: "TradePositionUpdated"): EventFragment;
1900
1989
  getEvent(nameOrSignatureOrTopic: "TradeSlUpdated"): EventFragment;
1901
1990
  getEvent(nameOrSignatureOrTopic: "TradeStored"): EventFragment;
@@ -1941,8 +2030,6 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1941
2030
  getEvent(nameOrSignatureOrTopic: "BorrowingPairOiUpdated"): EventFragment;
1942
2031
  getEvent(nameOrSignatureOrTopic: "BorrowingPairParamsUpdated"): EventFragment;
1943
2032
  getEvent(nameOrSignatureOrTopic: "TradeBorrowingCallbackHandled"): EventFragment;
1944
- getEvent(nameOrSignatureOrTopic: "ChainlinkFulfilled"): EventFragment;
1945
- getEvent(nameOrSignatureOrTopic: "ChainlinkRequested"): EventFragment;
1946
2033
  getEvent(nameOrSignatureOrTopic: "CollateralGnsLiquidityPoolUpdated"): EventFragment;
1947
2034
  getEvent(nameOrSignatureOrTopic: "CollateralUsdPriceFeedUpdated"): EventFragment;
1948
2035
  getEvent(nameOrSignatureOrTopic: "JobIdUpdated"): EventFragment;
@@ -2245,6 +2332,15 @@ export type TraderTrailingPointsExpiredEvent = TypedEvent<[
2245
2332
  BigNumber
2246
2333
  ], TraderTrailingPointsExpiredEventObject>;
2247
2334
  export type TraderTrailingPointsExpiredEventFilter = TypedEventFilter<TraderTrailingPointsExpiredEvent>;
2335
+ export interface CumulativeFactorUpdatedEventObject {
2336
+ pairIndex: BigNumber;
2337
+ cumulativeFactor: number;
2338
+ }
2339
+ export type CumulativeFactorUpdatedEvent = TypedEvent<[
2340
+ BigNumber,
2341
+ number
2342
+ ], CumulativeFactorUpdatedEventObject>;
2343
+ export type CumulativeFactorUpdatedEventFilter = TypedEventFilter<CumulativeFactorUpdatedEvent>;
2248
2344
  export interface OiWindowsSettingsInitializedEventObject {
2249
2345
  windowsDuration: number;
2250
2346
  windowsCount: number;
@@ -2289,22 +2385,11 @@ export type PriceImpactOiTransferredPairsEvent = TypedEvent<[
2289
2385
  export type PriceImpactOiTransferredPairsEventFilter = TypedEventFilter<PriceImpactOiTransferredPairsEvent>;
2290
2386
  export interface PriceImpactOpenInterestAddedEventObject {
2291
2387
  oiWindowUpdate: IPriceImpact.OiWindowUpdateStructOutput;
2292
- isPartial: boolean;
2293
2388
  }
2294
2389
  export type PriceImpactOpenInterestAddedEvent = TypedEvent<[
2295
- IPriceImpact.OiWindowUpdateStructOutput,
2296
- boolean
2390
+ IPriceImpact.OiWindowUpdateStructOutput
2297
2391
  ], PriceImpactOpenInterestAddedEventObject>;
2298
2392
  export type PriceImpactOpenInterestAddedEventFilter = TypedEventFilter<PriceImpactOpenInterestAddedEvent>;
2299
- export interface PriceImpactOpenInterestRemovedEventObject {
2300
- oiWindowUpdate: IPriceImpact.OiWindowUpdateStructOutput;
2301
- notOutdated: boolean;
2302
- }
2303
- export type PriceImpactOpenInterestRemovedEvent = TypedEvent<[
2304
- IPriceImpact.OiWindowUpdateStructOutput,
2305
- boolean
2306
- ], PriceImpactOpenInterestRemovedEventObject>;
2307
- export type PriceImpactOpenInterestRemovedEventFilter = TypedEventFilter<PriceImpactOpenInterestRemovedEvent>;
2308
2393
  export interface PriceImpactWindowsCountUpdatedEventObject {
2309
2394
  windowsCount: number;
2310
2395
  }
@@ -2320,19 +2405,21 @@ export type PriceImpactWindowsDurationUpdatedEvent = TypedEvent<[
2320
2405
  ], PriceImpactWindowsDurationUpdatedEventObject>;
2321
2406
  export type PriceImpactWindowsDurationUpdatedEventFilter = TypedEventFilter<PriceImpactWindowsDurationUpdatedEvent>;
2322
2407
  export interface ProtectionCloseFactorBlocksUpdatedEventObject {
2408
+ pairIndex: BigNumber;
2323
2409
  protectionCloseFactorBlocks: number;
2324
2410
  }
2325
2411
  export type ProtectionCloseFactorBlocksUpdatedEvent = TypedEvent<[
2412
+ BigNumber,
2326
2413
  number
2327
2414
  ], ProtectionCloseFactorBlocksUpdatedEventObject>;
2328
2415
  export type ProtectionCloseFactorBlocksUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorBlocksUpdatedEvent>;
2329
2416
  export interface ProtectionCloseFactorUpdatedEventObject {
2330
2417
  pairIndex: BigNumber;
2331
- protectionCloseFactor: BigNumber;
2418
+ protectionCloseFactor: number;
2332
2419
  }
2333
2420
  export type ProtectionCloseFactorUpdatedEvent = TypedEvent<[
2334
2421
  BigNumber,
2335
- BigNumber
2422
+ number
2336
2423
  ], ProtectionCloseFactorUpdatedEventObject>;
2337
2424
  export type ProtectionCloseFactorUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorUpdatedEvent>;
2338
2425
  export interface CollateralAddedEventObject {
@@ -2418,6 +2505,15 @@ export type TradeCollateralUpdatedEvent = TypedEvent<[
2418
2505
  BigNumber
2419
2506
  ], TradeCollateralUpdatedEventObject>;
2420
2507
  export type TradeCollateralUpdatedEventFilter = TypedEventFilter<TradeCollateralUpdatedEvent>;
2508
+ export interface TradeMaxClosingSlippagePUpdatedEventObject {
2509
+ tradeId: ITradingStorage.IdStructOutput;
2510
+ maxClosingSlippageP: number;
2511
+ }
2512
+ export type TradeMaxClosingSlippagePUpdatedEvent = TypedEvent<[
2513
+ ITradingStorage.IdStructOutput,
2514
+ number
2515
+ ], TradeMaxClosingSlippagePUpdatedEventObject>;
2516
+ export type TradeMaxClosingSlippagePUpdatedEventFilter = TypedEventFilter<TradeMaxClosingSlippagePUpdatedEvent>;
2421
2517
  export interface TradePositionUpdatedEventObject {
2422
2518
  tradeId: ITradingStorage.IdStructOutput;
2423
2519
  collateralAmount: BigNumber;
@@ -2425,6 +2521,7 @@ export interface TradePositionUpdatedEventObject {
2425
2521
  openPrice: BigNumber;
2426
2522
  newTp: BigNumber;
2427
2523
  newSl: BigNumber;
2524
+ isPartialIncrease: boolean;
2428
2525
  }
2429
2526
  export type TradePositionUpdatedEvent = TypedEvent<[
2430
2527
  ITradingStorage.IdStructOutput,
@@ -2432,7 +2529,8 @@ export type TradePositionUpdatedEvent = TypedEvent<[
2432
2529
  number,
2433
2530
  BigNumber,
2434
2531
  BigNumber,
2435
- BigNumber
2532
+ BigNumber,
2533
+ boolean
2436
2534
  ], TradePositionUpdatedEventObject>;
2437
2535
  export type TradePositionUpdatedEventFilter = TypedEventFilter<TradePositionUpdatedEvent>;
2438
2536
  export interface TradeSlUpdatedEventObject {
@@ -3047,20 +3145,6 @@ export type TradeBorrowingCallbackHandledEvent = TypedEvent<[
3047
3145
  BigNumber
3048
3146
  ], TradeBorrowingCallbackHandledEventObject>;
3049
3147
  export type TradeBorrowingCallbackHandledEventFilter = TypedEventFilter<TradeBorrowingCallbackHandledEvent>;
3050
- export interface ChainlinkFulfilledEventObject {
3051
- id: string;
3052
- }
3053
- export type ChainlinkFulfilledEvent = TypedEvent<[
3054
- string
3055
- ], ChainlinkFulfilledEventObject>;
3056
- export type ChainlinkFulfilledEventFilter = TypedEventFilter<ChainlinkFulfilledEvent>;
3057
- export interface ChainlinkRequestedEventObject {
3058
- id: string;
3059
- }
3060
- export type ChainlinkRequestedEvent = TypedEvent<[
3061
- string
3062
- ], ChainlinkRequestedEventObject>;
3063
- export type ChainlinkRequestedEventFilter = TypedEventFilter<ChainlinkRequestedEvent>;
3064
3148
  export interface CollateralGnsLiquidityPoolUpdatedEventObject {
3065
3149
  collateralIndex: number;
3066
3150
  newValue: IPriceAggregator.LiquidityPoolInfoStructOutput;
@@ -3164,8 +3248,8 @@ export type PriceReceivedEvent = TypedEvent<[
3164
3248
  export type PriceReceivedEventFilter = TypedEventFilter<PriceReceivedEvent>;
3165
3249
  export interface PriceRequestedEventObject {
3166
3250
  collateralIndex: number;
3167
- trader: string;
3168
3251
  pairIndex: BigNumber;
3252
+ tradeId: ITradingStorage.IdStructOutput;
3169
3253
  pendingOrderId: ITradingStorage.IdStructOutput;
3170
3254
  orderType: number;
3171
3255
  fromBlock: BigNumber;
@@ -3176,9 +3260,9 @@ export interface PriceRequestedEventObject {
3176
3260
  }
3177
3261
  export type PriceRequestedEvent = TypedEvent<[
3178
3262
  number,
3179
- string,
3180
3263
  BigNumber,
3181
3264
  ITradingStorage.IdStructOutput,
3265
+ ITradingStorage.IdStructOutput,
3182
3266
  number,
3183
3267
  BigNumber,
3184
3268
  boolean,
@@ -3398,7 +3482,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3398
3482
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3399
3483
  from?: PromiseOrValue<string>;
3400
3484
  }): Promise<ContractTransaction>;
3401
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3485
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
3402
3486
  from?: PromiseOrValue<string>;
3403
3487
  }): Promise<ContractTransaction>;
3404
3488
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.PairOiStructOutput]>;
@@ -3406,27 +3490,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3406
3490
  getOiWindowsSettings(overrides?: CallOverrides): Promise<[IPriceImpact.OiWindowsSettingsStructOutput]>;
3407
3491
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.PairDepthStructOutput]>;
3408
3492
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IPriceImpact.PairDepthStructOutput[]]>;
3493
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IPriceImpact.PairFactorsStructOutput[]]>;
3409
3494
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
3410
3495
  activeOi: BigNumber;
3411
3496
  }>;
3412
- getProtectionCloseFactorBlocks(overrides?: CallOverrides): Promise<[number]>;
3413
- getProtectionCloseFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[BigNumber[]]>;
3414
- getTradeLastWindowOiUsd(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3415
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3497
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3416
3498
  BigNumber,
3417
3499
  BigNumber
3418
3500
  ] & {
3419
3501
  priceImpactP: BigNumber;
3420
3502
  priceAfterImpact: BigNumber;
3421
3503
  }>;
3422
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.TradePriceImpactInfoStructOutput]>;
3423
- initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3504
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3424
3505
  from?: PromiseOrValue<string>;
3425
3506
  }): Promise<ContractTransaction>;
3426
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3507
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3427
3508
  from?: PromiseOrValue<string>;
3428
3509
  }): Promise<ContractTransaction>;
3429
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3510
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3430
3511
  from?: PromiseOrValue<string>;
3431
3512
  }): Promise<ContractTransaction>;
3432
3513
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3438,7 +3519,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3438
3519
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3439
3520
  from?: PromiseOrValue<string>;
3440
3521
  }): Promise<ContractTransaction>;
3441
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3522
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3442
3523
  from?: PromiseOrValue<string>;
3443
3524
  }): Promise<ContractTransaction>;
3444
3525
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3462,6 +3543,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3462
3543
  getCollaterals(overrides?: CallOverrides): Promise<[ITradingStorage.CollateralStructOutput[]]>;
3463
3544
  getCollateralsCount(overrides?: CallOverrides): Promise<[number]>;
3464
3545
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CounterStructOutput]>;
3546
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<[number]>;
3465
3547
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3466
3548
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput]>;
3467
3549
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput[]]>;
@@ -3498,7 +3580,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3498
3580
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3499
3581
  from?: PromiseOrValue<string>;
3500
3582
  }): Promise<ContractTransaction>;
3501
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3583
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3584
+ from?: PromiseOrValue<string>;
3585
+ }): Promise<ContractTransaction>;
3586
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
3502
3587
  from?: PromiseOrValue<string>;
3503
3588
  }): Promise<ContractTransaction>;
3504
3589
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -3531,10 +3616,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3531
3616
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3532
3617
  from?: PromiseOrValue<string>;
3533
3618
  }): Promise<ContractTransaction>;
3534
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3619
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3535
3620
  from?: PromiseOrValue<string>;
3536
3621
  }): Promise<ContractTransaction>;
3537
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3622
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3538
3623
  from?: PromiseOrValue<string>;
3539
3624
  }): Promise<ContractTransaction>;
3540
3625
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -3575,6 +3660,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3575
3660
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3576
3661
  from?: PromiseOrValue<string>;
3577
3662
  }): Promise<ContractTransaction>;
3663
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3664
+ from?: PromiseOrValue<string>;
3665
+ }): Promise<ContractTransaction>;
3578
3666
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3579
3667
  from?: PromiseOrValue<string>;
3580
3668
  }): Promise<ContractTransaction>;
@@ -3616,6 +3704,30 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3616
3704
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3617
3705
  from?: PromiseOrValue<string>;
3618
3706
  }): Promise<ContractTransaction>;
3707
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3708
+ ITradingStorage.TradeStructOutput,
3709
+ number,
3710
+ ITradingCallbacks.ValuesStructOutput,
3711
+ BigNumber
3712
+ ] & {
3713
+ t: ITradingStorage.TradeStructOutput;
3714
+ cancelReason: number;
3715
+ v: ITradingCallbacks.ValuesStructOutput;
3716
+ priceImpactP: BigNumber;
3717
+ }>;
3718
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3719
+ ITradingStorage.TradeStructOutput,
3720
+ number,
3721
+ BigNumber,
3722
+ BigNumber,
3723
+ boolean
3724
+ ] & {
3725
+ t: ITradingStorage.TradeStructOutput;
3726
+ cancelReason: number;
3727
+ priceImpactP: BigNumber;
3728
+ priceAfterImpact: BigNumber;
3729
+ exactExecution: boolean;
3730
+ }>;
3619
3731
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3620
3732
  IBorrowingFees.BorrowingDataStructOutput[],
3621
3733
  IBorrowingFees.OpenInterestStructOutput[],
@@ -3710,7 +3822,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3710
3822
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3711
3823
  getOracles(overrides?: CallOverrides): Promise<[string[]]>;
3712
3824
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
3713
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3825
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3714
3826
  from?: PromiseOrValue<string>;
3715
3827
  }): Promise<ContractTransaction>;
3716
3828
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[IPriceAggregator.OrderStructOutput]>;
@@ -3901,7 +4013,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3901
4013
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3902
4014
  from?: PromiseOrValue<string>;
3903
4015
  }): Promise<ContractTransaction>;
3904
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4016
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
3905
4017
  from?: PromiseOrValue<string>;
3906
4018
  }): Promise<ContractTransaction>;
3907
4019
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
@@ -3909,25 +4021,22 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3909
4021
  getOiWindowsSettings(overrides?: CallOverrides): Promise<IPriceImpact.OiWindowsSettingsStructOutput>;
3910
4022
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput>;
3911
4023
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
4024
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairFactorsStructOutput[]>;
3912
4025
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
3913
- getProtectionCloseFactorBlocks(overrides?: CallOverrides): Promise<number>;
3914
- getProtectionCloseFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber[]>;
3915
- getTradeLastWindowOiUsd(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3916
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4026
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3917
4027
  BigNumber,
3918
4028
  BigNumber
3919
4029
  ] & {
3920
4030
  priceImpactP: BigNumber;
3921
4031
  priceAfterImpact: BigNumber;
3922
4032
  }>;
3923
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.TradePriceImpactInfoStructOutput>;
3924
- initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4033
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3925
4034
  from?: PromiseOrValue<string>;
3926
4035
  }): Promise<ContractTransaction>;
3927
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4036
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3928
4037
  from?: PromiseOrValue<string>;
3929
4038
  }): Promise<ContractTransaction>;
3930
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4039
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3931
4040
  from?: PromiseOrValue<string>;
3932
4041
  }): Promise<ContractTransaction>;
3933
4042
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3939,7 +4048,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3939
4048
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3940
4049
  from?: PromiseOrValue<string>;
3941
4050
  }): Promise<ContractTransaction>;
3942
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4051
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3943
4052
  from?: PromiseOrValue<string>;
3944
4053
  }): Promise<ContractTransaction>;
3945
4054
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3963,6 +4072,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3963
4072
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
3964
4073
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
3965
4074
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
4075
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
3966
4076
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
3967
4077
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
3968
4078
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
@@ -3999,7 +4109,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3999
4109
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4000
4110
  from?: PromiseOrValue<string>;
4001
4111
  }): Promise<ContractTransaction>;
4002
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4112
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4113
+ from?: PromiseOrValue<string>;
4114
+ }): Promise<ContractTransaction>;
4115
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
4003
4116
  from?: PromiseOrValue<string>;
4004
4117
  }): Promise<ContractTransaction>;
4005
4118
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -4032,10 +4145,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4032
4145
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4033
4146
  from?: PromiseOrValue<string>;
4034
4147
  }): Promise<ContractTransaction>;
4035
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4148
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4036
4149
  from?: PromiseOrValue<string>;
4037
4150
  }): Promise<ContractTransaction>;
4038
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4151
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4039
4152
  from?: PromiseOrValue<string>;
4040
4153
  }): Promise<ContractTransaction>;
4041
4154
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -4076,6 +4189,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4076
4189
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4077
4190
  from?: PromiseOrValue<string>;
4078
4191
  }): Promise<ContractTransaction>;
4192
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4193
+ from?: PromiseOrValue<string>;
4194
+ }): Promise<ContractTransaction>;
4079
4195
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4080
4196
  from?: PromiseOrValue<string>;
4081
4197
  }): Promise<ContractTransaction>;
@@ -4117,6 +4233,30 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4117
4233
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4118
4234
  from?: PromiseOrValue<string>;
4119
4235
  }): Promise<ContractTransaction>;
4236
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4237
+ ITradingStorage.TradeStructOutput,
4238
+ number,
4239
+ ITradingCallbacks.ValuesStructOutput,
4240
+ BigNumber
4241
+ ] & {
4242
+ t: ITradingStorage.TradeStructOutput;
4243
+ cancelReason: number;
4244
+ v: ITradingCallbacks.ValuesStructOutput;
4245
+ priceImpactP: BigNumber;
4246
+ }>;
4247
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4248
+ ITradingStorage.TradeStructOutput,
4249
+ number,
4250
+ BigNumber,
4251
+ BigNumber,
4252
+ boolean
4253
+ ] & {
4254
+ t: ITradingStorage.TradeStructOutput;
4255
+ cancelReason: number;
4256
+ priceImpactP: BigNumber;
4257
+ priceAfterImpact: BigNumber;
4258
+ exactExecution: boolean;
4259
+ }>;
4120
4260
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4121
4261
  IBorrowingFees.BorrowingDataStructOutput[],
4122
4262
  IBorrowingFees.OpenInterestStructOutput[],
@@ -4207,7 +4347,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4207
4347
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4208
4348
  getOracles(overrides?: CallOverrides): Promise<string[]>;
4209
4349
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
4210
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4350
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4211
4351
  from?: PromiseOrValue<string>;
4212
4352
  }): Promise<ContractTransaction>;
4213
4353
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
@@ -4340,31 +4480,28 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4340
4480
  setFeeTiers(_feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: CallOverrides): Promise<void>;
4341
4481
  setGroupVolumeMultipliers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4342
4482
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4343
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4483
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4344
4484
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
4345
4485
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput[]>;
4346
4486
  getOiWindowsSettings(overrides?: CallOverrides): Promise<IPriceImpact.OiWindowsSettingsStructOutput>;
4347
4487
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput>;
4348
4488
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
4489
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairFactorsStructOutput[]>;
4349
4490
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
4350
- getProtectionCloseFactorBlocks(overrides?: CallOverrides): Promise<number>;
4351
- getProtectionCloseFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber[]>;
4352
- getTradeLastWindowOiUsd(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4353
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4491
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4354
4492
  BigNumber,
4355
4493
  BigNumber
4356
4494
  ] & {
4357
4495
  priceImpactP: BigNumber;
4358
4496
  priceAfterImpact: BigNumber;
4359
4497
  }>;
4360
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.TradePriceImpactInfoStructOutput>;
4498
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4361
4499
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4362
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4363
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4500
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4364
4501
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4365
4502
  setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4366
4503
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4367
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4504
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4368
4505
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4369
4506
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4370
4507
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
@@ -4378,6 +4515,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4378
4515
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
4379
4516
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
4380
4517
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
4518
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
4381
4519
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4382
4520
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
4383
4521
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
@@ -4400,7 +4538,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4400
4538
  updateGToken(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4401
4539
  updateOpenOrderDetails(_tradeId: ITradingStorage.IdStruct, _openPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4402
4540
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4403
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4541
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4542
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4404
4543
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4405
4544
  updateTradeTp(_tradeId: ITradingStorage.IdStruct, _newTp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4406
4545
  updateTradingActivated(_activated: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -4413,8 +4552,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4413
4552
  updateTriggerTimeoutBlocks(_timeoutBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4414
4553
  cancelOpenOrder(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4415
4554
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4416
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4417
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4555
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4556
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4418
4557
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
4419
4558
  getByPassTriggerLink(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4420
4559
  getMarketOrdersTimeoutBlocks(overrides?: CallOverrides): Promise<number>;
@@ -4431,6 +4570,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4431
4570
  updateByPassTriggerLink(_users: PromiseOrValue<string>[], _shouldByPass: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
4432
4571
  updateLeverage(_index: PromiseOrValue<BigNumberish>, _newLeverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4433
4572
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4573
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4434
4574
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4435
4575
  updateSl(_index: PromiseOrValue<BigNumberish>, _newSl: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4436
4576
  updateTp(_index: PromiseOrValue<BigNumberish>, _newTp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -4446,6 +4586,30 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4446
4586
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4447
4587
  updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4448
4588
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4589
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4590
+ ITradingStorage.TradeStructOutput,
4591
+ number,
4592
+ ITradingCallbacks.ValuesStructOutput,
4593
+ BigNumber
4594
+ ] & {
4595
+ t: ITradingStorage.TradeStructOutput;
4596
+ cancelReason: number;
4597
+ v: ITradingCallbacks.ValuesStructOutput;
4598
+ priceImpactP: BigNumber;
4599
+ }>;
4600
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4601
+ ITradingStorage.TradeStructOutput,
4602
+ number,
4603
+ BigNumber,
4604
+ BigNumber,
4605
+ boolean
4606
+ ] & {
4607
+ t: ITradingStorage.TradeStructOutput;
4608
+ cancelReason: number;
4609
+ priceImpactP: BigNumber;
4610
+ priceAfterImpact: BigNumber;
4611
+ exactExecution: boolean;
4612
+ }>;
4449
4613
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4450
4614
  IBorrowingFees.BorrowingDataStructOutput[],
4451
4615
  IBorrowingFees.OpenInterestStructOutput[],
@@ -4518,7 +4682,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4518
4682
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4519
4683
  getOracles(overrides?: CallOverrides): Promise<string[]>;
4520
4684
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
4521
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4685
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4522
4686
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
4523
4687
  getPriceAggregatorOrderAnswers(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<IPriceAggregator.OrderAnswerStructOutput[]>;
4524
4688
  getRequestCount(overrides?: CallOverrides): Promise<BigNumber>;
@@ -4607,6 +4771,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4607
4771
  TraderInfoUpdated(trader?: PromiseOrValue<string> | null, traderInfo?: null): TraderInfoUpdatedEventFilter;
4608
4772
  "TraderTrailingPointsExpired(address,uint32,uint32,uint224)"(trader?: PromiseOrValue<string> | null, fromDay?: null, toDay?: null, expiredPoints?: null): TraderTrailingPointsExpiredEventFilter;
4609
4773
  TraderTrailingPointsExpired(trader?: PromiseOrValue<string> | null, fromDay?: null, toDay?: null, expiredPoints?: null): TraderTrailingPointsExpiredEventFilter;
4774
+ "CumulativeFactorUpdated(uint256,uint40)"(pairIndex?: PromiseOrValue<BigNumberish> | null, cumulativeFactor?: null): CumulativeFactorUpdatedEventFilter;
4775
+ CumulativeFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, cumulativeFactor?: null): CumulativeFactorUpdatedEventFilter;
4610
4776
  "OiWindowsSettingsInitialized(uint48,uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null, windowsCount?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
4611
4777
  OiWindowsSettingsInitialized(windowsDuration?: PromiseOrValue<BigNumberish> | null, windowsCount?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
4612
4778
  "OnePercentDepthUpdated(uint256,uint128,uint128)"(pairIndex?: PromiseOrValue<BigNumberish> | null, valueAboveUsd?: null, valueBelowUsd?: null): OnePercentDepthUpdatedEventFilter;
@@ -4615,17 +4781,15 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4615
4781
  PriceImpactOiTransferredPair(pairIndex?: PromiseOrValue<BigNumberish> | null, totalPairOi?: null): PriceImpactOiTransferredPairEventFilter;
4616
4782
  "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)"(pairsCount?: null, prevCurrentWindowId?: null, prevEarliestWindowId?: null, newCurrentWindowId?: null): PriceImpactOiTransferredPairsEventFilter;
4617
4783
  PriceImpactOiTransferredPairs(pairsCount?: null, prevCurrentWindowId?: null, prevEarliestWindowId?: null, newCurrentWindowId?: null): PriceImpactOiTransferredPairsEventFilter;
4618
- "PriceImpactOpenInterestAdded(tuple,bool)"(oiWindowUpdate?: null, isPartial?: null): PriceImpactOpenInterestAddedEventFilter;
4619
- PriceImpactOpenInterestAdded(oiWindowUpdate?: null, isPartial?: null): PriceImpactOpenInterestAddedEventFilter;
4620
- "PriceImpactOpenInterestRemoved(tuple,bool)"(oiWindowUpdate?: null, notOutdated?: null): PriceImpactOpenInterestRemovedEventFilter;
4621
- PriceImpactOpenInterestRemoved(oiWindowUpdate?: null, notOutdated?: null): PriceImpactOpenInterestRemovedEventFilter;
4784
+ "PriceImpactOpenInterestAdded(tuple)"(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
4785
+ PriceImpactOpenInterestAdded(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
4622
4786
  "PriceImpactWindowsCountUpdated(uint48)"(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
4623
4787
  PriceImpactWindowsCountUpdated(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
4624
4788
  "PriceImpactWindowsDurationUpdated(uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsDurationUpdatedEventFilter;
4625
4789
  PriceImpactWindowsDurationUpdated(windowsDuration?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsDurationUpdatedEventFilter;
4626
- "ProtectionCloseFactorBlocksUpdated(uint24)"(protectionCloseFactorBlocks?: null): ProtectionCloseFactorBlocksUpdatedEventFilter;
4627
- ProtectionCloseFactorBlocksUpdated(protectionCloseFactorBlocks?: null): ProtectionCloseFactorBlocksUpdatedEventFilter;
4628
- "ProtectionCloseFactorUpdated(uint256,uint256)"(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
4790
+ "ProtectionCloseFactorBlocksUpdated(uint256,uint32)"(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactorBlocks?: null): ProtectionCloseFactorBlocksUpdatedEventFilter;
4791
+ ProtectionCloseFactorBlocksUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactorBlocks?: null): ProtectionCloseFactorBlocksUpdatedEventFilter;
4792
+ "ProtectionCloseFactorUpdated(uint256,uint40)"(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
4629
4793
  ProtectionCloseFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
4630
4794
  "CollateralAdded(address,uint8,address)"(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
4631
4795
  CollateralAdded(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
@@ -4645,8 +4809,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4645
4809
  TradeClosed(tradeId?: null): TradeClosedEventFilter;
4646
4810
  "TradeCollateralUpdated(tuple,uint120)"(tradeId?: null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
4647
4811
  TradeCollateralUpdated(tradeId?: null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
4648
- "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64)"(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null): TradePositionUpdatedEventFilter;
4649
- TradePositionUpdated(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null): TradePositionUpdatedEventFilter;
4812
+ "TradeMaxClosingSlippagePUpdated(tuple,uint16)"(tradeId?: null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
4813
+ TradeMaxClosingSlippagePUpdated(tradeId?: null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
4814
+ "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64,bool)"(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, isPartialIncrease?: null): TradePositionUpdatedEventFilter;
4815
+ TradePositionUpdated(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, isPartialIncrease?: null): TradePositionUpdatedEventFilter;
4650
4816
  "TradeSlUpdated(tuple,uint64)"(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4651
4817
  TradeSlUpdated(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4652
4818
  "TradeStored(tuple,tuple,tuple)"(trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
@@ -4735,10 +4901,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4735
4901
  BorrowingPairParamsUpdated(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, feeExponent?: null, maxOi?: null): BorrowingPairParamsUpdatedEventFilter;
4736
4902
  "TradeBorrowingCallbackHandled(uint8,address,uint16,uint32,bool,bool,uint256)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, open?: null, long?: null, positionSizeCollateral?: null): TradeBorrowingCallbackHandledEventFilter;
4737
4903
  TradeBorrowingCallbackHandled(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, open?: null, long?: null, positionSizeCollateral?: null): TradeBorrowingCallbackHandledEventFilter;
4738
- "ChainlinkFulfilled(bytes32)"(id?: PromiseOrValue<BytesLike> | null): ChainlinkFulfilledEventFilter;
4739
- ChainlinkFulfilled(id?: PromiseOrValue<BytesLike> | null): ChainlinkFulfilledEventFilter;
4740
- "ChainlinkRequested(bytes32)"(id?: PromiseOrValue<BytesLike> | null): ChainlinkRequestedEventFilter;
4741
- ChainlinkRequested(id?: PromiseOrValue<BytesLike> | null): ChainlinkRequestedEventFilter;
4742
4904
  "CollateralGnsLiquidityPoolUpdated(uint8,tuple)"(collateralIndex?: null, newValue?: null): CollateralGnsLiquidityPoolUpdatedEventFilter;
4743
4905
  CollateralGnsLiquidityPoolUpdated(collateralIndex?: null, newValue?: null): CollateralGnsLiquidityPoolUpdatedEventFilter;
4744
4906
  "CollateralUsdPriceFeedUpdated(uint8,address)"(collateralIndex?: null, value?: null): CollateralUsdPriceFeedUpdatedEventFilter;
@@ -4761,8 +4923,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4761
4923
  OracleReplaced(index?: null, oldOracle?: null, newOracle?: null): OracleReplacedEventFilter;
4762
4924
  "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)"(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null): PriceReceivedEventFilter;
4763
4925
  PriceReceived(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null): PriceReceivedEventFilter;
4764
- "PriceRequested(uint8,address,uint256,tuple,uint8,uint256,bool,bytes32,uint256,uint256)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, pendingOrderId?: null, orderType?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
4765
- PriceRequested(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, pendingOrderId?: null, orderType?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
4926
+ "PriceRequested(uint8,uint256,tuple,tuple,uint8,uint256,bool,bytes32,uint256,uint256)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, tradeId?: null, pendingOrderId?: null, orderType?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
4927
+ PriceRequested(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, tradeId?: null, pendingOrderId?: null, orderType?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
4766
4928
  "TradingCallbackExecuted(tuple,uint8)"(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
4767
4929
  TradingCallbackExecuted(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
4768
4930
  "TwapIntervalUpdated(uint32)"(newValue?: null): TwapIntervalUpdatedEventFilter;
@@ -4908,7 +5070,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4908
5070
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4909
5071
  from?: PromiseOrValue<string>;
4910
5072
  }): Promise<BigNumber>;
4911
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5073
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
4912
5074
  from?: PromiseOrValue<string>;
4913
5075
  }): Promise<BigNumber>;
4914
5076
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -4916,19 +5078,16 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4916
5078
  getOiWindowsSettings(overrides?: CallOverrides): Promise<BigNumber>;
4917
5079
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4918
5080
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
5081
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
4919
5082
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
4920
- getProtectionCloseFactorBlocks(overrides?: CallOverrides): Promise<BigNumber>;
4921
- getProtectionCloseFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
4922
- getTradeLastWindowOiUsd(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4923
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4924
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4925
- initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5083
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5084
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4926
5085
  from?: PromiseOrValue<string>;
4927
5086
  }): Promise<BigNumber>;
4928
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5087
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4929
5088
  from?: PromiseOrValue<string>;
4930
5089
  }): Promise<BigNumber>;
4931
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5090
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4932
5091
  from?: PromiseOrValue<string>;
4933
5092
  }): Promise<BigNumber>;
4934
5093
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -4940,7 +5099,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4940
5099
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4941
5100
  from?: PromiseOrValue<string>;
4942
5101
  }): Promise<BigNumber>;
4943
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5102
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4944
5103
  from?: PromiseOrValue<string>;
4945
5104
  }): Promise<BigNumber>;
4946
5105
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -4964,6 +5123,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4964
5123
  getCollaterals(overrides?: CallOverrides): Promise<BigNumber>;
4965
5124
  getCollateralsCount(overrides?: CallOverrides): Promise<BigNumber>;
4966
5125
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5126
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<BigNumber>;
4967
5127
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4968
5128
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<BigNumber>;
4969
5129
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5000,7 +5160,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5000
5160
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5001
5161
  from?: PromiseOrValue<string>;
5002
5162
  }): Promise<BigNumber>;
5003
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5163
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5164
+ from?: PromiseOrValue<string>;
5165
+ }): Promise<BigNumber>;
5166
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
5004
5167
  from?: PromiseOrValue<string>;
5005
5168
  }): Promise<BigNumber>;
5006
5169
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -5033,10 +5196,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5033
5196
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5034
5197
  from?: PromiseOrValue<string>;
5035
5198
  }): Promise<BigNumber>;
5036
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5199
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5037
5200
  from?: PromiseOrValue<string>;
5038
5201
  }): Promise<BigNumber>;
5039
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5202
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5040
5203
  from?: PromiseOrValue<string>;
5041
5204
  }): Promise<BigNumber>;
5042
5205
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -5077,6 +5240,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5077
5240
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5078
5241
  from?: PromiseOrValue<string>;
5079
5242
  }): Promise<BigNumber>;
5243
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5244
+ from?: PromiseOrValue<string>;
5245
+ }): Promise<BigNumber>;
5080
5246
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5081
5247
  from?: PromiseOrValue<string>;
5082
5248
  }): Promise<BigNumber>;
@@ -5118,6 +5284,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5118
5284
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5119
5285
  from?: PromiseOrValue<string>;
5120
5286
  }): Promise<BigNumber>;
5287
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5288
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5121
5289
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5122
5290
  getBorrowingGroup(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5123
5291
  getBorrowingGroupOi(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5179,7 +5347,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5179
5347
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5180
5348
  getOracles(overrides?: CallOverrides): Promise<BigNumber>;
5181
5349
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
5182
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5350
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5183
5351
  from?: PromiseOrValue<string>;
5184
5352
  }): Promise<BigNumber>;
5185
5353
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5367,7 +5535,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5367
5535
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5368
5536
  from?: PromiseOrValue<string>;
5369
5537
  }): Promise<PopulatedTransaction>;
5370
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5538
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
5371
5539
  from?: PromiseOrValue<string>;
5372
5540
  }): Promise<PopulatedTransaction>;
5373
5541
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5375,19 +5543,16 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5375
5543
  getOiWindowsSettings(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5376
5544
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5377
5545
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5546
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5378
5547
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5379
- getProtectionCloseFactorBlocks(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5380
- getProtectionCloseFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5381
- getTradeLastWindowOiUsd(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5382
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5383
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5384
- initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5548
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5549
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5385
5550
  from?: PromiseOrValue<string>;
5386
5551
  }): Promise<PopulatedTransaction>;
5387
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5552
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5388
5553
  from?: PromiseOrValue<string>;
5389
5554
  }): Promise<PopulatedTransaction>;
5390
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5555
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5391
5556
  from?: PromiseOrValue<string>;
5392
5557
  }): Promise<PopulatedTransaction>;
5393
5558
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -5399,7 +5564,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5399
5564
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5400
5565
  from?: PromiseOrValue<string>;
5401
5566
  }): Promise<PopulatedTransaction>;
5402
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5567
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5403
5568
  from?: PromiseOrValue<string>;
5404
5569
  }): Promise<PopulatedTransaction>;
5405
5570
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -5423,6 +5588,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5423
5588
  getCollaterals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5424
5589
  getCollateralsCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5425
5590
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5591
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5426
5592
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5427
5593
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5428
5594
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5459,7 +5625,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5459
5625
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5460
5626
  from?: PromiseOrValue<string>;
5461
5627
  }): Promise<PopulatedTransaction>;
5462
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5628
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5629
+ from?: PromiseOrValue<string>;
5630
+ }): Promise<PopulatedTransaction>;
5631
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
5463
5632
  from?: PromiseOrValue<string>;
5464
5633
  }): Promise<PopulatedTransaction>;
5465
5634
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -5492,10 +5661,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5492
5661
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5493
5662
  from?: PromiseOrValue<string>;
5494
5663
  }): Promise<PopulatedTransaction>;
5495
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5664
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5496
5665
  from?: PromiseOrValue<string>;
5497
5666
  }): Promise<PopulatedTransaction>;
5498
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5667
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5499
5668
  from?: PromiseOrValue<string>;
5500
5669
  }): Promise<PopulatedTransaction>;
5501
5670
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -5536,6 +5705,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5536
5705
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5537
5706
  from?: PromiseOrValue<string>;
5538
5707
  }): Promise<PopulatedTransaction>;
5708
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5709
+ from?: PromiseOrValue<string>;
5710
+ }): Promise<PopulatedTransaction>;
5539
5711
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5540
5712
  from?: PromiseOrValue<string>;
5541
5713
  }): Promise<PopulatedTransaction>;
@@ -5577,6 +5749,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5577
5749
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5578
5750
  from?: PromiseOrValue<string>;
5579
5751
  }): Promise<PopulatedTransaction>;
5752
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5753
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5580
5754
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5581
5755
  getBorrowingGroup(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5582
5756
  getBorrowingGroupOi(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5638,7 +5812,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5638
5812
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5639
5813
  getOracles(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5640
5814
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5641
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5815
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5642
5816
  from?: PromiseOrValue<string>;
5643
5817
  }): Promise<PopulatedTransaction>;
5644
5818
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;