@gainsnetwork/sdk 0.2.12-rc4 → 0.2.12-rc6

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,7 @@ export declare namespace ITradingStorage {
351
358
  maxSlippageP: PromiseOrValue<BigNumberish>;
352
359
  lastOiUpdateTs: PromiseOrValue<BigNumberish>;
353
360
  collateralPriceUsd: PromiseOrValue<BigNumberish>;
361
+ contractsVersion: PromiseOrValue<BigNumberish>;
354
362
  __placeholder: PromiseOrValue<BigNumberish>;
355
363
  };
356
364
  type TradeInfoStructOutput = [
@@ -360,6 +368,7 @@ export declare namespace ITradingStorage {
360
368
  number,
361
369
  number,
362
370
  number,
371
+ number,
363
372
  number
364
373
  ] & {
365
374
  createdBlock: number;
@@ -368,6 +377,7 @@ export declare namespace ITradingStorage {
368
377
  maxSlippageP: number;
369
378
  lastOiUpdateTs: number;
370
379
  collateralPriceUsd: number;
380
+ contractsVersion: number;
371
381
  __placeholder: number;
372
382
  };
373
383
  type CollateralStruct = {
@@ -528,6 +538,56 @@ export declare namespace ITradingCallbacks {
528
538
  high: BigNumber;
529
539
  low: BigNumber;
530
540
  };
541
+ type ValuesStruct = {
542
+ positionSizeCollateral: PromiseOrValue<BigNumberish>;
543
+ gnsPriceCollateral: PromiseOrValue<BigNumberish>;
544
+ profitP: PromiseOrValue<BigNumberish>;
545
+ executionPrice: PromiseOrValue<BigNumberish>;
546
+ liqPrice: PromiseOrValue<BigNumberish>;
547
+ amountSentToTrader: PromiseOrValue<BigNumberish>;
548
+ reward1: PromiseOrValue<BigNumberish>;
549
+ reward2: PromiseOrValue<BigNumberish>;
550
+ reward3: PromiseOrValue<BigNumberish>;
551
+ collateralPrecisionDelta: PromiseOrValue<BigNumberish>;
552
+ collateralPriceUsd: PromiseOrValue<BigNumberish>;
553
+ exactExecution: PromiseOrValue<boolean>;
554
+ closingFeeCollateral: PromiseOrValue<BigNumberish>;
555
+ triggerFeeCollateral: PromiseOrValue<BigNumberish>;
556
+ collateralLeftInStorage: PromiseOrValue<BigNumberish>;
557
+ };
558
+ type ValuesStructOutput = [
559
+ BigNumber,
560
+ BigNumber,
561
+ BigNumber,
562
+ BigNumber,
563
+ BigNumber,
564
+ BigNumber,
565
+ BigNumber,
566
+ BigNumber,
567
+ BigNumber,
568
+ BigNumber,
569
+ BigNumber,
570
+ boolean,
571
+ BigNumber,
572
+ BigNumber,
573
+ BigNumber
574
+ ] & {
575
+ positionSizeCollateral: BigNumber;
576
+ gnsPriceCollateral: BigNumber;
577
+ profitP: BigNumber;
578
+ executionPrice: BigNumber;
579
+ liqPrice: BigNumber;
580
+ amountSentToTrader: BigNumber;
581
+ reward1: BigNumber;
582
+ reward2: BigNumber;
583
+ reward3: BigNumber;
584
+ collateralPrecisionDelta: BigNumber;
585
+ collateralPriceUsd: BigNumber;
586
+ exactExecution: boolean;
587
+ closingFeeCollateral: BigNumber;
588
+ triggerFeeCollateral: BigNumber;
589
+ collateralLeftInStorage: BigNumber;
590
+ };
531
591
  }
532
592
  export declare namespace IBorrowingFees {
533
593
  type BorrowingDataStruct = {
@@ -652,6 +712,7 @@ export declare namespace IBorrowingFees {
652
712
  collateral: PromiseOrValue<BigNumberish>;
653
713
  leverage: PromiseOrValue<BigNumberish>;
654
714
  useBorrowingFees: PromiseOrValue<boolean>;
715
+ liquidationParams: IPairsStorage.GroupLiquidationParamsStruct;
655
716
  };
656
717
  type LiqPriceInputStructOutput = [
657
718
  number,
@@ -662,7 +723,8 @@ export declare namespace IBorrowingFees {
662
723
  boolean,
663
724
  BigNumber,
664
725
  BigNumber,
665
- boolean
726
+ boolean,
727
+ IPairsStorage.GroupLiquidationParamsStructOutput
666
728
  ] & {
667
729
  collateralIndex: number;
668
730
  trader: string;
@@ -673,6 +735,7 @@ export declare namespace IBorrowingFees {
673
735
  collateral: BigNumber;
674
736
  leverage: BigNumber;
675
737
  useBorrowingFees: boolean;
738
+ liquidationParams: IPairsStorage.GroupLiquidationParamsStructOutput;
676
739
  };
677
740
  type BorrowingGroupParamsStruct = {
678
741
  feePerBlock: PromiseOrValue<BigNumberish>;
@@ -844,7 +907,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
844
907
  "getPairLiquidationParams(uint256)": FunctionFragment;
845
908
  "groups(uint256)": FunctionFragment;
846
909
  "groupsCount()": FunctionFragment;
847
- "initializeGroupLiquidationParams((uint40,uint64,uint64,uint24,uint24)[])": FunctionFragment;
910
+ "initializeGroupLiquidationParams((uint40,uint40,uint40,uint24,uint24)[])": FunctionFragment;
848
911
  "isPairIndexListed(uint256)": FunctionFragment;
849
912
  "isPairListed(string,string)": FunctionFragment;
850
913
  "pairCloseFeeP(uint256)": FunctionFragment;
@@ -861,7 +924,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
861
924
  "pairs(uint256)": FunctionFragment;
862
925
  "pairsBackend(uint256)": FunctionFragment;
863
926
  "pairsCount()": FunctionFragment;
864
- "setGroupLiquidationParams(uint256,(uint40,uint64,uint64,uint24,uint24))": FunctionFragment;
927
+ "setGroupLiquidationParams(uint256,(uint40,uint40,uint40,uint24,uint24))": FunctionFragment;
865
928
  "setPairCustomMaxLeverages(uint256[],uint256[])": FunctionFragment;
866
929
  "updateFees(uint256[],(string,uint256,uint256,uint256,uint256,uint256)[])": FunctionFragment;
867
930
  "updateGroups(uint256[],(string,bytes32,uint256,uint256)[])": FunctionFragment;
@@ -900,26 +963,23 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
900
963
  "setFeeTiers(uint256[],(uint32,uint32)[])": FunctionFragment;
901
964
  "setGroupVolumeMultipliers(uint256[],uint256[])": FunctionFragment;
902
965
  "updateTraderPoints(address,uint256,uint256)": FunctionFragment;
903
- "addPriceImpactOpenInterest(address,uint32,uint256)": FunctionFragment;
966
+ "addPriceImpactOpenInterest(address,uint32,uint256,bool)": FunctionFragment;
904
967
  "getOiWindow(uint48,uint256,uint256)": FunctionFragment;
905
968
  "getOiWindows(uint48,uint256,uint256[])": FunctionFragment;
906
969
  "getOiWindowsSettings()": FunctionFragment;
907
970
  "getPairDepth(uint256)": FunctionFragment;
908
971
  "getPairDepths(uint256[])": FunctionFragment;
972
+ "getPairFactors(uint256[])": FunctionFragment;
909
973
  "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;
974
+ "getTradePriceImpact(uint256,uint256,bool,uint256,bool,bool,uint256,uint8)": FunctionFragment;
975
+ "initializePairFactors(uint16[],uint40[],uint32[],uint40[])": FunctionFragment;
915
976
  "initializePriceImpact(uint48,uint48)": FunctionFragment;
916
- "initializeProtectionCloseFactorBlocks(uint24)": FunctionFragment;
917
- "removePriceImpactOpenInterest(address,uint32,uint256)": FunctionFragment;
977
+ "setCumulativeFactors(uint16[],uint40[])": FunctionFragment;
918
978
  "setPairDepths(uint256[],uint128[],uint128[])": FunctionFragment;
919
979
  "setPriceImpactWindowsCount(uint48)": FunctionFragment;
920
980
  "setPriceImpactWindowsDuration(uint48)": FunctionFragment;
921
- "setProtectionCloseFactorBlocks(uint24)": FunctionFragment;
922
- "setProtectionCloseFactors(uint16[],uint256[])": FunctionFragment;
981
+ "setProtectionCloseFactorBlocks(uint16[],uint32[])": FunctionFragment;
982
+ "setProtectionCloseFactors(uint16[],uint40[])": FunctionFragment;
923
983
  "addCollateral(address,address)": FunctionFragment;
924
984
  "closePendingOrder((address,uint32))": FunctionFragment;
925
985
  "closeTrade((address,uint32))": FunctionFragment;
@@ -932,6 +992,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
932
992
  "getCollaterals()": FunctionFragment;
933
993
  "getCollateralsCount()": FunctionFragment;
934
994
  "getCounters(address,uint8)": FunctionFragment;
995
+ "getCurrentContractsVersion()": FunctionFragment;
935
996
  "getGToken(uint8)": FunctionFragment;
936
997
  "getPendingOrder((address,uint32))": FunctionFragment;
937
998
  "getPendingOrders(address)": FunctionFragment;
@@ -949,12 +1010,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
949
1010
  "isCollateralActive(uint8)": FunctionFragment;
950
1011
  "isCollateralListed(uint8)": FunctionFragment;
951
1012
  "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;
1013
+ "storeTrade((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),(uint32,uint32,uint32,uint16,uint48,uint48,uint8,uint40))": FunctionFragment;
953
1014
  "toggleCollateralActiveState(uint8)": FunctionFragment;
954
1015
  "updateGToken(address,address)": FunctionFragment;
955
1016
  "updateOpenOrderDetails((address,uint32),uint64,uint64,uint64,uint16)": FunctionFragment;
956
1017
  "updateTradeCollateralAmount((address,uint32),uint120)": FunctionFragment;
957
- "updateTradePosition((address,uint32),uint120,uint24,uint64)": FunctionFragment;
1018
+ "updateTradeMaxClosingSlippageP((address,uint32),uint16)": FunctionFragment;
1019
+ "updateTradePosition((address,uint32),uint120,uint24,uint64,bool)": FunctionFragment;
958
1020
  "updateTradeSl((address,uint32),uint64)": FunctionFragment;
959
1021
  "updateTradeTp((address,uint32),uint64)": FunctionFragment;
960
1022
  "updateTradingActivated(uint8)": FunctionFragment;
@@ -967,8 +1029,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
967
1029
  "updateTriggerTimeoutBlocks(uint16)": FunctionFragment;
968
1030
  "cancelOpenOrder(uint32)": FunctionFragment;
969
1031
  "cancelOrderAfterTimeout(uint32)": FunctionFragment;
970
- "closeTradeMarket(uint32)": FunctionFragment;
971
- "decreasePositionSize(uint32,uint120,uint24)": FunctionFragment;
1032
+ "closeTradeMarket(uint32,uint64)": FunctionFragment;
1033
+ "decreasePositionSize(uint32,uint120,uint24,uint64)": FunctionFragment;
972
1034
  "delegatedTradingAction(address,bytes)": FunctionFragment;
973
1035
  "getByPassTriggerLink(address)": FunctionFragment;
974
1036
  "getMarketOrdersTimeoutBlocks()": FunctionFragment;
@@ -985,6 +1047,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
985
1047
  "updateByPassTriggerLink(address[],bool[])": FunctionFragment;
986
1048
  "updateLeverage(uint32,uint24)": FunctionFragment;
987
1049
  "updateMarketOrdersTimeoutBlocks(uint16)": FunctionFragment;
1050
+ "updateMaxClosingSlippageP(uint32,uint16)": FunctionFragment;
988
1051
  "updateOpenOrder(uint32,uint64,uint64,uint64,uint16)": FunctionFragment;
989
1052
  "updateSl(uint32,uint64)": FunctionFragment;
990
1053
  "updateTp(uint32,uint64)": FunctionFragment;
@@ -1000,6 +1063,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1000
1063
  "openTradeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1001
1064
  "updateLeverageCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1002
1065
  "updateVaultClosingFeeP(uint8)": FunctionFragment;
1066
+ "validateTriggerCloseOrderCallback((address,uint32),uint8,uint64,uint64,uint64)": FunctionFragment;
1067
+ "validateTriggerOpenOrderCallback((address,uint32),uint8,uint64,uint64,uint64)": FunctionFragment;
1003
1068
  "getAllBorrowingPairs(uint8)": FunctionFragment;
1004
1069
  "getBorrowingGroup(uint8,uint16)": FunctionFragment;
1005
1070
  "getBorrowingGroupOi(uint8,uint16)": FunctionFragment;
@@ -1016,7 +1081,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1016
1081
  "getPairOiCollateral(uint8,uint16,bool)": FunctionFragment;
1017
1082
  "getPairOisCollateral(uint8,uint16)": FunctionFragment;
1018
1083
  "getTradeBorrowingFee((uint8,address,uint16,uint32,bool,uint256,uint256))": FunctionFragment;
1019
- "getTradeLiquidationPrice((uint8,address,uint16,uint32,uint64,bool,uint256,uint256,bool))": FunctionFragment;
1084
+ "getTradeLiquidationPrice((uint8,address,uint16,uint32,uint64,bool,uint256,uint256,bool,(uint40,uint40,uint40,uint24,uint24)))": FunctionFragment;
1020
1085
  "handleTradeBorrowingCallback(uint8,address,uint16,uint32,uint256,bool,bool)": FunctionFragment;
1021
1086
  "resetTradeBorrowingFees(uint8,address,uint16,uint32,bool)": FunctionFragment;
1022
1087
  "setBorrowingGroupParams(uint8,uint16,(uint32,uint72,uint48))": FunctionFragment;
@@ -1043,7 +1108,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1043
1108
  "getOracle(uint256)": FunctionFragment;
1044
1109
  "getOracles()": FunctionFragment;
1045
1110
  "getPendingRequest(bytes32)": FunctionFragment;
1046
- "getPrice(uint8,address,uint16,(address,uint32),uint8,uint256,uint256)": FunctionFragment;
1111
+ "getPrice(uint8,uint16,(address,uint32),(address,uint32),uint8,uint256,uint256)": FunctionFragment;
1047
1112
  "getPriceAggregatorOrder(bytes32)": FunctionFragment;
1048
1113
  "getPriceAggregatorOrderAnswers((address,uint32))": FunctionFragment;
1049
1114
  "getRequestCount()": FunctionFragment;
@@ -1067,7 +1132,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1067
1132
  "sellGnsForCollateral(uint8,uint256)": FunctionFragment;
1068
1133
  "updateOtcConfig((address,uint64,uint64,uint64,uint64))": FunctionFragment;
1069
1134
  };
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;
1135
+ 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
1136
  encodeFunctionData(functionFragment: "diamondCut", values: [
1072
1137
  IDiamondStorage.FacetCutStruct[],
1073
1138
  PromiseOrValue<string>,
@@ -1176,7 +1241,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1176
1241
  encodeFunctionData(functionFragment: "addPriceImpactOpenInterest", values: [
1177
1242
  PromiseOrValue<string>,
1178
1243
  PromiseOrValue<BigNumberish>,
1179
- PromiseOrValue<BigNumberish>
1244
+ PromiseOrValue<BigNumberish>,
1245
+ PromiseOrValue<boolean>
1180
1246
  ]): string;
1181
1247
  encodeFunctionData(functionFragment: "getOiWindow", values: [
1182
1248
  PromiseOrValue<BigNumberish>,
@@ -1191,10 +1257,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1191
1257
  encodeFunctionData(functionFragment: "getOiWindowsSettings", values?: undefined): string;
1192
1258
  encodeFunctionData(functionFragment: "getPairDepth", values: [PromiseOrValue<BigNumberish>]): string;
1193
1259
  encodeFunctionData(functionFragment: "getPairDepths", values: [PromiseOrValue<BigNumberish>[]]): string;
1260
+ encodeFunctionData(functionFragment: "getPairFactors", values: [PromiseOrValue<BigNumberish>[]]): string;
1194
1261
  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
1262
  encodeFunctionData(functionFragment: "getTradePriceImpact", values: [
1199
1263
  PromiseOrValue<BigNumberish>,
1200
1264
  PromiseOrValue<BigNumberish>,
@@ -1202,16 +1266,17 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1202
1266
  PromiseOrValue<BigNumberish>,
1203
1267
  PromiseOrValue<boolean>,
1204
1268
  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
1269
  PromiseOrValue<BigNumberish>,
1213
1270
  PromiseOrValue<BigNumberish>
1214
1271
  ]): string;
1272
+ encodeFunctionData(functionFragment: "initializePairFactors", values: [
1273
+ PromiseOrValue<BigNumberish>[],
1274
+ PromiseOrValue<BigNumberish>[],
1275
+ PromiseOrValue<BigNumberish>[],
1276
+ PromiseOrValue<BigNumberish>[]
1277
+ ]): string;
1278
+ encodeFunctionData(functionFragment: "initializePriceImpact", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1279
+ encodeFunctionData(functionFragment: "setCumulativeFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1215
1280
  encodeFunctionData(functionFragment: "setPairDepths", values: [
1216
1281
  PromiseOrValue<BigNumberish>[],
1217
1282
  PromiseOrValue<BigNumberish>[],
@@ -1219,7 +1284,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1219
1284
  ]): string;
1220
1285
  encodeFunctionData(functionFragment: "setPriceImpactWindowsCount", values: [PromiseOrValue<BigNumberish>]): string;
1221
1286
  encodeFunctionData(functionFragment: "setPriceImpactWindowsDuration", values: [PromiseOrValue<BigNumberish>]): string;
1222
- encodeFunctionData(functionFragment: "setProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1287
+ encodeFunctionData(functionFragment: "setProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1223
1288
  encodeFunctionData(functionFragment: "setProtectionCloseFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1224
1289
  encodeFunctionData(functionFragment: "addCollateral", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1225
1290
  encodeFunctionData(functionFragment: "closePendingOrder", values: [ITradingStorage.IdStruct]): string;
@@ -1233,6 +1298,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1233
1298
  encodeFunctionData(functionFragment: "getCollaterals", values?: undefined): string;
1234
1299
  encodeFunctionData(functionFragment: "getCollateralsCount", values?: undefined): string;
1235
1300
  encodeFunctionData(functionFragment: "getCounters", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1301
+ encodeFunctionData(functionFragment: "getCurrentContractsVersion", values?: undefined): string;
1236
1302
  encodeFunctionData(functionFragment: "getGToken", values: [PromiseOrValue<BigNumberish>]): string;
1237
1303
  encodeFunctionData(functionFragment: "getPendingOrder", values: [ITradingStorage.IdStruct]): string;
1238
1304
  encodeFunctionData(functionFragment: "getPendingOrders", values: [PromiseOrValue<string>]): string;
@@ -1266,11 +1332,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1266
1332
  PromiseOrValue<BigNumberish>
1267
1333
  ]): string;
1268
1334
  encodeFunctionData(functionFragment: "updateTradeCollateralAmount", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1335
+ encodeFunctionData(functionFragment: "updateTradeMaxClosingSlippageP", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1269
1336
  encodeFunctionData(functionFragment: "updateTradePosition", values: [
1270
1337
  ITradingStorage.IdStruct,
1271
1338
  PromiseOrValue<BigNumberish>,
1272
1339
  PromiseOrValue<BigNumberish>,
1273
- PromiseOrValue<BigNumberish>
1340
+ PromiseOrValue<BigNumberish>,
1341
+ PromiseOrValue<boolean>
1274
1342
  ]): string;
1275
1343
  encodeFunctionData(functionFragment: "updateTradeSl", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1276
1344
  encodeFunctionData(functionFragment: "updateTradeTp", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
@@ -1284,8 +1352,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1284
1352
  encodeFunctionData(functionFragment: "updateTriggerTimeoutBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1285
1353
  encodeFunctionData(functionFragment: "cancelOpenOrder", values: [PromiseOrValue<BigNumberish>]): string;
1286
1354
  encodeFunctionData(functionFragment: "cancelOrderAfterTimeout", values: [PromiseOrValue<BigNumberish>]): string;
1287
- encodeFunctionData(functionFragment: "closeTradeMarket", values: [PromiseOrValue<BigNumberish>]): string;
1355
+ encodeFunctionData(functionFragment: "closeTradeMarket", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1288
1356
  encodeFunctionData(functionFragment: "decreasePositionSize", values: [
1357
+ PromiseOrValue<BigNumberish>,
1289
1358
  PromiseOrValue<BigNumberish>,
1290
1359
  PromiseOrValue<BigNumberish>,
1291
1360
  PromiseOrValue<BigNumberish>
@@ -1320,6 +1389,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1320
1389
  encodeFunctionData(functionFragment: "updateByPassTriggerLink", values: [PromiseOrValue<string>[], PromiseOrValue<boolean>[]]): string;
1321
1390
  encodeFunctionData(functionFragment: "updateLeverage", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1322
1391
  encodeFunctionData(functionFragment: "updateMarketOrdersTimeoutBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1392
+ encodeFunctionData(functionFragment: "updateMaxClosingSlippageP", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1323
1393
  encodeFunctionData(functionFragment: "updateOpenOrder", values: [
1324
1394
  PromiseOrValue<BigNumberish>,
1325
1395
  PromiseOrValue<BigNumberish>,
@@ -1341,6 +1411,20 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1341
1411
  encodeFunctionData(functionFragment: "openTradeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1342
1412
  encodeFunctionData(functionFragment: "updateLeverageCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1343
1413
  encodeFunctionData(functionFragment: "updateVaultClosingFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1414
+ encodeFunctionData(functionFragment: "validateTriggerCloseOrderCallback", values: [
1415
+ ITradingStorage.IdStruct,
1416
+ PromiseOrValue<BigNumberish>,
1417
+ PromiseOrValue<BigNumberish>,
1418
+ PromiseOrValue<BigNumberish>,
1419
+ PromiseOrValue<BigNumberish>
1420
+ ]): string;
1421
+ encodeFunctionData(functionFragment: "validateTriggerOpenOrderCallback", values: [
1422
+ ITradingStorage.IdStruct,
1423
+ PromiseOrValue<BigNumberish>,
1424
+ PromiseOrValue<BigNumberish>,
1425
+ PromiseOrValue<BigNumberish>,
1426
+ PromiseOrValue<BigNumberish>
1427
+ ]): string;
1344
1428
  encodeFunctionData(functionFragment: "getAllBorrowingPairs", values: [PromiseOrValue<BigNumberish>]): string;
1345
1429
  encodeFunctionData(functionFragment: "getBorrowingGroup", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1346
1430
  encodeFunctionData(functionFragment: "getBorrowingGroupOi", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
@@ -1442,9 +1526,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1442
1526
  encodeFunctionData(functionFragment: "getPendingRequest", values: [PromiseOrValue<BytesLike>]): string;
1443
1527
  encodeFunctionData(functionFragment: "getPrice", values: [
1444
1528
  PromiseOrValue<BigNumberish>,
1445
- PromiseOrValue<string>,
1446
1529
  PromiseOrValue<BigNumberish>,
1447
1530
  ITradingStorage.IdStruct,
1531
+ ITradingStorage.IdStruct,
1448
1532
  PromiseOrValue<BigNumberish>,
1449
1533
  PromiseOrValue<BigNumberish>,
1450
1534
  PromiseOrValue<BigNumberish>
@@ -1568,15 +1652,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1568
1652
  decodeFunctionResult(functionFragment: "getOiWindowsSettings", data: BytesLike): Result;
1569
1653
  decodeFunctionResult(functionFragment: "getPairDepth", data: BytesLike): Result;
1570
1654
  decodeFunctionResult(functionFragment: "getPairDepths", data: BytesLike): Result;
1655
+ decodeFunctionResult(functionFragment: "getPairFactors", data: BytesLike): Result;
1571
1656
  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
1657
  decodeFunctionResult(functionFragment: "getTradePriceImpact", data: BytesLike): Result;
1576
- decodeFunctionResult(functionFragment: "getTradePriceImpactInfo", data: BytesLike): Result;
1658
+ decodeFunctionResult(functionFragment: "initializePairFactors", data: BytesLike): Result;
1577
1659
  decodeFunctionResult(functionFragment: "initializePriceImpact", data: BytesLike): Result;
1578
- decodeFunctionResult(functionFragment: "initializeProtectionCloseFactorBlocks", data: BytesLike): Result;
1579
- decodeFunctionResult(functionFragment: "removePriceImpactOpenInterest", data: BytesLike): Result;
1660
+ decodeFunctionResult(functionFragment: "setCumulativeFactors", data: BytesLike): Result;
1580
1661
  decodeFunctionResult(functionFragment: "setPairDepths", data: BytesLike): Result;
1581
1662
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsCount", data: BytesLike): Result;
1582
1663
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsDuration", data: BytesLike): Result;
@@ -1594,6 +1675,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1594
1675
  decodeFunctionResult(functionFragment: "getCollaterals", data: BytesLike): Result;
1595
1676
  decodeFunctionResult(functionFragment: "getCollateralsCount", data: BytesLike): Result;
1596
1677
  decodeFunctionResult(functionFragment: "getCounters", data: BytesLike): Result;
1678
+ decodeFunctionResult(functionFragment: "getCurrentContractsVersion", data: BytesLike): Result;
1597
1679
  decodeFunctionResult(functionFragment: "getGToken", data: BytesLike): Result;
1598
1680
  decodeFunctionResult(functionFragment: "getPendingOrder", data: BytesLike): Result;
1599
1681
  decodeFunctionResult(functionFragment: "getPendingOrders", data: BytesLike): Result;
@@ -1616,6 +1698,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1616
1698
  decodeFunctionResult(functionFragment: "updateGToken", data: BytesLike): Result;
1617
1699
  decodeFunctionResult(functionFragment: "updateOpenOrderDetails", data: BytesLike): Result;
1618
1700
  decodeFunctionResult(functionFragment: "updateTradeCollateralAmount", data: BytesLike): Result;
1701
+ decodeFunctionResult(functionFragment: "updateTradeMaxClosingSlippageP", data: BytesLike): Result;
1619
1702
  decodeFunctionResult(functionFragment: "updateTradePosition", data: BytesLike): Result;
1620
1703
  decodeFunctionResult(functionFragment: "updateTradeSl", data: BytesLike): Result;
1621
1704
  decodeFunctionResult(functionFragment: "updateTradeTp", data: BytesLike): Result;
@@ -1647,6 +1730,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1647
1730
  decodeFunctionResult(functionFragment: "updateByPassTriggerLink", data: BytesLike): Result;
1648
1731
  decodeFunctionResult(functionFragment: "updateLeverage", data: BytesLike): Result;
1649
1732
  decodeFunctionResult(functionFragment: "updateMarketOrdersTimeoutBlocks", data: BytesLike): Result;
1733
+ decodeFunctionResult(functionFragment: "updateMaxClosingSlippageP", data: BytesLike): Result;
1650
1734
  decodeFunctionResult(functionFragment: "updateOpenOrder", data: BytesLike): Result;
1651
1735
  decodeFunctionResult(functionFragment: "updateSl", data: BytesLike): Result;
1652
1736
  decodeFunctionResult(functionFragment: "updateTp", data: BytesLike): Result;
@@ -1662,6 +1746,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1662
1746
  decodeFunctionResult(functionFragment: "openTradeMarketCallback", data: BytesLike): Result;
1663
1747
  decodeFunctionResult(functionFragment: "updateLeverageCallback", data: BytesLike): Result;
1664
1748
  decodeFunctionResult(functionFragment: "updateVaultClosingFeeP", data: BytesLike): Result;
1749
+ decodeFunctionResult(functionFragment: "validateTriggerCloseOrderCallback", data: BytesLike): Result;
1750
+ decodeFunctionResult(functionFragment: "validateTriggerOpenOrderCallback", data: BytesLike): Result;
1665
1751
  decodeFunctionResult(functionFragment: "getAllBorrowingPairs", data: BytesLike): Result;
1666
1752
  decodeFunctionResult(functionFragment: "getBorrowingGroup", data: BytesLike): Result;
1667
1753
  decodeFunctionResult(functionFragment: "getBorrowingGroupOi", data: BytesLike): Result;
@@ -1761,16 +1847,16 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1761
1847
  "TraderInfoFirstUpdate(address,uint32)": EventFragment;
1762
1848
  "TraderInfoUpdated(address,tuple)": EventFragment;
1763
1849
  "TraderTrailingPointsExpired(address,uint32,uint32,uint224)": EventFragment;
1850
+ "CumulativeFactorUpdated(uint256,uint40)": EventFragment;
1764
1851
  "OiWindowsSettingsInitialized(uint48,uint48)": EventFragment;
1765
1852
  "OnePercentDepthUpdated(uint256,uint128,uint128)": EventFragment;
1766
1853
  "PriceImpactOiTransferredPair(uint256,tuple)": EventFragment;
1767
1854
  "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)": EventFragment;
1768
- "PriceImpactOpenInterestAdded(tuple,bool)": EventFragment;
1769
- "PriceImpactOpenInterestRemoved(tuple,bool)": EventFragment;
1855
+ "PriceImpactOpenInterestAdded(tuple)": EventFragment;
1770
1856
  "PriceImpactWindowsCountUpdated(uint48)": EventFragment;
1771
1857
  "PriceImpactWindowsDurationUpdated(uint48)": EventFragment;
1772
- "ProtectionCloseFactorBlocksUpdated(uint24)": EventFragment;
1773
- "ProtectionCloseFactorUpdated(uint256,uint256)": EventFragment;
1858
+ "ProtectionCloseFactorBlocksUpdated(uint256,uint32)": EventFragment;
1859
+ "ProtectionCloseFactorUpdated(uint256,uint40)": EventFragment;
1774
1860
  "CollateralAdded(address,uint8,address)": EventFragment;
1775
1861
  "CollateralDisabled(uint8)": EventFragment;
1776
1862
  "CollateralUpdated(uint8,bool)": EventFragment;
@@ -1780,7 +1866,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1780
1866
  "PendingOrderStored(tuple)": EventFragment;
1781
1867
  "TradeClosed(tuple)": EventFragment;
1782
1868
  "TradeCollateralUpdated(tuple,uint120)": EventFragment;
1783
- "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64)": EventFragment;
1869
+ "TradeMaxClosingSlippagePUpdated(tuple,uint16)": EventFragment;
1870
+ "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64,bool)": EventFragment;
1784
1871
  "TradeSlUpdated(tuple,uint64)": EventFragment;
1785
1872
  "TradeStored(tuple,tuple,tuple)": EventFragment;
1786
1873
  "TradeTpUpdated(tuple,uint64)": EventFragment;
@@ -1825,8 +1912,6 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1825
1912
  "BorrowingPairOiUpdated(uint8,uint16,bool,bool,uint72,uint72,uint72)": EventFragment;
1826
1913
  "BorrowingPairParamsUpdated(uint8,uint16,uint16,uint32,uint48,uint72)": EventFragment;
1827
1914
  "TradeBorrowingCallbackHandled(uint8,address,uint16,uint32,bool,bool,uint256)": EventFragment;
1828
- "ChainlinkFulfilled(bytes32)": EventFragment;
1829
- "ChainlinkRequested(bytes32)": EventFragment;
1830
1915
  "CollateralGnsLiquidityPoolUpdated(uint8,tuple)": EventFragment;
1831
1916
  "CollateralUsdPriceFeedUpdated(uint8,address)": EventFragment;
1832
1917
  "JobIdUpdated(uint256,bytes32)": EventFragment;
@@ -1838,7 +1923,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1838
1923
  "OracleRemoved(uint256,address)": EventFragment;
1839
1924
  "OracleReplaced(uint256,address,address)": EventFragment;
1840
1925
  "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)": EventFragment;
1841
- "PriceRequested(uint8,address,uint256,tuple,uint8,uint256,bool,bytes32,uint256,uint256)": EventFragment;
1926
+ "PriceRequested(uint8,uint256,tuple,tuple,uint8,uint256,bool,bytes32,uint256,uint256)": EventFragment;
1842
1927
  "TradingCallbackExecuted(tuple,uint8)": EventFragment;
1843
1928
  "TwapIntervalUpdated(uint32)": EventFragment;
1844
1929
  "OtcBalanceUpdated(uint8,uint256)": EventFragment;
@@ -1877,12 +1962,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1877
1962
  getEvent(nameOrSignatureOrTopic: "TraderInfoFirstUpdate"): EventFragment;
1878
1963
  getEvent(nameOrSignatureOrTopic: "TraderInfoUpdated"): EventFragment;
1879
1964
  getEvent(nameOrSignatureOrTopic: "TraderTrailingPointsExpired"): EventFragment;
1965
+ getEvent(nameOrSignatureOrTopic: "CumulativeFactorUpdated"): EventFragment;
1880
1966
  getEvent(nameOrSignatureOrTopic: "OiWindowsSettingsInitialized"): EventFragment;
1881
1967
  getEvent(nameOrSignatureOrTopic: "OnePercentDepthUpdated"): EventFragment;
1882
1968
  getEvent(nameOrSignatureOrTopic: "PriceImpactOiTransferredPair"): EventFragment;
1883
1969
  getEvent(nameOrSignatureOrTopic: "PriceImpactOiTransferredPairs"): EventFragment;
1884
1970
  getEvent(nameOrSignatureOrTopic: "PriceImpactOpenInterestAdded"): EventFragment;
1885
- getEvent(nameOrSignatureOrTopic: "PriceImpactOpenInterestRemoved"): EventFragment;
1886
1971
  getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsCountUpdated"): EventFragment;
1887
1972
  getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsDurationUpdated"): EventFragment;
1888
1973
  getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorBlocksUpdated"): EventFragment;
@@ -1896,6 +1981,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1896
1981
  getEvent(nameOrSignatureOrTopic: "PendingOrderStored"): EventFragment;
1897
1982
  getEvent(nameOrSignatureOrTopic: "TradeClosed"): EventFragment;
1898
1983
  getEvent(nameOrSignatureOrTopic: "TradeCollateralUpdated"): EventFragment;
1984
+ getEvent(nameOrSignatureOrTopic: "TradeMaxClosingSlippagePUpdated"): EventFragment;
1899
1985
  getEvent(nameOrSignatureOrTopic: "TradePositionUpdated"): EventFragment;
1900
1986
  getEvent(nameOrSignatureOrTopic: "TradeSlUpdated"): EventFragment;
1901
1987
  getEvent(nameOrSignatureOrTopic: "TradeStored"): EventFragment;
@@ -1941,8 +2027,6 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1941
2027
  getEvent(nameOrSignatureOrTopic: "BorrowingPairOiUpdated"): EventFragment;
1942
2028
  getEvent(nameOrSignatureOrTopic: "BorrowingPairParamsUpdated"): EventFragment;
1943
2029
  getEvent(nameOrSignatureOrTopic: "TradeBorrowingCallbackHandled"): EventFragment;
1944
- getEvent(nameOrSignatureOrTopic: "ChainlinkFulfilled"): EventFragment;
1945
- getEvent(nameOrSignatureOrTopic: "ChainlinkRequested"): EventFragment;
1946
2030
  getEvent(nameOrSignatureOrTopic: "CollateralGnsLiquidityPoolUpdated"): EventFragment;
1947
2031
  getEvent(nameOrSignatureOrTopic: "CollateralUsdPriceFeedUpdated"): EventFragment;
1948
2032
  getEvent(nameOrSignatureOrTopic: "JobIdUpdated"): EventFragment;
@@ -2245,6 +2329,15 @@ export type TraderTrailingPointsExpiredEvent = TypedEvent<[
2245
2329
  BigNumber
2246
2330
  ], TraderTrailingPointsExpiredEventObject>;
2247
2331
  export type TraderTrailingPointsExpiredEventFilter = TypedEventFilter<TraderTrailingPointsExpiredEvent>;
2332
+ export interface CumulativeFactorUpdatedEventObject {
2333
+ pairIndex: BigNumber;
2334
+ cumulativeFactor: number;
2335
+ }
2336
+ export type CumulativeFactorUpdatedEvent = TypedEvent<[
2337
+ BigNumber,
2338
+ number
2339
+ ], CumulativeFactorUpdatedEventObject>;
2340
+ export type CumulativeFactorUpdatedEventFilter = TypedEventFilter<CumulativeFactorUpdatedEvent>;
2248
2341
  export interface OiWindowsSettingsInitializedEventObject {
2249
2342
  windowsDuration: number;
2250
2343
  windowsCount: number;
@@ -2289,22 +2382,11 @@ export type PriceImpactOiTransferredPairsEvent = TypedEvent<[
2289
2382
  export type PriceImpactOiTransferredPairsEventFilter = TypedEventFilter<PriceImpactOiTransferredPairsEvent>;
2290
2383
  export interface PriceImpactOpenInterestAddedEventObject {
2291
2384
  oiWindowUpdate: IPriceImpact.OiWindowUpdateStructOutput;
2292
- isPartial: boolean;
2293
2385
  }
2294
2386
  export type PriceImpactOpenInterestAddedEvent = TypedEvent<[
2295
- IPriceImpact.OiWindowUpdateStructOutput,
2296
- boolean
2387
+ IPriceImpact.OiWindowUpdateStructOutput
2297
2388
  ], PriceImpactOpenInterestAddedEventObject>;
2298
2389
  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
2390
  export interface PriceImpactWindowsCountUpdatedEventObject {
2309
2391
  windowsCount: number;
2310
2392
  }
@@ -2320,19 +2402,21 @@ export type PriceImpactWindowsDurationUpdatedEvent = TypedEvent<[
2320
2402
  ], PriceImpactWindowsDurationUpdatedEventObject>;
2321
2403
  export type PriceImpactWindowsDurationUpdatedEventFilter = TypedEventFilter<PriceImpactWindowsDurationUpdatedEvent>;
2322
2404
  export interface ProtectionCloseFactorBlocksUpdatedEventObject {
2405
+ pairIndex: BigNumber;
2323
2406
  protectionCloseFactorBlocks: number;
2324
2407
  }
2325
2408
  export type ProtectionCloseFactorBlocksUpdatedEvent = TypedEvent<[
2409
+ BigNumber,
2326
2410
  number
2327
2411
  ], ProtectionCloseFactorBlocksUpdatedEventObject>;
2328
2412
  export type ProtectionCloseFactorBlocksUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorBlocksUpdatedEvent>;
2329
2413
  export interface ProtectionCloseFactorUpdatedEventObject {
2330
2414
  pairIndex: BigNumber;
2331
- protectionCloseFactor: BigNumber;
2415
+ protectionCloseFactor: number;
2332
2416
  }
2333
2417
  export type ProtectionCloseFactorUpdatedEvent = TypedEvent<[
2334
2418
  BigNumber,
2335
- BigNumber
2419
+ number
2336
2420
  ], ProtectionCloseFactorUpdatedEventObject>;
2337
2421
  export type ProtectionCloseFactorUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorUpdatedEvent>;
2338
2422
  export interface CollateralAddedEventObject {
@@ -2418,6 +2502,15 @@ export type TradeCollateralUpdatedEvent = TypedEvent<[
2418
2502
  BigNumber
2419
2503
  ], TradeCollateralUpdatedEventObject>;
2420
2504
  export type TradeCollateralUpdatedEventFilter = TypedEventFilter<TradeCollateralUpdatedEvent>;
2505
+ export interface TradeMaxClosingSlippagePUpdatedEventObject {
2506
+ tradeId: ITradingStorage.IdStructOutput;
2507
+ maxClosingSlippageP: number;
2508
+ }
2509
+ export type TradeMaxClosingSlippagePUpdatedEvent = TypedEvent<[
2510
+ ITradingStorage.IdStructOutput,
2511
+ number
2512
+ ], TradeMaxClosingSlippagePUpdatedEventObject>;
2513
+ export type TradeMaxClosingSlippagePUpdatedEventFilter = TypedEventFilter<TradeMaxClosingSlippagePUpdatedEvent>;
2421
2514
  export interface TradePositionUpdatedEventObject {
2422
2515
  tradeId: ITradingStorage.IdStructOutput;
2423
2516
  collateralAmount: BigNumber;
@@ -2425,6 +2518,7 @@ export interface TradePositionUpdatedEventObject {
2425
2518
  openPrice: BigNumber;
2426
2519
  newTp: BigNumber;
2427
2520
  newSl: BigNumber;
2521
+ refreshLiquidationParams: boolean;
2428
2522
  }
2429
2523
  export type TradePositionUpdatedEvent = TypedEvent<[
2430
2524
  ITradingStorage.IdStructOutput,
@@ -2432,7 +2526,8 @@ export type TradePositionUpdatedEvent = TypedEvent<[
2432
2526
  number,
2433
2527
  BigNumber,
2434
2528
  BigNumber,
2435
- BigNumber
2529
+ BigNumber,
2530
+ boolean
2436
2531
  ], TradePositionUpdatedEventObject>;
2437
2532
  export type TradePositionUpdatedEventFilter = TypedEventFilter<TradePositionUpdatedEvent>;
2438
2533
  export interface TradeSlUpdatedEventObject {
@@ -3047,20 +3142,6 @@ export type TradeBorrowingCallbackHandledEvent = TypedEvent<[
3047
3142
  BigNumber
3048
3143
  ], TradeBorrowingCallbackHandledEventObject>;
3049
3144
  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
3145
  export interface CollateralGnsLiquidityPoolUpdatedEventObject {
3065
3146
  collateralIndex: number;
3066
3147
  newValue: IPriceAggregator.LiquidityPoolInfoStructOutput;
@@ -3164,8 +3245,8 @@ export type PriceReceivedEvent = TypedEvent<[
3164
3245
  export type PriceReceivedEventFilter = TypedEventFilter<PriceReceivedEvent>;
3165
3246
  export interface PriceRequestedEventObject {
3166
3247
  collateralIndex: number;
3167
- trader: string;
3168
3248
  pairIndex: BigNumber;
3249
+ tradeId: ITradingStorage.IdStructOutput;
3169
3250
  pendingOrderId: ITradingStorage.IdStructOutput;
3170
3251
  orderType: number;
3171
3252
  fromBlock: BigNumber;
@@ -3176,9 +3257,9 @@ export interface PriceRequestedEventObject {
3176
3257
  }
3177
3258
  export type PriceRequestedEvent = TypedEvent<[
3178
3259
  number,
3179
- string,
3180
3260
  BigNumber,
3181
3261
  ITradingStorage.IdStructOutput,
3262
+ ITradingStorage.IdStructOutput,
3182
3263
  number,
3183
3264
  BigNumber,
3184
3265
  boolean,
@@ -3398,7 +3479,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3398
3479
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3399
3480
  from?: PromiseOrValue<string>;
3400
3481
  }): Promise<ContractTransaction>;
3401
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3482
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
3402
3483
  from?: PromiseOrValue<string>;
3403
3484
  }): Promise<ContractTransaction>;
3404
3485
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.PairOiStructOutput]>;
@@ -3406,27 +3487,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3406
3487
  getOiWindowsSettings(overrides?: CallOverrides): Promise<[IPriceImpact.OiWindowsSettingsStructOutput]>;
3407
3488
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.PairDepthStructOutput]>;
3408
3489
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IPriceImpact.PairDepthStructOutput[]]>;
3490
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IPriceImpact.PairFactorsStructOutput[]]>;
3409
3491
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
3410
3492
  activeOi: BigNumber;
3411
3493
  }>;
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<[
3494
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3416
3495
  BigNumber,
3417
3496
  BigNumber
3418
3497
  ] & {
3419
3498
  priceImpactP: BigNumber;
3420
3499
  priceAfterImpact: BigNumber;
3421
3500
  }>;
3422
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.TradePriceImpactInfoStructOutput]>;
3423
- initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3501
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3424
3502
  from?: PromiseOrValue<string>;
3425
3503
  }): Promise<ContractTransaction>;
3426
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3504
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3427
3505
  from?: PromiseOrValue<string>;
3428
3506
  }): Promise<ContractTransaction>;
3429
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3507
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3430
3508
  from?: PromiseOrValue<string>;
3431
3509
  }): Promise<ContractTransaction>;
3432
3510
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3438,7 +3516,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3438
3516
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3439
3517
  from?: PromiseOrValue<string>;
3440
3518
  }): Promise<ContractTransaction>;
3441
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3519
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3442
3520
  from?: PromiseOrValue<string>;
3443
3521
  }): Promise<ContractTransaction>;
3444
3522
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3462,6 +3540,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3462
3540
  getCollaterals(overrides?: CallOverrides): Promise<[ITradingStorage.CollateralStructOutput[]]>;
3463
3541
  getCollateralsCount(overrides?: CallOverrides): Promise<[number]>;
3464
3542
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CounterStructOutput]>;
3543
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<[number]>;
3465
3544
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3466
3545
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput]>;
3467
3546
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput[]]>;
@@ -3498,7 +3577,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3498
3577
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3499
3578
  from?: PromiseOrValue<string>;
3500
3579
  }): Promise<ContractTransaction>;
3501
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3580
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3581
+ from?: PromiseOrValue<string>;
3582
+ }): Promise<ContractTransaction>;
3583
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _refreshLiquidationParams: PromiseOrValue<boolean>, overrides?: Overrides & {
3502
3584
  from?: PromiseOrValue<string>;
3503
3585
  }): Promise<ContractTransaction>;
3504
3586
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -3531,10 +3613,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3531
3613
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3532
3614
  from?: PromiseOrValue<string>;
3533
3615
  }): Promise<ContractTransaction>;
3534
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3616
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3535
3617
  from?: PromiseOrValue<string>;
3536
3618
  }): Promise<ContractTransaction>;
3537
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3619
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3538
3620
  from?: PromiseOrValue<string>;
3539
3621
  }): Promise<ContractTransaction>;
3540
3622
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -3575,6 +3657,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3575
3657
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3576
3658
  from?: PromiseOrValue<string>;
3577
3659
  }): Promise<ContractTransaction>;
3660
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3661
+ from?: PromiseOrValue<string>;
3662
+ }): Promise<ContractTransaction>;
3578
3663
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3579
3664
  from?: PromiseOrValue<string>;
3580
3665
  }): Promise<ContractTransaction>;
@@ -3616,6 +3701,30 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3616
3701
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3617
3702
  from?: PromiseOrValue<string>;
3618
3703
  }): Promise<ContractTransaction>;
3704
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3705
+ ITradingStorage.TradeStructOutput,
3706
+ number,
3707
+ ITradingCallbacks.ValuesStructOutput,
3708
+ BigNumber
3709
+ ] & {
3710
+ t: ITradingStorage.TradeStructOutput;
3711
+ cancelReason: number;
3712
+ v: ITradingCallbacks.ValuesStructOutput;
3713
+ priceImpactP: BigNumber;
3714
+ }>;
3715
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3716
+ ITradingStorage.TradeStructOutput,
3717
+ number,
3718
+ BigNumber,
3719
+ BigNumber,
3720
+ boolean
3721
+ ] & {
3722
+ t: ITradingStorage.TradeStructOutput;
3723
+ cancelReason: number;
3724
+ priceImpactP: BigNumber;
3725
+ priceAfterImpact: BigNumber;
3726
+ exactExecution: boolean;
3727
+ }>;
3619
3728
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3620
3729
  IBorrowingFees.BorrowingDataStructOutput[],
3621
3730
  IBorrowingFees.OpenInterestStructOutput[],
@@ -3710,7 +3819,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3710
3819
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3711
3820
  getOracles(overrides?: CallOverrides): Promise<[string[]]>;
3712
3821
  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 & {
3822
+ 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
3823
  from?: PromiseOrValue<string>;
3715
3824
  }): Promise<ContractTransaction>;
3716
3825
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[IPriceAggregator.OrderStructOutput]>;
@@ -3901,7 +4010,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3901
4010
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3902
4011
  from?: PromiseOrValue<string>;
3903
4012
  }): Promise<ContractTransaction>;
3904
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4013
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
3905
4014
  from?: PromiseOrValue<string>;
3906
4015
  }): Promise<ContractTransaction>;
3907
4016
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
@@ -3909,25 +4018,22 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3909
4018
  getOiWindowsSettings(overrides?: CallOverrides): Promise<IPriceImpact.OiWindowsSettingsStructOutput>;
3910
4019
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput>;
3911
4020
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
4021
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairFactorsStructOutput[]>;
3912
4022
  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<[
4023
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3917
4024
  BigNumber,
3918
4025
  BigNumber
3919
4026
  ] & {
3920
4027
  priceImpactP: BigNumber;
3921
4028
  priceAfterImpact: BigNumber;
3922
4029
  }>;
3923
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.TradePriceImpactInfoStructOutput>;
3924
- initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4030
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3925
4031
  from?: PromiseOrValue<string>;
3926
4032
  }): Promise<ContractTransaction>;
3927
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4033
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3928
4034
  from?: PromiseOrValue<string>;
3929
4035
  }): Promise<ContractTransaction>;
3930
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4036
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3931
4037
  from?: PromiseOrValue<string>;
3932
4038
  }): Promise<ContractTransaction>;
3933
4039
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3939,7 +4045,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3939
4045
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3940
4046
  from?: PromiseOrValue<string>;
3941
4047
  }): Promise<ContractTransaction>;
3942
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4048
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3943
4049
  from?: PromiseOrValue<string>;
3944
4050
  }): Promise<ContractTransaction>;
3945
4051
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3963,6 +4069,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3963
4069
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
3964
4070
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
3965
4071
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
4072
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
3966
4073
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
3967
4074
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
3968
4075
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
@@ -3999,7 +4106,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3999
4106
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4000
4107
  from?: PromiseOrValue<string>;
4001
4108
  }): Promise<ContractTransaction>;
4002
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4109
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4110
+ from?: PromiseOrValue<string>;
4111
+ }): Promise<ContractTransaction>;
4112
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _refreshLiquidationParams: PromiseOrValue<boolean>, overrides?: Overrides & {
4003
4113
  from?: PromiseOrValue<string>;
4004
4114
  }): Promise<ContractTransaction>;
4005
4115
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -4032,10 +4142,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4032
4142
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4033
4143
  from?: PromiseOrValue<string>;
4034
4144
  }): Promise<ContractTransaction>;
4035
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4145
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4036
4146
  from?: PromiseOrValue<string>;
4037
4147
  }): Promise<ContractTransaction>;
4038
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4148
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4039
4149
  from?: PromiseOrValue<string>;
4040
4150
  }): Promise<ContractTransaction>;
4041
4151
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -4076,6 +4186,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4076
4186
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4077
4187
  from?: PromiseOrValue<string>;
4078
4188
  }): Promise<ContractTransaction>;
4189
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4190
+ from?: PromiseOrValue<string>;
4191
+ }): Promise<ContractTransaction>;
4079
4192
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4080
4193
  from?: PromiseOrValue<string>;
4081
4194
  }): Promise<ContractTransaction>;
@@ -4117,6 +4230,30 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4117
4230
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4118
4231
  from?: PromiseOrValue<string>;
4119
4232
  }): Promise<ContractTransaction>;
4233
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4234
+ ITradingStorage.TradeStructOutput,
4235
+ number,
4236
+ ITradingCallbacks.ValuesStructOutput,
4237
+ BigNumber
4238
+ ] & {
4239
+ t: ITradingStorage.TradeStructOutput;
4240
+ cancelReason: number;
4241
+ v: ITradingCallbacks.ValuesStructOutput;
4242
+ priceImpactP: BigNumber;
4243
+ }>;
4244
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4245
+ ITradingStorage.TradeStructOutput,
4246
+ number,
4247
+ BigNumber,
4248
+ BigNumber,
4249
+ boolean
4250
+ ] & {
4251
+ t: ITradingStorage.TradeStructOutput;
4252
+ cancelReason: number;
4253
+ priceImpactP: BigNumber;
4254
+ priceAfterImpact: BigNumber;
4255
+ exactExecution: boolean;
4256
+ }>;
4120
4257
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4121
4258
  IBorrowingFees.BorrowingDataStructOutput[],
4122
4259
  IBorrowingFees.OpenInterestStructOutput[],
@@ -4207,7 +4344,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4207
4344
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4208
4345
  getOracles(overrides?: CallOverrides): Promise<string[]>;
4209
4346
  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 & {
4347
+ 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
4348
  from?: PromiseOrValue<string>;
4212
4349
  }): Promise<ContractTransaction>;
4213
4350
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
@@ -4340,31 +4477,28 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4340
4477
  setFeeTiers(_feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: CallOverrides): Promise<void>;
4341
4478
  setGroupVolumeMultipliers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4342
4479
  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>;
4480
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4344
4481
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
4345
4482
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput[]>;
4346
4483
  getOiWindowsSettings(overrides?: CallOverrides): Promise<IPriceImpact.OiWindowsSettingsStructOutput>;
4347
4484
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput>;
4348
4485
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
4486
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairFactorsStructOutput[]>;
4349
4487
  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<[
4488
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4354
4489
  BigNumber,
4355
4490
  BigNumber
4356
4491
  ] & {
4357
4492
  priceImpactP: BigNumber;
4358
4493
  priceAfterImpact: BigNumber;
4359
4494
  }>;
4360
- getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.TradePriceImpactInfoStructOutput>;
4495
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4361
4496
  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>;
4497
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4364
4498
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4365
4499
  setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4366
4500
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4367
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4501
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4368
4502
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4369
4503
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4370
4504
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
@@ -4378,6 +4512,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4378
4512
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
4379
4513
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
4380
4514
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
4515
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
4381
4516
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4382
4517
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
4383
4518
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
@@ -4400,7 +4535,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4400
4535
  updateGToken(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4401
4536
  updateOpenOrderDetails(_tradeId: ITradingStorage.IdStruct, _openPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4402
4537
  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>;
4538
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4539
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _refreshLiquidationParams: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4404
4540
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4405
4541
  updateTradeTp(_tradeId: ITradingStorage.IdStruct, _newTp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4406
4542
  updateTradingActivated(_activated: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -4413,8 +4549,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4413
4549
  updateTriggerTimeoutBlocks(_timeoutBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4414
4550
  cancelOpenOrder(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4415
4551
  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>;
4552
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4553
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4418
4554
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
4419
4555
  getByPassTriggerLink(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4420
4556
  getMarketOrdersTimeoutBlocks(overrides?: CallOverrides): Promise<number>;
@@ -4431,6 +4567,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4431
4567
  updateByPassTriggerLink(_users: PromiseOrValue<string>[], _shouldByPass: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
4432
4568
  updateLeverage(_index: PromiseOrValue<BigNumberish>, _newLeverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4433
4569
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4570
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4434
4571
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4435
4572
  updateSl(_index: PromiseOrValue<BigNumberish>, _newSl: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4436
4573
  updateTp(_index: PromiseOrValue<BigNumberish>, _newTp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -4446,6 +4583,30 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4446
4583
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4447
4584
  updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4448
4585
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4586
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4587
+ ITradingStorage.TradeStructOutput,
4588
+ number,
4589
+ ITradingCallbacks.ValuesStructOutput,
4590
+ BigNumber
4591
+ ] & {
4592
+ t: ITradingStorage.TradeStructOutput;
4593
+ cancelReason: number;
4594
+ v: ITradingCallbacks.ValuesStructOutput;
4595
+ priceImpactP: BigNumber;
4596
+ }>;
4597
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4598
+ ITradingStorage.TradeStructOutput,
4599
+ number,
4600
+ BigNumber,
4601
+ BigNumber,
4602
+ boolean
4603
+ ] & {
4604
+ t: ITradingStorage.TradeStructOutput;
4605
+ cancelReason: number;
4606
+ priceImpactP: BigNumber;
4607
+ priceAfterImpact: BigNumber;
4608
+ exactExecution: boolean;
4609
+ }>;
4449
4610
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4450
4611
  IBorrowingFees.BorrowingDataStructOutput[],
4451
4612
  IBorrowingFees.OpenInterestStructOutput[],
@@ -4518,7 +4679,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4518
4679
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4519
4680
  getOracles(overrides?: CallOverrides): Promise<string[]>;
4520
4681
  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>;
4682
+ 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
4683
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
4523
4684
  getPriceAggregatorOrderAnswers(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<IPriceAggregator.OrderAnswerStructOutput[]>;
4524
4685
  getRequestCount(overrides?: CallOverrides): Promise<BigNumber>;
@@ -4607,6 +4768,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4607
4768
  TraderInfoUpdated(trader?: PromiseOrValue<string> | null, traderInfo?: null): TraderInfoUpdatedEventFilter;
4608
4769
  "TraderTrailingPointsExpired(address,uint32,uint32,uint224)"(trader?: PromiseOrValue<string> | null, fromDay?: null, toDay?: null, expiredPoints?: null): TraderTrailingPointsExpiredEventFilter;
4609
4770
  TraderTrailingPointsExpired(trader?: PromiseOrValue<string> | null, fromDay?: null, toDay?: null, expiredPoints?: null): TraderTrailingPointsExpiredEventFilter;
4771
+ "CumulativeFactorUpdated(uint256,uint40)"(pairIndex?: PromiseOrValue<BigNumberish> | null, cumulativeFactor?: null): CumulativeFactorUpdatedEventFilter;
4772
+ CumulativeFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, cumulativeFactor?: null): CumulativeFactorUpdatedEventFilter;
4610
4773
  "OiWindowsSettingsInitialized(uint48,uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null, windowsCount?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
4611
4774
  OiWindowsSettingsInitialized(windowsDuration?: PromiseOrValue<BigNumberish> | null, windowsCount?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
4612
4775
  "OnePercentDepthUpdated(uint256,uint128,uint128)"(pairIndex?: PromiseOrValue<BigNumberish> | null, valueAboveUsd?: null, valueBelowUsd?: null): OnePercentDepthUpdatedEventFilter;
@@ -4615,17 +4778,15 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4615
4778
  PriceImpactOiTransferredPair(pairIndex?: PromiseOrValue<BigNumberish> | null, totalPairOi?: null): PriceImpactOiTransferredPairEventFilter;
4616
4779
  "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)"(pairsCount?: null, prevCurrentWindowId?: null, prevEarliestWindowId?: null, newCurrentWindowId?: null): PriceImpactOiTransferredPairsEventFilter;
4617
4780
  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;
4781
+ "PriceImpactOpenInterestAdded(tuple)"(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
4782
+ PriceImpactOpenInterestAdded(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
4622
4783
  "PriceImpactWindowsCountUpdated(uint48)"(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
4623
4784
  PriceImpactWindowsCountUpdated(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
4624
4785
  "PriceImpactWindowsDurationUpdated(uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsDurationUpdatedEventFilter;
4625
4786
  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;
4787
+ "ProtectionCloseFactorBlocksUpdated(uint256,uint32)"(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactorBlocks?: null): ProtectionCloseFactorBlocksUpdatedEventFilter;
4788
+ ProtectionCloseFactorBlocksUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactorBlocks?: null): ProtectionCloseFactorBlocksUpdatedEventFilter;
4789
+ "ProtectionCloseFactorUpdated(uint256,uint40)"(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
4629
4790
  ProtectionCloseFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
4630
4791
  "CollateralAdded(address,uint8,address)"(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
4631
4792
  CollateralAdded(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
@@ -4645,8 +4806,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4645
4806
  TradeClosed(tradeId?: null): TradeClosedEventFilter;
4646
4807
  "TradeCollateralUpdated(tuple,uint120)"(tradeId?: null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
4647
4808
  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;
4809
+ "TradeMaxClosingSlippagePUpdated(tuple,uint16)"(tradeId?: null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
4810
+ TradeMaxClosingSlippagePUpdated(tradeId?: null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
4811
+ "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64,bool)"(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, refreshLiquidationParams?: null): TradePositionUpdatedEventFilter;
4812
+ TradePositionUpdated(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, refreshLiquidationParams?: null): TradePositionUpdatedEventFilter;
4650
4813
  "TradeSlUpdated(tuple,uint64)"(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4651
4814
  TradeSlUpdated(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4652
4815
  "TradeStored(tuple,tuple,tuple)"(trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
@@ -4735,10 +4898,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4735
4898
  BorrowingPairParamsUpdated(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, feeExponent?: null, maxOi?: null): BorrowingPairParamsUpdatedEventFilter;
4736
4899
  "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
4900
  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
4901
  "CollateralGnsLiquidityPoolUpdated(uint8,tuple)"(collateralIndex?: null, newValue?: null): CollateralGnsLiquidityPoolUpdatedEventFilter;
4743
4902
  CollateralGnsLiquidityPoolUpdated(collateralIndex?: null, newValue?: null): CollateralGnsLiquidityPoolUpdatedEventFilter;
4744
4903
  "CollateralUsdPriceFeedUpdated(uint8,address)"(collateralIndex?: null, value?: null): CollateralUsdPriceFeedUpdatedEventFilter;
@@ -4761,8 +4920,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4761
4920
  OracleReplaced(index?: null, oldOracle?: null, newOracle?: null): OracleReplacedEventFilter;
4762
4921
  "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)"(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null): PriceReceivedEventFilter;
4763
4922
  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;
4923
+ "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;
4924
+ 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
4925
  "TradingCallbackExecuted(tuple,uint8)"(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
4767
4926
  TradingCallbackExecuted(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
4768
4927
  "TwapIntervalUpdated(uint32)"(newValue?: null): TwapIntervalUpdatedEventFilter;
@@ -4908,7 +5067,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4908
5067
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4909
5068
  from?: PromiseOrValue<string>;
4910
5069
  }): Promise<BigNumber>;
4911
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5070
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
4912
5071
  from?: PromiseOrValue<string>;
4913
5072
  }): Promise<BigNumber>;
4914
5073
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -4916,19 +5075,16 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4916
5075
  getOiWindowsSettings(overrides?: CallOverrides): Promise<BigNumber>;
4917
5076
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4918
5077
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
5078
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
4919
5079
  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 & {
5080
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5081
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4926
5082
  from?: PromiseOrValue<string>;
4927
5083
  }): Promise<BigNumber>;
4928
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5084
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4929
5085
  from?: PromiseOrValue<string>;
4930
5086
  }): Promise<BigNumber>;
4931
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5087
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4932
5088
  from?: PromiseOrValue<string>;
4933
5089
  }): Promise<BigNumber>;
4934
5090
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -4940,7 +5096,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4940
5096
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4941
5097
  from?: PromiseOrValue<string>;
4942
5098
  }): Promise<BigNumber>;
4943
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5099
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4944
5100
  from?: PromiseOrValue<string>;
4945
5101
  }): Promise<BigNumber>;
4946
5102
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -4964,6 +5120,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4964
5120
  getCollaterals(overrides?: CallOverrides): Promise<BigNumber>;
4965
5121
  getCollateralsCount(overrides?: CallOverrides): Promise<BigNumber>;
4966
5122
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5123
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<BigNumber>;
4967
5124
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4968
5125
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<BigNumber>;
4969
5126
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5000,7 +5157,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5000
5157
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5001
5158
  from?: PromiseOrValue<string>;
5002
5159
  }): Promise<BigNumber>;
5003
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5160
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5161
+ from?: PromiseOrValue<string>;
5162
+ }): Promise<BigNumber>;
5163
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _refreshLiquidationParams: PromiseOrValue<boolean>, overrides?: Overrides & {
5004
5164
  from?: PromiseOrValue<string>;
5005
5165
  }): Promise<BigNumber>;
5006
5166
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -5033,10 +5193,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5033
5193
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5034
5194
  from?: PromiseOrValue<string>;
5035
5195
  }): Promise<BigNumber>;
5036
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5196
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5037
5197
  from?: PromiseOrValue<string>;
5038
5198
  }): Promise<BigNumber>;
5039
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5199
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5040
5200
  from?: PromiseOrValue<string>;
5041
5201
  }): Promise<BigNumber>;
5042
5202
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -5077,6 +5237,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5077
5237
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5078
5238
  from?: PromiseOrValue<string>;
5079
5239
  }): Promise<BigNumber>;
5240
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5241
+ from?: PromiseOrValue<string>;
5242
+ }): Promise<BigNumber>;
5080
5243
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5081
5244
  from?: PromiseOrValue<string>;
5082
5245
  }): Promise<BigNumber>;
@@ -5118,6 +5281,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5118
5281
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5119
5282
  from?: PromiseOrValue<string>;
5120
5283
  }): Promise<BigNumber>;
5284
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5285
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5121
5286
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5122
5287
  getBorrowingGroup(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5123
5288
  getBorrowingGroupOi(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5179,7 +5344,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5179
5344
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5180
5345
  getOracles(overrides?: CallOverrides): Promise<BigNumber>;
5181
5346
  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 & {
5347
+ 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
5348
  from?: PromiseOrValue<string>;
5184
5349
  }): Promise<BigNumber>;
5185
5350
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5367,7 +5532,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5367
5532
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5368
5533
  from?: PromiseOrValue<string>;
5369
5534
  }): Promise<PopulatedTransaction>;
5370
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5535
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
5371
5536
  from?: PromiseOrValue<string>;
5372
5537
  }): Promise<PopulatedTransaction>;
5373
5538
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5375,19 +5540,16 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5375
5540
  getOiWindowsSettings(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5376
5541
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5377
5542
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5543
+ getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5378
5544
  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 & {
5545
+ getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _createdBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5546
+ initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5385
5547
  from?: PromiseOrValue<string>;
5386
5548
  }): Promise<PopulatedTransaction>;
5387
- initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5549
+ initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5388
5550
  from?: PromiseOrValue<string>;
5389
5551
  }): Promise<PopulatedTransaction>;
5390
- removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5552
+ setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5391
5553
  from?: PromiseOrValue<string>;
5392
5554
  }): Promise<PopulatedTransaction>;
5393
5555
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -5399,7 +5561,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5399
5561
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5400
5562
  from?: PromiseOrValue<string>;
5401
5563
  }): Promise<PopulatedTransaction>;
5402
- setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5564
+ setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5403
5565
  from?: PromiseOrValue<string>;
5404
5566
  }): Promise<PopulatedTransaction>;
5405
5567
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -5423,6 +5585,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5423
5585
  getCollaterals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5424
5586
  getCollateralsCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5425
5587
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5588
+ getCurrentContractsVersion(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5426
5589
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5427
5590
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5428
5591
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5459,7 +5622,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5459
5622
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5460
5623
  from?: PromiseOrValue<string>;
5461
5624
  }): Promise<PopulatedTransaction>;
5462
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5625
+ updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5626
+ from?: PromiseOrValue<string>;
5627
+ }): Promise<PopulatedTransaction>;
5628
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _refreshLiquidationParams: PromiseOrValue<boolean>, overrides?: Overrides & {
5463
5629
  from?: PromiseOrValue<string>;
5464
5630
  }): Promise<PopulatedTransaction>;
5465
5631
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -5492,10 +5658,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5492
5658
  cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5493
5659
  from?: PromiseOrValue<string>;
5494
5660
  }): Promise<PopulatedTransaction>;
5495
- closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5661
+ closeTradeMarket(_index: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5496
5662
  from?: PromiseOrValue<string>;
5497
5663
  }): Promise<PopulatedTransaction>;
5498
- decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5664
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5499
5665
  from?: PromiseOrValue<string>;
5500
5666
  }): Promise<PopulatedTransaction>;
5501
5667
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -5536,6 +5702,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5536
5702
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5537
5703
  from?: PromiseOrValue<string>;
5538
5704
  }): Promise<PopulatedTransaction>;
5705
+ updateMaxClosingSlippageP(_index: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5706
+ from?: PromiseOrValue<string>;
5707
+ }): Promise<PopulatedTransaction>;
5539
5708
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5540
5709
  from?: PromiseOrValue<string>;
5541
5710
  }): Promise<PopulatedTransaction>;
@@ -5577,6 +5746,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5577
5746
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5578
5747
  from?: PromiseOrValue<string>;
5579
5748
  }): Promise<PopulatedTransaction>;
5749
+ validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5750
+ validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5580
5751
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5581
5752
  getBorrowingGroup(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5582
5753
  getBorrowingGroupOi(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5638,7 +5809,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5638
5809
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5639
5810
  getOracles(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5640
5811
  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 & {
5812
+ 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
5813
  from?: PromiseOrValue<string>;
5643
5814
  }): Promise<PopulatedTransaction>;
5644
5815
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;