@1delta/calldatalib 0.0.42 → 0.0.46

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,8 +1,10 @@
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
+ exports.encodeExternalCallWithReplace = encodeExternalCallWithReplace;
7
+ exports.encodeTryExternalCallWithReplace = encodeTryExternalCallWithReplace;
6
8
  exports.encodeStargateV2Bridge = encodeStargateV2Bridge;
7
9
  exports.encodePermit = encodePermit;
8
10
  exports.encodeStargateV2BridgePartial = encodeStargateV2BridgePartial;
@@ -74,9 +76,13 @@ exports.encodeCompoundV3Borrow = encodeCompoundV3Borrow;
74
76
  exports.encodeCompoundV3Repay = encodeCompoundV3Repay;
75
77
  exports.encodeCompoundV3Withdraw = encodeCompoundV3Withdraw;
76
78
  exports.encodeCompoundV2Deposit = encodeCompoundV2Deposit;
79
+ exports.encodeSiloV2Deposit = encodeSiloV2Deposit;
80
+ exports.encodeSiloV2Borrow = encodeSiloV2Borrow;
77
81
  exports.encodeCompoundV2Borrow = encodeCompoundV2Borrow;
78
82
  exports.encodeCompoundV2Repay = encodeCompoundV2Repay;
79
83
  exports.encodeCompoundV2Withdraw = encodeCompoundV2Withdraw;
84
+ exports.encodeSiloV2Withdraw = encodeSiloV2Withdraw;
85
+ exports.encodeSiloV2Repay = encodeSiloV2Repay;
80
86
  // @ts-nocheck
81
87
  const viem_1 = require("viem");
82
88
  const utils_js_1 = require("./utils.js");
@@ -125,6 +131,7 @@ var LenderIds;
125
131
  LenderIds[LenderIds["UP_TO_COMPOUND_V3"] = 3000] = "UP_TO_COMPOUND_V3";
126
132
  LenderIds[LenderIds["UP_TO_COMPOUND_V2"] = 4000] = "UP_TO_COMPOUND_V2";
127
133
  LenderIds[LenderIds["UP_TO_MORPHO"] = 5000] = "UP_TO_MORPHO";
134
+ LenderIds[LenderIds["UP_TO_SILO_V2"] = 6000] = "UP_TO_SILO_V2";
128
135
  })(LenderIds || (exports.LenderIds = LenderIds = {}));
129
136
  var LenderOps;
130
137
  (function (LenderOps) {
@@ -161,6 +168,8 @@ var ComposerCommands;
161
168
  ComposerCommands[ComposerCommands["SWAPS"] = 16] = "SWAPS";
162
169
  ComposerCommands[ComposerCommands["EXT_CALL"] = 32] = "EXT_CALL";
163
170
  ComposerCommands[ComposerCommands["EXT_TRY_CALL"] = 33] = "EXT_TRY_CALL";
171
+ ComposerCommands[ComposerCommands["EXT_CALL_WITH_REPLACE"] = 34] = "EXT_CALL_WITH_REPLACE";
172
+ ComposerCommands[ComposerCommands["EXT_TRY_CALL_WITH_REPLACE"] = 35] = "EXT_TRY_CALL_WITH_REPLACE";
164
173
  ComposerCommands[ComposerCommands["LENDING"] = 48] = "LENDING";
165
174
  ComposerCommands[ComposerCommands["TRANSFERS"] = 64] = "TRANSFERS";
166
175
  ComposerCommands[ComposerCommands["PERMIT"] = 80] = "PERMIT";
@@ -176,6 +185,18 @@ var BridgeIds;
176
185
  BridgeIds[BridgeIds["SQUID_ROUTER"] = 20] = "SQUID_ROUTER";
177
186
  BridgeIds[BridgeIds["GASZIP"] = 30] = "GASZIP";
178
187
  })(BridgeIds || (exports.BridgeIds = BridgeIds = {}));
188
+ var CompoundV2Selector;
189
+ (function (CompoundV2Selector) {
190
+ CompoundV2Selector[CompoundV2Selector["MINT_BEHALF"] = 0] = "MINT_BEHALF";
191
+ CompoundV2Selector[CompoundV2Selector["MINT"] = 1] = "MINT";
192
+ CompoundV2Selector[CompoundV2Selector["REDEEM"] = 0] = "REDEEM";
193
+ CompoundV2Selector[CompoundV2Selector["REDEEM_BEHALF"] = 1] = "REDEEM_BEHALF";
194
+ })(CompoundV2Selector || (exports.CompoundV2Selector = CompoundV2Selector = {}));
195
+ var SiloV2CollateralType;
196
+ (function (SiloV2CollateralType) {
197
+ SiloV2CollateralType[SiloV2CollateralType["PROTECTED"] = 0] = "PROTECTED";
198
+ SiloV2CollateralType[SiloV2CollateralType["COLLATERAL"] = 1] = "COLLATERAL";
199
+ })(SiloV2CollateralType || (exports.SiloV2CollateralType = SiloV2CollateralType = {}));
179
200
  var DexTypeMappings;
180
201
  (function (DexTypeMappings) {
181
202
  DexTypeMappings[DexTypeMappings["UNISWAP_V3_ID"] = 0] = "UNISWAP_V3_ID";
@@ -228,6 +249,31 @@ function encodeTryExternalCall(target, value, useSelfBalance, rOnFailure, data,
228
249
  catchData,
229
250
  ]);
230
251
  }
252
+ function encodeExternalCallWithReplace(target, value, useSelfBalance, token, replaceOffset, data) {
253
+ return (0, utils_js_1.encodePacked)(["uint8", "address", "uint128", "address", "uint16", "uint16", "bytes"], [
254
+ (0, utils_js_1.uint8)(ComposerCommands.EXT_CALL_WITH_REPLACE),
255
+ target,
256
+ (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(value), false, useSelfBalance),
257
+ token,
258
+ replaceOffset,
259
+ (0, utils_js_1.uint16)(data.length / 2 - 1),
260
+ data,
261
+ ]);
262
+ }
263
+ function encodeTryExternalCallWithReplace(target, value, useSelfBalance, token, replaceOffset, data, rOnFailure, catchData) {
264
+ return (0, utils_js_1.encodePacked)(["uint8", "address", "uint128", "address", "uint16", "uint16", "uint8", "uint16", "bytes", "bytes"], [
265
+ (0, utils_js_1.uint8)(ComposerCommands.EXT_TRY_CALL_WITH_REPLACE),
266
+ target,
267
+ (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(value), false, useSelfBalance),
268
+ token,
269
+ replaceOffset,
270
+ (0, utils_js_1.uint16)(data.length / 2 - 1),
271
+ (0, utils_js_1.uint8)(rOnFailure ? 0 : 1),
272
+ (0, utils_js_1.uint16)(catchData.length / 2 - 1),
273
+ data,
274
+ catchData,
275
+ ]);
276
+ }
231
277
  function encodeStargateV2Bridge(asset, stargatePool, dstEid, receiver, refundReceiver, amount, slippage, fee, isBusMode, isNative, composeMsg, extraOptions) {
232
278
  const partialData = encodeStargateV2BridgePartial(amount, slippage, fee, isBusMode, isNative, composeMsg, extraOptions);
233
279
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "address", "address", "uint32", "bytes32", "address", "bytes"], [
@@ -656,7 +702,7 @@ function encodeMorphoDepositCollateral(market, assets, receiver, data, morphoB,
656
702
  encodeApprove((0, utils_js_1.getMorphoCollateral)(market), morphoB),
657
703
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
658
704
  (0, utils_js_1.uint8)(LenderOps.DEPOSIT),
659
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
705
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
660
706
  market,
661
707
  (0, utils_js_1.uint128)(assets),
662
708
  receiver,
@@ -670,7 +716,7 @@ function encodeMorphoDeposit(market, isShares, assets, receiver, data, morphoB,
670
716
  encodeApprove((0, utils_js_1.getMorphoLoanAsset)(market), morphoB),
671
717
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
672
718
  (0, utils_js_1.uint8)(LenderOps.DEPOSIT_LENDING_TOKEN),
673
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
719
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
674
720
  market,
675
721
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
676
722
  receiver,
@@ -703,7 +749,7 @@ function encodeMorphoWithdraw(market, isShares, assets, receiver, morphoB) {
703
749
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
704
750
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
705
751
  (0, utils_js_1.uint8)(LenderOps.WITHDRAW_LENDING_TOKEN),
706
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
752
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
707
753
  market,
708
754
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
709
755
  receiver,
@@ -714,7 +760,7 @@ function encodeMorphoWithdrawCollateral(market, assets, receiver, morphoB) {
714
760
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
715
761
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
716
762
  (0, utils_js_1.uint8)(LenderOps.WITHDRAW),
717
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
763
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
718
764
  market,
719
765
  (0, utils_js_1.uint128)(assets),
720
766
  receiver,
@@ -725,7 +771,7 @@ function encodeMorphoBorrow(market, isShares, assets, receiver, morphoB) {
725
771
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
726
772
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
727
773
  (0, utils_js_1.uint8)(LenderOps.BORROW),
728
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
774
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
729
775
  market,
730
776
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
731
777
  receiver,
@@ -737,7 +783,7 @@ function encodeMorphoRepay(market, isShares, assets, receiver, data, morphoB, pI
737
783
  encodeApprove((0, utils_js_1.getMorphoLoanAsset)(market), morphoB),
738
784
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
739
785
  (0, utils_js_1.uint8)(LenderOps.REPAY),
740
- (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO),
786
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_MORPHO - 1),
741
787
  market,
742
788
  (0, utils_js_1.generateAmountBitmap)((0, utils_js_1.uint128)(assets), isShares, false),
743
789
  receiver,
@@ -893,18 +939,40 @@ function encodeCompoundV3Withdraw(token, amount, receiver, comet, isBase) {
893
939
  comet,
894
940
  ]);
895
941
  }
896
- function encodeCompoundV2Deposit(token, amount, receiver, cToken) {
942
+ function encodeCompoundV2Deposit(token, amount, receiver, cToken, selectorId) {
897
943
  return (0, utils_js_1.encodePacked)(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
898
944
  token === viem_1.zeroAddress ? (0, utils_js_1.newbytes)(0) : encodeApprove(token, cToken),
899
945
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
900
946
  (0, utils_js_1.uint8)(LenderOps.DEPOSIT),
901
947
  (0, utils_js_1.uint16)(LenderIds.UP_TO_COMPOUND_V2 - 1),
902
948
  token,
903
- (0, utils_js_1.uint128)(amount),
949
+ (0, utils_js_1.encodeCompoundV2SelectorId)((0, utils_js_1.uint128)(amount), selectorId),
904
950
  receiver,
905
951
  cToken,
906
952
  ]);
907
953
  }
954
+ function encodeSiloV2Deposit(token, amount, receiver, silo, collateralMode) {
955
+ return (0, utils_js_1.encodePacked)(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
956
+ token === viem_1.zeroAddress ? (0, utils_js_1.newbytes)(0) : encodeApprove(token, silo),
957
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
958
+ (0, utils_js_1.uint8)(LenderOps.DEPOSIT),
959
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
960
+ token,
961
+ (0, utils_js_1.encodeSiloV2CollateralMode)((0, utils_js_1.uint128)(amount), collateralMode),
962
+ receiver,
963
+ silo,
964
+ ]);
965
+ }
966
+ function encodeSiloV2Borrow(amount, receiver, silo) {
967
+ return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
968
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
969
+ (0, utils_js_1.uint8)(LenderOps.BORROW),
970
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
971
+ (0, utils_js_1.uint128)(amount),
972
+ receiver,
973
+ silo,
974
+ ]);
975
+ }
908
976
  function encodeCompoundV2Borrow(token, amount, receiver, cToken) {
909
977
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
910
978
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
@@ -928,14 +996,36 @@ function encodeCompoundV2Repay(token, amount, receiver, cToken) {
928
996
  cToken,
929
997
  ]);
930
998
  }
931
- function encodeCompoundV2Withdraw(token, amount, receiver, cToken) {
999
+ function encodeCompoundV2Withdraw(token, amount, receiver, cToken, selectorId) {
932
1000
  return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
933
1001
  (0, utils_js_1.uint8)(ComposerCommands.LENDING),
934
1002
  (0, utils_js_1.uint8)(LenderOps.WITHDRAW),
935
1003
  (0, utils_js_1.uint16)(LenderIds.UP_TO_COMPOUND_V2 - 1),
936
1004
  token,
937
- (0, utils_js_1.uint128)(amount),
1005
+ (0, utils_js_1.encodeCompoundV2SelectorId)((0, utils_js_1.uint128)(amount), selectorId),
938
1006
  receiver,
939
1007
  cToken,
940
1008
  ]);
941
1009
  }
1010
+ function encodeSiloV2Withdraw(amount, receiver, silo, collateralMode) {
1011
+ return (0, utils_js_1.encodePacked)(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
1012
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
1013
+ (0, utils_js_1.uint8)(LenderOps.WITHDRAW),
1014
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
1015
+ (0, utils_js_1.encodeSiloV2CollateralMode)((0, utils_js_1.uint128)(amount), collateralMode),
1016
+ receiver,
1017
+ silo,
1018
+ ]);
1019
+ }
1020
+ function encodeSiloV2Repay(token, amount, receiver, silo) {
1021
+ return (0, utils_js_1.encodePacked)(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
1022
+ token === viem_1.zeroAddress ? (0, utils_js_1.newbytes)(0) : encodeApprove(token, silo),
1023
+ (0, utils_js_1.uint8)(ComposerCommands.LENDING),
1024
+ (0, utils_js_1.uint8)(LenderOps.REPAY),
1025
+ (0, utils_js_1.uint16)(LenderIds.UP_TO_SILO_V2 - 1),
1026
+ token,
1027
+ (0, utils_js_1.uint128)(amount),
1028
+ receiver,
1029
+ silo,
1030
+ ]);
1031
+ }
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) {
@@ -82,6 +83,8 @@ export var ComposerCommands;
82
83
  ComposerCommands[ComposerCommands["SWAPS"] = 16] = "SWAPS";
83
84
  ComposerCommands[ComposerCommands["EXT_CALL"] = 32] = "EXT_CALL";
84
85
  ComposerCommands[ComposerCommands["EXT_TRY_CALL"] = 33] = "EXT_TRY_CALL";
86
+ ComposerCommands[ComposerCommands["EXT_CALL_WITH_REPLACE"] = 34] = "EXT_CALL_WITH_REPLACE";
87
+ ComposerCommands[ComposerCommands["EXT_TRY_CALL_WITH_REPLACE"] = 35] = "EXT_TRY_CALL_WITH_REPLACE";
85
88
  ComposerCommands[ComposerCommands["LENDING"] = 48] = "LENDING";
86
89
  ComposerCommands[ComposerCommands["TRANSFERS"] = 64] = "TRANSFERS";
87
90
  ComposerCommands[ComposerCommands["PERMIT"] = 80] = "PERMIT";
@@ -97,6 +100,18 @@ export var BridgeIds;
97
100
  BridgeIds[BridgeIds["SQUID_ROUTER"] = 20] = "SQUID_ROUTER";
98
101
  BridgeIds[BridgeIds["GASZIP"] = 30] = "GASZIP";
99
102
  })(BridgeIds || (BridgeIds = {}));
103
+ export var CompoundV2Selector;
104
+ (function (CompoundV2Selector) {
105
+ CompoundV2Selector[CompoundV2Selector["MINT_BEHALF"] = 0] = "MINT_BEHALF";
106
+ CompoundV2Selector[CompoundV2Selector["MINT"] = 1] = "MINT";
107
+ CompoundV2Selector[CompoundV2Selector["REDEEM"] = 0] = "REDEEM";
108
+ CompoundV2Selector[CompoundV2Selector["REDEEM_BEHALF"] = 1] = "REDEEM_BEHALF";
109
+ })(CompoundV2Selector || (CompoundV2Selector = {}));
110
+ export var SiloV2CollateralType;
111
+ (function (SiloV2CollateralType) {
112
+ SiloV2CollateralType[SiloV2CollateralType["PROTECTED"] = 0] = "PROTECTED";
113
+ SiloV2CollateralType[SiloV2CollateralType["COLLATERAL"] = 1] = "COLLATERAL";
114
+ })(SiloV2CollateralType || (SiloV2CollateralType = {}));
100
115
  export var DexTypeMappings;
101
116
  (function (DexTypeMappings) {
102
117
  DexTypeMappings[DexTypeMappings["UNISWAP_V3_ID"] = 0] = "UNISWAP_V3_ID";
@@ -149,6 +164,31 @@ export function encodeTryExternalCall(target, value, useSelfBalance, rOnFailure,
149
164
  catchData,
150
165
  ]);
151
166
  }
167
+ export function encodeExternalCallWithReplace(target, value, useSelfBalance, token, replaceOffset, data) {
168
+ return encodePacked(["uint8", "address", "uint128", "address", "uint16", "uint16", "bytes"], [
169
+ uint8(ComposerCommands.EXT_CALL_WITH_REPLACE),
170
+ target,
171
+ generateAmountBitmap(uint128(value), false, useSelfBalance),
172
+ token,
173
+ replaceOffset,
174
+ uint16(data.length / 2 - 1),
175
+ data,
176
+ ]);
177
+ }
178
+ export function encodeTryExternalCallWithReplace(target, value, useSelfBalance, token, replaceOffset, data, rOnFailure, catchData) {
179
+ return encodePacked(["uint8", "address", "uint128", "address", "uint16", "uint16", "uint8", "uint16", "bytes", "bytes"], [
180
+ uint8(ComposerCommands.EXT_TRY_CALL_WITH_REPLACE),
181
+ target,
182
+ generateAmountBitmap(uint128(value), false, useSelfBalance),
183
+ token,
184
+ replaceOffset,
185
+ uint16(data.length / 2 - 1),
186
+ uint8(rOnFailure ? 0 : 1),
187
+ uint16(catchData.length / 2 - 1),
188
+ data,
189
+ catchData,
190
+ ]);
191
+ }
152
192
  export function encodeStargateV2Bridge(asset, stargatePool, dstEid, receiver, refundReceiver, amount, slippage, fee, isBusMode, isNative, composeMsg, extraOptions) {
153
193
  const partialData = encodeStargateV2BridgePartial(amount, slippage, fee, isBusMode, isNative, composeMsg, extraOptions);
154
194
  return encodePacked(["uint8", "uint8", "address", "address", "uint32", "bytes32", "address", "bytes"], [
@@ -577,7 +617,7 @@ export function encodeMorphoDepositCollateral(market, assets, receiver, data, mo
577
617
  encodeApprove(getMorphoCollateral(market), morphoB),
578
618
  uint8(ComposerCommands.LENDING),
579
619
  uint8(LenderOps.DEPOSIT),
580
- uint16(LenderIds.UP_TO_MORPHO),
620
+ uint16(LenderIds.UP_TO_MORPHO - 1),
581
621
  market,
582
622
  uint128(assets),
583
623
  receiver,
@@ -591,7 +631,7 @@ export function encodeMorphoDeposit(market, isShares, assets, receiver, data, mo
591
631
  encodeApprove(getMorphoLoanAsset(market), morphoB),
592
632
  uint8(ComposerCommands.LENDING),
593
633
  uint8(LenderOps.DEPOSIT_LENDING_TOKEN),
594
- uint16(LenderIds.UP_TO_MORPHO),
634
+ uint16(LenderIds.UP_TO_MORPHO - 1),
595
635
  market,
596
636
  generateAmountBitmap(uint128(assets), isShares, false),
597
637
  receiver,
@@ -624,7 +664,7 @@ export function encodeMorphoWithdraw(market, isShares, assets, receiver, morphoB
624
664
  return encodePacked(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
625
665
  uint8(ComposerCommands.LENDING),
626
666
  uint8(LenderOps.WITHDRAW_LENDING_TOKEN),
627
- uint16(LenderIds.UP_TO_MORPHO),
667
+ uint16(LenderIds.UP_TO_MORPHO - 1),
628
668
  market,
629
669
  generateAmountBitmap(uint128(assets), isShares, false),
630
670
  receiver,
@@ -635,7 +675,7 @@ export function encodeMorphoWithdrawCollateral(market, assets, receiver, morphoB
635
675
  return encodePacked(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
636
676
  uint8(ComposerCommands.LENDING),
637
677
  uint8(LenderOps.WITHDRAW),
638
- uint16(LenderIds.UP_TO_MORPHO),
678
+ uint16(LenderIds.UP_TO_MORPHO - 1),
639
679
  market,
640
680
  uint128(assets),
641
681
  receiver,
@@ -646,7 +686,7 @@ export function encodeMorphoBorrow(market, isShares, assets, receiver, morphoB)
646
686
  return encodePacked(["uint8", "uint8", "uint16", "bytes", "uint128", "address", "address"], [
647
687
  uint8(ComposerCommands.LENDING),
648
688
  uint8(LenderOps.BORROW),
649
- uint16(LenderIds.UP_TO_MORPHO),
689
+ uint16(LenderIds.UP_TO_MORPHO - 1),
650
690
  market,
651
691
  generateAmountBitmap(uint128(assets), isShares, false),
652
692
  receiver,
@@ -658,7 +698,7 @@ export function encodeMorphoRepay(market, isShares, assets, receiver, data, morp
658
698
  encodeApprove(getMorphoLoanAsset(market), morphoB),
659
699
  uint8(ComposerCommands.LENDING),
660
700
  uint8(LenderOps.REPAY),
661
- uint16(LenderIds.UP_TO_MORPHO),
701
+ uint16(LenderIds.UP_TO_MORPHO - 1),
662
702
  market,
663
703
  generateAmountBitmap(uint128(assets), isShares, false),
664
704
  receiver,
@@ -814,18 +854,40 @@ export function encodeCompoundV3Withdraw(token, amount, receiver, comet, isBase)
814
854
  comet,
815
855
  ]);
816
856
  }
817
- export function encodeCompoundV2Deposit(token, amount, receiver, cToken) {
857
+ export function encodeCompoundV2Deposit(token, amount, receiver, cToken, selectorId) {
818
858
  return encodePacked(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
819
859
  token === zeroAddress ? newbytes(0) : encodeApprove(token, cToken),
820
860
  uint8(ComposerCommands.LENDING),
821
861
  uint8(LenderOps.DEPOSIT),
822
862
  uint16(LenderIds.UP_TO_COMPOUND_V2 - 1),
823
863
  token,
824
- uint128(amount),
864
+ encodeCompoundV2SelectorId(uint128(amount), selectorId),
825
865
  receiver,
826
866
  cToken,
827
867
  ]);
828
868
  }
869
+ export function encodeSiloV2Deposit(token, amount, receiver, silo, collateralMode) {
870
+ return encodePacked(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
871
+ token === zeroAddress ? newbytes(0) : encodeApprove(token, silo),
872
+ uint8(ComposerCommands.LENDING),
873
+ uint8(LenderOps.DEPOSIT),
874
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
875
+ token,
876
+ encodeSiloV2CollateralMode(uint128(amount), collateralMode),
877
+ receiver,
878
+ silo,
879
+ ]);
880
+ }
881
+ export function encodeSiloV2Borrow(amount, receiver, silo) {
882
+ return encodePacked(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
883
+ uint8(ComposerCommands.LENDING),
884
+ uint8(LenderOps.BORROW),
885
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
886
+ uint128(amount),
887
+ receiver,
888
+ silo,
889
+ ]);
890
+ }
829
891
  export function encodeCompoundV2Borrow(token, amount, receiver, cToken) {
830
892
  return encodePacked(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
831
893
  uint8(ComposerCommands.LENDING),
@@ -849,14 +911,36 @@ export function encodeCompoundV2Repay(token, amount, receiver, cToken) {
849
911
  cToken,
850
912
  ]);
851
913
  }
852
- export function encodeCompoundV2Withdraw(token, amount, receiver, cToken) {
914
+ export function encodeCompoundV2Withdraw(token, amount, receiver, cToken, selectorId) {
853
915
  return encodePacked(["uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
854
916
  uint8(ComposerCommands.LENDING),
855
917
  uint8(LenderOps.WITHDRAW),
856
918
  uint16(LenderIds.UP_TO_COMPOUND_V2 - 1),
857
919
  token,
858
- uint128(amount),
920
+ encodeCompoundV2SelectorId(uint128(amount), selectorId),
859
921
  receiver,
860
922
  cToken,
861
923
  ]);
862
924
  }
925
+ export function encodeSiloV2Withdraw(amount, receiver, silo, collateralMode) {
926
+ return encodePacked(["uint8", "uint8", "uint16", "uint128", "address", "address"], [
927
+ uint8(ComposerCommands.LENDING),
928
+ uint8(LenderOps.WITHDRAW),
929
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
930
+ encodeSiloV2CollateralMode(uint128(amount), collateralMode),
931
+ receiver,
932
+ silo,
933
+ ]);
934
+ }
935
+ export function encodeSiloV2Repay(token, amount, receiver, silo) {
936
+ return encodePacked(["bytes", "uint8", "uint8", "uint16", "address", "uint128", "address", "address"], [
937
+ token === zeroAddress ? newbytes(0) : encodeApprove(token, silo),
938
+ uint8(ComposerCommands.LENDING),
939
+ uint8(LenderOps.REPAY),
940
+ uint16(LenderIds.UP_TO_SILO_V2 - 1),
941
+ token,
942
+ uint128(amount),
943
+ receiver,
944
+ silo,
945
+ ]);
946
+ }
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,
@@ -68,6 +69,8 @@ export declare enum ComposerCommands {
68
69
  SWAPS = 16,
69
70
  EXT_CALL = 32,
70
71
  EXT_TRY_CALL = 33,
72
+ EXT_CALL_WITH_REPLACE = 34,
73
+ EXT_TRY_CALL_WITH_REPLACE = 35,
71
74
  LENDING = 48,
72
75
  TRANSFERS = 64,
73
76
  PERMIT = 80,
@@ -82,6 +85,16 @@ export declare enum BridgeIds {
82
85
  SQUID_ROUTER = 20,
83
86
  GASZIP = 30
84
87
  }
88
+ export declare enum CompoundV2Selector {
89
+ MINT_BEHALF = 0,
90
+ MINT = 1,
91
+ REDEEM = 0,
92
+ REDEEM_BEHALF = 1
93
+ }
94
+ export declare enum SiloV2CollateralType {
95
+ PROTECTED = 0,
96
+ COLLATERAL = 1
97
+ }
85
98
  export declare enum DexTypeMappings {
86
99
  UNISWAP_V3_ID = 0,
87
100
  UNISWAP_V2_ID = 1,
@@ -113,6 +126,8 @@ export declare enum DexForkMappings {
113
126
  }
114
127
  export declare function encodeExternalCall(target: Address, value: bigint, useSelfBalance: boolean, data: Hex): Hex;
115
128
  export declare function encodeTryExternalCall(target: Address, value: bigint, useSelfBalance: boolean, rOnFailure: boolean, data: Hex, catchData: Hex): Hex;
129
+ export declare function encodeExternalCallWithReplace(target: Address, value: bigint, useSelfBalance: boolean, token: Address, replaceOffset: number, data: Hex): Hex;
130
+ export declare function encodeTryExternalCallWithReplace(target: Address, value: bigint, useSelfBalance: boolean, token: Address, replaceOffset: number, data: Hex, rOnFailure: boolean, catchData: Hex): Hex;
116
131
  export declare function encodeStargateV2Bridge(asset: Address, stargatePool: Address, dstEid: number, receiver: Hex, refundReceiver: Address, amount: bigint, slippage: number, fee: bigint, isBusMode: boolean, isNative: boolean, composeMsg: Hex, extraOptions: Hex): Hex;
117
132
  export declare function encodePermit(permitId: bigint, target: Address, data: Hex): Hex;
118
133
  export declare function encodeStargateV2BridgePartial(amount: bigint, slippage: number, fee: bigint, isBusMode: boolean, isNative: boolean, composeMsg: Hex, extraOptions: Hex): Hex;
@@ -183,7 +198,11 @@ export declare function encodeCompoundV3Deposit(token: Address, amount: bigint,
183
198
  export declare function encodeCompoundV3Borrow(token: Address, amount: bigint, receiver: Address, comet: Address): Hex;
184
199
  export declare function encodeCompoundV3Repay(token: Address, amount: bigint, receiver: Address, comet: Address): Hex;
185
200
  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;
201
+ export declare function encodeCompoundV2Deposit(token: Address, amount: bigint, receiver: Address, cToken: Address, selectorId: number): Hex;
202
+ export declare function encodeSiloV2Deposit(token: Address, amount: bigint, receiver: Address, silo: Address, collateralMode: number): Hex;
203
+ export declare function encodeSiloV2Borrow(amount: bigint, receiver: Address, silo: Address): Hex;
187
204
  export declare function encodeCompoundV2Borrow(token: Address, amount: bigint, receiver: Address, cToken: Address): Hex;
188
205
  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;
206
+ export declare function encodeCompoundV2Withdraw(token: Address, amount: bigint, receiver: Address, cToken: Address, selectorId: number): Hex;
207
+ export declare function encodeSiloV2Withdraw(amount: bigint, receiver: Address, silo: Address, collateralMode: number): Hex;
208
+ 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.46",
4
4
  "description": "Generated CalldataLib TypeScript functions for 1delta smart contracts",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",