@1delta/calldatalib 0.0.42 → 0.0.45

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DexForkMappings = exports.DexTypeMappings = exports.BridgeIds = exports.ComposerCommands = exports.Gen2025ActionIds = exports.ERC4626Ids = exports.FlashLoanIds = exports.LenderOps = exports.LenderIds = exports.PermitIds = exports.TransferIds = exports.WrapOperation = exports.DodoSelector = exports.DexPayConfig = exports.SweepType = void 0;
3
+ exports.DexForkMappings = exports.DexTypeMappings = exports.SiloV2CollateralType = exports.CompoundV2Selector = exports.BridgeIds = exports.ComposerCommands = exports.Gen2025ActionIds = exports.ERC4626Ids = exports.FlashLoanIds = exports.LenderOps = exports.LenderIds = exports.PermitIds = exports.TransferIds = exports.WrapOperation = exports.DodoSelector = exports.DexPayConfig = exports.SweepType = void 0;
4
4
  exports.encodeExternalCall = encodeExternalCall;
5
5
  exports.encodeTryExternalCall = encodeTryExternalCall;
6
6
  exports.encodeStargateV2Bridge = encodeStargateV2Bridge;
@@ -74,9 +74,13 @@ exports.encodeCompoundV3Borrow = encodeCompoundV3Borrow;
74
74
  exports.encodeCompoundV3Repay = encodeCompoundV3Repay;
75
75
  exports.encodeCompoundV3Withdraw = encodeCompoundV3Withdraw;
76
76
  exports.encodeCompoundV2Deposit = encodeCompoundV2Deposit;
77
+ exports.encodeSiloV2Deposit = encodeSiloV2Deposit;
78
+ exports.encodeSiloV2Borrow = encodeSiloV2Borrow;
77
79
  exports.encodeCompoundV2Borrow = encodeCompoundV2Borrow;
78
80
  exports.encodeCompoundV2Repay = encodeCompoundV2Repay;
79
81
  exports.encodeCompoundV2Withdraw = encodeCompoundV2Withdraw;
82
+ exports.encodeSiloV2Withdraw = encodeSiloV2Withdraw;
83
+ exports.encodeSiloV2Repay = encodeSiloV2Repay;
80
84
  // @ts-nocheck
81
85
  const viem_1 = require("viem");
82
86
  const utils_js_1 = require("./utils.js");
@@ -125,6 +129,7 @@ var LenderIds;
125
129
  LenderIds[LenderIds["UP_TO_COMPOUND_V3"] = 3000] = "UP_TO_COMPOUND_V3";
126
130
  LenderIds[LenderIds["UP_TO_COMPOUND_V2"] = 4000] = "UP_TO_COMPOUND_V2";
127
131
  LenderIds[LenderIds["UP_TO_MORPHO"] = 5000] = "UP_TO_MORPHO";
132
+ LenderIds[LenderIds["UP_TO_SILO_V2"] = 6000] = "UP_TO_SILO_V2";
128
133
  })(LenderIds || (exports.LenderIds = LenderIds = {}));
129
134
  var LenderOps;
130
135
  (function (LenderOps) {
@@ -176,6 +181,18 @@ var BridgeIds;
176
181
  BridgeIds[BridgeIds["SQUID_ROUTER"] = 20] = "SQUID_ROUTER";
177
182
  BridgeIds[BridgeIds["GASZIP"] = 30] = "GASZIP";
178
183
  })(BridgeIds || (exports.BridgeIds = BridgeIds = {}));
184
+ var CompoundV2Selector;
185
+ (function (CompoundV2Selector) {
186
+ CompoundV2Selector[CompoundV2Selector["MINT_BEHALF"] = 0] = "MINT_BEHALF";
187
+ CompoundV2Selector[CompoundV2Selector["MINT"] = 1] = "MINT";
188
+ CompoundV2Selector[CompoundV2Selector["REDEEM"] = 0] = "REDEEM";
189
+ CompoundV2Selector[CompoundV2Selector["REDEEM_BEHALF"] = 1] = "REDEEM_BEHALF";
190
+ })(CompoundV2Selector || (exports.CompoundV2Selector = CompoundV2Selector = {}));
191
+ var SiloV2CollateralType;
192
+ (function (SiloV2CollateralType) {
193
+ SiloV2CollateralType[SiloV2CollateralType["PROTECTED"] = 0] = "PROTECTED";
194
+ SiloV2CollateralType[SiloV2CollateralType["COLLATERAL"] = 1] = "COLLATERAL";
195
+ })(SiloV2CollateralType || (exports.SiloV2CollateralType = SiloV2CollateralType = {}));
179
196
  var DexTypeMappings;
180
197
  (function (DexTypeMappings) {
181
198
  DexTypeMappings[DexTypeMappings["UNISWAP_V3_ID"] = 0] = "UNISWAP_V3_ID";
@@ -656,7 +673,7 @@ function encodeMorphoDepositCollateral(market, assets, receiver, data, morphoB,
656
673
  encodeApprove((0, utils_js_1.getMorphoCollateral)(market), morphoB),
657
674
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
658
675
  (0, utils_js_1.uint8)(LenderOps.DEPOSIT),
659
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
676
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
660
677
  market,
661
678
  (0, utils_js_1.uint128)(assets),
662
679
  receiver,
@@ -670,7 +687,7 @@ function encodeMorphoDeposit(market, isShares, assets, receiver, data, morphoB,
670
687
  encodeApprove((0, utils_js_1.getMorphoLoanAsset)(market), morphoB),
671
688
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
672
689
  (0, utils_js_1.uint8)(LenderOps.DEPOSIT_LENDING_TOKEN),
673
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
690
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
674
691
  market,
675
692
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
676
693
  receiver,
@@ -703,7 +720,7 @@ function encodeMorphoWithdraw(market, isShares, assets, receiver, morphoB) {
703
720
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
704
721
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
705
722
  (0, utils_js_1.uint8)(LenderOps.WITHDRAW_LENDING_TOKEN),
706
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
723
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
707
724
  market,
708
725
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
709
726
  receiver,
@@ -714,7 +731,7 @@ function encodeMorphoWithdrawCollateral(market, assets, receiver, morphoB) {
714
731
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
715
732
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
716
733
  (0, utils_js_1.uint8)(LenderOps.WITHDRAW),
717
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
734
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
718
735
  market,
719
736
  (0, utils_js_1.uint128)(assets),
720
737
  receiver,
@@ -725,7 +742,7 @@ function encodeMorphoBorrow(market, isShares, assets, receiver, morphoB) {
725
742
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
726
743
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
727
744
  (0, utils_js_1.uint8)(LenderOps.BORROW),
728
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
745
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
729
746
  market,
730
747
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
731
748
  receiver,
@@ -737,7 +754,7 @@ function encodeMorphoRepay(market, isShares, assets, receiver, data, morphoB, pI
737
754
  encodeApprove((0, utils_js_1.getMorphoLoanAsset)(market), morphoB),
738
755
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
739
756
  (0, utils_js_1.uint8)(LenderOps.REPAY),
740
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
757
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
741
758
  market,
742
759
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
743
760
  receiver,
@@ -893,18 +910,40 @@ function encodeCompoundV3Withdraw(token, amount, receiver, comet, isBase) {
893
910
  comet,
894
911
  ]);
895
912
  }
896
- function encodeCompoundV2Deposit(token, amount, receiver, cToken) {
913
+ function encodeCompoundV2Deposit(token, amount, receiver, cToken, selectorId) {
897
914
  return (0, utils_js_1.encodePacked)(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
898
915
  token === viem_1.zeroAddress ? (0, utils_js_1.newbytes)(0) : encodeApprove(token, cToken),
899
916
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
900
917
  (0, utils_js_1.uint8)(LenderOps.DEPOSIT),
901
918
  (0, utils_js_1.uint16)(LenderIds.UP_TO_COMPOUND_V2 - 1),
902
919
  token,
903
- (0, utils_js_1.uint128)(amount),
920
+ (0, utils_js_1.encodeCompoundV2SelectorId)((0, utils_js_1.uint128)(amount), selectorId),
904
921
  receiver,
905
922
  cToken,
906
923
  ]);
907
924
  }
925
+ function encodeSiloV2Deposit(token, amount, receiver, silo, collateralMode) {
926
+ return (0, utils_js_1.encodePacked)(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
927
+ token === viem_1.zeroAddress ? (0, utils_js_1.newbytes)(0) : encodeApprove(token, silo),
928
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
929
+ (0, utils_js_1.uint8)(LenderOps.DEPOSIT),
930
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
931
+ token,
932
+ (0, utils_js_1.encodeSiloV2CollateralMode)((0, utils_js_1.uint128)(amount), collateralMode),
933
+ receiver,
934
+ silo,
935
+ ]);
936
+ }
937
+ function encodeSiloV2Borrow(amount, receiver, silo) {
938
+ return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
939
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
940
+ (0, utils_js_1.uint8)(LenderOps.BORROW),
941
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
942
+ (0, utils_js_1.uint128)(amount),
943
+ receiver,
944
+ silo,
945
+ ]);
946
+ }
908
947
  function encodeCompoundV2Borrow(token, amount, receiver, cToken) {
909
948
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
910
949
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
@@ -928,14 +967,36 @@ function encodeCompoundV2Repay(token, amount, receiver, cToken) {
928
967
  cToken,
929
968
  ]);
930
969
  }
931
- function encodeCompoundV2Withdraw(token, amount, receiver, cToken) {
970
+ function encodeCompoundV2Withdraw(token, amount, receiver, cToken, selectorId) {
932
971
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
933
972
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
934
973
  (0, utils_js_1.uint8)(LenderOps.WITHDRAW),
935
974
  (0, utils_js_1.uint16)(LenderIds.UP_TO_COMPOUND_V2 - 1),
936
975
  token,
937
- (0, utils_js_1.uint128)(amount),
976
+ (0, utils_js_1.encodeCompoundV2SelectorId)((0, utils_js_1.uint128)(amount), selectorId),
938
977
  receiver,
939
978
  cToken,
940
979
  ]);
941
980
  }
981
+ function encodeSiloV2Withdraw(amount, receiver, silo, collateralMode) {
982
+ return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
983
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
984
+ (0, utils_js_1.uint8)(LenderOps.WITHDRAW),
985
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
986
+ (0, utils_js_1.encodeSiloV2CollateralMode)((0, utils_js_1.uint128)(amount), collateralMode),
987
+ receiver,
988
+ silo,
989
+ ]);
990
+ }
991
+ function encodeSiloV2Repay(token, amount, receiver, silo) {
992
+ return (0, utils_js_1.encodePacked)(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
993
+ token === viem_1.zeroAddress ? (0, utils_js_1.newbytes)(0) : encodeApprove(token, silo),
994
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
995
+ (0, utils_js_1.uint8)(LenderOps.REPAY),
996
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
997
+ token,
998
+ (0, utils_js_1.uint128)(amount),
999
+ receiver,
1000
+ silo,
1001
+ ]);
1002
+ }
package/dist/cjs/utils.js CHANGED
@@ -17,6 +17,8 @@ exports.getMorphoLoanAsset = getMorphoLoanAsset;
17
17
  exports.rightPadZero = rightPadZero;
18
18
  exports.newbytes = newbytes;
19
19
  exports.bytes = bytes;
20
+ exports.encodeCompoundV2SelectorId = encodeCompoundV2SelectorId;
21
+ exports.encodeSiloV2CollateralMode = encodeSiloV2CollateralMode;
20
22
  const viem_1 = require("viem");
21
23
  exports._NATIVE_FLAG = 1n << 127n;
22
24
  exports._SHARES_MASK = 1n << 126n;
@@ -79,3 +81,9 @@ function newbytes(length) {
79
81
  function bytes(value) {
80
82
  return value;
81
83
  }
84
+ function encodeCompoundV2SelectorId(amount, selectorId) {
85
+ return uint128(amount) | (uint128(selectorId) << 120n);
86
+ }
87
+ function encodeSiloV2CollateralMode(amount, mode) {
88
+ return uint128(amount) | (uint128(mode) << 120n);
89
+ }
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  import { zeroAddress } from "viem";
3
- import { encodePacked, uint128, uint8, uint16, uint256, generateAmountBitmap, newbytes, bytes, getMorphoCollateral, getMorphoLoanAsset, rightPadZero, } from "./utils.js";
3
+ import { encodePacked, uint128, uint8, uint16, uint256, generateAmountBitmap, newbytes, bytes, getMorphoCollateral, getMorphoLoanAsset, rightPadZero, encodeCompoundV2SelectorId, encodeSiloV2CollateralMode, } from "./utils.js";
4
4
  export var SweepType;
5
5
  (function (SweepType) {
6
6
  SweepType[SweepType["VALIDATE"] = 0] = "VALIDATE";
@@ -46,6 +46,7 @@ export var LenderIds;
46
46
  LenderIds[LenderIds["UP_TO_COMPOUND_V3"] = 3000] = "UP_TO_COMPOUND_V3";
47
47
  LenderIds[LenderIds["UP_TO_COMPOUND_V2"] = 4000] = "UP_TO_COMPOUND_V2";
48
48
  LenderIds[LenderIds["UP_TO_MORPHO"] = 5000] = "UP_TO_MORPHO";
49
+ LenderIds[LenderIds["UP_TO_SILO_V2"] = 6000] = "UP_TO_SILO_V2";
49
50
  })(LenderIds || (LenderIds = {}));
50
51
  export var LenderOps;
51
52
  (function (LenderOps) {
@@ -97,6 +98,18 @@ export var BridgeIds;
97
98
  BridgeIds[BridgeIds["SQUID_ROUTER"] = 20] = "SQUID_ROUTER";
98
99
  BridgeIds[BridgeIds["GASZIP"] = 30] = "GASZIP";
99
100
  })(BridgeIds || (BridgeIds = {}));
101
+ export var CompoundV2Selector;
102
+ (function (CompoundV2Selector) {
103
+ CompoundV2Selector[CompoundV2Selector["MINT_BEHALF"] = 0] = "MINT_BEHALF";
104
+ CompoundV2Selector[CompoundV2Selector["MINT"] = 1] = "MINT";
105
+ CompoundV2Selector[CompoundV2Selector["REDEEM"] = 0] = "REDEEM";
106
+ CompoundV2Selector[CompoundV2Selector["REDEEM_BEHALF"] = 1] = "REDEEM_BEHALF";
107
+ })(CompoundV2Selector || (CompoundV2Selector = {}));
108
+ export var SiloV2CollateralType;
109
+ (function (SiloV2CollateralType) {
110
+ SiloV2CollateralType[SiloV2CollateralType["PROTECTED"] = 0] = "PROTECTED";
111
+ SiloV2CollateralType[SiloV2CollateralType["COLLATERAL"] = 1] = "COLLATERAL";
112
+ })(SiloV2CollateralType || (SiloV2CollateralType = {}));
100
113
  export var DexTypeMappings;
101
114
  (function (DexTypeMappings) {
102
115
  DexTypeMappings[DexTypeMappings["UNISWAP_V3_ID"] = 0] = "UNISWAP_V3_ID";
@@ -577,7 +590,7 @@ export function encodeMorphoDepositCollateral(market, assets, receiver, data, mo
577
590
  encodeApprove(getMorphoCollateral(market), morphoB),
578
591
  uint8(ComposerCommands.LENDING),
579
592
  uint8(LenderOps.DEPOSIT),
580
- uint16(LenderIds.UP_TO_MORPHO),
593
+ uint16(LenderIds.UP_TO_MORPHO - 1),
581
594
  market,
582
595
  uint128(assets),
583
596
  receiver,
@@ -591,7 +604,7 @@ export function encodeMorphoDeposit(market, isShares, assets, receiver, data, mo
591
604
  encodeApprove(getMorphoLoanAsset(market), morphoB),
592
605
  uint8(ComposerCommands.LENDING),
593
606
  uint8(LenderOps.DEPOSIT_LENDING_TOKEN),
594
- uint16(LenderIds.UP_TO_MORPHO),
607
+ uint16(LenderIds.UP_TO_MORPHO - 1),
595
608
  market,
596
609
  generateAmountBitmap(uint128(assets), isShares, false),
597
610
  receiver,
@@ -624,7 +637,7 @@ export function encodeMorphoWithdraw(market, isShares, assets, receiver, morphoB
624
637
  return encodePacked(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
625
638
  uint8(ComposerCommands.LENDING),
626
639
  uint8(LenderOps.WITHDRAW_LENDING_TOKEN),
627
- uint16(LenderIds.UP_TO_MORPHO),
640
+ uint16(LenderIds.UP_TO_MORPHO - 1),
628
641
  market,
629
642
  generateAmountBitmap(uint128(assets), isShares, false),
630
643
  receiver,
@@ -635,7 +648,7 @@ export function encodeMorphoWithdrawCollateral(market, assets, receiver, morphoB
635
648
  return encodePacked(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
636
649
  uint8(ComposerCommands.LENDING),
637
650
  uint8(LenderOps.WITHDRAW),
638
- uint16(LenderIds.UP_TO_MORPHO),
651
+ uint16(LenderIds.UP_TO_MORPHO - 1),
639
652
  market,
640
653
  uint128(assets),
641
654
  receiver,
@@ -646,7 +659,7 @@ export function encodeMorphoBorrow(market, isShares, assets, receiver, morphoB)
646
659
  return encodePacked(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
647
660
  uint8(ComposerCommands.LENDING),
648
661
  uint8(LenderOps.BORROW),
649
- uint16(LenderIds.UP_TO_MORPHO),
662
+ uint16(LenderIds.UP_TO_MORPHO - 1),
650
663
  market,
651
664
  generateAmountBitmap(uint128(assets), isShares, false),
652
665
  receiver,
@@ -658,7 +671,7 @@ export function encodeMorphoRepay(market, isShares, assets, receiver, data, morp
658
671
  encodeApprove(getMorphoLoanAsset(market), morphoB),
659
672
  uint8(ComposerCommands.LENDING),
660
673
  uint8(LenderOps.REPAY),
661
- uint16(LenderIds.UP_TO_MORPHO),
674
+ uint16(LenderIds.UP_TO_MORPHO - 1),
662
675
  market,
663
676
  generateAmountBitmap(uint128(assets), isShares, false),
664
677
  receiver,
@@ -814,18 +827,40 @@ export function encodeCompoundV3Withdraw(token, amount, receiver, comet, isBase)
814
827
  comet,
815
828
  ]);
816
829
  }
817
- export function encodeCompoundV2Deposit(token, amount, receiver, cToken) {
830
+ export function encodeCompoundV2Deposit(token, amount, receiver, cToken, selectorId) {
818
831
  return encodePacked(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
819
832
  token === zeroAddress ? newbytes(0) : encodeApprove(token, cToken),
820
833
  uint8(ComposerCommands.LENDING),
821
834
  uint8(LenderOps.DEPOSIT),
822
835
  uint16(LenderIds.UP_TO_COMPOUND_V2 - 1),
823
836
  token,
824
- uint128(amount),
837
+ encodeCompoundV2SelectorId(uint128(amount), selectorId),
825
838
  receiver,
826
839
  cToken,
827
840
  ]);
828
841
  }
842
+ export function encodeSiloV2Deposit(token, amount, receiver, silo, collateralMode) {
843
+ return encodePacked(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
844
+ token === zeroAddress ? newbytes(0) : encodeApprove(token, silo),
845
+ uint8(ComposerCommands.LENDING),
846
+ uint8(LenderOps.DEPOSIT),
847
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
848
+ token,
849
+ encodeSiloV2CollateralMode(uint128(amount), collateralMode),
850
+ receiver,
851
+ silo,
852
+ ]);
853
+ }
854
+ export function encodeSiloV2Borrow(amount, receiver, silo) {
855
+ return encodePacked(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
856
+ uint8(ComposerCommands.LENDING),
857
+ uint8(LenderOps.BORROW),
858
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
859
+ uint128(amount),
860
+ receiver,
861
+ silo,
862
+ ]);
863
+ }
829
864
  export function encodeCompoundV2Borrow(token, amount, receiver, cToken) {
830
865
  return encodePacked(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
831
866
  uint8(ComposerCommands.LENDING),
@@ -849,14 +884,36 @@ export function encodeCompoundV2Repay(token, amount, receiver, cToken) {
849
884
  cToken,
850
885
  ]);
851
886
  }
852
- export function encodeCompoundV2Withdraw(token, amount, receiver, cToken) {
887
+ export function encodeCompoundV2Withdraw(token, amount, receiver, cToken, selectorId) {
853
888
  return encodePacked(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
854
889
  uint8(ComposerCommands.LENDING),
855
890
  uint8(LenderOps.WITHDRAW),
856
891
  uint16(LenderIds.UP_TO_COMPOUND_V2 - 1),
857
892
  token,
858
- uint128(amount),
893
+ encodeCompoundV2SelectorId(uint128(amount), selectorId),
859
894
  receiver,
860
895
  cToken,
861
896
  ]);
862
897
  }
898
+ export function encodeSiloV2Withdraw(amount, receiver, silo, collateralMode) {
899
+ return encodePacked(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
900
+ uint8(ComposerCommands.LENDING),
901
+ uint8(LenderOps.WITHDRAW),
902
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
903
+ encodeSiloV2CollateralMode(uint128(amount), collateralMode),
904
+ receiver,
905
+ silo,
906
+ ]);
907
+ }
908
+ export function encodeSiloV2Repay(token, amount, receiver, silo) {
909
+ return encodePacked(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
910
+ token === zeroAddress ? newbytes(0) : encodeApprove(token, silo),
911
+ uint8(ComposerCommands.LENDING),
912
+ uint8(LenderOps.REPAY),
913
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
914
+ token,
915
+ uint128(amount),
916
+ receiver,
917
+ silo,
918
+ ]);
919
+ }
package/dist/esm/utils.js CHANGED
@@ -60,3 +60,9 @@ export function newbytes(length) {
60
60
  export function bytes(value) {
61
61
  return value;
62
62
  }
63
+ export function encodeCompoundV2SelectorId(amount, selectorId) {
64
+ return uint128(amount) | (uint128(selectorId) << 120n);
65
+ }
66
+ export function encodeSiloV2CollateralMode(amount, mode) {
67
+ return uint128(amount) | (uint128(mode) << 120n);
68
+ }
@@ -36,7 +36,8 @@ export declare enum LenderIds {
36
36
  UP_TO_AAVE_V2 = 2000,
37
37
  UP_TO_COMPOUND_V3 = 3000,
38
38
  UP_TO_COMPOUND_V2 = 4000,
39
- UP_TO_MORPHO = 5000
39
+ UP_TO_MORPHO = 5000,
40
+ UP_TO_SILO_V2 = 6000
40
41
  }
41
42
  export declare enum LenderOps {
42
43
  DEPOSIT = 0,
@@ -82,6 +83,16 @@ export declare enum BridgeIds {
82
83
  SQUID_ROUTER = 20,
83
84
  GASZIP = 30
84
85
  }
86
+ export declare enum CompoundV2Selector {
87
+ MINT_BEHALF = 0,
88
+ MINT = 1,
89
+ REDEEM = 0,
90
+ REDEEM_BEHALF = 1
91
+ }
92
+ export declare enum SiloV2CollateralType {
93
+ PROTECTED = 0,
94
+ COLLATERAL = 1
95
+ }
85
96
  export declare enum DexTypeMappings {
86
97
  UNISWAP_V3_ID = 0,
87
98
  UNISWAP_V2_ID = 1,
@@ -183,7 +194,11 @@ export declare function encodeCompoundV3Deposit(token: Address, amount: bigint,
183
194
  export declare function encodeCompoundV3Borrow(token: Address, amount: bigint, receiver: Address, comet: Address): Hex;
184
195
  export declare function encodeCompoundV3Repay(token: Address, amount: bigint, receiver: Address, comet: Address): Hex;
185
196
  export declare function encodeCompoundV3Withdraw(token: Address, amount: bigint, receiver: Address, comet: Address, isBase: boolean): Hex;
186
- export declare function encodeCompoundV2Deposit(token: Address, amount: bigint, receiver: Address, cToken: Address): Hex;
197
+ export declare function encodeCompoundV2Deposit(token: Address, amount: bigint, receiver: Address, cToken: Address, selectorId: number): Hex;
198
+ export declare function encodeSiloV2Deposit(token: Address, amount: bigint, receiver: Address, silo: Address, collateralMode: number): Hex;
199
+ export declare function encodeSiloV2Borrow(amount: bigint, receiver: Address, silo: Address): Hex;
187
200
  export declare function encodeCompoundV2Borrow(token: Address, amount: bigint, receiver: Address, cToken: Address): Hex;
188
201
  export declare function encodeCompoundV2Repay(token: Address, amount: bigint, receiver: Address, cToken: Address): Hex;
189
- export declare function encodeCompoundV2Withdraw(token: Address, amount: bigint, receiver: Address, cToken: Address): Hex;
202
+ export declare function encodeCompoundV2Withdraw(token: Address, amount: bigint, receiver: Address, cToken: Address, selectorId: number): Hex;
203
+ export declare function encodeSiloV2Withdraw(amount: bigint, receiver: Address, silo: Address, collateralMode: number): Hex;
204
+ export declare function encodeSiloV2Repay(token: Address, amount: bigint, receiver: Address, silo: Address): Hex;
@@ -18,3 +18,5 @@ export declare function getMorphoLoanAsset(market: Hex): Address;
18
18
  export declare function rightPadZero(address: Address): Hex;
19
19
  export declare function newbytes(length: number): Hex;
20
20
  export declare function bytes(value: Hex): Hex;
21
+ export declare function encodeCompoundV2SelectorId(amount: bigint, selectorId: number): bigint;
22
+ export declare function encodeSiloV2CollateralMode(amount: bigint, mode: number): bigint;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1delta/calldatalib",
3
- "version": "0.0.42",
3
+ "version": "0.0.45",
4
4
  "description": "Generated CalldataLib TypeScript functions for 1delta smart contracts",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",