@gainsnetwork/sdk 0.2.8-rc2 → 0.2.9-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/lib/constants.d.ts +1 -0
  2. package/lib/constants.js +3 -2
  3. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -0
  4. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -0
  5. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +1067 -0
  6. package/lib/contracts/types/generated/GNSBorrowingFees.js +2 -0
  7. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +892 -412
  8. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -0
  9. package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -0
  10. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +613 -0
  11. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +2 -0
  12. package/lib/contracts/types/generated/GNSTrading.d.ts +758 -0
  13. package/lib/contracts/types/generated/GNSTrading.js +2 -0
  14. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +875 -0
  15. package/lib/contracts/types/generated/GNSTradingCallbacks.js +2 -0
  16. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +1387 -0
  17. package/lib/contracts/types/generated/GNSTradingStorage.js +2 -0
  18. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  19. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -0
  20. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +124 -0
  21. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +1784 -0
  22. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.d.ts +0 -94
  23. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +2190 -912
  24. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +100 -0
  25. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +1116 -0
  26. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -0
  27. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -0
  28. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +113 -0
  29. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +1428 -0
  30. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +96 -0
  31. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +2241 -0
  32. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +95 -0
  33. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +1071 -0
  34. package/lib/contracts/utils/openTrades.js +11 -2
  35. package/lib/contracts/utils/pairs.d.ts +1 -0
  36. package/lib/contracts/utils/pairs.js +18 -1
  37. package/lib/trade/spread.d.ts +8 -1
  38. package/lib/trade/spread.js +23 -6
  39. package/lib/trade/types.d.ts +10 -1
  40. package/package.json +1 -1
@@ -35,6 +35,26 @@ export declare namespace IGNSDiamondLoupe {
35
35
  };
36
36
  }
37
37
  export declare namespace IPairsStorage {
38
+ type GroupLiquidationParamsStruct = {
39
+ maxLiqSpreadP: PromiseOrValue<BigNumberish>;
40
+ startLiqThresholdP: PromiseOrValue<BigNumberish>;
41
+ endLiqThresholdP: PromiseOrValue<BigNumberish>;
42
+ startLeverage: PromiseOrValue<BigNumberish>;
43
+ endLeverage: PromiseOrValue<BigNumberish>;
44
+ };
45
+ type GroupLiquidationParamsStructOutput = [
46
+ number,
47
+ BigNumber,
48
+ BigNumber,
49
+ number,
50
+ number
51
+ ] & {
52
+ maxLiqSpreadP: number;
53
+ startLiqThresholdP: BigNumber;
54
+ endLiqThresholdP: BigNumber;
55
+ startLeverage: number;
56
+ endLeverage: number;
57
+ };
38
58
  type FeeStruct = {
39
59
  name: PromiseOrValue<string>;
40
60
  openFeeP: PromiseOrValue<BigNumberish>;
@@ -193,6 +213,8 @@ export declare namespace IPriceImpact {
193
213
  oiShortUsd: BigNumber;
194
214
  };
195
215
  type OiWindowUpdateStruct = {
216
+ trader: PromiseOrValue<string>;
217
+ index: PromiseOrValue<BigNumberish>;
196
218
  windowsDuration: PromiseOrValue<BigNumberish>;
197
219
  pairIndex: PromiseOrValue<BigNumberish>;
198
220
  windowId: PromiseOrValue<BigNumberish>;
@@ -200,12 +222,16 @@ export declare namespace IPriceImpact {
200
222
  openInterestUsd: PromiseOrValue<BigNumberish>;
201
223
  };
202
224
  type OiWindowUpdateStructOutput = [
225
+ string,
226
+ number,
203
227
  number,
204
228
  BigNumber,
205
229
  BigNumber,
206
230
  boolean,
207
231
  BigNumber
208
232
  ] & {
233
+ trader: string;
234
+ index: number;
209
235
  windowsDuration: number;
210
236
  pairIndex: BigNumber;
211
237
  windowId: BigNumber;
@@ -230,6 +256,14 @@ export declare namespace IPriceImpact {
230
256
  onePercentDepthAboveUsd: BigNumber;
231
257
  onePercentDepthBelowUsd: BigNumber;
232
258
  };
259
+ type TradePriceImpactInfoStruct = {
260
+ lastWindowOiUsd: PromiseOrValue<BigNumberish>;
261
+ __placeholder: PromiseOrValue<BigNumberish>;
262
+ };
263
+ type TradePriceImpactInfoStructOutput = [BigNumber, BigNumber] & {
264
+ lastWindowOiUsd: BigNumber;
265
+ __placeholder: BigNumber;
266
+ };
233
267
  }
234
268
  export declare namespace ITradingStorage {
235
269
  type IdStruct = {
@@ -367,6 +401,109 @@ export declare namespace ITradingStorage {
367
401
  __placeholder: BigNumber;
368
402
  };
369
403
  }
404
+ export declare namespace IUpdateLeverage {
405
+ type UpdateLeverageValuesStruct = {
406
+ newLeverage: PromiseOrValue<BigNumberish>;
407
+ newCollateralAmount: PromiseOrValue<BigNumberish>;
408
+ liqPrice: PromiseOrValue<BigNumberish>;
409
+ govFeeCollateral: PromiseOrValue<BigNumberish>;
410
+ };
411
+ type UpdateLeverageValuesStructOutput = [
412
+ BigNumber,
413
+ BigNumber,
414
+ BigNumber,
415
+ BigNumber
416
+ ] & {
417
+ newLeverage: BigNumber;
418
+ newCollateralAmount: BigNumber;
419
+ liqPrice: BigNumber;
420
+ govFeeCollateral: BigNumber;
421
+ };
422
+ }
423
+ export declare namespace IUpdatePositionSize {
424
+ type DecreasePositionSizeValuesStruct = {
425
+ positionSizeCollateralDelta: PromiseOrValue<BigNumberish>;
426
+ existingPositionSizeCollateral: PromiseOrValue<BigNumberish>;
427
+ existingLiqPrice: PromiseOrValue<BigNumberish>;
428
+ priceAfterImpact: PromiseOrValue<BigNumberish>;
429
+ existingPnlCollateral: PromiseOrValue<BigNumberish>;
430
+ borrowingFeeCollateral: PromiseOrValue<BigNumberish>;
431
+ vaultFeeCollateral: PromiseOrValue<BigNumberish>;
432
+ gnsStakingFeeCollateral: PromiseOrValue<BigNumberish>;
433
+ availableCollateralInDiamond: PromiseOrValue<BigNumberish>;
434
+ collateralSentToTrader: PromiseOrValue<BigNumberish>;
435
+ newCollateralAmount: PromiseOrValue<BigNumberish>;
436
+ newLeverage: PromiseOrValue<BigNumberish>;
437
+ };
438
+ type DecreasePositionSizeValuesStructOutput = [
439
+ BigNumber,
440
+ BigNumber,
441
+ BigNumber,
442
+ BigNumber,
443
+ BigNumber,
444
+ BigNumber,
445
+ BigNumber,
446
+ BigNumber,
447
+ BigNumber,
448
+ BigNumber,
449
+ BigNumber,
450
+ number
451
+ ] & {
452
+ positionSizeCollateralDelta: BigNumber;
453
+ existingPositionSizeCollateral: BigNumber;
454
+ existingLiqPrice: BigNumber;
455
+ priceAfterImpact: BigNumber;
456
+ existingPnlCollateral: BigNumber;
457
+ borrowingFeeCollateral: BigNumber;
458
+ vaultFeeCollateral: BigNumber;
459
+ gnsStakingFeeCollateral: BigNumber;
460
+ availableCollateralInDiamond: BigNumber;
461
+ collateralSentToTrader: BigNumber;
462
+ newCollateralAmount: BigNumber;
463
+ newLeverage: number;
464
+ };
465
+ type IncreasePositionSizeValuesStruct = {
466
+ positionSizeCollateralDelta: PromiseOrValue<BigNumberish>;
467
+ existingPositionSizeCollateral: PromiseOrValue<BigNumberish>;
468
+ newPositionSizeCollateral: PromiseOrValue<BigNumberish>;
469
+ newCollateralAmount: PromiseOrValue<BigNumberish>;
470
+ newLeverage: PromiseOrValue<BigNumberish>;
471
+ priceAfterImpact: PromiseOrValue<BigNumberish>;
472
+ existingPnlCollateral: PromiseOrValue<BigNumberish>;
473
+ newOpenPrice: PromiseOrValue<BigNumberish>;
474
+ borrowingFeeCollateral: PromiseOrValue<BigNumberish>;
475
+ openingFeesCollateral: PromiseOrValue<BigNumberish>;
476
+ existingLiqPrice: PromiseOrValue<BigNumberish>;
477
+ newLiqPrice: PromiseOrValue<BigNumberish>;
478
+ };
479
+ type IncreasePositionSizeValuesStructOutput = [
480
+ BigNumber,
481
+ BigNumber,
482
+ BigNumber,
483
+ BigNumber,
484
+ BigNumber,
485
+ BigNumber,
486
+ BigNumber,
487
+ BigNumber,
488
+ BigNumber,
489
+ BigNumber,
490
+ BigNumber,
491
+ BigNumber
492
+ ] & {
493
+ positionSizeCollateralDelta: BigNumber;
494
+ existingPositionSizeCollateral: BigNumber;
495
+ newPositionSizeCollateral: BigNumber;
496
+ newCollateralAmount: BigNumber;
497
+ newLeverage: BigNumber;
498
+ priceAfterImpact: BigNumber;
499
+ existingPnlCollateral: BigNumber;
500
+ newOpenPrice: BigNumber;
501
+ borrowingFeeCollateral: BigNumber;
502
+ openingFeesCollateral: BigNumber;
503
+ existingLiqPrice: BigNumber;
504
+ newLiqPrice: BigNumber;
505
+ };
506
+ }
370
507
  export declare namespace ITradingCallbacks {
371
508
  type AggregatorAnswerStruct = {
372
509
  orderId: ITradingStorage.IdStruct;
@@ -514,6 +651,7 @@ export declare namespace IBorrowingFees {
514
651
  long: PromiseOrValue<boolean>;
515
652
  collateral: PromiseOrValue<BigNumberish>;
516
653
  leverage: PromiseOrValue<BigNumberish>;
654
+ useBorrowingFees: PromiseOrValue<boolean>;
517
655
  };
518
656
  type LiqPriceInputStructOutput = [
519
657
  number,
@@ -523,7 +661,8 @@ export declare namespace IBorrowingFees {
523
661
  BigNumber,
524
662
  boolean,
525
663
  BigNumber,
526
- number
664
+ BigNumber,
665
+ boolean
527
666
  ] & {
528
667
  collateralIndex: number;
529
668
  trader: string;
@@ -532,7 +671,8 @@ export declare namespace IBorrowingFees {
532
671
  openPrice: BigNumber;
533
672
  long: boolean;
534
673
  collateral: BigNumber;
535
- leverage: number;
674
+ leverage: BigNumber;
675
+ useBorrowingFees: boolean;
536
676
  };
537
677
  type BorrowingGroupParamsStruct = {
538
678
  feePerBlock: PromiseOrValue<BigNumberish>;
@@ -563,14 +703,21 @@ export declare namespace IBorrowingFees {
563
703
  };
564
704
  }
565
705
  export declare namespace IPriceAggregator {
566
- type UniV3PoolInfoStruct = {
706
+ type LiquidityPoolInfoStruct = {
567
707
  pool: PromiseOrValue<string>;
568
708
  isGnsToken0InLp: PromiseOrValue<boolean>;
709
+ poolType: PromiseOrValue<BigNumberish>;
569
710
  __placeholder: PromiseOrValue<BigNumberish>;
570
711
  };
571
- type UniV3PoolInfoStructOutput = [string, boolean, BigNumber] & {
712
+ type LiquidityPoolInfoStructOutput = [
713
+ string,
714
+ boolean,
715
+ number,
716
+ BigNumber
717
+ ] & {
572
718
  pool: string;
573
719
  isGnsToken0InLp: boolean;
720
+ poolType: number;
574
721
  __placeholder: BigNumber;
575
722
  };
576
723
  type OrderStruct = {
@@ -613,6 +760,14 @@ export declare namespace IPriceAggregator {
613
760
  low: BigNumber;
614
761
  ts: BigNumber;
615
762
  };
763
+ type LiquidityPoolInputStruct = {
764
+ pool: PromiseOrValue<string>;
765
+ poolType: PromiseOrValue<BigNumberish>;
766
+ };
767
+ type LiquidityPoolInputStructOutput = [string, number] & {
768
+ pool: string;
769
+ poolType: number;
770
+ };
616
771
  }
617
772
  export declare namespace BufferChainlink {
618
773
  type BufferStruct = {
@@ -646,6 +801,28 @@ export declare namespace Chainlink {
646
801
  buf: BufferChainlink.BufferStructOutput;
647
802
  };
648
803
  }
804
+ export declare namespace IOtc {
805
+ type OtcConfigStruct = {
806
+ gnsTreasury: PromiseOrValue<string>;
807
+ treasuryShareP: PromiseOrValue<BigNumberish>;
808
+ stakingShareP: PromiseOrValue<BigNumberish>;
809
+ burnShareP: PromiseOrValue<BigNumberish>;
810
+ premiumP: PromiseOrValue<BigNumberish>;
811
+ };
812
+ type OtcConfigStructOutput = [
813
+ string,
814
+ BigNumber,
815
+ BigNumber,
816
+ BigNumber,
817
+ BigNumber
818
+ ] & {
819
+ gnsTreasury: string;
820
+ treasuryShareP: BigNumber;
821
+ stakingShareP: BigNumber;
822
+ burnShareP: BigNumber;
823
+ premiumP: BigNumber;
824
+ };
825
+ }
649
826
  export interface GNSMultiCollatDiamondInterface extends utils.Interface {
650
827
  functions: {
651
828
  "diamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment;
@@ -663,14 +840,18 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
663
840
  "fees(uint256)": FunctionFragment;
664
841
  "feesCount()": FunctionFragment;
665
842
  "getAllPairsRestrictedMaxLeverage()": FunctionFragment;
843
+ "getGroupLiquidationParams(uint256)": FunctionFragment;
844
+ "getPairLiquidationParams(uint256)": FunctionFragment;
666
845
  "groups(uint256)": FunctionFragment;
667
846
  "groupsCount()": FunctionFragment;
847
+ "initializeGroupLiquidationParams((uint40,uint64,uint64,uint24,uint24)[])": FunctionFragment;
668
848
  "isPairIndexListed(uint256)": FunctionFragment;
669
849
  "isPairListed(string,string)": FunctionFragment;
670
850
  "pairCloseFeeP(uint256)": FunctionFragment;
671
851
  "pairCustomMaxLeverage(uint256)": FunctionFragment;
672
852
  "pairJob(uint256)": FunctionFragment;
673
853
  "pairMaxLeverage(uint256)": FunctionFragment;
854
+ "pairMinFeeUsd(uint256)": FunctionFragment;
674
855
  "pairMinLeverage(uint256)": FunctionFragment;
675
856
  "pairMinPositionSizeUsd(uint256)": FunctionFragment;
676
857
  "pairOpenFeeP(uint256)": FunctionFragment;
@@ -680,6 +861,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
680
861
  "pairs(uint256)": FunctionFragment;
681
862
  "pairsBackend(uint256)": FunctionFragment;
682
863
  "pairsCount()": FunctionFragment;
864
+ "setGroupLiquidationParams(uint256,(uint40,uint64,uint64,uint24,uint24))": FunctionFragment;
683
865
  "setPairCustomMaxLeverages(uint256[],uint256[])": FunctionFragment;
684
866
  "updateFees(uint256[],(string,uint256,uint256,uint256,uint256,uint256)[])": FunctionFragment;
685
867
  "updateGroups(uint256[],(string,bytes32,uint256,uint256)[])": FunctionFragment;
@@ -718,42 +900,50 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
718
900
  "setFeeTiers(uint256[],(uint32,uint32)[])": FunctionFragment;
719
901
  "setGroupVolumeMultipliers(uint256[],uint256[])": FunctionFragment;
720
902
  "updateTraderPoints(address,uint256,uint256)": FunctionFragment;
721
- "addPriceImpactOpenInterest(uint256,uint256,bool)": FunctionFragment;
903
+ "addPriceImpactOpenInterest(address,uint32,uint256)": FunctionFragment;
722
904
  "getOiWindow(uint48,uint256,uint256)": FunctionFragment;
723
905
  "getOiWindows(uint48,uint256,uint256[])": FunctionFragment;
724
906
  "getOiWindowsSettings()": FunctionFragment;
725
907
  "getPairDepth(uint256)": FunctionFragment;
726
908
  "getPairDepths(uint256[])": FunctionFragment;
727
909
  "getPriceImpactOi(uint256,bool)": FunctionFragment;
728
- "getTradePriceImpact(uint256,uint256,bool,uint256)": 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;
729
915
  "initializePriceImpact(uint48,uint48)": FunctionFragment;
730
- "removePriceImpactOpenInterest(uint256,uint256,bool,uint48)": FunctionFragment;
916
+ "initializeProtectionCloseFactorBlocks(uint24)": FunctionFragment;
917
+ "removePriceImpactOpenInterest(address,uint32,uint256)": FunctionFragment;
731
918
  "setPairDepths(uint256[],uint128[],uint128[])": FunctionFragment;
732
919
  "setPriceImpactWindowsCount(uint48)": FunctionFragment;
733
920
  "setPriceImpactWindowsDuration(uint48)": FunctionFragment;
921
+ "setProtectionCloseFactorBlocks(uint24)": FunctionFragment;
922
+ "setProtectionCloseFactors(uint16[],uint256[])": FunctionFragment;
734
923
  "addCollateral(address,address)": FunctionFragment;
735
924
  "closePendingOrder((address,uint32))": FunctionFragment;
736
925
  "closeTrade((address,uint32))": FunctionFragment;
737
926
  "getAllPendingOrders(uint256,uint256)": FunctionFragment;
738
927
  "getAllTradeInfos(uint256,uint256)": FunctionFragment;
739
928
  "getAllTrades(uint256,uint256)": FunctionFragment;
929
+ "getAllTradesLiquidationParams(uint256,uint256)": FunctionFragment;
740
930
  "getCollateral(uint8)": FunctionFragment;
741
931
  "getCollateralIndex(address)": FunctionFragment;
742
932
  "getCollaterals()": FunctionFragment;
743
933
  "getCollateralsCount()": FunctionFragment;
744
934
  "getCounters(address,uint8)": FunctionFragment;
745
935
  "getGToken(uint8)": FunctionFragment;
746
- "getPendingOpenOrderType(uint8)": FunctionFragment;
747
936
  "getPendingOrder((address,uint32))": FunctionFragment;
748
937
  "getPendingOrders(address)": FunctionFragment;
749
- "getPnlPercent(uint64,uint64,bool,uint24)": FunctionFragment;
750
938
  "getTrade(address,uint32)": FunctionFragment;
751
939
  "getTradeInfo(address,uint32)": FunctionFragment;
752
940
  "getTradeInfos(address)": FunctionFragment;
941
+ "getTradeLiquidationParams(address,uint32)": FunctionFragment;
753
942
  "getTradePendingOrderBlock((address,uint32),uint8)": FunctionFragment;
754
943
  "getTraderStored(address)": FunctionFragment;
755
944
  "getTraders(uint32,uint32)": FunctionFragment;
756
945
  "getTrades(address)": FunctionFragment;
946
+ "getTradesLiquidationParams(address)": FunctionFragment;
757
947
  "getTradingActivated()": FunctionFragment;
758
948
  "initializeTradingStorage(address,address,address[],address[])": FunctionFragment;
759
949
  "isCollateralActive(uint8)": FunctionFragment;
@@ -764,6 +954,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
764
954
  "updateGToken(address,address)": FunctionFragment;
765
955
  "updateOpenOrderDetails((address,uint32),uint64,uint64,uint64,uint16)": FunctionFragment;
766
956
  "updateTradeCollateralAmount((address,uint32),uint120)": FunctionFragment;
957
+ "updateTradePosition((address,uint32),uint120,uint24,uint64)": FunctionFragment;
767
958
  "updateTradeSl((address,uint32),uint64)": FunctionFragment;
768
959
  "updateTradeTp((address,uint32),uint64)": FunctionFragment;
769
960
  "updateTradingActivated(uint8)": FunctionFragment;
@@ -775,34 +966,39 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
775
966
  "initializeTriggerRewards(uint16)": FunctionFragment;
776
967
  "updateTriggerTimeoutBlocks(uint16)": FunctionFragment;
777
968
  "cancelOpenOrder(uint32)": FunctionFragment;
969
+ "cancelOrderAfterTimeout(uint32)": FunctionFragment;
778
970
  "closeTradeMarket(uint32)": FunctionFragment;
779
- "closeTradeMarketTimeout((address,uint32))": FunctionFragment;
971
+ "decreasePositionSize(uint32,uint120,uint24)": FunctionFragment;
780
972
  "delegatedTradingAction(address,bytes)": FunctionFragment;
781
973
  "getByPassTriggerLink(address)": FunctionFragment;
782
974
  "getMarketOrdersTimeoutBlocks()": FunctionFragment;
783
975
  "getTradingDelegate(address)": FunctionFragment;
784
976
  "getWrappedNativeToken()": FunctionFragment;
977
+ "increasePositionSize(uint32,uint120,uint24,uint64,uint16)": FunctionFragment;
785
978
  "initializeTrading(uint16,address[])": FunctionFragment;
786
979
  "isWrappedNativeToken(address)": FunctionFragment;
787
980
  "openTrade((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),uint16,address)": FunctionFragment;
788
- "openTradeMarketTimeout((address,uint32))": FunctionFragment;
789
981
  "openTradeNative((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),uint16,address)": FunctionFragment;
790
982
  "removeTradingDelegate()": FunctionFragment;
791
983
  "setTradingDelegate(address)": FunctionFragment;
792
984
  "triggerOrder(uint256)": FunctionFragment;
793
985
  "updateByPassTriggerLink(address[],bool[])": FunctionFragment;
986
+ "updateLeverage(uint32,uint24)": FunctionFragment;
794
987
  "updateMarketOrdersTimeoutBlocks(uint16)": FunctionFragment;
795
988
  "updateOpenOrder(uint32,uint64,uint64,uint64,uint16)": FunctionFragment;
796
989
  "updateSl(uint32,uint64)": FunctionFragment;
797
990
  "updateTp(uint32,uint64)": FunctionFragment;
798
991
  "claimPendingGovFees()": FunctionFragment;
799
992
  "closeTradeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
993
+ "decreasePositionSizeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
800
994
  "executeTriggerCloseOrderCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
801
995
  "executeTriggerOpenOrderCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
802
996
  "getPendingGovFeesCollateral(uint8)": FunctionFragment;
803
997
  "getVaultClosingFeeP()": FunctionFragment;
998
+ "increasePositionSizeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
804
999
  "initializeCallbacks(uint8)": FunctionFragment;
805
1000
  "openTradeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1001
+ "updateLeverageCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
806
1002
  "updateVaultClosingFeeP(uint8)": FunctionFragment;
807
1003
  "getAllBorrowingPairs(uint8)": FunctionFragment;
808
1004
  "getBorrowingGroup(uint8,uint16)": FunctionFragment;
@@ -820,8 +1016,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
820
1016
  "getPairOiCollateral(uint8,uint16,bool)": FunctionFragment;
821
1017
  "getPairOisCollateral(uint8,uint16)": FunctionFragment;
822
1018
  "getTradeBorrowingFee((uint8,address,uint16,uint32,bool,uint256,uint256))": FunctionFragment;
823
- "getTradeLiquidationPrice((uint8,address,uint16,uint32,uint64,bool,uint256,uint24))": FunctionFragment;
1019
+ "getTradeLiquidationPrice((uint8,address,uint16,uint32,uint64,bool,uint256,uint256,bool))": FunctionFragment;
824
1020
  "handleTradeBorrowingCallback(uint8,address,uint16,uint32,uint256,bool,bool)": FunctionFragment;
1021
+ "resetTradeBorrowingFees(uint8,address,uint16,uint32,bool)": FunctionFragment;
825
1022
  "setBorrowingGroupParams(uint8,uint16,(uint32,uint72,uint48))": FunctionFragment;
826
1023
  "setBorrowingGroupParamsArray(uint8,uint16[],(uint32,uint72,uint48)[])": FunctionFragment;
827
1024
  "setBorrowingPairParams(uint8,uint16,(uint16,uint32,uint48,uint72))": FunctionFragment;
@@ -832,49 +1029,45 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
832
1029
  "fulfill(bytes32,uint256)": FunctionFragment;
833
1030
  "getChainlinkToken()": FunctionFragment;
834
1031
  "getCollateralFromUsdNormalizedValue(uint8,uint256)": FunctionFragment;
835
- "getCollateralGnsUniV3Pool(uint8)": FunctionFragment;
1032
+ "getCollateralGnsLiquidityPool(uint8)": FunctionFragment;
836
1033
  "getCollateralPriceUsd(uint8)": FunctionFragment;
837
1034
  "getCollateralUsdPriceFeed(uint8)": FunctionFragment;
838
1035
  "getGnsPriceCollateralAddress(address)": FunctionFragment;
839
1036
  "getGnsPriceCollateralIndex(uint8)": FunctionFragment;
840
1037
  "getGnsPriceUsd(uint8)": FunctionFragment;
841
1038
  "getLimitJobId()": FunctionFragment;
842
- "getLinkFee(uint8,uint16,uint256)": FunctionFragment;
1039
+ "getLinkFee(uint8,address,uint16,uint256)": FunctionFragment;
843
1040
  "getLinkUsdPriceFeed()": FunctionFragment;
844
1041
  "getMarketJobId()": FunctionFragment;
845
1042
  "getMinAnswers()": FunctionFragment;
846
1043
  "getOracle(uint256)": FunctionFragment;
847
1044
  "getOracles()": FunctionFragment;
848
1045
  "getPendingRequest(bytes32)": FunctionFragment;
849
- "getPrice(uint8,uint16,(address,uint32),uint8,uint256,uint256)": FunctionFragment;
1046
+ "getPrice(uint8,address,uint16,(address,uint32),uint8,uint256,uint256)": FunctionFragment;
850
1047
  "getPriceAggregatorOrder(bytes32)": FunctionFragment;
851
1048
  "getPriceAggregatorOrderAnswers((address,uint32))": FunctionFragment;
852
1049
  "getRequestCount()": FunctionFragment;
853
1050
  "getTwapInterval()": FunctionFragment;
854
1051
  "getUsdNormalizedValue(uint8,uint256)": FunctionFragment;
855
- "initializePriceAggregator(address,address,uint24,uint8,address[],bytes32[2],uint8[],address[],address[])": FunctionFragment;
1052
+ "initializePriceAggregator(address,address,uint24,uint8,address[],bytes32[2],uint8[],(address,uint8)[],address[])": FunctionFragment;
856
1053
  "removeOracle(uint256)": FunctionFragment;
857
1054
  "replaceOracle(uint256,address)": FunctionFragment;
858
1055
  "setLimitJobId(bytes32)": FunctionFragment;
859
1056
  "setMarketJobId(bytes32)": FunctionFragment;
860
- "updateCollateralGnsUniV3Pool(uint8,address)": FunctionFragment;
1057
+ "updateCollateralGnsLiquidityPool(uint8,(address,uint8))": FunctionFragment;
861
1058
  "updateCollateralUsdPriceFeed(uint8,address)": FunctionFragment;
862
1059
  "updateLinkUsdPriceFeed(address)": FunctionFragment;
863
1060
  "updateMinAnswers(uint8)": FunctionFragment;
864
1061
  "updateTwapInterval(uint24)": FunctionFragment;
865
- "copyAllState(uint8,address[])": FunctionFragment;
866
- "copyBorrowingFeesGroups(uint8)": FunctionFragment;
867
- "copyBorrowingFeesPairs(uint8)": FunctionFragment;
868
- "copyLimits(uint8,uint256)": FunctionFragment;
869
- "copyPairOis(uint8)": FunctionFragment;
870
- "copyTraderDelegations(uint8,address[])": FunctionFragment;
871
- "copyTrades(uint8,uint16)": FunctionFragment;
872
- "getCollateralStageState(uint8,uint8)": FunctionFragment;
873
- "getCollateralState(uint8)": FunctionFragment;
874
- "markAsDone(uint8)": FunctionFragment;
875
- "transferBalance(uint8)": FunctionFragment;
1062
+ "addOtcCollateralBalance(uint8,uint256)": FunctionFragment;
1063
+ "getOtcBalance(uint8)": FunctionFragment;
1064
+ "getOtcConfig()": FunctionFragment;
1065
+ "getOtcRate(uint8)": FunctionFragment;
1066
+ "initializeOtc((address,uint64,uint64,uint64,uint64))": FunctionFragment;
1067
+ "sellGnsForCollateral(uint8,uint256)": FunctionFragment;
1068
+ "updateOtcConfig((address,uint64,uint64,uint64,uint64))": FunctionFragment;
876
1069
  };
877
- getFunction(nameOrSignatureOrTopic: "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "getAddresses" | "hasRole" | "initialize" | "setRoles" | "addFees" | "addGroups" | "addPairs" | "fees" | "feesCount" | "getAllPairsRestrictedMaxLeverage" | "groups" | "groupsCount" | "isPairIndexListed" | "isPairListed" | "pairCloseFeeP" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOpenFeeP" | "pairOracleFeeP" | "pairSpreadP" | "pairTriggerOrderFeeP" | "pairs" | "pairsBackend" | "pairsCount" | "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" | "getTradePriceImpact" | "initializePriceImpact" | "removePriceImpactOpenInterest" | "setPairDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllTradeInfos" | "getAllTrades" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getGToken" | "getPendingOpenOrderType" | "getPendingOrder" | "getPendingOrders" | "getPnlPercent" | "getTrade" | "getTradeInfo" | "getTradeInfos" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTrades" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralListed" | "storePendingOrder" | "storeTrade" | "toggleCollateralActiveState" | "updateGToken" | "updateOpenOrderDetails" | "updateTradeCollateralAmount" | "updateTradeSl" | "updateTradeTp" | "updateTradingActivated" | "claimPendingTriggerRewards" | "distributeTriggerReward" | "getTriggerPendingRewardsGns" | "getTriggerTimeoutBlocks" | "hasActiveOrder" | "initializeTriggerRewards" | "updateTriggerTimeoutBlocks" | "cancelOpenOrder" | "closeTradeMarket" | "closeTradeMarketTimeout" | "delegatedTradingAction" | "getByPassTriggerLink" | "getMarketOrdersTimeoutBlocks" | "getTradingDelegate" | "getWrappedNativeToken" | "initializeTrading" | "isWrappedNativeToken" | "openTrade" | "openTradeMarketTimeout" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateMarketOrdersTimeoutBlocks" | "updateOpenOrder" | "updateSl" | "updateTp" | "claimPendingGovFees" | "closeTradeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "initializeCallbacks" | "openTradeMarketCallback" | "updateVaultClosingFeeP" | "getAllBorrowingPairs" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOi" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiCollateral" | "getPairOisCollateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsUniV3Pool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobId" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMinAnswers" | "getOracle" | "getOracles" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobId" | "setMarketJobId" | "updateCollateralGnsUniV3Pool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "copyAllState" | "copyBorrowingFeesGroups" | "copyBorrowingFeesPairs" | "copyLimits" | "copyPairOis" | "copyTraderDelegations" | "copyTrades" | "getCollateralStageState" | "getCollateralState" | "markAsDone" | "transferBalance"): FunctionFragment;
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;
878
1071
  encodeFunctionData(functionFragment: "diamondCut", values: [
879
1072
  IDiamondStorage.FacetCutStruct[],
880
1073
  PromiseOrValue<string>,
@@ -898,14 +1091,18 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
898
1091
  encodeFunctionData(functionFragment: "fees", values: [PromiseOrValue<BigNumberish>]): string;
899
1092
  encodeFunctionData(functionFragment: "feesCount", values?: undefined): string;
900
1093
  encodeFunctionData(functionFragment: "getAllPairsRestrictedMaxLeverage", values?: undefined): string;
1094
+ encodeFunctionData(functionFragment: "getGroupLiquidationParams", values: [PromiseOrValue<BigNumberish>]): string;
1095
+ encodeFunctionData(functionFragment: "getPairLiquidationParams", values: [PromiseOrValue<BigNumberish>]): string;
901
1096
  encodeFunctionData(functionFragment: "groups", values: [PromiseOrValue<BigNumberish>]): string;
902
1097
  encodeFunctionData(functionFragment: "groupsCount", values?: undefined): string;
1098
+ encodeFunctionData(functionFragment: "initializeGroupLiquidationParams", values: [IPairsStorage.GroupLiquidationParamsStruct[]]): string;
903
1099
  encodeFunctionData(functionFragment: "isPairIndexListed", values: [PromiseOrValue<BigNumberish>]): string;
904
1100
  encodeFunctionData(functionFragment: "isPairListed", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
905
1101
  encodeFunctionData(functionFragment: "pairCloseFeeP", values: [PromiseOrValue<BigNumberish>]): string;
906
1102
  encodeFunctionData(functionFragment: "pairCustomMaxLeverage", values: [PromiseOrValue<BigNumberish>]): string;
907
1103
  encodeFunctionData(functionFragment: "pairJob", values: [PromiseOrValue<BigNumberish>]): string;
908
1104
  encodeFunctionData(functionFragment: "pairMaxLeverage", values: [PromiseOrValue<BigNumberish>]): string;
1105
+ encodeFunctionData(functionFragment: "pairMinFeeUsd", values: [PromiseOrValue<BigNumberish>]): string;
909
1106
  encodeFunctionData(functionFragment: "pairMinLeverage", values: [PromiseOrValue<BigNumberish>]): string;
910
1107
  encodeFunctionData(functionFragment: "pairMinPositionSizeUsd", values: [PromiseOrValue<BigNumberish>]): string;
911
1108
  encodeFunctionData(functionFragment: "pairOpenFeeP", values: [PromiseOrValue<BigNumberish>]): string;
@@ -915,6 +1112,10 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
915
1112
  encodeFunctionData(functionFragment: "pairs", values: [PromiseOrValue<BigNumberish>]): string;
916
1113
  encodeFunctionData(functionFragment: "pairsBackend", values: [PromiseOrValue<BigNumberish>]): string;
917
1114
  encodeFunctionData(functionFragment: "pairsCount", values?: undefined): string;
1115
+ encodeFunctionData(functionFragment: "setGroupLiquidationParams", values: [
1116
+ PromiseOrValue<BigNumberish>,
1117
+ IPairsStorage.GroupLiquidationParamsStruct
1118
+ ]): string;
918
1119
  encodeFunctionData(functionFragment: "setPairCustomMaxLeverages", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
919
1120
  encodeFunctionData(functionFragment: "updateFees", values: [PromiseOrValue<BigNumberish>[], IPairsStorage.FeeStruct[]]): string;
920
1121
  encodeFunctionData(functionFragment: "updateGroups", values: [PromiseOrValue<BigNumberish>[], IPairsStorage.GroupStruct[]]): string;
@@ -973,9 +1174,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
973
1174
  PromiseOrValue<BigNumberish>
974
1175
  ]): string;
975
1176
  encodeFunctionData(functionFragment: "addPriceImpactOpenInterest", values: [
1177
+ PromiseOrValue<string>,
976
1178
  PromiseOrValue<BigNumberish>,
977
- PromiseOrValue<BigNumberish>,
978
- PromiseOrValue<boolean>
1179
+ PromiseOrValue<BigNumberish>
979
1180
  ]): string;
980
1181
  encodeFunctionData(functionFragment: "getOiWindow", values: [
981
1182
  PromiseOrValue<BigNumberish>,
@@ -991,17 +1192,24 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
991
1192
  encodeFunctionData(functionFragment: "getPairDepth", values: [PromiseOrValue<BigNumberish>]): string;
992
1193
  encodeFunctionData(functionFragment: "getPairDepths", values: [PromiseOrValue<BigNumberish>[]]): string;
993
1194
  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;
994
1198
  encodeFunctionData(functionFragment: "getTradePriceImpact", values: [
995
1199
  PromiseOrValue<BigNumberish>,
996
1200
  PromiseOrValue<BigNumberish>,
997
1201
  PromiseOrValue<boolean>,
1202
+ PromiseOrValue<BigNumberish>,
1203
+ PromiseOrValue<boolean>,
1204
+ PromiseOrValue<boolean>,
998
1205
  PromiseOrValue<BigNumberish>
999
1206
  ]): string;
1207
+ encodeFunctionData(functionFragment: "getTradePriceImpactInfo", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1000
1208
  encodeFunctionData(functionFragment: "initializePriceImpact", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1209
+ encodeFunctionData(functionFragment: "initializeProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1001
1210
  encodeFunctionData(functionFragment: "removePriceImpactOpenInterest", values: [
1211
+ PromiseOrValue<string>,
1002
1212
  PromiseOrValue<BigNumberish>,
1003
- PromiseOrValue<BigNumberish>,
1004
- PromiseOrValue<boolean>,
1005
1213
  PromiseOrValue<BigNumberish>
1006
1214
  ]): string;
1007
1215
  encodeFunctionData(functionFragment: "setPairDepths", values: [
@@ -1011,34 +1219,32 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1011
1219
  ]): string;
1012
1220
  encodeFunctionData(functionFragment: "setPriceImpactWindowsCount", values: [PromiseOrValue<BigNumberish>]): string;
1013
1221
  encodeFunctionData(functionFragment: "setPriceImpactWindowsDuration", values: [PromiseOrValue<BigNumberish>]): string;
1222
+ encodeFunctionData(functionFragment: "setProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1223
+ encodeFunctionData(functionFragment: "setProtectionCloseFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1014
1224
  encodeFunctionData(functionFragment: "addCollateral", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1015
1225
  encodeFunctionData(functionFragment: "closePendingOrder", values: [ITradingStorage.IdStruct]): string;
1016
1226
  encodeFunctionData(functionFragment: "closeTrade", values: [ITradingStorage.IdStruct]): string;
1017
1227
  encodeFunctionData(functionFragment: "getAllPendingOrders", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1018
1228
  encodeFunctionData(functionFragment: "getAllTradeInfos", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1019
1229
  encodeFunctionData(functionFragment: "getAllTrades", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1230
+ encodeFunctionData(functionFragment: "getAllTradesLiquidationParams", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1020
1231
  encodeFunctionData(functionFragment: "getCollateral", values: [PromiseOrValue<BigNumberish>]): string;
1021
1232
  encodeFunctionData(functionFragment: "getCollateralIndex", values: [PromiseOrValue<string>]): string;
1022
1233
  encodeFunctionData(functionFragment: "getCollaterals", values?: undefined): string;
1023
1234
  encodeFunctionData(functionFragment: "getCollateralsCount", values?: undefined): string;
1024
1235
  encodeFunctionData(functionFragment: "getCounters", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1025
1236
  encodeFunctionData(functionFragment: "getGToken", values: [PromiseOrValue<BigNumberish>]): string;
1026
- encodeFunctionData(functionFragment: "getPendingOpenOrderType", values: [PromiseOrValue<BigNumberish>]): string;
1027
1237
  encodeFunctionData(functionFragment: "getPendingOrder", values: [ITradingStorage.IdStruct]): string;
1028
1238
  encodeFunctionData(functionFragment: "getPendingOrders", values: [PromiseOrValue<string>]): string;
1029
- encodeFunctionData(functionFragment: "getPnlPercent", values: [
1030
- PromiseOrValue<BigNumberish>,
1031
- PromiseOrValue<BigNumberish>,
1032
- PromiseOrValue<boolean>,
1033
- PromiseOrValue<BigNumberish>
1034
- ]): string;
1035
1239
  encodeFunctionData(functionFragment: "getTrade", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1036
1240
  encodeFunctionData(functionFragment: "getTradeInfo", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1037
1241
  encodeFunctionData(functionFragment: "getTradeInfos", values: [PromiseOrValue<string>]): string;
1242
+ encodeFunctionData(functionFragment: "getTradeLiquidationParams", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1038
1243
  encodeFunctionData(functionFragment: "getTradePendingOrderBlock", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1039
1244
  encodeFunctionData(functionFragment: "getTraderStored", values: [PromiseOrValue<string>]): string;
1040
1245
  encodeFunctionData(functionFragment: "getTraders", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1041
1246
  encodeFunctionData(functionFragment: "getTrades", values: [PromiseOrValue<string>]): string;
1247
+ encodeFunctionData(functionFragment: "getTradesLiquidationParams", values: [PromiseOrValue<string>]): string;
1042
1248
  encodeFunctionData(functionFragment: "getTradingActivated", values?: undefined): string;
1043
1249
  encodeFunctionData(functionFragment: "initializeTradingStorage", values: [
1044
1250
  PromiseOrValue<string>,
@@ -1060,6 +1266,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1060
1266
  PromiseOrValue<BigNumberish>
1061
1267
  ]): string;
1062
1268
  encodeFunctionData(functionFragment: "updateTradeCollateralAmount", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1269
+ encodeFunctionData(functionFragment: "updateTradePosition", values: [
1270
+ ITradingStorage.IdStruct,
1271
+ PromiseOrValue<BigNumberish>,
1272
+ PromiseOrValue<BigNumberish>,
1273
+ PromiseOrValue<BigNumberish>
1274
+ ]): string;
1063
1275
  encodeFunctionData(functionFragment: "updateTradeSl", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1064
1276
  encodeFunctionData(functionFragment: "updateTradeTp", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1065
1277
  encodeFunctionData(functionFragment: "updateTradingActivated", values: [PromiseOrValue<BigNumberish>]): string;
@@ -1071,13 +1283,25 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1071
1283
  encodeFunctionData(functionFragment: "initializeTriggerRewards", values: [PromiseOrValue<BigNumberish>]): string;
1072
1284
  encodeFunctionData(functionFragment: "updateTriggerTimeoutBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1073
1285
  encodeFunctionData(functionFragment: "cancelOpenOrder", values: [PromiseOrValue<BigNumberish>]): string;
1286
+ encodeFunctionData(functionFragment: "cancelOrderAfterTimeout", values: [PromiseOrValue<BigNumberish>]): string;
1074
1287
  encodeFunctionData(functionFragment: "closeTradeMarket", values: [PromiseOrValue<BigNumberish>]): string;
1075
- encodeFunctionData(functionFragment: "closeTradeMarketTimeout", values: [ITradingStorage.IdStruct]): string;
1288
+ encodeFunctionData(functionFragment: "decreasePositionSize", values: [
1289
+ PromiseOrValue<BigNumberish>,
1290
+ PromiseOrValue<BigNumberish>,
1291
+ PromiseOrValue<BigNumberish>
1292
+ ]): string;
1076
1293
  encodeFunctionData(functionFragment: "delegatedTradingAction", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
1077
1294
  encodeFunctionData(functionFragment: "getByPassTriggerLink", values: [PromiseOrValue<string>]): string;
1078
1295
  encodeFunctionData(functionFragment: "getMarketOrdersTimeoutBlocks", values?: undefined): string;
1079
1296
  encodeFunctionData(functionFragment: "getTradingDelegate", values: [PromiseOrValue<string>]): string;
1080
1297
  encodeFunctionData(functionFragment: "getWrappedNativeToken", values?: undefined): string;
1298
+ encodeFunctionData(functionFragment: "increasePositionSize", values: [
1299
+ PromiseOrValue<BigNumberish>,
1300
+ PromiseOrValue<BigNumberish>,
1301
+ PromiseOrValue<BigNumberish>,
1302
+ PromiseOrValue<BigNumberish>,
1303
+ PromiseOrValue<BigNumberish>
1304
+ ]): string;
1081
1305
  encodeFunctionData(functionFragment: "initializeTrading", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>[]]): string;
1082
1306
  encodeFunctionData(functionFragment: "isWrappedNativeToken", values: [PromiseOrValue<string>]): string;
1083
1307
  encodeFunctionData(functionFragment: "openTrade", values: [
@@ -1085,7 +1309,6 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1085
1309
  PromiseOrValue<BigNumberish>,
1086
1310
  PromiseOrValue<string>
1087
1311
  ]): string;
1088
- encodeFunctionData(functionFragment: "openTradeMarketTimeout", values: [ITradingStorage.IdStruct]): string;
1089
1312
  encodeFunctionData(functionFragment: "openTradeNative", values: [
1090
1313
  ITradingStorage.TradeStruct,
1091
1314
  PromiseOrValue<BigNumberish>,
@@ -1095,6 +1318,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1095
1318
  encodeFunctionData(functionFragment: "setTradingDelegate", values: [PromiseOrValue<string>]): string;
1096
1319
  encodeFunctionData(functionFragment: "triggerOrder", values: [PromiseOrValue<BigNumberish>]): string;
1097
1320
  encodeFunctionData(functionFragment: "updateByPassTriggerLink", values: [PromiseOrValue<string>[], PromiseOrValue<boolean>[]]): string;
1321
+ encodeFunctionData(functionFragment: "updateLeverage", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1098
1322
  encodeFunctionData(functionFragment: "updateMarketOrdersTimeoutBlocks", values: [PromiseOrValue<BigNumberish>]): string;
1099
1323
  encodeFunctionData(functionFragment: "updateOpenOrder", values: [
1100
1324
  PromiseOrValue<BigNumberish>,
@@ -1107,12 +1331,15 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1107
1331
  encodeFunctionData(functionFragment: "updateTp", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1108
1332
  encodeFunctionData(functionFragment: "claimPendingGovFees", values?: undefined): string;
1109
1333
  encodeFunctionData(functionFragment: "closeTradeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1334
+ encodeFunctionData(functionFragment: "decreasePositionSizeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1110
1335
  encodeFunctionData(functionFragment: "executeTriggerCloseOrderCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1111
1336
  encodeFunctionData(functionFragment: "executeTriggerOpenOrderCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1112
1337
  encodeFunctionData(functionFragment: "getPendingGovFeesCollateral", values: [PromiseOrValue<BigNumberish>]): string;
1113
1338
  encodeFunctionData(functionFragment: "getVaultClosingFeeP", values?: undefined): string;
1339
+ encodeFunctionData(functionFragment: "increasePositionSizeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1114
1340
  encodeFunctionData(functionFragment: "initializeCallbacks", values: [PromiseOrValue<BigNumberish>]): string;
1115
1341
  encodeFunctionData(functionFragment: "openTradeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1342
+ encodeFunctionData(functionFragment: "updateLeverageCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1116
1343
  encodeFunctionData(functionFragment: "updateVaultClosingFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1117
1344
  encodeFunctionData(functionFragment: "getAllBorrowingPairs", values: [PromiseOrValue<BigNumberish>]): string;
1118
1345
  encodeFunctionData(functionFragment: "getBorrowingGroup", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
@@ -1156,6 +1383,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1156
1383
  PromiseOrValue<boolean>,
1157
1384
  PromiseOrValue<boolean>
1158
1385
  ]): string;
1386
+ encodeFunctionData(functionFragment: "resetTradeBorrowingFees", values: [
1387
+ PromiseOrValue<BigNumberish>,
1388
+ PromiseOrValue<string>,
1389
+ PromiseOrValue<BigNumberish>,
1390
+ PromiseOrValue<BigNumberish>,
1391
+ PromiseOrValue<boolean>
1392
+ ]): string;
1159
1393
  encodeFunctionData(functionFragment: "setBorrowingGroupParams", values: [
1160
1394
  PromiseOrValue<BigNumberish>,
1161
1395
  PromiseOrValue<BigNumberish>,
@@ -1187,7 +1421,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1187
1421
  encodeFunctionData(functionFragment: "fulfill", values: [PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish>]): string;
1188
1422
  encodeFunctionData(functionFragment: "getChainlinkToken", values?: undefined): string;
1189
1423
  encodeFunctionData(functionFragment: "getCollateralFromUsdNormalizedValue", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1190
- encodeFunctionData(functionFragment: "getCollateralGnsUniV3Pool", values: [PromiseOrValue<BigNumberish>]): string;
1424
+ encodeFunctionData(functionFragment: "getCollateralGnsLiquidityPool", values: [PromiseOrValue<BigNumberish>]): string;
1191
1425
  encodeFunctionData(functionFragment: "getCollateralPriceUsd", values: [PromiseOrValue<BigNumberish>]): string;
1192
1426
  encodeFunctionData(functionFragment: "getCollateralUsdPriceFeed", values: [PromiseOrValue<BigNumberish>]): string;
1193
1427
  encodeFunctionData(functionFragment: "getGnsPriceCollateralAddress", values: [PromiseOrValue<string>]): string;
@@ -1196,6 +1430,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1196
1430
  encodeFunctionData(functionFragment: "getLimitJobId", values?: undefined): string;
1197
1431
  encodeFunctionData(functionFragment: "getLinkFee", values: [
1198
1432
  PromiseOrValue<BigNumberish>,
1433
+ PromiseOrValue<string>,
1199
1434
  PromiseOrValue<BigNumberish>,
1200
1435
  PromiseOrValue<BigNumberish>
1201
1436
  ]): string;
@@ -1207,6 +1442,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1207
1442
  encodeFunctionData(functionFragment: "getPendingRequest", values: [PromiseOrValue<BytesLike>]): string;
1208
1443
  encodeFunctionData(functionFragment: "getPrice", values: [
1209
1444
  PromiseOrValue<BigNumberish>,
1445
+ PromiseOrValue<string>,
1210
1446
  PromiseOrValue<BigNumberish>,
1211
1447
  ITradingStorage.IdStruct,
1212
1448
  PromiseOrValue<BigNumberish>,
@@ -1229,29 +1465,28 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1229
1465
  PromiseOrValue<BytesLike>
1230
1466
  ],
1231
1467
  PromiseOrValue<BigNumberish>[],
1232
- PromiseOrValue<string>[],
1468
+ IPriceAggregator.LiquidityPoolInputStruct[],
1233
1469
  PromiseOrValue<string>[]
1234
1470
  ]): string;
1235
1471
  encodeFunctionData(functionFragment: "removeOracle", values: [PromiseOrValue<BigNumberish>]): string;
1236
1472
  encodeFunctionData(functionFragment: "replaceOracle", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
1237
1473
  encodeFunctionData(functionFragment: "setLimitJobId", values: [PromiseOrValue<BytesLike>]): string;
1238
1474
  encodeFunctionData(functionFragment: "setMarketJobId", values: [PromiseOrValue<BytesLike>]): string;
1239
- encodeFunctionData(functionFragment: "updateCollateralGnsUniV3Pool", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
1475
+ encodeFunctionData(functionFragment: "updateCollateralGnsLiquidityPool", values: [
1476
+ PromiseOrValue<BigNumberish>,
1477
+ IPriceAggregator.LiquidityPoolInputStruct
1478
+ ]): string;
1240
1479
  encodeFunctionData(functionFragment: "updateCollateralUsdPriceFeed", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
1241
1480
  encodeFunctionData(functionFragment: "updateLinkUsdPriceFeed", values: [PromiseOrValue<string>]): string;
1242
1481
  encodeFunctionData(functionFragment: "updateMinAnswers", values: [PromiseOrValue<BigNumberish>]): string;
1243
1482
  encodeFunctionData(functionFragment: "updateTwapInterval", values: [PromiseOrValue<BigNumberish>]): string;
1244
- encodeFunctionData(functionFragment: "copyAllState", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>[]]): string;
1245
- encodeFunctionData(functionFragment: "copyBorrowingFeesGroups", values: [PromiseOrValue<BigNumberish>]): string;
1246
- encodeFunctionData(functionFragment: "copyBorrowingFeesPairs", values: [PromiseOrValue<BigNumberish>]): string;
1247
- encodeFunctionData(functionFragment: "copyLimits", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1248
- encodeFunctionData(functionFragment: "copyPairOis", values: [PromiseOrValue<BigNumberish>]): string;
1249
- encodeFunctionData(functionFragment: "copyTraderDelegations", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>[]]): string;
1250
- encodeFunctionData(functionFragment: "copyTrades", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1251
- encodeFunctionData(functionFragment: "getCollateralStageState", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1252
- encodeFunctionData(functionFragment: "getCollateralState", values: [PromiseOrValue<BigNumberish>]): string;
1253
- encodeFunctionData(functionFragment: "markAsDone", values: [PromiseOrValue<BigNumberish>]): string;
1254
- encodeFunctionData(functionFragment: "transferBalance", values: [PromiseOrValue<BigNumberish>]): string;
1483
+ encodeFunctionData(functionFragment: "addOtcCollateralBalance", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1484
+ encodeFunctionData(functionFragment: "getOtcBalance", values: [PromiseOrValue<BigNumberish>]): string;
1485
+ encodeFunctionData(functionFragment: "getOtcConfig", values?: undefined): string;
1486
+ encodeFunctionData(functionFragment: "getOtcRate", values: [PromiseOrValue<BigNumberish>]): string;
1487
+ encodeFunctionData(functionFragment: "initializeOtc", values: [IOtc.OtcConfigStruct]): string;
1488
+ encodeFunctionData(functionFragment: "sellGnsForCollateral", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1489
+ encodeFunctionData(functionFragment: "updateOtcConfig", values: [IOtc.OtcConfigStruct]): string;
1255
1490
  decodeFunctionResult(functionFragment: "diamondCut", data: BytesLike): Result;
1256
1491
  decodeFunctionResult(functionFragment: "facetAddress", data: BytesLike): Result;
1257
1492
  decodeFunctionResult(functionFragment: "facetAddresses", data: BytesLike): Result;
@@ -1267,14 +1502,18 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1267
1502
  decodeFunctionResult(functionFragment: "fees", data: BytesLike): Result;
1268
1503
  decodeFunctionResult(functionFragment: "feesCount", data: BytesLike): Result;
1269
1504
  decodeFunctionResult(functionFragment: "getAllPairsRestrictedMaxLeverage", data: BytesLike): Result;
1505
+ decodeFunctionResult(functionFragment: "getGroupLiquidationParams", data: BytesLike): Result;
1506
+ decodeFunctionResult(functionFragment: "getPairLiquidationParams", data: BytesLike): Result;
1270
1507
  decodeFunctionResult(functionFragment: "groups", data: BytesLike): Result;
1271
1508
  decodeFunctionResult(functionFragment: "groupsCount", data: BytesLike): Result;
1509
+ decodeFunctionResult(functionFragment: "initializeGroupLiquidationParams", data: BytesLike): Result;
1272
1510
  decodeFunctionResult(functionFragment: "isPairIndexListed", data: BytesLike): Result;
1273
1511
  decodeFunctionResult(functionFragment: "isPairListed", data: BytesLike): Result;
1274
1512
  decodeFunctionResult(functionFragment: "pairCloseFeeP", data: BytesLike): Result;
1275
1513
  decodeFunctionResult(functionFragment: "pairCustomMaxLeverage", data: BytesLike): Result;
1276
1514
  decodeFunctionResult(functionFragment: "pairJob", data: BytesLike): Result;
1277
1515
  decodeFunctionResult(functionFragment: "pairMaxLeverage", data: BytesLike): Result;
1516
+ decodeFunctionResult(functionFragment: "pairMinFeeUsd", data: BytesLike): Result;
1278
1517
  decodeFunctionResult(functionFragment: "pairMinLeverage", data: BytesLike): Result;
1279
1518
  decodeFunctionResult(functionFragment: "pairMinPositionSizeUsd", data: BytesLike): Result;
1280
1519
  decodeFunctionResult(functionFragment: "pairOpenFeeP", data: BytesLike): Result;
@@ -1284,6 +1523,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1284
1523
  decodeFunctionResult(functionFragment: "pairs", data: BytesLike): Result;
1285
1524
  decodeFunctionResult(functionFragment: "pairsBackend", data: BytesLike): Result;
1286
1525
  decodeFunctionResult(functionFragment: "pairsCount", data: BytesLike): Result;
1526
+ decodeFunctionResult(functionFragment: "setGroupLiquidationParams", data: BytesLike): Result;
1287
1527
  decodeFunctionResult(functionFragment: "setPairCustomMaxLeverages", data: BytesLike): Result;
1288
1528
  decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result;
1289
1529
  decodeFunctionResult(functionFragment: "updateGroups", data: BytesLike): Result;
@@ -1329,35 +1569,43 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1329
1569
  decodeFunctionResult(functionFragment: "getPairDepth", data: BytesLike): Result;
1330
1570
  decodeFunctionResult(functionFragment: "getPairDepths", data: BytesLike): Result;
1331
1571
  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;
1332
1575
  decodeFunctionResult(functionFragment: "getTradePriceImpact", data: BytesLike): Result;
1576
+ decodeFunctionResult(functionFragment: "getTradePriceImpactInfo", data: BytesLike): Result;
1333
1577
  decodeFunctionResult(functionFragment: "initializePriceImpact", data: BytesLike): Result;
1578
+ decodeFunctionResult(functionFragment: "initializeProtectionCloseFactorBlocks", data: BytesLike): Result;
1334
1579
  decodeFunctionResult(functionFragment: "removePriceImpactOpenInterest", data: BytesLike): Result;
1335
1580
  decodeFunctionResult(functionFragment: "setPairDepths", data: BytesLike): Result;
1336
1581
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsCount", data: BytesLike): Result;
1337
1582
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsDuration", data: BytesLike): Result;
1583
+ decodeFunctionResult(functionFragment: "setProtectionCloseFactorBlocks", data: BytesLike): Result;
1584
+ decodeFunctionResult(functionFragment: "setProtectionCloseFactors", data: BytesLike): Result;
1338
1585
  decodeFunctionResult(functionFragment: "addCollateral", data: BytesLike): Result;
1339
1586
  decodeFunctionResult(functionFragment: "closePendingOrder", data: BytesLike): Result;
1340
1587
  decodeFunctionResult(functionFragment: "closeTrade", data: BytesLike): Result;
1341
1588
  decodeFunctionResult(functionFragment: "getAllPendingOrders", data: BytesLike): Result;
1342
1589
  decodeFunctionResult(functionFragment: "getAllTradeInfos", data: BytesLike): Result;
1343
1590
  decodeFunctionResult(functionFragment: "getAllTrades", data: BytesLike): Result;
1591
+ decodeFunctionResult(functionFragment: "getAllTradesLiquidationParams", data: BytesLike): Result;
1344
1592
  decodeFunctionResult(functionFragment: "getCollateral", data: BytesLike): Result;
1345
1593
  decodeFunctionResult(functionFragment: "getCollateralIndex", data: BytesLike): Result;
1346
1594
  decodeFunctionResult(functionFragment: "getCollaterals", data: BytesLike): Result;
1347
1595
  decodeFunctionResult(functionFragment: "getCollateralsCount", data: BytesLike): Result;
1348
1596
  decodeFunctionResult(functionFragment: "getCounters", data: BytesLike): Result;
1349
1597
  decodeFunctionResult(functionFragment: "getGToken", data: BytesLike): Result;
1350
- decodeFunctionResult(functionFragment: "getPendingOpenOrderType", data: BytesLike): Result;
1351
1598
  decodeFunctionResult(functionFragment: "getPendingOrder", data: BytesLike): Result;
1352
1599
  decodeFunctionResult(functionFragment: "getPendingOrders", data: BytesLike): Result;
1353
- decodeFunctionResult(functionFragment: "getPnlPercent", data: BytesLike): Result;
1354
1600
  decodeFunctionResult(functionFragment: "getTrade", data: BytesLike): Result;
1355
1601
  decodeFunctionResult(functionFragment: "getTradeInfo", data: BytesLike): Result;
1356
1602
  decodeFunctionResult(functionFragment: "getTradeInfos", data: BytesLike): Result;
1603
+ decodeFunctionResult(functionFragment: "getTradeLiquidationParams", data: BytesLike): Result;
1357
1604
  decodeFunctionResult(functionFragment: "getTradePendingOrderBlock", data: BytesLike): Result;
1358
1605
  decodeFunctionResult(functionFragment: "getTraderStored", data: BytesLike): Result;
1359
1606
  decodeFunctionResult(functionFragment: "getTraders", data: BytesLike): Result;
1360
1607
  decodeFunctionResult(functionFragment: "getTrades", data: BytesLike): Result;
1608
+ decodeFunctionResult(functionFragment: "getTradesLiquidationParams", data: BytesLike): Result;
1361
1609
  decodeFunctionResult(functionFragment: "getTradingActivated", data: BytesLike): Result;
1362
1610
  decodeFunctionResult(functionFragment: "initializeTradingStorage", data: BytesLike): Result;
1363
1611
  decodeFunctionResult(functionFragment: "isCollateralActive", data: BytesLike): Result;
@@ -1368,6 +1616,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1368
1616
  decodeFunctionResult(functionFragment: "updateGToken", data: BytesLike): Result;
1369
1617
  decodeFunctionResult(functionFragment: "updateOpenOrderDetails", data: BytesLike): Result;
1370
1618
  decodeFunctionResult(functionFragment: "updateTradeCollateralAmount", data: BytesLike): Result;
1619
+ decodeFunctionResult(functionFragment: "updateTradePosition", data: BytesLike): Result;
1371
1620
  decodeFunctionResult(functionFragment: "updateTradeSl", data: BytesLike): Result;
1372
1621
  decodeFunctionResult(functionFragment: "updateTradeTp", data: BytesLike): Result;
1373
1622
  decodeFunctionResult(functionFragment: "updateTradingActivated", data: BytesLike): Result;
@@ -1379,34 +1628,39 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1379
1628
  decodeFunctionResult(functionFragment: "initializeTriggerRewards", data: BytesLike): Result;
1380
1629
  decodeFunctionResult(functionFragment: "updateTriggerTimeoutBlocks", data: BytesLike): Result;
1381
1630
  decodeFunctionResult(functionFragment: "cancelOpenOrder", data: BytesLike): Result;
1631
+ decodeFunctionResult(functionFragment: "cancelOrderAfterTimeout", data: BytesLike): Result;
1382
1632
  decodeFunctionResult(functionFragment: "closeTradeMarket", data: BytesLike): Result;
1383
- decodeFunctionResult(functionFragment: "closeTradeMarketTimeout", data: BytesLike): Result;
1633
+ decodeFunctionResult(functionFragment: "decreasePositionSize", data: BytesLike): Result;
1384
1634
  decodeFunctionResult(functionFragment: "delegatedTradingAction", data: BytesLike): Result;
1385
1635
  decodeFunctionResult(functionFragment: "getByPassTriggerLink", data: BytesLike): Result;
1386
1636
  decodeFunctionResult(functionFragment: "getMarketOrdersTimeoutBlocks", data: BytesLike): Result;
1387
1637
  decodeFunctionResult(functionFragment: "getTradingDelegate", data: BytesLike): Result;
1388
1638
  decodeFunctionResult(functionFragment: "getWrappedNativeToken", data: BytesLike): Result;
1639
+ decodeFunctionResult(functionFragment: "increasePositionSize", data: BytesLike): Result;
1389
1640
  decodeFunctionResult(functionFragment: "initializeTrading", data: BytesLike): Result;
1390
1641
  decodeFunctionResult(functionFragment: "isWrappedNativeToken", data: BytesLike): Result;
1391
1642
  decodeFunctionResult(functionFragment: "openTrade", data: BytesLike): Result;
1392
- decodeFunctionResult(functionFragment: "openTradeMarketTimeout", data: BytesLike): Result;
1393
1643
  decodeFunctionResult(functionFragment: "openTradeNative", data: BytesLike): Result;
1394
1644
  decodeFunctionResult(functionFragment: "removeTradingDelegate", data: BytesLike): Result;
1395
1645
  decodeFunctionResult(functionFragment: "setTradingDelegate", data: BytesLike): Result;
1396
1646
  decodeFunctionResult(functionFragment: "triggerOrder", data: BytesLike): Result;
1397
1647
  decodeFunctionResult(functionFragment: "updateByPassTriggerLink", data: BytesLike): Result;
1648
+ decodeFunctionResult(functionFragment: "updateLeverage", data: BytesLike): Result;
1398
1649
  decodeFunctionResult(functionFragment: "updateMarketOrdersTimeoutBlocks", data: BytesLike): Result;
1399
1650
  decodeFunctionResult(functionFragment: "updateOpenOrder", data: BytesLike): Result;
1400
1651
  decodeFunctionResult(functionFragment: "updateSl", data: BytesLike): Result;
1401
1652
  decodeFunctionResult(functionFragment: "updateTp", data: BytesLike): Result;
1402
1653
  decodeFunctionResult(functionFragment: "claimPendingGovFees", data: BytesLike): Result;
1403
1654
  decodeFunctionResult(functionFragment: "closeTradeMarketCallback", data: BytesLike): Result;
1655
+ decodeFunctionResult(functionFragment: "decreasePositionSizeMarketCallback", data: BytesLike): Result;
1404
1656
  decodeFunctionResult(functionFragment: "executeTriggerCloseOrderCallback", data: BytesLike): Result;
1405
1657
  decodeFunctionResult(functionFragment: "executeTriggerOpenOrderCallback", data: BytesLike): Result;
1406
1658
  decodeFunctionResult(functionFragment: "getPendingGovFeesCollateral", data: BytesLike): Result;
1407
1659
  decodeFunctionResult(functionFragment: "getVaultClosingFeeP", data: BytesLike): Result;
1660
+ decodeFunctionResult(functionFragment: "increasePositionSizeMarketCallback", data: BytesLike): Result;
1408
1661
  decodeFunctionResult(functionFragment: "initializeCallbacks", data: BytesLike): Result;
1409
1662
  decodeFunctionResult(functionFragment: "openTradeMarketCallback", data: BytesLike): Result;
1663
+ decodeFunctionResult(functionFragment: "updateLeverageCallback", data: BytesLike): Result;
1410
1664
  decodeFunctionResult(functionFragment: "updateVaultClosingFeeP", data: BytesLike): Result;
1411
1665
  decodeFunctionResult(functionFragment: "getAllBorrowingPairs", data: BytesLike): Result;
1412
1666
  decodeFunctionResult(functionFragment: "getBorrowingGroup", data: BytesLike): Result;
@@ -1426,6 +1680,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1426
1680
  decodeFunctionResult(functionFragment: "getTradeBorrowingFee", data: BytesLike): Result;
1427
1681
  decodeFunctionResult(functionFragment: "getTradeLiquidationPrice", data: BytesLike): Result;
1428
1682
  decodeFunctionResult(functionFragment: "handleTradeBorrowingCallback", data: BytesLike): Result;
1683
+ decodeFunctionResult(functionFragment: "resetTradeBorrowingFees", data: BytesLike): Result;
1429
1684
  decodeFunctionResult(functionFragment: "setBorrowingGroupParams", data: BytesLike): Result;
1430
1685
  decodeFunctionResult(functionFragment: "setBorrowingGroupParamsArray", data: BytesLike): Result;
1431
1686
  decodeFunctionResult(functionFragment: "setBorrowingPairParams", data: BytesLike): Result;
@@ -1436,7 +1691,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1436
1691
  decodeFunctionResult(functionFragment: "fulfill", data: BytesLike): Result;
1437
1692
  decodeFunctionResult(functionFragment: "getChainlinkToken", data: BytesLike): Result;
1438
1693
  decodeFunctionResult(functionFragment: "getCollateralFromUsdNormalizedValue", data: BytesLike): Result;
1439
- decodeFunctionResult(functionFragment: "getCollateralGnsUniV3Pool", data: BytesLike): Result;
1694
+ decodeFunctionResult(functionFragment: "getCollateralGnsLiquidityPool", data: BytesLike): Result;
1440
1695
  decodeFunctionResult(functionFragment: "getCollateralPriceUsd", data: BytesLike): Result;
1441
1696
  decodeFunctionResult(functionFragment: "getCollateralUsdPriceFeed", data: BytesLike): Result;
1442
1697
  decodeFunctionResult(functionFragment: "getGnsPriceCollateralAddress", data: BytesLike): Result;
@@ -1461,22 +1716,18 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1461
1716
  decodeFunctionResult(functionFragment: "replaceOracle", data: BytesLike): Result;
1462
1717
  decodeFunctionResult(functionFragment: "setLimitJobId", data: BytesLike): Result;
1463
1718
  decodeFunctionResult(functionFragment: "setMarketJobId", data: BytesLike): Result;
1464
- decodeFunctionResult(functionFragment: "updateCollateralGnsUniV3Pool", data: BytesLike): Result;
1719
+ decodeFunctionResult(functionFragment: "updateCollateralGnsLiquidityPool", data: BytesLike): Result;
1465
1720
  decodeFunctionResult(functionFragment: "updateCollateralUsdPriceFeed", data: BytesLike): Result;
1466
1721
  decodeFunctionResult(functionFragment: "updateLinkUsdPriceFeed", data: BytesLike): Result;
1467
1722
  decodeFunctionResult(functionFragment: "updateMinAnswers", data: BytesLike): Result;
1468
1723
  decodeFunctionResult(functionFragment: "updateTwapInterval", data: BytesLike): Result;
1469
- decodeFunctionResult(functionFragment: "copyAllState", data: BytesLike): Result;
1470
- decodeFunctionResult(functionFragment: "copyBorrowingFeesGroups", data: BytesLike): Result;
1471
- decodeFunctionResult(functionFragment: "copyBorrowingFeesPairs", data: BytesLike): Result;
1472
- decodeFunctionResult(functionFragment: "copyLimits", data: BytesLike): Result;
1473
- decodeFunctionResult(functionFragment: "copyPairOis", data: BytesLike): Result;
1474
- decodeFunctionResult(functionFragment: "copyTraderDelegations", data: BytesLike): Result;
1475
- decodeFunctionResult(functionFragment: "copyTrades", data: BytesLike): Result;
1476
- decodeFunctionResult(functionFragment: "getCollateralStageState", data: BytesLike): Result;
1477
- decodeFunctionResult(functionFragment: "getCollateralState", data: BytesLike): Result;
1478
- decodeFunctionResult(functionFragment: "markAsDone", data: BytesLike): Result;
1479
- decodeFunctionResult(functionFragment: "transferBalance", data: BytesLike): Result;
1724
+ decodeFunctionResult(functionFragment: "addOtcCollateralBalance", data: BytesLike): Result;
1725
+ decodeFunctionResult(functionFragment: "getOtcBalance", data: BytesLike): Result;
1726
+ decodeFunctionResult(functionFragment: "getOtcConfig", data: BytesLike): Result;
1727
+ decodeFunctionResult(functionFragment: "getOtcRate", data: BytesLike): Result;
1728
+ decodeFunctionResult(functionFragment: "initializeOtc", data: BytesLike): Result;
1729
+ decodeFunctionResult(functionFragment: "sellGnsForCollateral", data: BytesLike): Result;
1730
+ decodeFunctionResult(functionFragment: "updateOtcConfig", data: BytesLike): Result;
1480
1731
  events: {
1481
1732
  "AccessControlUpdated(address,uint8,bool)": EventFragment;
1482
1733
  "AddressesUpdated(tuple)": EventFragment;
@@ -1485,6 +1736,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1485
1736
  "FeeAdded(uint256,string)": EventFragment;
1486
1737
  "FeeUpdated(uint256)": EventFragment;
1487
1738
  "GroupAdded(uint256,string)": EventFragment;
1739
+ "GroupLiquidationParamsUpdated(uint256,tuple)": EventFragment;
1488
1740
  "GroupUpdated(uint256)": EventFragment;
1489
1741
  "PairAdded(uint256,string,string)": EventFragment;
1490
1742
  "PairCustomMaxLeverageUpdated(uint256,uint256)": EventFragment;
@@ -1513,10 +1765,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1513
1765
  "OnePercentDepthUpdated(uint256,uint128,uint128)": EventFragment;
1514
1766
  "PriceImpactOiTransferredPair(uint256,tuple)": EventFragment;
1515
1767
  "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)": EventFragment;
1516
- "PriceImpactOpenInterestAdded(tuple)": EventFragment;
1768
+ "PriceImpactOpenInterestAdded(tuple,bool)": EventFragment;
1517
1769
  "PriceImpactOpenInterestRemoved(tuple,bool)": EventFragment;
1518
1770
  "PriceImpactWindowsCountUpdated(uint48)": EventFragment;
1519
1771
  "PriceImpactWindowsDurationUpdated(uint48)": EventFragment;
1772
+ "ProtectionCloseFactorBlocksUpdated(uint24)": EventFragment;
1773
+ "ProtectionCloseFactorUpdated(uint256,uint256)": EventFragment;
1520
1774
  "CollateralAdded(address,uint8,address)": EventFragment;
1521
1775
  "CollateralDisabled(uint8)": EventFragment;
1522
1776
  "CollateralUpdated(uint8,bool)": EventFragment;
@@ -1526,8 +1780,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1526
1780
  "PendingOrderStored(tuple)": EventFragment;
1527
1781
  "TradeClosed(tuple)": EventFragment;
1528
1782
  "TradeCollateralUpdated(tuple,uint120)": EventFragment;
1783
+ "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64)": EventFragment;
1529
1784
  "TradeSlUpdated(tuple,uint64)": EventFragment;
1530
- "TradeStored(tuple,tuple)": EventFragment;
1785
+ "TradeStored(tuple,tuple,tuple)": EventFragment;
1531
1786
  "TradeTpUpdated(tuple,uint64)": EventFragment;
1532
1787
  "TradingActivatedUpdated(uint8)": EventFragment;
1533
1788
  "TriggerRewarded(uint256,uint256)": EventFragment;
@@ -1536,12 +1791,17 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1536
1791
  "ByPassTriggerLinkUpdated(address,bool)": EventFragment;
1537
1792
  "ChainlinkCallbackTimeout(tuple,uint256)": EventFragment;
1538
1793
  "CouldNotCloseTrade(address,uint16,uint32)": EventFragment;
1794
+ "LeverageUpdateExecuted(tuple,bool,uint8,uint8,address,uint256,uint256,uint256,uint256,tuple)": EventFragment;
1795
+ "LeverageUpdateInitiated(tuple,address,uint256,uint256,bool,uint256)": EventFragment;
1539
1796
  "MarketOrderInitiated(tuple,address,uint16,bool)": EventFragment;
1540
1797
  "MarketOrdersTimeoutBlocksUpdated(uint256)": EventFragment;
1541
1798
  "NativeTokenWrapped(address,uint256)": EventFragment;
1542
1799
  "OpenLimitCanceled(address,uint16,uint32)": EventFragment;
1543
1800
  "OpenLimitUpdated(address,uint16,uint32,uint64,uint64,uint64,uint64)": EventFragment;
1544
1801
  "OpenOrderPlaced(address,uint16,uint32)": EventFragment;
1802
+ "PositionSizeDecreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)": EventFragment;
1803
+ "PositionSizeIncreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)": EventFragment;
1804
+ "PositionSizeUpdateInitiated(tuple,address,uint256,uint256,bool,uint256,uint256)": EventFragment;
1545
1805
  "TriggerOrderInitiated(tuple,address,uint16,bool)": EventFragment;
1546
1806
  "BorrowingFeeCharged(address,uint8,uint256)": EventFragment;
1547
1807
  "GTokenFeeCharged(address,uint8,uint256)": EventFragment;
@@ -1559,7 +1819,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1559
1819
  "BorrowingGroupAccFeesUpdated(uint8,uint16,uint256,uint64,uint64)": EventFragment;
1560
1820
  "BorrowingGroupOiUpdated(uint8,uint16,bool,bool,uint72,uint72,uint72)": EventFragment;
1561
1821
  "BorrowingGroupUpdated(uint8,uint16,uint32,uint72,uint48)": EventFragment;
1562
- "BorrowingInitialAccFeesStored(uint8,address,uint16,uint32,uint64,uint64)": EventFragment;
1822
+ "BorrowingInitialAccFeesStored(uint8,address,uint16,uint32,bool,uint64,uint64)": EventFragment;
1563
1823
  "BorrowingPairAccFeesUpdated(uint8,uint16,uint256,uint64,uint64)": EventFragment;
1564
1824
  "BorrowingPairGroupUpdated(uint8,uint16,uint16,uint16)": EventFragment;
1565
1825
  "BorrowingPairOiUpdated(uint8,uint16,bool,bool,uint72,uint72,uint72)": EventFragment;
@@ -1567,7 +1827,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1567
1827
  "TradeBorrowingCallbackHandled(uint8,address,uint16,uint32,bool,bool,uint256)": EventFragment;
1568
1828
  "ChainlinkFulfilled(bytes32)": EventFragment;
1569
1829
  "ChainlinkRequested(bytes32)": EventFragment;
1570
- "CollateralGnsUniV3PoolUpdated(uint8,tuple)": EventFragment;
1830
+ "CollateralGnsLiquidityPoolUpdated(uint8,tuple)": EventFragment;
1571
1831
  "CollateralUsdPriceFeedUpdated(uint8,address)": EventFragment;
1572
1832
  "JobIdUpdated(uint256,bytes32)": EventFragment;
1573
1833
  "LinkClaimedBack(uint256)": EventFragment;
@@ -1578,20 +1838,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1578
1838
  "OracleRemoved(uint256,address)": EventFragment;
1579
1839
  "OracleReplaced(uint256,address,address)": EventFragment;
1580
1840
  "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)": EventFragment;
1581
- "PriceRequested(uint8,tuple,uint8,uint256,bytes32,uint256,uint256,uint256,bool)": EventFragment;
1841
+ "PriceRequested(uint8,address,uint256,tuple,uint8,uint256,bool,bytes32,uint256,uint256)": EventFragment;
1582
1842
  "TradingCallbackExecuted(tuple,uint8)": EventFragment;
1583
1843
  "TwapIntervalUpdated(uint32)": EventFragment;
1584
- "BorrowingFeesGroupsCopied(uint8,uint16)": EventFragment;
1585
- "BorrowingFeesPairOisCopied(uint8,uint256)": EventFragment;
1586
- "BorrowingFeesPairsCopied(uint8,uint256)": EventFragment;
1587
- "CollateralTransferred(uint8,uint256,uint256)": EventFragment;
1588
- "LegacyLimitOrderSkipped(uint8,address,uint256,uint256)": EventFragment;
1589
- "LimitsCopied(uint8,uint256,uint256)": EventFragment;
1590
- "MarkedAsDone(uint8)": EventFragment;
1591
- "PairTradesCopied(uint8,uint256,uint256)": EventFragment;
1592
- "TradeCopied(uint8,address,uint256,uint256,uint256)": EventFragment;
1593
- "TraderDelegationsCopied(uint8,uint256)": EventFragment;
1594
- "TradesCopied(uint8,uint16,uint16)": EventFragment;
1844
+ "OtcBalanceUpdated(uint8,uint256)": EventFragment;
1845
+ "OtcConfigUpdated(tuple)": EventFragment;
1846
+ "OtcExecuted(uint8,uint256,uint256,uint256,uint256,uint256)": EventFragment;
1595
1847
  };
1596
1848
  getEvent(nameOrSignatureOrTopic: "AccessControlUpdated"): EventFragment;
1597
1849
  getEvent(nameOrSignatureOrTopic: "AddressesUpdated"): EventFragment;
@@ -1600,6 +1852,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1600
1852
  getEvent(nameOrSignatureOrTopic: "FeeAdded"): EventFragment;
1601
1853
  getEvent(nameOrSignatureOrTopic: "FeeUpdated"): EventFragment;
1602
1854
  getEvent(nameOrSignatureOrTopic: "GroupAdded"): EventFragment;
1855
+ getEvent(nameOrSignatureOrTopic: "GroupLiquidationParamsUpdated"): EventFragment;
1603
1856
  getEvent(nameOrSignatureOrTopic: "GroupUpdated"): EventFragment;
1604
1857
  getEvent(nameOrSignatureOrTopic: "PairAdded"): EventFragment;
1605
1858
  getEvent(nameOrSignatureOrTopic: "PairCustomMaxLeverageUpdated"): EventFragment;
@@ -1632,6 +1885,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1632
1885
  getEvent(nameOrSignatureOrTopic: "PriceImpactOpenInterestRemoved"): EventFragment;
1633
1886
  getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsCountUpdated"): EventFragment;
1634
1887
  getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsDurationUpdated"): EventFragment;
1888
+ getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorBlocksUpdated"): EventFragment;
1889
+ getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorUpdated"): EventFragment;
1635
1890
  getEvent(nameOrSignatureOrTopic: "CollateralAdded"): EventFragment;
1636
1891
  getEvent(nameOrSignatureOrTopic: "CollateralDisabled"): EventFragment;
1637
1892
  getEvent(nameOrSignatureOrTopic: "CollateralUpdated"): EventFragment;
@@ -1641,6 +1896,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1641
1896
  getEvent(nameOrSignatureOrTopic: "PendingOrderStored"): EventFragment;
1642
1897
  getEvent(nameOrSignatureOrTopic: "TradeClosed"): EventFragment;
1643
1898
  getEvent(nameOrSignatureOrTopic: "TradeCollateralUpdated"): EventFragment;
1899
+ getEvent(nameOrSignatureOrTopic: "TradePositionUpdated"): EventFragment;
1644
1900
  getEvent(nameOrSignatureOrTopic: "TradeSlUpdated"): EventFragment;
1645
1901
  getEvent(nameOrSignatureOrTopic: "TradeStored"): EventFragment;
1646
1902
  getEvent(nameOrSignatureOrTopic: "TradeTpUpdated"): EventFragment;
@@ -1651,12 +1907,17 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1651
1907
  getEvent(nameOrSignatureOrTopic: "ByPassTriggerLinkUpdated"): EventFragment;
1652
1908
  getEvent(nameOrSignatureOrTopic: "ChainlinkCallbackTimeout"): EventFragment;
1653
1909
  getEvent(nameOrSignatureOrTopic: "CouldNotCloseTrade"): EventFragment;
1910
+ getEvent(nameOrSignatureOrTopic: "LeverageUpdateExecuted"): EventFragment;
1911
+ getEvent(nameOrSignatureOrTopic: "LeverageUpdateInitiated"): EventFragment;
1654
1912
  getEvent(nameOrSignatureOrTopic: "MarketOrderInitiated"): EventFragment;
1655
1913
  getEvent(nameOrSignatureOrTopic: "MarketOrdersTimeoutBlocksUpdated"): EventFragment;
1656
1914
  getEvent(nameOrSignatureOrTopic: "NativeTokenWrapped"): EventFragment;
1657
1915
  getEvent(nameOrSignatureOrTopic: "OpenLimitCanceled"): EventFragment;
1658
1916
  getEvent(nameOrSignatureOrTopic: "OpenLimitUpdated"): EventFragment;
1659
1917
  getEvent(nameOrSignatureOrTopic: "OpenOrderPlaced"): EventFragment;
1918
+ getEvent(nameOrSignatureOrTopic: "PositionSizeDecreaseExecuted"): EventFragment;
1919
+ getEvent(nameOrSignatureOrTopic: "PositionSizeIncreaseExecuted"): EventFragment;
1920
+ getEvent(nameOrSignatureOrTopic: "PositionSizeUpdateInitiated"): EventFragment;
1660
1921
  getEvent(nameOrSignatureOrTopic: "TriggerOrderInitiated"): EventFragment;
1661
1922
  getEvent(nameOrSignatureOrTopic: "BorrowingFeeCharged"): EventFragment;
1662
1923
  getEvent(nameOrSignatureOrTopic: "GTokenFeeCharged"): EventFragment;
@@ -1682,7 +1943,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1682
1943
  getEvent(nameOrSignatureOrTopic: "TradeBorrowingCallbackHandled"): EventFragment;
1683
1944
  getEvent(nameOrSignatureOrTopic: "ChainlinkFulfilled"): EventFragment;
1684
1945
  getEvent(nameOrSignatureOrTopic: "ChainlinkRequested"): EventFragment;
1685
- getEvent(nameOrSignatureOrTopic: "CollateralGnsUniV3PoolUpdated"): EventFragment;
1946
+ getEvent(nameOrSignatureOrTopic: "CollateralGnsLiquidityPoolUpdated"): EventFragment;
1686
1947
  getEvent(nameOrSignatureOrTopic: "CollateralUsdPriceFeedUpdated"): EventFragment;
1687
1948
  getEvent(nameOrSignatureOrTopic: "JobIdUpdated"): EventFragment;
1688
1949
  getEvent(nameOrSignatureOrTopic: "LinkClaimedBack"): EventFragment;
@@ -1696,17 +1957,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1696
1957
  getEvent(nameOrSignatureOrTopic: "PriceRequested"): EventFragment;
1697
1958
  getEvent(nameOrSignatureOrTopic: "TradingCallbackExecuted"): EventFragment;
1698
1959
  getEvent(nameOrSignatureOrTopic: "TwapIntervalUpdated"): EventFragment;
1699
- getEvent(nameOrSignatureOrTopic: "BorrowingFeesGroupsCopied"): EventFragment;
1700
- getEvent(nameOrSignatureOrTopic: "BorrowingFeesPairOisCopied"): EventFragment;
1701
- getEvent(nameOrSignatureOrTopic: "BorrowingFeesPairsCopied"): EventFragment;
1702
- getEvent(nameOrSignatureOrTopic: "CollateralTransferred"): EventFragment;
1703
- getEvent(nameOrSignatureOrTopic: "LegacyLimitOrderSkipped"): EventFragment;
1704
- getEvent(nameOrSignatureOrTopic: "LimitsCopied"): EventFragment;
1705
- getEvent(nameOrSignatureOrTopic: "MarkedAsDone"): EventFragment;
1706
- getEvent(nameOrSignatureOrTopic: "PairTradesCopied"): EventFragment;
1707
- getEvent(nameOrSignatureOrTopic: "TradeCopied"): EventFragment;
1708
- getEvent(nameOrSignatureOrTopic: "TraderDelegationsCopied"): EventFragment;
1709
- getEvent(nameOrSignatureOrTopic: "TradesCopied"): EventFragment;
1960
+ getEvent(nameOrSignatureOrTopic: "OtcBalanceUpdated"): EventFragment;
1961
+ getEvent(nameOrSignatureOrTopic: "OtcConfigUpdated"): EventFragment;
1962
+ getEvent(nameOrSignatureOrTopic: "OtcExecuted"): EventFragment;
1710
1963
  }
1711
1964
  export interface AccessControlUpdatedEventObject {
1712
1965
  target: string;
@@ -1765,6 +2018,15 @@ export type GroupAddedEvent = TypedEvent<[
1765
2018
  string
1766
2019
  ], GroupAddedEventObject>;
1767
2020
  export type GroupAddedEventFilter = TypedEventFilter<GroupAddedEvent>;
2021
+ export interface GroupLiquidationParamsUpdatedEventObject {
2022
+ index: BigNumber;
2023
+ params: IPairsStorage.GroupLiquidationParamsStructOutput;
2024
+ }
2025
+ export type GroupLiquidationParamsUpdatedEvent = TypedEvent<[
2026
+ BigNumber,
2027
+ IPairsStorage.GroupLiquidationParamsStructOutput
2028
+ ], GroupLiquidationParamsUpdatedEventObject>;
2029
+ export type GroupLiquidationParamsUpdatedEventFilter = TypedEventFilter<GroupLiquidationParamsUpdatedEvent>;
1768
2030
  export interface GroupUpdatedEventObject {
1769
2031
  index: BigNumber;
1770
2032
  }
@@ -2027,9 +2289,11 @@ export type PriceImpactOiTransferredPairsEvent = TypedEvent<[
2027
2289
  export type PriceImpactOiTransferredPairsEventFilter = TypedEventFilter<PriceImpactOiTransferredPairsEvent>;
2028
2290
  export interface PriceImpactOpenInterestAddedEventObject {
2029
2291
  oiWindowUpdate: IPriceImpact.OiWindowUpdateStructOutput;
2292
+ isPartial: boolean;
2030
2293
  }
2031
2294
  export type PriceImpactOpenInterestAddedEvent = TypedEvent<[
2032
- IPriceImpact.OiWindowUpdateStructOutput
2295
+ IPriceImpact.OiWindowUpdateStructOutput,
2296
+ boolean
2033
2297
  ], PriceImpactOpenInterestAddedEventObject>;
2034
2298
  export type PriceImpactOpenInterestAddedEventFilter = TypedEventFilter<PriceImpactOpenInterestAddedEvent>;
2035
2299
  export interface PriceImpactOpenInterestRemovedEventObject {
@@ -2055,6 +2319,22 @@ export type PriceImpactWindowsDurationUpdatedEvent = TypedEvent<[
2055
2319
  number
2056
2320
  ], PriceImpactWindowsDurationUpdatedEventObject>;
2057
2321
  export type PriceImpactWindowsDurationUpdatedEventFilter = TypedEventFilter<PriceImpactWindowsDurationUpdatedEvent>;
2322
+ export interface ProtectionCloseFactorBlocksUpdatedEventObject {
2323
+ protectionCloseFactorBlocks: number;
2324
+ }
2325
+ export type ProtectionCloseFactorBlocksUpdatedEvent = TypedEvent<[
2326
+ number
2327
+ ], ProtectionCloseFactorBlocksUpdatedEventObject>;
2328
+ export type ProtectionCloseFactorBlocksUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorBlocksUpdatedEvent>;
2329
+ export interface ProtectionCloseFactorUpdatedEventObject {
2330
+ pairIndex: BigNumber;
2331
+ protectionCloseFactor: BigNumber;
2332
+ }
2333
+ export type ProtectionCloseFactorUpdatedEvent = TypedEvent<[
2334
+ BigNumber,
2335
+ BigNumber
2336
+ ], ProtectionCloseFactorUpdatedEventObject>;
2337
+ export type ProtectionCloseFactorUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorUpdatedEvent>;
2058
2338
  export interface CollateralAddedEventObject {
2059
2339
  collateral: string;
2060
2340
  index: number;
@@ -2138,6 +2418,23 @@ export type TradeCollateralUpdatedEvent = TypedEvent<[
2138
2418
  BigNumber
2139
2419
  ], TradeCollateralUpdatedEventObject>;
2140
2420
  export type TradeCollateralUpdatedEventFilter = TypedEventFilter<TradeCollateralUpdatedEvent>;
2421
+ export interface TradePositionUpdatedEventObject {
2422
+ tradeId: ITradingStorage.IdStructOutput;
2423
+ collateralAmount: BigNumber;
2424
+ leverage: number;
2425
+ openPrice: BigNumber;
2426
+ newTp: BigNumber;
2427
+ newSl: BigNumber;
2428
+ }
2429
+ export type TradePositionUpdatedEvent = TypedEvent<[
2430
+ ITradingStorage.IdStructOutput,
2431
+ BigNumber,
2432
+ number,
2433
+ BigNumber,
2434
+ BigNumber,
2435
+ BigNumber
2436
+ ], TradePositionUpdatedEventObject>;
2437
+ export type TradePositionUpdatedEventFilter = TypedEventFilter<TradePositionUpdatedEvent>;
2141
2438
  export interface TradeSlUpdatedEventObject {
2142
2439
  tradeId: ITradingStorage.IdStructOutput;
2143
2440
  newSl: BigNumber;
@@ -2150,10 +2447,12 @@ export type TradeSlUpdatedEventFilter = TypedEventFilter<TradeSlUpdatedEvent>;
2150
2447
  export interface TradeStoredEventObject {
2151
2448
  trade: ITradingStorage.TradeStructOutput;
2152
2449
  tradeInfo: ITradingStorage.TradeInfoStructOutput;
2450
+ liquidationParams: IPairsStorage.GroupLiquidationParamsStructOutput;
2153
2451
  }
2154
2452
  export type TradeStoredEvent = TypedEvent<[
2155
2453
  ITradingStorage.TradeStructOutput,
2156
- ITradingStorage.TradeInfoStructOutput
2454
+ ITradingStorage.TradeInfoStructOutput,
2455
+ IPairsStorage.GroupLiquidationParamsStructOutput
2157
2456
  ], TradeStoredEventObject>;
2158
2457
  export type TradeStoredEventFilter = TypedEventFilter<TradeStoredEvent>;
2159
2458
  export interface TradeTpUpdatedEventObject {
@@ -2226,6 +2525,48 @@ export type CouldNotCloseTradeEvent = TypedEvent<[
2226
2525
  number
2227
2526
  ], CouldNotCloseTradeEventObject>;
2228
2527
  export type CouldNotCloseTradeEventFilter = TypedEventFilter<CouldNotCloseTradeEvent>;
2528
+ export interface LeverageUpdateExecutedEventObject {
2529
+ orderId: ITradingStorage.IdStructOutput;
2530
+ isIncrease: boolean;
2531
+ cancelReason: number;
2532
+ collateralIndex: number;
2533
+ trader: string;
2534
+ pairIndex: BigNumber;
2535
+ index: BigNumber;
2536
+ marketPrice: BigNumber;
2537
+ collateralDelta: BigNumber;
2538
+ values: IUpdateLeverage.UpdateLeverageValuesStructOutput;
2539
+ }
2540
+ export type LeverageUpdateExecutedEvent = TypedEvent<[
2541
+ ITradingStorage.IdStructOutput,
2542
+ boolean,
2543
+ number,
2544
+ number,
2545
+ string,
2546
+ BigNumber,
2547
+ BigNumber,
2548
+ BigNumber,
2549
+ BigNumber,
2550
+ IUpdateLeverage.UpdateLeverageValuesStructOutput
2551
+ ], LeverageUpdateExecutedEventObject>;
2552
+ export type LeverageUpdateExecutedEventFilter = TypedEventFilter<LeverageUpdateExecutedEvent>;
2553
+ export interface LeverageUpdateInitiatedEventObject {
2554
+ orderId: ITradingStorage.IdStructOutput;
2555
+ trader: string;
2556
+ pairIndex: BigNumber;
2557
+ index: BigNumber;
2558
+ isIncrease: boolean;
2559
+ newLeverage: BigNumber;
2560
+ }
2561
+ export type LeverageUpdateInitiatedEvent = TypedEvent<[
2562
+ ITradingStorage.IdStructOutput,
2563
+ string,
2564
+ BigNumber,
2565
+ BigNumber,
2566
+ boolean,
2567
+ BigNumber
2568
+ ], LeverageUpdateInitiatedEventObject>;
2569
+ export type LeverageUpdateInitiatedEventFilter = TypedEventFilter<LeverageUpdateInitiatedEvent>;
2229
2570
  export interface MarketOrderInitiatedEventObject {
2230
2571
  orderId: ITradingStorage.IdStructOutput;
2231
2572
  trader: string;
@@ -2296,6 +2637,83 @@ export type OpenOrderPlacedEvent = TypedEvent<[
2296
2637
  number
2297
2638
  ], OpenOrderPlacedEventObject>;
2298
2639
  export type OpenOrderPlacedEventFilter = TypedEventFilter<OpenOrderPlacedEvent>;
2640
+ export interface PositionSizeDecreaseExecutedEventObject {
2641
+ orderId: ITradingStorage.IdStructOutput;
2642
+ cancelReason: number;
2643
+ collateralIndex: number;
2644
+ trader: string;
2645
+ pairIndex: BigNumber;
2646
+ index: BigNumber;
2647
+ long: boolean;
2648
+ marketPrice: BigNumber;
2649
+ collateralPriceUsd: BigNumber;
2650
+ collateralDelta: BigNumber;
2651
+ leverageDelta: BigNumber;
2652
+ values: IUpdatePositionSize.DecreasePositionSizeValuesStructOutput;
2653
+ }
2654
+ export type PositionSizeDecreaseExecutedEvent = TypedEvent<[
2655
+ ITradingStorage.IdStructOutput,
2656
+ number,
2657
+ number,
2658
+ string,
2659
+ BigNumber,
2660
+ BigNumber,
2661
+ boolean,
2662
+ BigNumber,
2663
+ BigNumber,
2664
+ BigNumber,
2665
+ BigNumber,
2666
+ IUpdatePositionSize.DecreasePositionSizeValuesStructOutput
2667
+ ], PositionSizeDecreaseExecutedEventObject>;
2668
+ export type PositionSizeDecreaseExecutedEventFilter = TypedEventFilter<PositionSizeDecreaseExecutedEvent>;
2669
+ export interface PositionSizeIncreaseExecutedEventObject {
2670
+ orderId: ITradingStorage.IdStructOutput;
2671
+ cancelReason: number;
2672
+ collateralIndex: number;
2673
+ trader: string;
2674
+ pairIndex: BigNumber;
2675
+ index: BigNumber;
2676
+ long: boolean;
2677
+ marketPrice: BigNumber;
2678
+ collateralPriceUsd: BigNumber;
2679
+ collateralDelta: BigNumber;
2680
+ leverageDelta: BigNumber;
2681
+ values: IUpdatePositionSize.IncreasePositionSizeValuesStructOutput;
2682
+ }
2683
+ export type PositionSizeIncreaseExecutedEvent = TypedEvent<[
2684
+ ITradingStorage.IdStructOutput,
2685
+ number,
2686
+ number,
2687
+ string,
2688
+ BigNumber,
2689
+ BigNumber,
2690
+ boolean,
2691
+ BigNumber,
2692
+ BigNumber,
2693
+ BigNumber,
2694
+ BigNumber,
2695
+ IUpdatePositionSize.IncreasePositionSizeValuesStructOutput
2696
+ ], PositionSizeIncreaseExecutedEventObject>;
2697
+ export type PositionSizeIncreaseExecutedEventFilter = TypedEventFilter<PositionSizeIncreaseExecutedEvent>;
2698
+ export interface PositionSizeUpdateInitiatedEventObject {
2699
+ orderId: ITradingStorage.IdStructOutput;
2700
+ trader: string;
2701
+ pairIndex: BigNumber;
2702
+ index: BigNumber;
2703
+ isIncrease: boolean;
2704
+ collateralDelta: BigNumber;
2705
+ leverageDelta: BigNumber;
2706
+ }
2707
+ export type PositionSizeUpdateInitiatedEvent = TypedEvent<[
2708
+ ITradingStorage.IdStructOutput,
2709
+ string,
2710
+ BigNumber,
2711
+ BigNumber,
2712
+ boolean,
2713
+ BigNumber,
2714
+ BigNumber
2715
+ ], PositionSizeUpdateInitiatedEventObject>;
2716
+ export type PositionSizeUpdateInitiatedEventFilter = TypedEventFilter<PositionSizeUpdateInitiatedEvent>;
2299
2717
  export interface TriggerOrderInitiatedEventObject {
2300
2718
  orderId: ITradingStorage.IdStructOutput;
2301
2719
  trader: string;
@@ -2532,6 +2950,7 @@ export interface BorrowingInitialAccFeesStoredEventObject {
2532
2950
  trader: string;
2533
2951
  pairIndex: number;
2534
2952
  index: number;
2953
+ long: boolean;
2535
2954
  initialPairAccFee: BigNumber;
2536
2955
  initialGroupAccFee: BigNumber;
2537
2956
  }
@@ -2540,6 +2959,7 @@ export type BorrowingInitialAccFeesStoredEvent = TypedEvent<[
2540
2959
  string,
2541
2960
  number,
2542
2961
  number,
2962
+ boolean,
2543
2963
  BigNumber,
2544
2964
  BigNumber
2545
2965
  ], BorrowingInitialAccFeesStoredEventObject>;
@@ -2641,15 +3061,15 @@ export type ChainlinkRequestedEvent = TypedEvent<[
2641
3061
  string
2642
3062
  ], ChainlinkRequestedEventObject>;
2643
3063
  export type ChainlinkRequestedEventFilter = TypedEventFilter<ChainlinkRequestedEvent>;
2644
- export interface CollateralGnsUniV3PoolUpdatedEventObject {
3064
+ export interface CollateralGnsLiquidityPoolUpdatedEventObject {
2645
3065
  collateralIndex: number;
2646
- newValue: IPriceAggregator.UniV3PoolInfoStructOutput;
3066
+ newValue: IPriceAggregator.LiquidityPoolInfoStructOutput;
2647
3067
  }
2648
- export type CollateralGnsUniV3PoolUpdatedEvent = TypedEvent<[
3068
+ export type CollateralGnsLiquidityPoolUpdatedEvent = TypedEvent<[
2649
3069
  number,
2650
- IPriceAggregator.UniV3PoolInfoStructOutput
2651
- ], CollateralGnsUniV3PoolUpdatedEventObject>;
2652
- export type CollateralGnsUniV3PoolUpdatedEventFilter = TypedEventFilter<CollateralGnsUniV3PoolUpdatedEvent>;
3070
+ IPriceAggregator.LiquidityPoolInfoStructOutput
3071
+ ], CollateralGnsLiquidityPoolUpdatedEventObject>;
3072
+ export type CollateralGnsLiquidityPoolUpdatedEventFilter = TypedEventFilter<CollateralGnsLiquidityPoolUpdatedEvent>;
2653
3073
  export interface CollateralUsdPriceFeedUpdatedEventObject {
2654
3074
  collateralIndex: number;
2655
3075
  value: string;
@@ -2744,25 +3164,27 @@ export type PriceReceivedEvent = TypedEvent<[
2744
3164
  export type PriceReceivedEventFilter = TypedEventFilter<PriceReceivedEvent>;
2745
3165
  export interface PriceRequestedEventObject {
2746
3166
  collateralIndex: number;
3167
+ trader: string;
3168
+ pairIndex: BigNumber;
2747
3169
  pendingOrderId: ITradingStorage.IdStructOutput;
2748
3170
  orderType: number;
2749
- pairIndex: BigNumber;
2750
- job: string;
2751
- nodesCount: BigNumber;
2752
- linkFeePerNode: BigNumber;
2753
3171
  fromBlock: BigNumber;
2754
3172
  isLookback: boolean;
3173
+ job: string;
3174
+ linkFeePerNode: BigNumber;
3175
+ nodesCount: BigNumber;
2755
3176
  }
2756
3177
  export type PriceRequestedEvent = TypedEvent<[
2757
3178
  number,
3179
+ string,
3180
+ BigNumber,
2758
3181
  ITradingStorage.IdStructOutput,
2759
3182
  number,
2760
3183
  BigNumber,
3184
+ boolean,
2761
3185
  string,
2762
3186
  BigNumber,
2763
- BigNumber,
2764
- BigNumber,
2765
- boolean
3187
+ BigNumber
2766
3188
  ], PriceRequestedEventObject>;
2767
3189
  export type PriceRequestedEventFilter = TypedEventFilter<PriceRequestedEvent>;
2768
3190
  export interface TradingCallbackExecutedEventObject {
@@ -2781,119 +3203,39 @@ export type TwapIntervalUpdatedEvent = TypedEvent<[
2781
3203
  number
2782
3204
  ], TwapIntervalUpdatedEventObject>;
2783
3205
  export type TwapIntervalUpdatedEventFilter = TypedEventFilter<TwapIntervalUpdatedEvent>;
2784
- export interface BorrowingFeesGroupsCopiedEventObject {
2785
- collateralIndex: number;
2786
- groupsCount: number;
2787
- }
2788
- export type BorrowingFeesGroupsCopiedEvent = TypedEvent<[
2789
- number,
2790
- number
2791
- ], BorrowingFeesGroupsCopiedEventObject>;
2792
- export type BorrowingFeesGroupsCopiedEventFilter = TypedEventFilter<BorrowingFeesGroupsCopiedEvent>;
2793
- export interface BorrowingFeesPairOisCopiedEventObject {
2794
- collateralIndex: number;
2795
- pairsCount: BigNumber;
2796
- }
2797
- export type BorrowingFeesPairOisCopiedEvent = TypedEvent<[
2798
- number,
2799
- BigNumber
2800
- ], BorrowingFeesPairOisCopiedEventObject>;
2801
- export type BorrowingFeesPairOisCopiedEventFilter = TypedEventFilter<BorrowingFeesPairOisCopiedEvent>;
2802
- export interface BorrowingFeesPairsCopiedEventObject {
3206
+ export interface OtcBalanceUpdatedEventObject {
2803
3207
  collateralIndex: number;
2804
- pairsCount: BigNumber;
3208
+ balanceCollateral: BigNumber;
2805
3209
  }
2806
- export type BorrowingFeesPairsCopiedEvent = TypedEvent<[
3210
+ export type OtcBalanceUpdatedEvent = TypedEvent<[
2807
3211
  number,
2808
3212
  BigNumber
2809
- ], BorrowingFeesPairsCopiedEventObject>;
2810
- export type BorrowingFeesPairsCopiedEventFilter = TypedEventFilter<BorrowingFeesPairsCopiedEvent>;
2811
- export interface CollateralTransferredEventObject {
3213
+ ], OtcBalanceUpdatedEventObject>;
3214
+ export type OtcBalanceUpdatedEventFilter = TypedEventFilter<OtcBalanceUpdatedEvent>;
3215
+ export interface OtcConfigUpdatedEventObject {
3216
+ config: IOtc.OtcConfigStructOutput;
3217
+ }
3218
+ export type OtcConfigUpdatedEvent = TypedEvent<[
3219
+ IOtc.OtcConfigStructOutput
3220
+ ], OtcConfigUpdatedEventObject>;
3221
+ export type OtcConfigUpdatedEventFilter = TypedEventFilter<OtcConfigUpdatedEvent>;
3222
+ export interface OtcExecutedEventObject {
2812
3223
  collateralIndex: number;
2813
- balance: BigNumber;
2814
- govFees: BigNumber;
3224
+ collateralAmount: BigNumber;
3225
+ gnsPriceCollateral: BigNumber;
3226
+ treasuryAmountGns: BigNumber;
3227
+ stakingAmountGns: BigNumber;
3228
+ burnAmountGns: BigNumber;
2815
3229
  }
2816
- export type CollateralTransferredEvent = TypedEvent<[
3230
+ export type OtcExecutedEvent = TypedEvent<[
2817
3231
  number,
2818
3232
  BigNumber,
2819
- BigNumber
2820
- ], CollateralTransferredEventObject>;
2821
- export type CollateralTransferredEventFilter = TypedEventFilter<CollateralTransferredEvent>;
2822
- export interface LegacyLimitOrderSkippedEventObject {
2823
- collateralIndex: number;
2824
- trader: string;
2825
- pairIndex: BigNumber;
2826
- index: BigNumber;
2827
- }
2828
- export type LegacyLimitOrderSkippedEvent = TypedEvent<[
2829
- number,
2830
- string,
2831
3233
  BigNumber,
2832
- BigNumber
2833
- ], LegacyLimitOrderSkippedEventObject>;
2834
- export type LegacyLimitOrderSkippedEventFilter = TypedEventFilter<LegacyLimitOrderSkippedEvent>;
2835
- export interface LimitsCopiedEventObject {
2836
- collateralIndex: number;
2837
- fromIndex: BigNumber;
2838
- toIndex: BigNumber;
2839
- }
2840
- export type LimitsCopiedEvent = TypedEvent<[
2841
- number,
2842
3234
  BigNumber,
2843
- BigNumber
2844
- ], LimitsCopiedEventObject>;
2845
- export type LimitsCopiedEventFilter = TypedEventFilter<LimitsCopiedEvent>;
2846
- export interface MarkedAsDoneEventObject {
2847
- collateralIndex: number;
2848
- }
2849
- export type MarkedAsDoneEvent = TypedEvent<[number], MarkedAsDoneEventObject>;
2850
- export type MarkedAsDoneEventFilter = TypedEventFilter<MarkedAsDoneEvent>;
2851
- export interface PairTradesCopiedEventObject {
2852
- collateralIndex: number;
2853
- pairIndex: BigNumber;
2854
- tradersCount: BigNumber;
2855
- }
2856
- export type PairTradesCopiedEvent = TypedEvent<[
2857
- number,
2858
3235
  BigNumber,
2859
3236
  BigNumber
2860
- ], PairTradesCopiedEventObject>;
2861
- export type PairTradesCopiedEventFilter = TypedEventFilter<PairTradesCopiedEvent>;
2862
- export interface TradeCopiedEventObject {
2863
- collateralIndex: number;
2864
- trader: string;
2865
- pairIndex: BigNumber;
2866
- prevIndex: BigNumber;
2867
- newIndex: BigNumber;
2868
- }
2869
- export type TradeCopiedEvent = TypedEvent<[
2870
- number,
2871
- string,
2872
- BigNumber,
2873
- BigNumber,
2874
- BigNumber
2875
- ], TradeCopiedEventObject>;
2876
- export type TradeCopiedEventFilter = TypedEventFilter<TradeCopiedEvent>;
2877
- export interface TraderDelegationsCopiedEventObject {
2878
- collateralIndex: number;
2879
- tradersCount: BigNumber;
2880
- }
2881
- export type TraderDelegationsCopiedEvent = TypedEvent<[
2882
- number,
2883
- BigNumber
2884
- ], TraderDelegationsCopiedEventObject>;
2885
- export type TraderDelegationsCopiedEventFilter = TypedEventFilter<TraderDelegationsCopiedEvent>;
2886
- export interface TradesCopiedEventObject {
2887
- collateralIndex: number;
2888
- fromPairIndex: number;
2889
- toPairIndex: number;
2890
- }
2891
- export type TradesCopiedEvent = TypedEvent<[
2892
- number,
2893
- number,
2894
- number
2895
- ], TradesCopiedEventObject>;
2896
- export type TradesCopiedEventFilter = TypedEventFilter<TradesCopiedEvent>;
3237
+ ], OtcExecutedEventObject>;
3238
+ export type OtcExecutedEventFilter = TypedEventFilter<OtcExecutedEvent>;
2897
3239
  export interface GNSMultiCollatDiamond extends BaseContract {
2898
3240
  connect(signerOrProvider: Signer | Provider | string): this;
2899
3241
  attach(addressOrName: string): this;
@@ -2946,14 +3288,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
2946
3288
  fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.FeeStructOutput]>;
2947
3289
  feesCount(overrides?: CallOverrides): Promise<[BigNumber]>;
2948
3290
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<[BigNumber[]]>;
3291
+ getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput]>;
3292
+ getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput]>;
2949
3293
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupStructOutput]>;
2950
3294
  groupsCount(overrides?: CallOverrides): Promise<[BigNumber]>;
3295
+ initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
3296
+ from?: PromiseOrValue<string>;
3297
+ }): Promise<ContractTransaction>;
2951
3298
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
2952
3299
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
2953
3300
  pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
2954
3301
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
2955
3302
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string]>;
2956
3303
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3304
+ pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
2957
3305
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
2958
3306
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
2959
3307
  pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
@@ -2967,6 +3315,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
2967
3315
  IPairsStorage.FeeStructOutput
2968
3316
  ]>;
2969
3317
  pairsCount(overrides?: CallOverrides): Promise<[BigNumber]>;
3318
+ setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
3319
+ from?: PromiseOrValue<string>;
3320
+ }): Promise<ContractTransaction>;
2970
3321
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
2971
3322
  from?: PromiseOrValue<string>;
2972
3323
  }): Promise<ContractTransaction>;
@@ -3047,7 +3398,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3047
3398
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3048
3399
  from?: PromiseOrValue<string>;
3049
3400
  }): Promise<ContractTransaction>;
3050
- addPriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
3401
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3051
3402
  from?: PromiseOrValue<string>;
3052
3403
  }): Promise<ContractTransaction>;
3053
3404
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.PairOiStructOutput]>;
@@ -3058,17 +3409,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3058
3409
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
3059
3410
  activeOi: BigNumber;
3060
3411
  }>;
3061
- getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
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<[
3062
3416
  BigNumber,
3063
3417
  BigNumber
3064
3418
  ] & {
3065
3419
  priceImpactP: BigNumber;
3066
3420
  priceAfterImpact: BigNumber;
3067
3421
  }>;
3422
+ getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.TradePriceImpactInfoStructOutput]>;
3068
3423
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3069
3424
  from?: PromiseOrValue<string>;
3070
3425
  }): Promise<ContractTransaction>;
3071
- removePriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3426
+ initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3427
+ from?: PromiseOrValue<string>;
3428
+ }): Promise<ContractTransaction>;
3429
+ removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3072
3430
  from?: PromiseOrValue<string>;
3073
3431
  }): Promise<ContractTransaction>;
3074
3432
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3080,6 +3438,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3080
3438
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3081
3439
  from?: PromiseOrValue<string>;
3082
3440
  }): Promise<ContractTransaction>;
3441
+ setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3442
+ from?: PromiseOrValue<string>;
3443
+ }): Promise<ContractTransaction>;
3444
+ setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3445
+ from?: PromiseOrValue<string>;
3446
+ }): Promise<ContractTransaction>;
3083
3447
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
3084
3448
  from?: PromiseOrValue<string>;
3085
3449
  }): Promise<ContractTransaction>;
@@ -3092,23 +3456,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3092
3456
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput[]]>;
3093
3457
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeInfoStructOutput[]]>;
3094
3458
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeStructOutput[]]>;
3459
+ getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput[]]>;
3095
3460
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CollateralStructOutput]>;
3096
3461
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number]>;
3097
3462
  getCollaterals(overrides?: CallOverrides): Promise<[ITradingStorage.CollateralStructOutput[]]>;
3098
3463
  getCollateralsCount(overrides?: CallOverrides): Promise<[number]>;
3099
3464
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CounterStructOutput]>;
3100
3465
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3101
- getPendingOpenOrderType(_tradeType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number]>;
3102
3466
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput]>;
3103
3467
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput[]]>;
3104
- getPnlPercent(_openPrice: PromiseOrValue<BigNumberish>, _currentPrice: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _leverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3105
3468
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeStructOutput]>;
3106
3469
  getTradeInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeInfoStructOutput]>;
3107
3470
  getTradeInfos(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeInfoStructOutput[]]>;
3471
+ getTradeLiquidationParams(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput]>;
3108
3472
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3109
3473
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
3110
3474
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string[]]>;
3111
3475
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeStructOutput[]]>;
3476
+ getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput[]]>;
3112
3477
  getTradingActivated(overrides?: CallOverrides): Promise<[number]>;
3113
3478
  initializeTradingStorage(_gns: PromiseOrValue<string>, _gnsStaking: PromiseOrValue<string>, _collaterals: PromiseOrValue<string>[], _gTokens: PromiseOrValue<string>[], overrides?: Overrides & {
3114
3479
  from?: PromiseOrValue<string>;
@@ -3133,6 +3498,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3133
3498
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3134
3499
  from?: PromiseOrValue<string>;
3135
3500
  }): Promise<ContractTransaction>;
3501
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3502
+ from?: PromiseOrValue<string>;
3503
+ }): Promise<ContractTransaction>;
3136
3504
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3137
3505
  from?: PromiseOrValue<string>;
3138
3506
  }): Promise<ContractTransaction>;
@@ -3160,10 +3528,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3160
3528
  cancelOpenOrder(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3161
3529
  from?: PromiseOrValue<string>;
3162
3530
  }): Promise<ContractTransaction>;
3531
+ cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3532
+ from?: PromiseOrValue<string>;
3533
+ }): Promise<ContractTransaction>;
3163
3534
  closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3164
3535
  from?: PromiseOrValue<string>;
3165
3536
  }): Promise<ContractTransaction>;
3166
- closeTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
3537
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3167
3538
  from?: PromiseOrValue<string>;
3168
3539
  }): Promise<ContractTransaction>;
3169
3540
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -3173,6 +3544,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3173
3544
  getMarketOrdersTimeoutBlocks(overrides?: CallOverrides): Promise<[number]>;
3174
3545
  getTradingDelegate(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
3175
3546
  getWrappedNativeToken(overrides?: CallOverrides): Promise<[string]>;
3547
+ increasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3548
+ from?: PromiseOrValue<string>;
3549
+ }): Promise<ContractTransaction>;
3176
3550
  initializeTrading(_marketOrdersTimeoutBlocks: PromiseOrValue<BigNumberish>, _usersByPassTriggerLink: PromiseOrValue<string>[], overrides?: Overrides & {
3177
3551
  from?: PromiseOrValue<string>;
3178
3552
  }): Promise<ContractTransaction>;
@@ -3180,9 +3554,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3180
3554
  openTrade(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
3181
3555
  from?: PromiseOrValue<string>;
3182
3556
  }): Promise<ContractTransaction>;
3183
- openTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
3184
- from?: PromiseOrValue<string>;
3185
- }): Promise<ContractTransaction>;
3186
3557
  openTradeNative(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: PayableOverrides & {
3187
3558
  from?: PromiseOrValue<string>;
3188
3559
  }): Promise<ContractTransaction>;
@@ -3198,6 +3569,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3198
3569
  updateByPassTriggerLink(_users: PromiseOrValue<string>[], _shouldByPass: PromiseOrValue<boolean>[], overrides?: Overrides & {
3199
3570
  from?: PromiseOrValue<string>;
3200
3571
  }): Promise<ContractTransaction>;
3572
+ updateLeverage(_index: PromiseOrValue<BigNumberish>, _newLeverage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3573
+ from?: PromiseOrValue<string>;
3574
+ }): Promise<ContractTransaction>;
3201
3575
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3202
3576
  from?: PromiseOrValue<string>;
3203
3577
  }): Promise<ContractTransaction>;
@@ -3216,6 +3590,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3216
3590
  closeTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3217
3591
  from?: PromiseOrValue<string>;
3218
3592
  }): Promise<ContractTransaction>;
3593
+ decreasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3594
+ from?: PromiseOrValue<string>;
3595
+ }): Promise<ContractTransaction>;
3219
3596
  executeTriggerCloseOrderCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3220
3597
  from?: PromiseOrValue<string>;
3221
3598
  }): Promise<ContractTransaction>;
@@ -3224,12 +3601,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3224
3601
  }): Promise<ContractTransaction>;
3225
3602
  getPendingGovFeesCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3226
3603
  getVaultClosingFeeP(overrides?: CallOverrides): Promise<[number]>;
3604
+ increasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3605
+ from?: PromiseOrValue<string>;
3606
+ }): Promise<ContractTransaction>;
3227
3607
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3228
3608
  from?: PromiseOrValue<string>;
3229
3609
  }): Promise<ContractTransaction>;
3230
3610
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3231
3611
  from?: PromiseOrValue<string>;
3232
3612
  }): Promise<ContractTransaction>;
3613
+ updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3614
+ from?: PromiseOrValue<string>;
3615
+ }): Promise<ContractTransaction>;
3233
3616
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3234
3617
  from?: PromiseOrValue<string>;
3235
3618
  }): Promise<ContractTransaction>;
@@ -3286,6 +3669,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3286
3669
  handleTradeBorrowingCallback(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
3287
3670
  from?: PromiseOrValue<string>;
3288
3671
  }): Promise<ContractTransaction>;
3672
+ resetTradeBorrowingFees(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
3673
+ from?: PromiseOrValue<string>;
3674
+ }): Promise<ContractTransaction>;
3289
3675
  setBorrowingGroupParams(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, _value: IBorrowingFees.BorrowingGroupParamsStruct, overrides?: Overrides & {
3290
3676
  from?: PromiseOrValue<string>;
3291
3677
  }): Promise<ContractTransaction>;
@@ -3310,21 +3696,21 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3310
3696
  }): Promise<ContractTransaction>;
3311
3697
  getChainlinkToken(overrides?: CallOverrides): Promise<[string]>;
3312
3698
  getCollateralFromUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _normalizedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3313
- getCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceAggregator.UniV3PoolInfoStructOutput]>;
3699
+ getCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceAggregator.LiquidityPoolInfoStructOutput]>;
3314
3700
  getCollateralPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3315
3701
  getCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3316
3702
  getGnsPriceCollateralAddress(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
3317
3703
  getGnsPriceCollateralIndex(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3318
3704
  getGnsPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3319
3705
  getLimitJobId(overrides?: CallOverrides): Promise<[string]>;
3320
- getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3706
+ getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3321
3707
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<[string]>;
3322
3708
  getMarketJobId(overrides?: CallOverrides): Promise<[string]>;
3323
3709
  getMinAnswers(overrides?: CallOverrides): Promise<[number]>;
3324
3710
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3325
3711
  getOracles(overrides?: CallOverrides): Promise<[string[]]>;
3326
3712
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
3327
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
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 & {
3328
3714
  from?: PromiseOrValue<string>;
3329
3715
  }): Promise<ContractTransaction>;
3330
3716
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[IPriceAggregator.OrderStructOutput]>;
@@ -3332,7 +3718,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3332
3718
  getRequestCount(overrides?: CallOverrides): Promise<[BigNumber]>;
3333
3719
  getTwapInterval(overrides?: CallOverrides): Promise<[number]>;
3334
3720
  getUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3335
- initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralUniV3Pools: PromiseOrValue<string>[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
3721
+ initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
3336
3722
  from?: PromiseOrValue<string>;
3337
3723
  }): Promise<ContractTransaction>;
3338
3724
  removeOracle(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -3347,7 +3733,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3347
3733
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
3348
3734
  from?: PromiseOrValue<string>;
3349
3735
  }): Promise<ContractTransaction>;
3350
- updateCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, _uniV3Pool: PromiseOrValue<string>, overrides?: Overrides & {
3736
+ updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
3351
3737
  from?: PromiseOrValue<string>;
3352
3738
  }): Promise<ContractTransaction>;
3353
3739
  updateCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, _value: PromiseOrValue<string>, overrides?: Overrides & {
@@ -3362,33 +3748,19 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3362
3748
  updateTwapInterval(_twapInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3363
3749
  from?: PromiseOrValue<string>;
3364
3750
  }): Promise<ContractTransaction>;
3365
- copyAllState(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
3751
+ addOtcCollateralBalance(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3366
3752
  from?: PromiseOrValue<string>;
3367
3753
  }): Promise<ContractTransaction>;
3368
- copyBorrowingFeesGroups(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3754
+ getOtcBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3755
+ getOtcConfig(overrides?: CallOverrides): Promise<[IOtc.OtcConfigStructOutput]>;
3756
+ getOtcRate(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3757
+ initializeOtc(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
3369
3758
  from?: PromiseOrValue<string>;
3370
3759
  }): Promise<ContractTransaction>;
3371
- copyBorrowingFeesPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3760
+ sellGnsForCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3372
3761
  from?: PromiseOrValue<string>;
3373
3762
  }): Promise<ContractTransaction>;
3374
- copyLimits(_collateralIndex: PromiseOrValue<BigNumberish>, _maxIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3375
- from?: PromiseOrValue<string>;
3376
- }): Promise<ContractTransaction>;
3377
- copyPairOis(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3378
- from?: PromiseOrValue<string>;
3379
- }): Promise<ContractTransaction>;
3380
- copyTraderDelegations(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
3381
- from?: PromiseOrValue<string>;
3382
- }): Promise<ContractTransaction>;
3383
- copyTrades(_collateralIndex: PromiseOrValue<BigNumberish>, _maxPairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3384
- from?: PromiseOrValue<string>;
3385
- }): Promise<ContractTransaction>;
3386
- getCollateralStageState(_collateralIndex: PromiseOrValue<BigNumberish>, _stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
3387
- getCollateralState(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number, BigNumber, number]>;
3388
- markAsDone(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3389
- from?: PromiseOrValue<string>;
3390
- }): Promise<ContractTransaction>;
3391
- transferBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3763
+ updateOtcConfig(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
3392
3764
  from?: PromiseOrValue<string>;
3393
3765
  }): Promise<ContractTransaction>;
3394
3766
  };
@@ -3419,14 +3791,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3419
3791
  fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.FeeStructOutput>;
3420
3792
  feesCount(overrides?: CallOverrides): Promise<BigNumber>;
3421
3793
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<BigNumber[]>;
3794
+ getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
3795
+ getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
3422
3796
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupStructOutput>;
3423
3797
  groupsCount(overrides?: CallOverrides): Promise<BigNumber>;
3798
+ initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
3799
+ from?: PromiseOrValue<string>;
3800
+ }): Promise<ContractTransaction>;
3424
3801
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
3425
3802
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
3426
3803
  pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3427
3804
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3428
3805
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string]>;
3429
3806
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3807
+ pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3430
3808
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3431
3809
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3432
3810
  pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -3440,6 +3818,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3440
3818
  IPairsStorage.FeeStructOutput
3441
3819
  ]>;
3442
3820
  pairsCount(overrides?: CallOverrides): Promise<BigNumber>;
3821
+ setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
3822
+ from?: PromiseOrValue<string>;
3823
+ }): Promise<ContractTransaction>;
3443
3824
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3444
3825
  from?: PromiseOrValue<string>;
3445
3826
  }): Promise<ContractTransaction>;
@@ -3520,7 +3901,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3520
3901
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3521
3902
  from?: PromiseOrValue<string>;
3522
3903
  }): Promise<ContractTransaction>;
3523
- addPriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
3904
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3524
3905
  from?: PromiseOrValue<string>;
3525
3906
  }): Promise<ContractTransaction>;
3526
3907
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
@@ -3529,17 +3910,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3529
3910
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput>;
3530
3911
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
3531
3912
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
3532
- getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
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<[
3533
3917
  BigNumber,
3534
3918
  BigNumber
3535
3919
  ] & {
3536
3920
  priceImpactP: BigNumber;
3537
3921
  priceAfterImpact: BigNumber;
3538
3922
  }>;
3923
+ getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.TradePriceImpactInfoStructOutput>;
3539
3924
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3540
3925
  from?: PromiseOrValue<string>;
3541
3926
  }): Promise<ContractTransaction>;
3542
- removePriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3927
+ initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3928
+ from?: PromiseOrValue<string>;
3929
+ }): Promise<ContractTransaction>;
3930
+ removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3543
3931
  from?: PromiseOrValue<string>;
3544
3932
  }): Promise<ContractTransaction>;
3545
3933
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -3551,6 +3939,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3551
3939
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3552
3940
  from?: PromiseOrValue<string>;
3553
3941
  }): Promise<ContractTransaction>;
3942
+ setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3943
+ from?: PromiseOrValue<string>;
3944
+ }): Promise<ContractTransaction>;
3945
+ setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3946
+ from?: PromiseOrValue<string>;
3947
+ }): Promise<ContractTransaction>;
3554
3948
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
3555
3949
  from?: PromiseOrValue<string>;
3556
3950
  }): Promise<ContractTransaction>;
@@ -3563,23 +3957,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3563
3957
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
3564
3958
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
3565
3959
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
3960
+ getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
3566
3961
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput>;
3567
3962
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
3568
3963
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
3569
3964
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
3570
3965
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
3571
3966
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
3572
- getPendingOpenOrderType(_tradeType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
3573
3967
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
3574
3968
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
3575
- getPnlPercent(_openPrice: PromiseOrValue<BigNumberish>, _currentPrice: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _leverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3576
3969
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput>;
3577
3970
  getTradeInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput>;
3578
3971
  getTradeInfos(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
3972
+ getTradeLiquidationParams(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
3579
3973
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3580
3974
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
3581
3975
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string[]>;
3582
3976
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
3977
+ getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
3583
3978
  getTradingActivated(overrides?: CallOverrides): Promise<number>;
3584
3979
  initializeTradingStorage(_gns: PromiseOrValue<string>, _gnsStaking: PromiseOrValue<string>, _collaterals: PromiseOrValue<string>[], _gTokens: PromiseOrValue<string>[], overrides?: Overrides & {
3585
3980
  from?: PromiseOrValue<string>;
@@ -3604,6 +3999,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3604
3999
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3605
4000
  from?: PromiseOrValue<string>;
3606
4001
  }): Promise<ContractTransaction>;
4002
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4003
+ from?: PromiseOrValue<string>;
4004
+ }): Promise<ContractTransaction>;
3607
4005
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3608
4006
  from?: PromiseOrValue<string>;
3609
4007
  }): Promise<ContractTransaction>;
@@ -3631,10 +4029,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3631
4029
  cancelOpenOrder(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3632
4030
  from?: PromiseOrValue<string>;
3633
4031
  }): Promise<ContractTransaction>;
4032
+ cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4033
+ from?: PromiseOrValue<string>;
4034
+ }): Promise<ContractTransaction>;
3634
4035
  closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3635
4036
  from?: PromiseOrValue<string>;
3636
4037
  }): Promise<ContractTransaction>;
3637
- closeTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
4038
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3638
4039
  from?: PromiseOrValue<string>;
3639
4040
  }): Promise<ContractTransaction>;
3640
4041
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -3644,6 +4045,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3644
4045
  getMarketOrdersTimeoutBlocks(overrides?: CallOverrides): Promise<number>;
3645
4046
  getTradingDelegate(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
3646
4047
  getWrappedNativeToken(overrides?: CallOverrides): Promise<string>;
4048
+ increasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4049
+ from?: PromiseOrValue<string>;
4050
+ }): Promise<ContractTransaction>;
3647
4051
  initializeTrading(_marketOrdersTimeoutBlocks: PromiseOrValue<BigNumberish>, _usersByPassTriggerLink: PromiseOrValue<string>[], overrides?: Overrides & {
3648
4052
  from?: PromiseOrValue<string>;
3649
4053
  }): Promise<ContractTransaction>;
@@ -3651,9 +4055,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3651
4055
  openTrade(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
3652
4056
  from?: PromiseOrValue<string>;
3653
4057
  }): Promise<ContractTransaction>;
3654
- openTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
3655
- from?: PromiseOrValue<string>;
3656
- }): Promise<ContractTransaction>;
3657
4058
  openTradeNative(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: PayableOverrides & {
3658
4059
  from?: PromiseOrValue<string>;
3659
4060
  }): Promise<ContractTransaction>;
@@ -3669,6 +4070,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3669
4070
  updateByPassTriggerLink(_users: PromiseOrValue<string>[], _shouldByPass: PromiseOrValue<boolean>[], overrides?: Overrides & {
3670
4071
  from?: PromiseOrValue<string>;
3671
4072
  }): Promise<ContractTransaction>;
4073
+ updateLeverage(_index: PromiseOrValue<BigNumberish>, _newLeverage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4074
+ from?: PromiseOrValue<string>;
4075
+ }): Promise<ContractTransaction>;
3672
4076
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3673
4077
  from?: PromiseOrValue<string>;
3674
4078
  }): Promise<ContractTransaction>;
@@ -3687,6 +4091,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3687
4091
  closeTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3688
4092
  from?: PromiseOrValue<string>;
3689
4093
  }): Promise<ContractTransaction>;
4094
+ decreasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4095
+ from?: PromiseOrValue<string>;
4096
+ }): Promise<ContractTransaction>;
3690
4097
  executeTriggerCloseOrderCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3691
4098
  from?: PromiseOrValue<string>;
3692
4099
  }): Promise<ContractTransaction>;
@@ -3695,12 +4102,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3695
4102
  }): Promise<ContractTransaction>;
3696
4103
  getPendingGovFeesCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3697
4104
  getVaultClosingFeeP(overrides?: CallOverrides): Promise<number>;
4105
+ increasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4106
+ from?: PromiseOrValue<string>;
4107
+ }): Promise<ContractTransaction>;
3698
4108
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3699
4109
  from?: PromiseOrValue<string>;
3700
4110
  }): Promise<ContractTransaction>;
3701
4111
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3702
4112
  from?: PromiseOrValue<string>;
3703
4113
  }): Promise<ContractTransaction>;
4114
+ updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4115
+ from?: PromiseOrValue<string>;
4116
+ }): Promise<ContractTransaction>;
3704
4117
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3705
4118
  from?: PromiseOrValue<string>;
3706
4119
  }): Promise<ContractTransaction>;
@@ -3753,6 +4166,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3753
4166
  handleTradeBorrowingCallback(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
3754
4167
  from?: PromiseOrValue<string>;
3755
4168
  }): Promise<ContractTransaction>;
4169
+ resetTradeBorrowingFees(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
4170
+ from?: PromiseOrValue<string>;
4171
+ }): Promise<ContractTransaction>;
3756
4172
  setBorrowingGroupParams(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, _value: IBorrowingFees.BorrowingGroupParamsStruct, overrides?: Overrides & {
3757
4173
  from?: PromiseOrValue<string>;
3758
4174
  }): Promise<ContractTransaction>;
@@ -3777,21 +4193,21 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3777
4193
  }): Promise<ContractTransaction>;
3778
4194
  getChainlinkToken(overrides?: CallOverrides): Promise<string>;
3779
4195
  getCollateralFromUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _normalizedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3780
- getCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceAggregator.UniV3PoolInfoStructOutput>;
4196
+ getCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceAggregator.LiquidityPoolInfoStructOutput>;
3781
4197
  getCollateralPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3782
4198
  getCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
3783
4199
  getGnsPriceCollateralAddress(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
3784
4200
  getGnsPriceCollateralIndex(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3785
4201
  getGnsPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3786
4202
  getLimitJobId(overrides?: CallOverrides): Promise<string>;
3787
- getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4203
+ getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3788
4204
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<string>;
3789
4205
  getMarketJobId(overrides?: CallOverrides): Promise<string>;
3790
4206
  getMinAnswers(overrides?: CallOverrides): Promise<number>;
3791
4207
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
3792
4208
  getOracles(overrides?: CallOverrides): Promise<string[]>;
3793
4209
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
3794
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
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 & {
3795
4211
  from?: PromiseOrValue<string>;
3796
4212
  }): Promise<ContractTransaction>;
3797
4213
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
@@ -3799,7 +4215,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3799
4215
  getRequestCount(overrides?: CallOverrides): Promise<BigNumber>;
3800
4216
  getTwapInterval(overrides?: CallOverrides): Promise<number>;
3801
4217
  getUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3802
- initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralUniV3Pools: PromiseOrValue<string>[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
4218
+ initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
3803
4219
  from?: PromiseOrValue<string>;
3804
4220
  }): Promise<ContractTransaction>;
3805
4221
  removeOracle(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -3814,7 +4230,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3814
4230
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
3815
4231
  from?: PromiseOrValue<string>;
3816
4232
  }): Promise<ContractTransaction>;
3817
- updateCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, _uniV3Pool: PromiseOrValue<string>, overrides?: Overrides & {
4233
+ updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
3818
4234
  from?: PromiseOrValue<string>;
3819
4235
  }): Promise<ContractTransaction>;
3820
4236
  updateCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, _value: PromiseOrValue<string>, overrides?: Overrides & {
@@ -3829,33 +4245,19 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3829
4245
  updateTwapInterval(_twapInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3830
4246
  from?: PromiseOrValue<string>;
3831
4247
  }): Promise<ContractTransaction>;
3832
- copyAllState(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
3833
- from?: PromiseOrValue<string>;
3834
- }): Promise<ContractTransaction>;
3835
- copyBorrowingFeesGroups(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3836
- from?: PromiseOrValue<string>;
3837
- }): Promise<ContractTransaction>;
3838
- copyBorrowingFeesPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3839
- from?: PromiseOrValue<string>;
3840
- }): Promise<ContractTransaction>;
3841
- copyLimits(_collateralIndex: PromiseOrValue<BigNumberish>, _maxIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3842
- from?: PromiseOrValue<string>;
3843
- }): Promise<ContractTransaction>;
3844
- copyPairOis(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3845
- from?: PromiseOrValue<string>;
3846
- }): Promise<ContractTransaction>;
3847
- copyTraderDelegations(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
4248
+ addOtcCollateralBalance(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3848
4249
  from?: PromiseOrValue<string>;
3849
4250
  }): Promise<ContractTransaction>;
3850
- copyTrades(_collateralIndex: PromiseOrValue<BigNumberish>, _maxPairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4251
+ getOtcBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4252
+ getOtcConfig(overrides?: CallOverrides): Promise<IOtc.OtcConfigStructOutput>;
4253
+ getOtcRate(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4254
+ initializeOtc(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
3851
4255
  from?: PromiseOrValue<string>;
3852
4256
  }): Promise<ContractTransaction>;
3853
- getCollateralStageState(_collateralIndex: PromiseOrValue<BigNumberish>, _stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
3854
- getCollateralState(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number, BigNumber, number]>;
3855
- markAsDone(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4257
+ sellGnsForCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3856
4258
  from?: PromiseOrValue<string>;
3857
4259
  }): Promise<ContractTransaction>;
3858
- transferBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4260
+ updateOtcConfig(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
3859
4261
  from?: PromiseOrValue<string>;
3860
4262
  }): Promise<ContractTransaction>;
3861
4263
  callStatic: {
@@ -3874,14 +4276,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3874
4276
  fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.FeeStructOutput>;
3875
4277
  feesCount(overrides?: CallOverrides): Promise<BigNumber>;
3876
4278
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<BigNumber[]>;
4279
+ getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
4280
+ getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
3877
4281
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupStructOutput>;
3878
4282
  groupsCount(overrides?: CallOverrides): Promise<BigNumber>;
4283
+ initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: CallOverrides): Promise<void>;
3879
4284
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
3880
4285
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
3881
4286
  pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3882
4287
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3883
4288
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string]>;
3884
4289
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4290
+ pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3885
4291
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3886
4292
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3887
4293
  pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -3895,6 +4301,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3895
4301
  IPairsStorage.FeeStructOutput
3896
4302
  ]>;
3897
4303
  pairsCount(overrides?: CallOverrides): Promise<BigNumber>;
4304
+ setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: CallOverrides): Promise<void>;
3898
4305
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
3899
4306
  updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeStruct[], overrides?: CallOverrides): Promise<void>;
3900
4307
  updateGroups(_ids: PromiseOrValue<BigNumberish>[], _groups: IPairsStorage.GroupStruct[], overrides?: CallOverrides): Promise<void>;
@@ -3933,48 +4340,56 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3933
4340
  setFeeTiers(_feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: CallOverrides): Promise<void>;
3934
4341
  setGroupVolumeMultipliers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
3935
4342
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3936
- addPriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4343
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3937
4344
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
3938
4345
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput[]>;
3939
4346
  getOiWindowsSettings(overrides?: CallOverrides): Promise<IPriceImpact.OiWindowsSettingsStructOutput>;
3940
4347
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput>;
3941
4348
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
3942
4349
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
3943
- getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
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<[
3944
4354
  BigNumber,
3945
4355
  BigNumber
3946
4356
  ] & {
3947
4357
  priceImpactP: BigNumber;
3948
4358
  priceAfterImpact: BigNumber;
3949
4359
  }>;
4360
+ getTradePriceImpactInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.TradePriceImpactInfoStructOutput>;
3950
4361
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3951
- removePriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: 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>;
3952
4364
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
3953
4365
  setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3954
4366
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4367
+ setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4368
+ setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
3955
4369
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
3956
4370
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
3957
4371
  closeTrade(_tradeId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
3958
4372
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
3959
4373
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
3960
4374
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4375
+ getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
3961
4376
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput>;
3962
4377
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
3963
4378
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
3964
4379
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
3965
4380
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
3966
4381
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
3967
- getPendingOpenOrderType(_tradeType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
3968
4382
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
3969
4383
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
3970
- getPnlPercent(_openPrice: PromiseOrValue<BigNumberish>, _currentPrice: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _leverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3971
4384
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput>;
3972
4385
  getTradeInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput>;
3973
4386
  getTradeInfos(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
4387
+ getTradeLiquidationParams(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
3974
4388
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3975
4389
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
3976
4390
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string[]>;
3977
4391
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4392
+ getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
3978
4393
  getTradingActivated(overrides?: CallOverrides): Promise<number>;
3979
4394
  initializeTradingStorage(_gns: PromiseOrValue<string>, _gnsStaking: PromiseOrValue<string>, _collaterals: PromiseOrValue<string>[], _gTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
3980
4395
  isCollateralActive(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
@@ -3985,6 +4400,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3985
4400
  updateGToken(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
3986
4401
  updateOpenOrderDetails(_tradeId: ITradingStorage.IdStruct, _openPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3987
4402
  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>;
3988
4404
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3989
4405
  updateTradeTp(_tradeId: ITradingStorage.IdStruct, _newTp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3990
4406
  updateTradingActivated(_activated: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -3996,34 +4412,39 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3996
4412
  initializeTriggerRewards(_timeoutBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3997
4413
  updateTriggerTimeoutBlocks(_timeoutBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3998
4414
  cancelOpenOrder(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4415
+ cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
3999
4416
  closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4000
- closeTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
4417
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4001
4418
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
4002
4419
  getByPassTriggerLink(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4003
4420
  getMarketOrdersTimeoutBlocks(overrides?: CallOverrides): Promise<number>;
4004
4421
  getTradingDelegate(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
4005
4422
  getWrappedNativeToken(overrides?: CallOverrides): Promise<string>;
4423
+ increasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4006
4424
  initializeTrading(_marketOrdersTimeoutBlocks: PromiseOrValue<BigNumberish>, _usersByPassTriggerLink: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4007
4425
  isWrappedNativeToken(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4008
4426
  openTrade(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4009
- openTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
4010
4427
  openTradeNative(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4011
4428
  removeTradingDelegate(overrides?: CallOverrides): Promise<void>;
4012
4429
  setTradingDelegate(_delegate: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4013
4430
  triggerOrder(_packed: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4014
4431
  updateByPassTriggerLink(_users: PromiseOrValue<string>[], _shouldByPass: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
4432
+ updateLeverage(_index: PromiseOrValue<BigNumberish>, _newLeverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4015
4433
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4016
4434
  updateOpenOrder(_index: PromiseOrValue<BigNumberish>, _triggerPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4017
4435
  updateSl(_index: PromiseOrValue<BigNumberish>, _newSl: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4018
4436
  updateTp(_index: PromiseOrValue<BigNumberish>, _newTp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4019
4437
  claimPendingGovFees(overrides?: CallOverrides): Promise<void>;
4020
4438
  closeTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4439
+ decreasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4021
4440
  executeTriggerCloseOrderCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4022
4441
  executeTriggerOpenOrderCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4023
4442
  getPendingGovFeesCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4024
4443
  getVaultClosingFeeP(overrides?: CallOverrides): Promise<number>;
4444
+ increasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4025
4445
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4026
4446
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4447
+ updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4027
4448
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4028
4449
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4029
4450
  IBorrowingFees.BorrowingDataStructOutput[],
@@ -4072,6 +4493,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4072
4493
  getTradeBorrowingFee(_input: IBorrowingFees.BorrowingFeeInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
4073
4494
  getTradeLiquidationPrice(_input: IBorrowingFees.LiqPriceInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
4074
4495
  handleTradeBorrowingCallback(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4496
+ resetTradeBorrowingFees(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4075
4497
  setBorrowingGroupParams(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, _value: IBorrowingFees.BorrowingGroupParamsStruct, overrides?: CallOverrides): Promise<void>;
4076
4498
  setBorrowingGroupParamsArray(_collateralIndex: PromiseOrValue<BigNumberish>, _indices: PromiseOrValue<BigNumberish>[], _values: IBorrowingFees.BorrowingGroupParamsStruct[], overrides?: CallOverrides): Promise<void>;
4077
4499
  setBorrowingPairParams(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _value: IBorrowingFees.BorrowingPairParamsStruct, overrides?: CallOverrides): Promise<void>;
@@ -4082,47 +4504,43 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4082
4504
  fulfill(_requestId: PromiseOrValue<BytesLike>, _priceData: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4083
4505
  getChainlinkToken(overrides?: CallOverrides): Promise<string>;
4084
4506
  getCollateralFromUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _normalizedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4085
- getCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceAggregator.UniV3PoolInfoStructOutput>;
4507
+ getCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceAggregator.LiquidityPoolInfoStructOutput>;
4086
4508
  getCollateralPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4087
4509
  getCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4088
4510
  getGnsPriceCollateralAddress(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4089
4511
  getGnsPriceCollateralIndex(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4090
4512
  getGnsPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4091
4513
  getLimitJobId(overrides?: CallOverrides): Promise<string>;
4092
- getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4514
+ getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4093
4515
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<string>;
4094
4516
  getMarketJobId(overrides?: CallOverrides): Promise<string>;
4095
4517
  getMinAnswers(overrides?: CallOverrides): Promise<number>;
4096
4518
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4097
4519
  getOracles(overrides?: CallOverrides): Promise<string[]>;
4098
4520
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
4099
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
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>;
4100
4522
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
4101
4523
  getPriceAggregatorOrderAnswers(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<IPriceAggregator.OrderAnswerStructOutput[]>;
4102
4524
  getRequestCount(overrides?: CallOverrides): Promise<BigNumber>;
4103
4525
  getTwapInterval(overrides?: CallOverrides): Promise<number>;
4104
4526
  getUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4105
- initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralUniV3Pools: PromiseOrValue<string>[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4527
+ initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4106
4528
  removeOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4107
4529
  replaceOracle(_index: PromiseOrValue<BigNumberish>, _a: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4108
4530
  setLimitJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
4109
4531
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
4110
- updateCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, _uniV3Pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4532
+ updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: CallOverrides): Promise<void>;
4111
4533
  updateCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, _value: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4112
4534
  updateLinkUsdPriceFeed(_value: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4113
4535
  updateMinAnswers(_value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4114
4536
  updateTwapInterval(_twapInterval: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4115
- copyAllState(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4116
- copyBorrowingFeesGroups(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4117
- copyBorrowingFeesPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4118
- copyLimits(_collateralIndex: PromiseOrValue<BigNumberish>, _maxIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4119
- copyPairOis(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4120
- copyTraderDelegations(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4121
- copyTrades(_collateralIndex: PromiseOrValue<BigNumberish>, _maxPairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4122
- getCollateralStageState(_collateralIndex: PromiseOrValue<BigNumberish>, _stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4123
- getCollateralState(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number, BigNumber, number]>;
4124
- markAsDone(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4125
- transferBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4537
+ addOtcCollateralBalance(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4538
+ getOtcBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4539
+ getOtcConfig(overrides?: CallOverrides): Promise<IOtc.OtcConfigStructOutput>;
4540
+ getOtcRate(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4541
+ initializeOtc(_config: IOtc.OtcConfigStruct, overrides?: CallOverrides): Promise<void>;
4542
+ sellGnsForCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4543
+ updateOtcConfig(_config: IOtc.OtcConfigStruct, overrides?: CallOverrides): Promise<void>;
4126
4544
  };
4127
4545
  filters: {
4128
4546
  "AccessControlUpdated(address,uint8,bool)"(target?: null, role?: null, access?: null): AccessControlUpdatedEventFilter;
@@ -4139,6 +4557,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4139
4557
  FeeUpdated(index?: null): FeeUpdatedEventFilter;
4140
4558
  "GroupAdded(uint256,string)"(index?: null, name?: null): GroupAddedEventFilter;
4141
4559
  GroupAdded(index?: null, name?: null): GroupAddedEventFilter;
4560
+ "GroupLiquidationParamsUpdated(uint256,tuple)"(index?: null, params?: null): GroupLiquidationParamsUpdatedEventFilter;
4561
+ GroupLiquidationParamsUpdated(index?: null, params?: null): GroupLiquidationParamsUpdatedEventFilter;
4142
4562
  "GroupUpdated(uint256)"(index?: null): GroupUpdatedEventFilter;
4143
4563
  GroupUpdated(index?: null): GroupUpdatedEventFilter;
4144
4564
  "PairAdded(uint256,string,string)"(index?: null, from?: null, to?: null): PairAddedEventFilter;
@@ -4195,14 +4615,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4195
4615
  PriceImpactOiTransferredPair(pairIndex?: PromiseOrValue<BigNumberish> | null, totalPairOi?: null): PriceImpactOiTransferredPairEventFilter;
4196
4616
  "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)"(pairsCount?: null, prevCurrentWindowId?: null, prevEarliestWindowId?: null, newCurrentWindowId?: null): PriceImpactOiTransferredPairsEventFilter;
4197
4617
  PriceImpactOiTransferredPairs(pairsCount?: null, prevCurrentWindowId?: null, prevEarliestWindowId?: null, newCurrentWindowId?: null): PriceImpactOiTransferredPairsEventFilter;
4198
- "PriceImpactOpenInterestAdded(tuple)"(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
4199
- PriceImpactOpenInterestAdded(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
4618
+ "PriceImpactOpenInterestAdded(tuple,bool)"(oiWindowUpdate?: null, isPartial?: null): PriceImpactOpenInterestAddedEventFilter;
4619
+ PriceImpactOpenInterestAdded(oiWindowUpdate?: null, isPartial?: null): PriceImpactOpenInterestAddedEventFilter;
4200
4620
  "PriceImpactOpenInterestRemoved(tuple,bool)"(oiWindowUpdate?: null, notOutdated?: null): PriceImpactOpenInterestRemovedEventFilter;
4201
4621
  PriceImpactOpenInterestRemoved(oiWindowUpdate?: null, notOutdated?: null): PriceImpactOpenInterestRemovedEventFilter;
4202
4622
  "PriceImpactWindowsCountUpdated(uint48)"(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
4203
4623
  PriceImpactWindowsCountUpdated(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
4204
4624
  "PriceImpactWindowsDurationUpdated(uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsDurationUpdatedEventFilter;
4205
4625
  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;
4629
+ ProtectionCloseFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
4206
4630
  "CollateralAdded(address,uint8,address)"(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
4207
4631
  CollateralAdded(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
4208
4632
  "CollateralDisabled(uint8)"(index?: null): CollateralDisabledEventFilter;
@@ -4221,10 +4645,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4221
4645
  TradeClosed(tradeId?: null): TradeClosedEventFilter;
4222
4646
  "TradeCollateralUpdated(tuple,uint120)"(tradeId?: null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
4223
4647
  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;
4224
4650
  "TradeSlUpdated(tuple,uint64)"(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4225
4651
  TradeSlUpdated(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4226
- "TradeStored(tuple,tuple)"(trade?: null, tradeInfo?: null): TradeStoredEventFilter;
4227
- TradeStored(trade?: null, tradeInfo?: null): TradeStoredEventFilter;
4652
+ "TradeStored(tuple,tuple,tuple)"(trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
4653
+ TradeStored(trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
4228
4654
  "TradeTpUpdated(tuple,uint64)"(tradeId?: null, newTp?: null): TradeTpUpdatedEventFilter;
4229
4655
  TradeTpUpdated(tradeId?: null, newTp?: null): TradeTpUpdatedEventFilter;
4230
4656
  "TradingActivatedUpdated(uint8)"(activated?: null): TradingActivatedUpdatedEventFilter;
@@ -4241,6 +4667,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4241
4667
  ChainlinkCallbackTimeout(pendingOrderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null): ChainlinkCallbackTimeoutEventFilter;
4242
4668
  "CouldNotCloseTrade(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): CouldNotCloseTradeEventFilter;
4243
4669
  CouldNotCloseTrade(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): CouldNotCloseTradeEventFilter;
4670
+ "LeverageUpdateExecuted(tuple,bool,uint8,uint8,address,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, isIncrease?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, marketPrice?: null, collateralDelta?: null, values?: null): LeverageUpdateExecutedEventFilter;
4671
+ LeverageUpdateExecuted(orderId?: null, isIncrease?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, marketPrice?: null, collateralDelta?: null, values?: null): LeverageUpdateExecutedEventFilter;
4672
+ "LeverageUpdateInitiated(tuple,address,uint256,uint256,bool,uint256)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, newLeverage?: null): LeverageUpdateInitiatedEventFilter;
4673
+ LeverageUpdateInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, newLeverage?: null): LeverageUpdateInitiatedEventFilter;
4244
4674
  "MarketOrderInitiated(tuple,address,uint16,bool)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, open?: null): MarketOrderInitiatedEventFilter;
4245
4675
  MarketOrderInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, open?: null): MarketOrderInitiatedEventFilter;
4246
4676
  "MarketOrdersTimeoutBlocksUpdated(uint256)"(newValueBlocks?: null): MarketOrdersTimeoutBlocksUpdatedEventFilter;
@@ -4253,6 +4683,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4253
4683
  OpenLimitUpdated(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, newPrice?: null, newTp?: null, newSl?: null, maxSlippageP?: null): OpenLimitUpdatedEventFilter;
4254
4684
  "OpenOrderPlaced(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): OpenOrderPlacedEventFilter;
4255
4685
  OpenOrderPlaced(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): OpenOrderPlacedEventFilter;
4686
+ "PositionSizeDecreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeDecreaseExecutedEventFilter;
4687
+ PositionSizeDecreaseExecuted(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeDecreaseExecutedEventFilter;
4688
+ "PositionSizeIncreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeIncreaseExecutedEventFilter;
4689
+ PositionSizeIncreaseExecuted(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeIncreaseExecutedEventFilter;
4690
+ "PositionSizeUpdateInitiated(tuple,address,uint256,uint256,bool,uint256,uint256)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, collateralDelta?: null, leverageDelta?: null): PositionSizeUpdateInitiatedEventFilter;
4691
+ PositionSizeUpdateInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, collateralDelta?: null, leverageDelta?: null): PositionSizeUpdateInitiatedEventFilter;
4256
4692
  "TriggerOrderInitiated(tuple,address,uint16,bool)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, byPassesLinkCost?: null): TriggerOrderInitiatedEventFilter;
4257
4693
  TriggerOrderInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, byPassesLinkCost?: null): TriggerOrderInitiatedEventFilter;
4258
4694
  "BorrowingFeeCharged(address,uint8,uint256)"(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): BorrowingFeeChargedEventFilter;
@@ -4287,8 +4723,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4287
4723
  BorrowingGroupOiUpdated(collateralIndex?: PromiseOrValue<BigNumberish> | null, groupIndex?: PromiseOrValue<BigNumberish> | null, long?: null, increase?: null, delta?: null, newOiLong?: null, newOiShort?: null): BorrowingGroupOiUpdatedEventFilter;
4288
4724
  "BorrowingGroupUpdated(uint8,uint16,uint32,uint72,uint48)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, maxOi?: null, feeExponent?: null): BorrowingGroupUpdatedEventFilter;
4289
4725
  BorrowingGroupUpdated(collateralIndex?: PromiseOrValue<BigNumberish> | null, groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, maxOi?: null, feeExponent?: null): BorrowingGroupUpdatedEventFilter;
4290
- "BorrowingInitialAccFeesStored(uint8,address,uint16,uint32,uint64,uint64)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, initialPairAccFee?: null, initialGroupAccFee?: null): BorrowingInitialAccFeesStoredEventFilter;
4291
- BorrowingInitialAccFeesStored(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, initialPairAccFee?: null, initialGroupAccFee?: null): BorrowingInitialAccFeesStoredEventFilter;
4726
+ "BorrowingInitialAccFeesStored(uint8,address,uint16,uint32,bool,uint64,uint64)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, initialPairAccFee?: null, initialGroupAccFee?: null): BorrowingInitialAccFeesStoredEventFilter;
4727
+ BorrowingInitialAccFeesStored(collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, initialPairAccFee?: null, initialGroupAccFee?: null): BorrowingInitialAccFeesStoredEventFilter;
4292
4728
  "BorrowingPairAccFeesUpdated(uint8,uint16,uint256,uint64,uint64)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, currentBlock?: null, accFeeLong?: null, accFeeShort?: null): BorrowingPairAccFeesUpdatedEventFilter;
4293
4729
  BorrowingPairAccFeesUpdated(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, currentBlock?: null, accFeeLong?: null, accFeeShort?: null): BorrowingPairAccFeesUpdatedEventFilter;
4294
4730
  "BorrowingPairGroupUpdated(uint8,uint16,uint16,uint16)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, prevGroupIndex?: null, newGroupIndex?: null): BorrowingPairGroupUpdatedEventFilter;
@@ -4303,8 +4739,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4303
4739
  ChainlinkFulfilled(id?: PromiseOrValue<BytesLike> | null): ChainlinkFulfilledEventFilter;
4304
4740
  "ChainlinkRequested(bytes32)"(id?: PromiseOrValue<BytesLike> | null): ChainlinkRequestedEventFilter;
4305
4741
  ChainlinkRequested(id?: PromiseOrValue<BytesLike> | null): ChainlinkRequestedEventFilter;
4306
- "CollateralGnsUniV3PoolUpdated(uint8,tuple)"(collateralIndex?: null, newValue?: null): CollateralGnsUniV3PoolUpdatedEventFilter;
4307
- CollateralGnsUniV3PoolUpdated(collateralIndex?: null, newValue?: null): CollateralGnsUniV3PoolUpdatedEventFilter;
4742
+ "CollateralGnsLiquidityPoolUpdated(uint8,tuple)"(collateralIndex?: null, newValue?: null): CollateralGnsLiquidityPoolUpdatedEventFilter;
4743
+ CollateralGnsLiquidityPoolUpdated(collateralIndex?: null, newValue?: null): CollateralGnsLiquidityPoolUpdatedEventFilter;
4308
4744
  "CollateralUsdPriceFeedUpdated(uint8,address)"(collateralIndex?: null, value?: null): CollateralUsdPriceFeedUpdatedEventFilter;
4309
4745
  CollateralUsdPriceFeedUpdated(collateralIndex?: null, value?: null): CollateralUsdPriceFeedUpdatedEventFilter;
4310
4746
  "JobIdUpdated(uint256,bytes32)"(index?: null, jobId?: null): JobIdUpdatedEventFilter;
@@ -4325,34 +4761,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4325
4761
  OracleReplaced(index?: null, oldOracle?: null, newOracle?: null): OracleReplacedEventFilter;
4326
4762
  "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)"(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null): PriceReceivedEventFilter;
4327
4763
  PriceReceived(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null): PriceReceivedEventFilter;
4328
- "PriceRequested(uint8,tuple,uint8,uint256,bytes32,uint256,uint256,uint256,bool)"(collateralIndex?: null, pendingOrderId?: null, orderType?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, job?: PromiseOrValue<BytesLike> | null, nodesCount?: null, linkFeePerNode?: null, fromBlock?: null, isLookback?: null): PriceRequestedEventFilter;
4329
- PriceRequested(collateralIndex?: null, pendingOrderId?: null, orderType?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, job?: PromiseOrValue<BytesLike> | null, nodesCount?: null, linkFeePerNode?: null, fromBlock?: null, isLookback?: null): PriceRequestedEventFilter;
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;
4330
4766
  "TradingCallbackExecuted(tuple,uint8)"(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
4331
4767
  TradingCallbackExecuted(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
4332
4768
  "TwapIntervalUpdated(uint32)"(newValue?: null): TwapIntervalUpdatedEventFilter;
4333
4769
  TwapIntervalUpdated(newValue?: null): TwapIntervalUpdatedEventFilter;
4334
- "BorrowingFeesGroupsCopied(uint8,uint16)"(collateralIndex?: null, groupsCount?: null): BorrowingFeesGroupsCopiedEventFilter;
4335
- BorrowingFeesGroupsCopied(collateralIndex?: null, groupsCount?: null): BorrowingFeesGroupsCopiedEventFilter;
4336
- "BorrowingFeesPairOisCopied(uint8,uint256)"(collateralIndex?: null, pairsCount?: null): BorrowingFeesPairOisCopiedEventFilter;
4337
- BorrowingFeesPairOisCopied(collateralIndex?: null, pairsCount?: null): BorrowingFeesPairOisCopiedEventFilter;
4338
- "BorrowingFeesPairsCopied(uint8,uint256)"(collateralIndex?: null, pairsCount?: null): BorrowingFeesPairsCopiedEventFilter;
4339
- BorrowingFeesPairsCopied(collateralIndex?: null, pairsCount?: null): BorrowingFeesPairsCopiedEventFilter;
4340
- "CollateralTransferred(uint8,uint256,uint256)"(collateralIndex?: null, balance?: null, govFees?: null): CollateralTransferredEventFilter;
4341
- CollateralTransferred(collateralIndex?: null, balance?: null, govFees?: null): CollateralTransferredEventFilter;
4342
- "LegacyLimitOrderSkipped(uint8,address,uint256,uint256)"(collateralIndex?: null, trader?: null, pairIndex?: null, index?: null): LegacyLimitOrderSkippedEventFilter;
4343
- LegacyLimitOrderSkipped(collateralIndex?: null, trader?: null, pairIndex?: null, index?: null): LegacyLimitOrderSkippedEventFilter;
4344
- "LimitsCopied(uint8,uint256,uint256)"(collateralIndex?: null, fromIndex?: null, toIndex?: null): LimitsCopiedEventFilter;
4345
- LimitsCopied(collateralIndex?: null, fromIndex?: null, toIndex?: null): LimitsCopiedEventFilter;
4346
- "MarkedAsDone(uint8)"(collateralIndex?: null): MarkedAsDoneEventFilter;
4347
- MarkedAsDone(collateralIndex?: null): MarkedAsDoneEventFilter;
4348
- "PairTradesCopied(uint8,uint256,uint256)"(collateralIndex?: null, pairIndex?: null, tradersCount?: null): PairTradesCopiedEventFilter;
4349
- PairTradesCopied(collateralIndex?: null, pairIndex?: null, tradersCount?: null): PairTradesCopiedEventFilter;
4350
- "TradeCopied(uint8,address,uint256,uint256,uint256)"(collateralIndex?: null, trader?: null, pairIndex?: null, prevIndex?: null, newIndex?: null): TradeCopiedEventFilter;
4351
- TradeCopied(collateralIndex?: null, trader?: null, pairIndex?: null, prevIndex?: null, newIndex?: null): TradeCopiedEventFilter;
4352
- "TraderDelegationsCopied(uint8,uint256)"(collateralIndex?: null, tradersCount?: null): TraderDelegationsCopiedEventFilter;
4353
- TraderDelegationsCopied(collateralIndex?: null, tradersCount?: null): TraderDelegationsCopiedEventFilter;
4354
- "TradesCopied(uint8,uint16,uint16)"(collateralIndex?: null, fromPairIndex?: null, toPairIndex?: null): TradesCopiedEventFilter;
4355
- TradesCopied(collateralIndex?: null, fromPairIndex?: null, toPairIndex?: null): TradesCopiedEventFilter;
4770
+ "OtcBalanceUpdated(uint8,uint256)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, balanceCollateral?: null): OtcBalanceUpdatedEventFilter;
4771
+ OtcBalanceUpdated(collateralIndex?: PromiseOrValue<BigNumberish> | null, balanceCollateral?: null): OtcBalanceUpdatedEventFilter;
4772
+ "OtcConfigUpdated(tuple)"(config?: null): OtcConfigUpdatedEventFilter;
4773
+ OtcConfigUpdated(config?: null): OtcConfigUpdatedEventFilter;
4774
+ "OtcExecuted(uint8,uint256,uint256,uint256,uint256,uint256)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, collateralAmount?: null, gnsPriceCollateral?: null, treasuryAmountGns?: null, stakingAmountGns?: null, burnAmountGns?: null): OtcExecutedEventFilter;
4775
+ OtcExecuted(collateralIndex?: PromiseOrValue<BigNumberish> | null, collateralAmount?: null, gnsPriceCollateral?: null, treasuryAmountGns?: null, stakingAmountGns?: null, burnAmountGns?: null): OtcExecutedEventFilter;
4356
4776
  };
4357
4777
  estimateGas: {
4358
4778
  diamondCut(_faceCut: IDiamondStorage.FacetCutStruct[], _init: PromiseOrValue<string>, _calldata: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -4382,14 +4802,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4382
4802
  fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4383
4803
  feesCount(overrides?: CallOverrides): Promise<BigNumber>;
4384
4804
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<BigNumber>;
4805
+ getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4806
+ getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4385
4807
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4386
4808
  groupsCount(overrides?: CallOverrides): Promise<BigNumber>;
4809
+ initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
4810
+ from?: PromiseOrValue<string>;
4811
+ }): Promise<BigNumber>;
4387
4812
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4388
4813
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4389
4814
  pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4390
4815
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4391
4816
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4392
4817
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4818
+ pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4393
4819
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4394
4820
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4395
4821
  pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -4399,6 +4825,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4399
4825
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4400
4826
  pairsBackend(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4401
4827
  pairsCount(overrides?: CallOverrides): Promise<BigNumber>;
4828
+ setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
4829
+ from?: PromiseOrValue<string>;
4830
+ }): Promise<BigNumber>;
4402
4831
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4403
4832
  from?: PromiseOrValue<string>;
4404
4833
  }): Promise<BigNumber>;
@@ -4479,7 +4908,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4479
4908
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4480
4909
  from?: PromiseOrValue<string>;
4481
4910
  }): Promise<BigNumber>;
4482
- addPriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
4911
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4483
4912
  from?: PromiseOrValue<string>;
4484
4913
  }): Promise<BigNumber>;
4485
4914
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -4488,11 +4917,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4488
4917
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4489
4918
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
4490
4919
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
4491
- getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, 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>;
4492
4925
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4493
4926
  from?: PromiseOrValue<string>;
4494
4927
  }): Promise<BigNumber>;
4495
- removePriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4928
+ initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4929
+ from?: PromiseOrValue<string>;
4930
+ }): Promise<BigNumber>;
4931
+ removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4496
4932
  from?: PromiseOrValue<string>;
4497
4933
  }): Promise<BigNumber>;
4498
4934
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -4504,6 +4940,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4504
4940
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4505
4941
  from?: PromiseOrValue<string>;
4506
4942
  }): Promise<BigNumber>;
4943
+ setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4944
+ from?: PromiseOrValue<string>;
4945
+ }): Promise<BigNumber>;
4946
+ setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4947
+ from?: PromiseOrValue<string>;
4948
+ }): Promise<BigNumber>;
4507
4949
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
4508
4950
  from?: PromiseOrValue<string>;
4509
4951
  }): Promise<BigNumber>;
@@ -4516,23 +4958,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4516
4958
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4517
4959
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4518
4960
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4961
+ getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4519
4962
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4520
4963
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4521
4964
  getCollaterals(overrides?: CallOverrides): Promise<BigNumber>;
4522
4965
  getCollateralsCount(overrides?: CallOverrides): Promise<BigNumber>;
4523
4966
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4524
4967
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4525
- getPendingOpenOrderType(_tradeType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4526
4968
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<BigNumber>;
4527
4969
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4528
- getPnlPercent(_openPrice: PromiseOrValue<BigNumberish>, _currentPrice: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _leverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4529
4970
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4530
4971
  getTradeInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4531
4972
  getTradeInfos(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4973
+ getTradeLiquidationParams(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4532
4974
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4533
4975
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4534
4976
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4535
4977
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4978
+ getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4536
4979
  getTradingActivated(overrides?: CallOverrides): Promise<BigNumber>;
4537
4980
  initializeTradingStorage(_gns: PromiseOrValue<string>, _gnsStaking: PromiseOrValue<string>, _collaterals: PromiseOrValue<string>[], _gTokens: PromiseOrValue<string>[], overrides?: Overrides & {
4538
4981
  from?: PromiseOrValue<string>;
@@ -4557,6 +5000,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4557
5000
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4558
5001
  from?: PromiseOrValue<string>;
4559
5002
  }): Promise<BigNumber>;
5003
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5004
+ from?: PromiseOrValue<string>;
5005
+ }): Promise<BigNumber>;
4560
5006
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4561
5007
  from?: PromiseOrValue<string>;
4562
5008
  }): Promise<BigNumber>;
@@ -4584,10 +5030,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4584
5030
  cancelOpenOrder(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4585
5031
  from?: PromiseOrValue<string>;
4586
5032
  }): Promise<BigNumber>;
5033
+ cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5034
+ from?: PromiseOrValue<string>;
5035
+ }): Promise<BigNumber>;
4587
5036
  closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4588
5037
  from?: PromiseOrValue<string>;
4589
5038
  }): Promise<BigNumber>;
4590
- closeTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
5039
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4591
5040
  from?: PromiseOrValue<string>;
4592
5041
  }): Promise<BigNumber>;
4593
5042
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -4597,6 +5046,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4597
5046
  getMarketOrdersTimeoutBlocks(overrides?: CallOverrides): Promise<BigNumber>;
4598
5047
  getTradingDelegate(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4599
5048
  getWrappedNativeToken(overrides?: CallOverrides): Promise<BigNumber>;
5049
+ increasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5050
+ from?: PromiseOrValue<string>;
5051
+ }): Promise<BigNumber>;
4600
5052
  initializeTrading(_marketOrdersTimeoutBlocks: PromiseOrValue<BigNumberish>, _usersByPassTriggerLink: PromiseOrValue<string>[], overrides?: Overrides & {
4601
5053
  from?: PromiseOrValue<string>;
4602
5054
  }): Promise<BigNumber>;
@@ -4604,9 +5056,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4604
5056
  openTrade(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
4605
5057
  from?: PromiseOrValue<string>;
4606
5058
  }): Promise<BigNumber>;
4607
- openTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
4608
- from?: PromiseOrValue<string>;
4609
- }): Promise<BigNumber>;
4610
5059
  openTradeNative(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: PayableOverrides & {
4611
5060
  from?: PromiseOrValue<string>;
4612
5061
  }): Promise<BigNumber>;
@@ -4622,6 +5071,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4622
5071
  updateByPassTriggerLink(_users: PromiseOrValue<string>[], _shouldByPass: PromiseOrValue<boolean>[], overrides?: Overrides & {
4623
5072
  from?: PromiseOrValue<string>;
4624
5073
  }): Promise<BigNumber>;
5074
+ updateLeverage(_index: PromiseOrValue<BigNumberish>, _newLeverage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5075
+ from?: PromiseOrValue<string>;
5076
+ }): Promise<BigNumber>;
4625
5077
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4626
5078
  from?: PromiseOrValue<string>;
4627
5079
  }): Promise<BigNumber>;
@@ -4640,6 +5092,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4640
5092
  closeTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4641
5093
  from?: PromiseOrValue<string>;
4642
5094
  }): Promise<BigNumber>;
5095
+ decreasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5096
+ from?: PromiseOrValue<string>;
5097
+ }): Promise<BigNumber>;
4643
5098
  executeTriggerCloseOrderCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4644
5099
  from?: PromiseOrValue<string>;
4645
5100
  }): Promise<BigNumber>;
@@ -4648,12 +5103,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4648
5103
  }): Promise<BigNumber>;
4649
5104
  getPendingGovFeesCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4650
5105
  getVaultClosingFeeP(overrides?: CallOverrides): Promise<BigNumber>;
5106
+ increasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5107
+ from?: PromiseOrValue<string>;
5108
+ }): Promise<BigNumber>;
4651
5109
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4652
5110
  from?: PromiseOrValue<string>;
4653
5111
  }): Promise<BigNumber>;
4654
5112
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4655
5113
  from?: PromiseOrValue<string>;
4656
5114
  }): Promise<BigNumber>;
5115
+ updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5116
+ from?: PromiseOrValue<string>;
5117
+ }): Promise<BigNumber>;
4657
5118
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4658
5119
  from?: PromiseOrValue<string>;
4659
5120
  }): Promise<BigNumber>;
@@ -4677,6 +5138,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4677
5138
  handleTradeBorrowingCallback(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
4678
5139
  from?: PromiseOrValue<string>;
4679
5140
  }): Promise<BigNumber>;
5141
+ resetTradeBorrowingFees(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
5142
+ from?: PromiseOrValue<string>;
5143
+ }): Promise<BigNumber>;
4680
5144
  setBorrowingGroupParams(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, _value: IBorrowingFees.BorrowingGroupParamsStruct, overrides?: Overrides & {
4681
5145
  from?: PromiseOrValue<string>;
4682
5146
  }): Promise<BigNumber>;
@@ -4701,21 +5165,21 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4701
5165
  }): Promise<BigNumber>;
4702
5166
  getChainlinkToken(overrides?: CallOverrides): Promise<BigNumber>;
4703
5167
  getCollateralFromUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _normalizedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4704
- getCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5168
+ getCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4705
5169
  getCollateralPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4706
5170
  getCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4707
5171
  getGnsPriceCollateralAddress(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4708
5172
  getGnsPriceCollateralIndex(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4709
5173
  getGnsPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4710
5174
  getLimitJobId(overrides?: CallOverrides): Promise<BigNumber>;
4711
- getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5175
+ getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4712
5176
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<BigNumber>;
4713
5177
  getMarketJobId(overrides?: CallOverrides): Promise<BigNumber>;
4714
5178
  getMinAnswers(overrides?: CallOverrides): Promise<BigNumber>;
4715
5179
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4716
5180
  getOracles(overrides?: CallOverrides): Promise<BigNumber>;
4717
5181
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
4718
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
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 & {
4719
5183
  from?: PromiseOrValue<string>;
4720
5184
  }): Promise<BigNumber>;
4721
5185
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -4723,7 +5187,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4723
5187
  getRequestCount(overrides?: CallOverrides): Promise<BigNumber>;
4724
5188
  getTwapInterval(overrides?: CallOverrides): Promise<BigNumber>;
4725
5189
  getUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4726
- initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralUniV3Pools: PromiseOrValue<string>[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
5190
+ initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
4727
5191
  from?: PromiseOrValue<string>;
4728
5192
  }): Promise<BigNumber>;
4729
5193
  removeOracle(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -4738,7 +5202,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4738
5202
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
4739
5203
  from?: PromiseOrValue<string>;
4740
5204
  }): Promise<BigNumber>;
4741
- updateCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, _uniV3Pool: PromiseOrValue<string>, overrides?: Overrides & {
5205
+ updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
4742
5206
  from?: PromiseOrValue<string>;
4743
5207
  }): Promise<BigNumber>;
4744
5208
  updateCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, _value: PromiseOrValue<string>, overrides?: Overrides & {
@@ -4753,33 +5217,19 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4753
5217
  updateTwapInterval(_twapInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4754
5218
  from?: PromiseOrValue<string>;
4755
5219
  }): Promise<BigNumber>;
4756
- copyAllState(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
4757
- from?: PromiseOrValue<string>;
4758
- }): Promise<BigNumber>;
4759
- copyBorrowingFeesGroups(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4760
- from?: PromiseOrValue<string>;
4761
- }): Promise<BigNumber>;
4762
- copyBorrowingFeesPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4763
- from?: PromiseOrValue<string>;
4764
- }): Promise<BigNumber>;
4765
- copyLimits(_collateralIndex: PromiseOrValue<BigNumberish>, _maxIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4766
- from?: PromiseOrValue<string>;
4767
- }): Promise<BigNumber>;
4768
- copyPairOis(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4769
- from?: PromiseOrValue<string>;
4770
- }): Promise<BigNumber>;
4771
- copyTraderDelegations(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
5220
+ addOtcCollateralBalance(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4772
5221
  from?: PromiseOrValue<string>;
4773
5222
  }): Promise<BigNumber>;
4774
- copyTrades(_collateralIndex: PromiseOrValue<BigNumberish>, _maxPairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5223
+ getOtcBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5224
+ getOtcConfig(overrides?: CallOverrides): Promise<BigNumber>;
5225
+ getOtcRate(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5226
+ initializeOtc(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
4775
5227
  from?: PromiseOrValue<string>;
4776
5228
  }): Promise<BigNumber>;
4777
- getCollateralStageState(_collateralIndex: PromiseOrValue<BigNumberish>, _stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4778
- getCollateralState(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4779
- markAsDone(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5229
+ sellGnsForCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4780
5230
  from?: PromiseOrValue<string>;
4781
5231
  }): Promise<BigNumber>;
4782
- transferBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5232
+ updateOtcConfig(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
4783
5233
  from?: PromiseOrValue<string>;
4784
5234
  }): Promise<BigNumber>;
4785
5235
  };
@@ -4811,14 +5261,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4811
5261
  fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4812
5262
  feesCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
4813
5263
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5264
+ getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5265
+ getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4814
5266
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4815
5267
  groupsCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5268
+ initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
5269
+ from?: PromiseOrValue<string>;
5270
+ }): Promise<PopulatedTransaction>;
4816
5271
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4817
5272
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4818
5273
  pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4819
5274
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4820
5275
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4821
5276
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5277
+ pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4822
5278
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4823
5279
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4824
5280
  pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -4828,6 +5284,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4828
5284
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4829
5285
  pairsBackend(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4830
5286
  pairsCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5287
+ setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
5288
+ from?: PromiseOrValue<string>;
5289
+ }): Promise<PopulatedTransaction>;
4831
5290
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4832
5291
  from?: PromiseOrValue<string>;
4833
5292
  }): Promise<PopulatedTransaction>;
@@ -4908,7 +5367,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4908
5367
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4909
5368
  from?: PromiseOrValue<string>;
4910
5369
  }): Promise<PopulatedTransaction>;
4911
- addPriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
5370
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4912
5371
  from?: PromiseOrValue<string>;
4913
5372
  }): Promise<PopulatedTransaction>;
4914
5373
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -4917,11 +5376,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4917
5376
  getPairDepth(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4918
5377
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
4919
5378
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4920
- getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, 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>;
4921
5384
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4922
5385
  from?: PromiseOrValue<string>;
4923
5386
  }): Promise<PopulatedTransaction>;
4924
- removePriceImpactOpenInterest(_openInterestUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5387
+ initializeProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5388
+ from?: PromiseOrValue<string>;
5389
+ }): Promise<PopulatedTransaction>;
5390
+ removePriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4925
5391
  from?: PromiseOrValue<string>;
4926
5392
  }): Promise<PopulatedTransaction>;
4927
5393
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
@@ -4933,6 +5399,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4933
5399
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4934
5400
  from?: PromiseOrValue<string>;
4935
5401
  }): Promise<PopulatedTransaction>;
5402
+ setProtectionCloseFactorBlocks(_protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5403
+ from?: PromiseOrValue<string>;
5404
+ }): Promise<PopulatedTransaction>;
5405
+ setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5406
+ from?: PromiseOrValue<string>;
5407
+ }): Promise<PopulatedTransaction>;
4936
5408
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
4937
5409
  from?: PromiseOrValue<string>;
4938
5410
  }): Promise<PopulatedTransaction>;
@@ -4945,23 +5417,24 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4945
5417
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4946
5418
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4947
5419
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5420
+ getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4948
5421
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4949
5422
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4950
5423
  getCollaterals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
4951
5424
  getCollateralsCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
4952
5425
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4953
5426
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4954
- getPendingOpenOrderType(_tradeType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4955
5427
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4956
5428
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4957
- getPnlPercent(_openPrice: PromiseOrValue<BigNumberish>, _currentPrice: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _leverage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4958
5429
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4959
5430
  getTradeInfo(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4960
5431
  getTradeInfos(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5432
+ getTradeLiquidationParams(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4961
5433
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4962
5434
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4963
5435
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4964
5436
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5437
+ getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
4965
5438
  getTradingActivated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
4966
5439
  initializeTradingStorage(_gns: PromiseOrValue<string>, _gnsStaking: PromiseOrValue<string>, _collaterals: PromiseOrValue<string>[], _gTokens: PromiseOrValue<string>[], overrides?: Overrides & {
4967
5440
  from?: PromiseOrValue<string>;
@@ -4986,6 +5459,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4986
5459
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4987
5460
  from?: PromiseOrValue<string>;
4988
5461
  }): Promise<PopulatedTransaction>;
5462
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5463
+ from?: PromiseOrValue<string>;
5464
+ }): Promise<PopulatedTransaction>;
4989
5465
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4990
5466
  from?: PromiseOrValue<string>;
4991
5467
  }): Promise<PopulatedTransaction>;
@@ -5013,10 +5489,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5013
5489
  cancelOpenOrder(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5014
5490
  from?: PromiseOrValue<string>;
5015
5491
  }): Promise<PopulatedTransaction>;
5492
+ cancelOrderAfterTimeout(_orderIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5493
+ from?: PromiseOrValue<string>;
5494
+ }): Promise<PopulatedTransaction>;
5016
5495
  closeTradeMarket(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5017
5496
  from?: PromiseOrValue<string>;
5018
5497
  }): Promise<PopulatedTransaction>;
5019
- closeTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
5498
+ decreasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5020
5499
  from?: PromiseOrValue<string>;
5021
5500
  }): Promise<PopulatedTransaction>;
5022
5501
  delegatedTradingAction(_trader: PromiseOrValue<string>, _callData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -5026,6 +5505,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5026
5505
  getMarketOrdersTimeoutBlocks(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5027
5506
  getTradingDelegate(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5028
5507
  getWrappedNativeToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5508
+ increasePositionSize(_index: PromiseOrValue<BigNumberish>, _collateralDelta: PromiseOrValue<BigNumberish>, _leverageDelta: PromiseOrValue<BigNumberish>, _expectedPrice: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5509
+ from?: PromiseOrValue<string>;
5510
+ }): Promise<PopulatedTransaction>;
5029
5511
  initializeTrading(_marketOrdersTimeoutBlocks: PromiseOrValue<BigNumberish>, _usersByPassTriggerLink: PromiseOrValue<string>[], overrides?: Overrides & {
5030
5512
  from?: PromiseOrValue<string>;
5031
5513
  }): Promise<PopulatedTransaction>;
@@ -5033,9 +5515,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5033
5515
  openTrade(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
5034
5516
  from?: PromiseOrValue<string>;
5035
5517
  }): Promise<PopulatedTransaction>;
5036
- openTradeMarketTimeout(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
5037
- from?: PromiseOrValue<string>;
5038
- }): Promise<PopulatedTransaction>;
5039
5518
  openTradeNative(_trade: ITradingStorage.TradeStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, _referrer: PromiseOrValue<string>, overrides?: PayableOverrides & {
5040
5519
  from?: PromiseOrValue<string>;
5041
5520
  }): Promise<PopulatedTransaction>;
@@ -5051,6 +5530,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5051
5530
  updateByPassTriggerLink(_users: PromiseOrValue<string>[], _shouldByPass: PromiseOrValue<boolean>[], overrides?: Overrides & {
5052
5531
  from?: PromiseOrValue<string>;
5053
5532
  }): Promise<PopulatedTransaction>;
5533
+ updateLeverage(_index: PromiseOrValue<BigNumberish>, _newLeverage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5534
+ from?: PromiseOrValue<string>;
5535
+ }): Promise<PopulatedTransaction>;
5054
5536
  updateMarketOrdersTimeoutBlocks(_valueBlocks: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5055
5537
  from?: PromiseOrValue<string>;
5056
5538
  }): Promise<PopulatedTransaction>;
@@ -5069,6 +5551,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5069
5551
  closeTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5070
5552
  from?: PromiseOrValue<string>;
5071
5553
  }): Promise<PopulatedTransaction>;
5554
+ decreasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5555
+ from?: PromiseOrValue<string>;
5556
+ }): Promise<PopulatedTransaction>;
5072
5557
  executeTriggerCloseOrderCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5073
5558
  from?: PromiseOrValue<string>;
5074
5559
  }): Promise<PopulatedTransaction>;
@@ -5077,12 +5562,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5077
5562
  }): Promise<PopulatedTransaction>;
5078
5563
  getPendingGovFeesCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5079
5564
  getVaultClosingFeeP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5565
+ increasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5566
+ from?: PromiseOrValue<string>;
5567
+ }): Promise<PopulatedTransaction>;
5080
5568
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5081
5569
  from?: PromiseOrValue<string>;
5082
5570
  }): Promise<PopulatedTransaction>;
5083
5571
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5084
5572
  from?: PromiseOrValue<string>;
5085
5573
  }): Promise<PopulatedTransaction>;
5574
+ updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5575
+ from?: PromiseOrValue<string>;
5576
+ }): Promise<PopulatedTransaction>;
5086
5577
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5087
5578
  from?: PromiseOrValue<string>;
5088
5579
  }): Promise<PopulatedTransaction>;
@@ -5106,6 +5597,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5106
5597
  handleTradeBorrowingCallback(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
5107
5598
  from?: PromiseOrValue<string>;
5108
5599
  }): Promise<PopulatedTransaction>;
5600
+ resetTradeBorrowingFees(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _index: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
5601
+ from?: PromiseOrValue<string>;
5602
+ }): Promise<PopulatedTransaction>;
5109
5603
  setBorrowingGroupParams(_collateralIndex: PromiseOrValue<BigNumberish>, _groupIndex: PromiseOrValue<BigNumberish>, _value: IBorrowingFees.BorrowingGroupParamsStruct, overrides?: Overrides & {
5110
5604
  from?: PromiseOrValue<string>;
5111
5605
  }): Promise<PopulatedTransaction>;
@@ -5130,21 +5624,21 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5130
5624
  }): Promise<PopulatedTransaction>;
5131
5625
  getChainlinkToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5132
5626
  getCollateralFromUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _normalizedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5133
- getCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5627
+ getCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5134
5628
  getCollateralPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5135
5629
  getCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5136
5630
  getGnsPriceCollateralAddress(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5137
5631
  getGnsPriceCollateralIndex(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5138
5632
  getGnsPriceUsd(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5139
5633
  getLimitJobId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5140
- getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5634
+ getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5141
5635
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5142
5636
  getMarketJobId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5143
5637
  getMinAnswers(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5144
5638
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5145
5639
  getOracles(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5146
5640
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5147
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
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 & {
5148
5642
  from?: PromiseOrValue<string>;
5149
5643
  }): Promise<PopulatedTransaction>;
5150
5644
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5152,7 +5646,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5152
5646
  getRequestCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5153
5647
  getTwapInterval(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5154
5648
  getUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5155
- initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralUniV3Pools: PromiseOrValue<string>[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
5649
+ initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
5156
5650
  from?: PromiseOrValue<string>;
5157
5651
  }): Promise<PopulatedTransaction>;
5158
5652
  removeOracle(_index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -5167,7 +5661,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5167
5661
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
5168
5662
  from?: PromiseOrValue<string>;
5169
5663
  }): Promise<PopulatedTransaction>;
5170
- updateCollateralGnsUniV3Pool(_collateralIndex: PromiseOrValue<BigNumberish>, _uniV3Pool: PromiseOrValue<string>, overrides?: Overrides & {
5664
+ updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
5171
5665
  from?: PromiseOrValue<string>;
5172
5666
  }): Promise<PopulatedTransaction>;
5173
5667
  updateCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, _value: PromiseOrValue<string>, overrides?: Overrides & {
@@ -5182,33 +5676,19 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5182
5676
  updateTwapInterval(_twapInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5183
5677
  from?: PromiseOrValue<string>;
5184
5678
  }): Promise<PopulatedTransaction>;
5185
- copyAllState(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
5186
- from?: PromiseOrValue<string>;
5187
- }): Promise<PopulatedTransaction>;
5188
- copyBorrowingFeesGroups(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5189
- from?: PromiseOrValue<string>;
5190
- }): Promise<PopulatedTransaction>;
5191
- copyBorrowingFeesPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5192
- from?: PromiseOrValue<string>;
5193
- }): Promise<PopulatedTransaction>;
5194
- copyLimits(_collateralIndex: PromiseOrValue<BigNumberish>, _maxIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5195
- from?: PromiseOrValue<string>;
5196
- }): Promise<PopulatedTransaction>;
5197
- copyPairOis(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5198
- from?: PromiseOrValue<string>;
5199
- }): Promise<PopulatedTransaction>;
5200
- copyTraderDelegations(_collateralIndex: PromiseOrValue<BigNumberish>, _traders: PromiseOrValue<string>[], overrides?: Overrides & {
5679
+ addOtcCollateralBalance(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5201
5680
  from?: PromiseOrValue<string>;
5202
5681
  }): Promise<PopulatedTransaction>;
5203
- copyTrades(_collateralIndex: PromiseOrValue<BigNumberish>, _maxPairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5682
+ getOtcBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5683
+ getOtcConfig(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5684
+ getOtcRate(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5685
+ initializeOtc(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
5204
5686
  from?: PromiseOrValue<string>;
5205
5687
  }): Promise<PopulatedTransaction>;
5206
- getCollateralStageState(_collateralIndex: PromiseOrValue<BigNumberish>, _stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5207
- getCollateralState(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5208
- markAsDone(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5688
+ sellGnsForCollateral(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5209
5689
  from?: PromiseOrValue<string>;
5210
5690
  }): Promise<PopulatedTransaction>;
5211
- transferBalance(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5691
+ updateOtcConfig(_config: IOtc.OtcConfigStruct, overrides?: Overrides & {
5212
5692
  from?: PromiseOrValue<string>;
5213
5693
  }): Promise<PopulatedTransaction>;
5214
5694
  };