@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.
- package/dist/cjs/CalldataLib.js +101 -11
- package/dist/cjs/utils.js +8 -0
- package/dist/esm/CalldataLib.js +95 -11
- package/dist/esm/utils.js +6 -0
- package/dist/types/CalldataLib.d.ts +22 -3
- package/dist/types/utils.d.ts +2 -0
- package/package.json +1 -1
package/dist/cjs/CalldataLib.js
CHANGED
|
@@ -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
|
+
}
|
package/dist/esm/CalldataLib.js
CHANGED
|
@@ -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;
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -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;
|