@funkit/fun-relay 2.2.0-next.5 → 2.2.0-next.6
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/CHANGELOG.md +10 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +257 -65
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +252 -60
- package/dist/index.mjs.map +3 -3
- package/dist/src/dynamicRoutes/assets.d.ts.map +1 -1
- package/dist/src/dynamicRoutes/consts.d.ts +18 -0
- package/dist/src/dynamicRoutes/consts.d.ts.map +1 -1
- package/dist/src/dynamicRoutes/lighter.d.ts.map +1 -1
- package/dist/src/dynamicRoutes/utils.d.ts +312 -0
- package/dist/src/dynamicRoutes/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @funkit/fun-relay
|
|
2
2
|
|
|
3
|
+
## 2.2.0-next.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 320236b: refactor: refactor approval calldata generation
|
|
8
|
+
- 52406e3: feat(connect,fun-relay): add new lighter spot assets
|
|
9
|
+
- 2f57830: feat: implemented revoke/reset approval mechanics for tokens with non-standard approval implementation
|
|
10
|
+
- ab9c1e9: chore: update assets
|
|
11
|
+
- d4b9ea5: feat(fun-relay): add new lighter routes
|
|
12
|
+
|
|
3
13
|
## 2.2.0-next.5
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export { type TronAddress, type TronTxHash, type TronWallet, getTronWallet, } fr
|
|
|
11
11
|
export type { LighterAccountIndex, LighterWallet } from './src/lighter';
|
|
12
12
|
export { getRelayExecutionRefundState, getRelayExecutionState, isRelayExecutionTerminalStatus, convertFunToRelayTokenAddress, convertFunToRelayChainId, } from './src/utils';
|
|
13
13
|
export { LogLevel, type RelayExecutionInfo, type RelayExecutionStatus, type RelayTokenPriceInfo, } from './src/types';
|
|
14
|
-
export { DYNAMIC_ROUTES, initDynamicRouting } from './src/dynamicRoutes';
|
|
14
|
+
export { DYNAMIC_ROUTES, initDynamicRouting, shouldResetApproval, } from './src/dynamicRoutes';
|
|
15
15
|
export type { DynamicRoutes, DynamicRoute, DynamicRoutePath, DynamicRouteConfig, DynamicRoutingConfig, IndexedDynamicRoutingConfig, RuleDefinition, RuleDefinitions, } from './src/dynamicRoutes/types';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,aAAa,EACb,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,aAAa,EACb,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,EACd,eAAe,GAChB,MAAM,2BAA2B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -51,7 +51,8 @@ __export(index_exports, {
|
|
|
51
51
|
initDynamicRouting: () => initDynamicRouting,
|
|
52
52
|
initializeRelayClient: () => initializeRelayClient,
|
|
53
53
|
isRelayExecutionTerminalStatus: () => isRelayExecutionTerminalStatus,
|
|
54
|
-
parseRelayFees: () => parseRelayFees
|
|
54
|
+
parseRelayFees: () => parseRelayFees,
|
|
55
|
+
shouldResetApproval: () => shouldResetApproval
|
|
55
56
|
});
|
|
56
57
|
module.exports = __toCommonJS(index_exports);
|
|
57
58
|
|
|
@@ -872,8 +873,8 @@ function getTronWallet(walletAddress, tronWeb) {
|
|
|
872
873
|
}
|
|
873
874
|
|
|
874
875
|
// src/dynamicRoutes/lighter.ts
|
|
875
|
-
var
|
|
876
|
-
var
|
|
876
|
+
var import_viem5 = require("viem");
|
|
877
|
+
var import_chains3 = require("viem/chains");
|
|
877
878
|
|
|
878
879
|
// src/dynamicRoutes/abi.ts
|
|
879
880
|
var UNWRAP_AND_CALL_ABI = [
|
|
@@ -1316,7 +1317,7 @@ var ASSET_LOGO_SRCS = {
|
|
|
1316
1317
|
IMX: "https://sdk-cdn.fun.xyz/images/imx.svg",
|
|
1317
1318
|
INJ: "https://sdk-cdn.fun.xyz/images/inj.svg",
|
|
1318
1319
|
LDO: "https://sdk-cdn.fun.xyz/images/ldo.svg",
|
|
1319
|
-
LINK: "https://sdk-cdn.fun.xyz/images/link.
|
|
1320
|
+
LINK: "https://sdk-cdn.fun.xyz/images/link.png",
|
|
1320
1321
|
LUCK: "https://sdk-cdn.fun.xyz/images/luck.png",
|
|
1321
1322
|
MATIC: "https://sdk-cdn.fun.xyz/images/matic.svg",
|
|
1322
1323
|
MFER: "https://sdk-cdn.fun.xyz/images/mfer.png",
|
|
@@ -1334,7 +1335,7 @@ var ASSET_LOGO_SRCS = {
|
|
|
1334
1335
|
SOL: "https://sdk-cdn.fun.xyz/images/sol.svg",
|
|
1335
1336
|
SUSDS: "https://sdk-cdn.fun.xyz/images/susds.svg",
|
|
1336
1337
|
TYBG: "https://sdk-cdn.fun.xyz/images/tybg.png",
|
|
1337
|
-
UNI: "https://sdk-cdn.fun.xyz/images/uni.
|
|
1338
|
+
UNI: "https://sdk-cdn.fun.xyz/images/uni.png",
|
|
1338
1339
|
USDC: "https://sdk-cdn.fun.xyz/images/usdc.svg",
|
|
1339
1340
|
"USDC.E": "https://sdk-cdn.fun.xyz/images/usdc.svg",
|
|
1340
1341
|
USDE: "https://sdk-cdn.fun.xyz/images/usde.svg",
|
|
@@ -1375,7 +1376,8 @@ var ASSET_LOGO_SRCS = {
|
|
|
1375
1376
|
MON: "https://sdk-cdn.fun.xyz/images/monad.svg",
|
|
1376
1377
|
WMON: "https://sdk-cdn.fun.xyz/images/wmon.svg",
|
|
1377
1378
|
AUSD: "https://sdk-cdn.fun.xyz/images/ausd.svg",
|
|
1378
|
-
SUSHI: "https://sdk-cdn.fun.xyz/images/sushi.svg"
|
|
1379
|
+
SUSHI: "https://sdk-cdn.fun.xyz/images/sushi.svg",
|
|
1380
|
+
SKY: "https://sdk-cdn.fun.xyz/images/sky.svg"
|
|
1379
1381
|
};
|
|
1380
1382
|
|
|
1381
1383
|
// src/dynamicRoutes/consts.ts
|
|
@@ -1389,6 +1391,25 @@ var tokenAddresses = {
|
|
|
1389
1391
|
},
|
|
1390
1392
|
USDC: {
|
|
1391
1393
|
[import_chains.mainnet.id]: (0, import_viem2.getAddress)("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48")
|
|
1394
|
+
},
|
|
1395
|
+
// LIT is currently unused
|
|
1396
|
+
LIT: {
|
|
1397
|
+
[import_chains.mainnet.id]: (0, import_viem2.getAddress)("0x232CE3bd40fCd6f80f3d55A522d03f25Df784Ee2")
|
|
1398
|
+
},
|
|
1399
|
+
LINK: {
|
|
1400
|
+
[import_chains.mainnet.id]: (0, import_viem2.getAddress)("0x514910771AF9Ca656af840dff83E8264EcF986CA")
|
|
1401
|
+
},
|
|
1402
|
+
UNI: {
|
|
1403
|
+
[import_chains.mainnet.id]: (0, import_viem2.getAddress)("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984")
|
|
1404
|
+
},
|
|
1405
|
+
AAVE: {
|
|
1406
|
+
[import_chains.mainnet.id]: (0, import_viem2.getAddress)("0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9")
|
|
1407
|
+
},
|
|
1408
|
+
SKY: {
|
|
1409
|
+
[import_chains.mainnet.id]: (0, import_viem2.getAddress)("0x56072C95FAA701256059aa122697B133aDEd9279")
|
|
1410
|
+
},
|
|
1411
|
+
LDO: {
|
|
1412
|
+
[import_chains.mainnet.id]: (0, import_viem2.getAddress)("0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32")
|
|
1392
1413
|
}
|
|
1393
1414
|
};
|
|
1394
1415
|
var UNWRAP_AND_CALL_ADDRESS = {
|
|
@@ -1403,6 +1424,8 @@ var LIGHTER_DEPOSIT_ADDRESS = (0, import_viem2.getAddress)(
|
|
|
1403
1424
|
var MATCH_ALL_CONDITION = "*";
|
|
1404
1425
|
|
|
1405
1426
|
// src/dynamicRoutes/utils.ts
|
|
1427
|
+
var import_viem4 = require("viem");
|
|
1428
|
+
var import_chains2 = require("viem/chains");
|
|
1406
1429
|
var createPath = (config) => {
|
|
1407
1430
|
return config;
|
|
1408
1431
|
};
|
|
@@ -1485,6 +1508,35 @@ var initDynamicRouting = (dynamicRoutes, dynamicRoutingConfig) => {
|
|
|
1485
1508
|
);
|
|
1486
1509
|
return indexedDynamicRoutingConfig;
|
|
1487
1510
|
};
|
|
1511
|
+
var MAX_APPROVAL = "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
|
|
1512
|
+
var getApprovalCalldata = ({
|
|
1513
|
+
tokenAddress,
|
|
1514
|
+
spenderAddress,
|
|
1515
|
+
amount
|
|
1516
|
+
}) => {
|
|
1517
|
+
return {
|
|
1518
|
+
contractAbi: import_viem4.erc20Abi,
|
|
1519
|
+
contractAddress: tokenAddress,
|
|
1520
|
+
functionName: "approve",
|
|
1521
|
+
functionArgs: [spenderAddress, amount]
|
|
1522
|
+
};
|
|
1523
|
+
};
|
|
1524
|
+
var getResetApprovalCalldata = ({
|
|
1525
|
+
tokenAddress,
|
|
1526
|
+
spenderAddress
|
|
1527
|
+
}) => {
|
|
1528
|
+
return getApprovalCalldata({
|
|
1529
|
+
tokenAddress,
|
|
1530
|
+
spenderAddress,
|
|
1531
|
+
amount: "0"
|
|
1532
|
+
});
|
|
1533
|
+
};
|
|
1534
|
+
var RESET_APPROVAL_TOKENS = [tokenAddresses.LDO[import_chains2.mainnet.id]].map(
|
|
1535
|
+
(address) => address.toLowerCase()
|
|
1536
|
+
);
|
|
1537
|
+
var shouldResetApproval = (tokenAddress) => {
|
|
1538
|
+
return RESET_APPROVAL_TOKENS.includes(tokenAddress.toLowerCase());
|
|
1539
|
+
};
|
|
1488
1540
|
|
|
1489
1541
|
// src/dynamicRoutes/lighter.ts
|
|
1490
1542
|
var NATIVE_TOKEN = FUNKIT_NATIVE_TOKEN;
|
|
@@ -1493,23 +1545,40 @@ var RELAY_LIGHTER_ETH_SPOT_ADDRESS = "0x0000000000000000000000000000000000000001
|
|
|
1493
1545
|
var RELAY_LIGHTER_USDC_PERPS_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
1494
1546
|
var TICK_SIZE_FOR_ASSET_INDEX = {
|
|
1495
1547
|
[3 /* USDC */]: BigInt(1),
|
|
1496
|
-
[1 /* ETH */]: BigInt(10 ** 10)
|
|
1548
|
+
[1 /* ETH */]: BigInt(10 ** 10),
|
|
1549
|
+
[2 /* LIT */]: BigInt(10 ** 10),
|
|
1550
|
+
[5 /* LINK */]: BigInt(10 ** 10),
|
|
1551
|
+
[6 /* UNI */]: BigInt(10 ** 10),
|
|
1552
|
+
[7 /* AAVE */]: BigInt(10 ** 10),
|
|
1553
|
+
[8 /* SKY */]: BigInt(10 ** 10),
|
|
1554
|
+
[9 /* LDO */]: BigInt(10 ** 10)
|
|
1497
1555
|
};
|
|
1498
1556
|
var DEPOSIT_TOKEN_FOR_ASSET_INDEX = {
|
|
1499
|
-
[3 /* USDC */]: tokenAddresses.USDC[
|
|
1500
|
-
[1 /* ETH */]: NATIVE_TOKEN
|
|
1557
|
+
[3 /* USDC */]: tokenAddresses.USDC[import_chains3.mainnet.id],
|
|
1558
|
+
[1 /* ETH */]: NATIVE_TOKEN,
|
|
1559
|
+
[2 /* LIT */]: tokenAddresses.LIT[import_chains3.mainnet.id],
|
|
1560
|
+
[5 /* LINK */]: tokenAddresses.LINK[import_chains3.mainnet.id],
|
|
1561
|
+
[6 /* UNI */]: tokenAddresses.UNI[import_chains3.mainnet.id],
|
|
1562
|
+
[7 /* AAVE */]: tokenAddresses.AAVE[import_chains3.mainnet.id],
|
|
1563
|
+
[8 /* SKY */]: tokenAddresses.SKY[import_chains3.mainnet.id],
|
|
1564
|
+
[9 /* LDO */]: tokenAddresses.LDO[import_chains3.mainnet.id]
|
|
1501
1565
|
};
|
|
1502
1566
|
var USDC_PERPS_SYMBOL = "USDC (Perps)";
|
|
1503
1567
|
var ETH_SPOT_SYMBOL = "ETH (Spot)";
|
|
1568
|
+
var LINK_SPOT_SYMBOL = "LINK (Spot)";
|
|
1569
|
+
var UNI_SPOT_SYMBOL = "UNI (Spot)";
|
|
1570
|
+
var AAVE_SPOT_SYMBOL = "AAVE (Spot)";
|
|
1571
|
+
var SKY_SPOT_SYMBOL = "SKY (Spot)";
|
|
1572
|
+
var LDO_SPOT_SYMBOL = "LDO (Spot)";
|
|
1504
1573
|
var generateLighterMainnetDepositActions = ({
|
|
1505
1574
|
address,
|
|
1506
1575
|
assetIndex,
|
|
1507
1576
|
routeType
|
|
1508
1577
|
}) => {
|
|
1509
|
-
const depositSelector = (0,
|
|
1578
|
+
const depositSelector = (0, import_viem5.toFunctionSelector)(
|
|
1510
1579
|
"deposit(address,uint16,uint8,uint256)"
|
|
1511
1580
|
);
|
|
1512
|
-
const encodedLighterParams = (0,
|
|
1581
|
+
const encodedLighterParams = (0, import_viem5.encodeAbiParameters)(
|
|
1513
1582
|
[
|
|
1514
1583
|
{ type: "address" },
|
|
1515
1584
|
{ type: "uint16" },
|
|
@@ -1518,12 +1587,12 @@ var generateLighterMainnetDepositActions = ({
|
|
|
1518
1587
|
],
|
|
1519
1588
|
[address, assetIndex, routeType, AMOUNT_PLACEHOLDER]
|
|
1520
1589
|
);
|
|
1521
|
-
const lighterDepositCalldata = (0,
|
|
1590
|
+
const lighterDepositCalldata = (0, import_viem5.concat)([depositSelector, encodedLighterParams]);
|
|
1522
1591
|
const depositToken = DEPOSIT_TOKEN_FOR_ASSET_INDEX[assetIndex];
|
|
1523
1592
|
const tickSize = TICK_SIZE_FOR_ASSET_INDEX[assetIndex];
|
|
1524
1593
|
const dustRecipient = address;
|
|
1525
1594
|
if (depositToken === NATIVE_TOKEN) {
|
|
1526
|
-
const vaultWrapperCalldata = (0,
|
|
1595
|
+
const vaultWrapperCalldata = (0, import_viem5.encodeFunctionData)({
|
|
1527
1596
|
abi: VAULT_DEPOSITOR_ABI,
|
|
1528
1597
|
functionName: "depositWithTick",
|
|
1529
1598
|
args: [
|
|
@@ -1543,22 +1612,18 @@ var generateLighterMainnetDepositActions = ({
|
|
|
1543
1612
|
});
|
|
1544
1613
|
return [
|
|
1545
1614
|
// Step 1: Approve WETH to UnwrapWETHAndCall
|
|
1546
|
-
{
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
UNWRAP_AND_CALL_ADDRESS[import_chains2.mainnet.id],
|
|
1552
|
-
"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
1553
|
-
]
|
|
1554
|
-
},
|
|
1615
|
+
getApprovalCalldata({
|
|
1616
|
+
tokenAddress: tokenAddresses.WETH[import_chains3.mainnet.id],
|
|
1617
|
+
spenderAddress: UNWRAP_AND_CALL_ADDRESS[import_chains3.mainnet.id],
|
|
1618
|
+
amount: MAX_APPROVAL
|
|
1619
|
+
}),
|
|
1555
1620
|
// Step 2: UnwrapWETHAndCall pulls WETH, unwraps to ETH, sends to VaultWrapper, calls deposit
|
|
1556
1621
|
{
|
|
1557
1622
|
contractAbi: UNWRAP_AND_CALL_ABI,
|
|
1558
|
-
contractAddress: UNWRAP_AND_CALL_ADDRESS[
|
|
1623
|
+
contractAddress: UNWRAP_AND_CALL_ADDRESS[import_chains3.mainnet.id],
|
|
1559
1624
|
functionName: "unwrapAndCall",
|
|
1560
1625
|
functionArgs: [
|
|
1561
|
-
VAULT_DEPOSITOR_ADDRESS[
|
|
1626
|
+
VAULT_DEPOSITOR_ADDRESS[import_chains3.mainnet.id],
|
|
1562
1627
|
// target (VaultWrapper)
|
|
1563
1628
|
vaultWrapperCalldata
|
|
1564
1629
|
// VaultWrapper.deposit() calldata
|
|
@@ -1566,52 +1631,53 @@ var generateLighterMainnetDepositActions = ({
|
|
|
1566
1631
|
}
|
|
1567
1632
|
];
|
|
1568
1633
|
}
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1634
|
+
const resetApprovalNeeded = shouldResetApproval(depositToken);
|
|
1635
|
+
return [
|
|
1636
|
+
// Special handling of LDO token as it requires approval reset before approval can be set to a new value due to non-standard implementation of the approve function.
|
|
1637
|
+
...resetApprovalNeeded ? [
|
|
1638
|
+
getResetApprovalCalldata({
|
|
1639
|
+
tokenAddress: depositToken,
|
|
1640
|
+
spenderAddress: VAULT_DEPOSITOR_ADDRESS[import_chains3.mainnet.id]
|
|
1641
|
+
})
|
|
1642
|
+
] : [],
|
|
1643
|
+
// Step 1: Approve deposit token to VaultDepositor
|
|
1644
|
+
getApprovalCalldata({
|
|
1645
|
+
tokenAddress: depositToken,
|
|
1646
|
+
spenderAddress: VAULT_DEPOSITOR_ADDRESS[import_chains3.mainnet.id],
|
|
1647
|
+
amount: MAX_APPROVAL
|
|
1648
|
+
}),
|
|
1649
|
+
// Step 2: VaultDepositor pulls deposit token and calls Lighter deposit
|
|
1650
|
+
{
|
|
1651
|
+
contractAbi: VAULT_DEPOSITOR_ABI,
|
|
1652
|
+
contractAddress: VAULT_DEPOSITOR_ADDRESS[import_chains3.mainnet.id],
|
|
1653
|
+
functionName: "depositWithTick",
|
|
1654
|
+
functionArgs: [
|
|
1655
|
+
depositToken,
|
|
1656
|
+
// token (deposit token)
|
|
1657
|
+
LIGHTER_DEPOSIT_ADDRESS,
|
|
1658
|
+
// vault (Lighter deposit contract)
|
|
1659
|
+
lighterDepositCalldata,
|
|
1660
|
+
// callData
|
|
1661
|
+
0n,
|
|
1662
|
+
// minAmountOut
|
|
1663
|
+
tickSize,
|
|
1664
|
+
// tickSize
|
|
1665
|
+
dustRecipient
|
|
1666
|
+
// dustRecipient
|
|
1667
|
+
]
|
|
1668
|
+
}
|
|
1669
|
+
];
|
|
1604
1670
|
};
|
|
1605
1671
|
var LIGHTER_USDC_PERPS_FUN_MAINNET_DEPOSIT = createPath({
|
|
1606
|
-
targetChain:
|
|
1607
|
-
targetAsset: tokenAddresses.USDC[
|
|
1672
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1673
|
+
targetAsset: tokenAddresses.USDC[import_chains3.mainnet.id],
|
|
1608
1674
|
targetAssetTicker: USDC_PERPS_SYMBOL,
|
|
1609
1675
|
iconSrc: ASSET_LOGO_SRCS.USDC,
|
|
1610
1676
|
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1611
1677
|
if (!outputConfig) {
|
|
1612
1678
|
return [];
|
|
1613
1679
|
}
|
|
1614
|
-
if (outputConfig.targetChain !==
|
|
1680
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1615
1681
|
return [];
|
|
1616
1682
|
}
|
|
1617
1683
|
return generateLighterMainnetDepositActions({
|
|
@@ -1622,15 +1688,15 @@ var LIGHTER_USDC_PERPS_FUN_MAINNET_DEPOSIT = createPath({
|
|
|
1622
1688
|
}
|
|
1623
1689
|
});
|
|
1624
1690
|
var LIGHTER_ETH_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
1625
|
-
targetChain:
|
|
1626
|
-
targetAsset: tokenAddresses.WETH[
|
|
1691
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1692
|
+
targetAsset: tokenAddresses.WETH[import_chains3.mainnet.id],
|
|
1627
1693
|
targetAssetTicker: ETH_SPOT_SYMBOL,
|
|
1628
1694
|
iconSrc: ASSET_LOGO_SRCS.ETH,
|
|
1629
1695
|
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1630
1696
|
if (!outputConfig) {
|
|
1631
1697
|
return [];
|
|
1632
1698
|
}
|
|
1633
|
-
if (outputConfig.targetChain !==
|
|
1699
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1634
1700
|
return [];
|
|
1635
1701
|
}
|
|
1636
1702
|
return generateLighterMainnetDepositActions({
|
|
@@ -1640,6 +1706,101 @@ var LIGHTER_ETH_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
|
1640
1706
|
});
|
|
1641
1707
|
}
|
|
1642
1708
|
});
|
|
1709
|
+
var LIGHTER_LINK_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
1710
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1711
|
+
targetAsset: tokenAddresses.LINK[import_chains3.mainnet.id],
|
|
1712
|
+
targetAssetTicker: LINK_SPOT_SYMBOL,
|
|
1713
|
+
iconSrc: ASSET_LOGO_SRCS.LINK,
|
|
1714
|
+
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1715
|
+
if (!outputConfig) {
|
|
1716
|
+
return [];
|
|
1717
|
+
}
|
|
1718
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1719
|
+
return [];
|
|
1720
|
+
}
|
|
1721
|
+
return generateLighterMainnetDepositActions({
|
|
1722
|
+
address,
|
|
1723
|
+
assetIndex: 5 /* LINK */,
|
|
1724
|
+
routeType: 1 /* Spot */
|
|
1725
|
+
});
|
|
1726
|
+
}
|
|
1727
|
+
});
|
|
1728
|
+
var LIGHTER_SKY_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
1729
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1730
|
+
targetAsset: tokenAddresses.SKY[import_chains3.mainnet.id],
|
|
1731
|
+
targetAssetTicker: SKY_SPOT_SYMBOL,
|
|
1732
|
+
iconSrc: ASSET_LOGO_SRCS.SKY,
|
|
1733
|
+
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1734
|
+
if (!outputConfig) {
|
|
1735
|
+
return [];
|
|
1736
|
+
}
|
|
1737
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1738
|
+
return [];
|
|
1739
|
+
}
|
|
1740
|
+
return generateLighterMainnetDepositActions({
|
|
1741
|
+
address,
|
|
1742
|
+
assetIndex: 8 /* SKY */,
|
|
1743
|
+
routeType: 1 /* Spot */
|
|
1744
|
+
});
|
|
1745
|
+
}
|
|
1746
|
+
});
|
|
1747
|
+
var LIGHTER_UNI_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
1748
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1749
|
+
targetAsset: tokenAddresses.UNI[import_chains3.mainnet.id],
|
|
1750
|
+
targetAssetTicker: UNI_SPOT_SYMBOL,
|
|
1751
|
+
iconSrc: ASSET_LOGO_SRCS.UNI,
|
|
1752
|
+
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1753
|
+
if (!outputConfig) {
|
|
1754
|
+
return [];
|
|
1755
|
+
}
|
|
1756
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1757
|
+
return [];
|
|
1758
|
+
}
|
|
1759
|
+
return generateLighterMainnetDepositActions({
|
|
1760
|
+
address,
|
|
1761
|
+
assetIndex: 6 /* UNI */,
|
|
1762
|
+
routeType: 1 /* Spot */
|
|
1763
|
+
});
|
|
1764
|
+
}
|
|
1765
|
+
});
|
|
1766
|
+
var LIGHTER_AAVE_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
1767
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1768
|
+
targetAsset: tokenAddresses.AAVE[import_chains3.mainnet.id],
|
|
1769
|
+
targetAssetTicker: AAVE_SPOT_SYMBOL,
|
|
1770
|
+
iconSrc: ASSET_LOGO_SRCS.AAVE,
|
|
1771
|
+
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1772
|
+
if (!outputConfig) {
|
|
1773
|
+
return [];
|
|
1774
|
+
}
|
|
1775
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1776
|
+
return [];
|
|
1777
|
+
}
|
|
1778
|
+
return generateLighterMainnetDepositActions({
|
|
1779
|
+
address,
|
|
1780
|
+
assetIndex: 7 /* AAVE */,
|
|
1781
|
+
routeType: 1 /* Spot */
|
|
1782
|
+
});
|
|
1783
|
+
}
|
|
1784
|
+
});
|
|
1785
|
+
var LIGHTER_LDO_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
1786
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1787
|
+
targetAsset: tokenAddresses.LDO[import_chains3.mainnet.id],
|
|
1788
|
+
targetAssetTicker: LDO_SPOT_SYMBOL,
|
|
1789
|
+
iconSrc: ASSET_LOGO_SRCS.LDO,
|
|
1790
|
+
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1791
|
+
if (!outputConfig) {
|
|
1792
|
+
return [];
|
|
1793
|
+
}
|
|
1794
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1795
|
+
return [];
|
|
1796
|
+
}
|
|
1797
|
+
return generateLighterMainnetDepositActions({
|
|
1798
|
+
address,
|
|
1799
|
+
assetIndex: 9 /* LDO */,
|
|
1800
|
+
routeType: 1 /* Spot */
|
|
1801
|
+
});
|
|
1802
|
+
}
|
|
1803
|
+
});
|
|
1643
1804
|
var LIGHTER_DYNAMIC_ROUTES = [
|
|
1644
1805
|
createRoute({
|
|
1645
1806
|
id: "LIGHTER_ETH_SPOT",
|
|
@@ -1682,6 +1843,37 @@ var LIGHTER_DYNAMIC_ROUTES = [
|
|
|
1682
1843
|
paths: {
|
|
1683
1844
|
FUN_MAINNET_DEPOSIT: LIGHTER_ETH_SPOT_FUN_MAINNET_DEPOSIT
|
|
1684
1845
|
}
|
|
1846
|
+
}),
|
|
1847
|
+
// LINK, UNI, AAVE, SKY, LDO tokens
|
|
1848
|
+
createRoute({
|
|
1849
|
+
id: "LIGHTER_LINK_SPOT_NEW_USER",
|
|
1850
|
+
paths: {
|
|
1851
|
+
FUN_MAINNET_DEPOSIT: LIGHTER_LINK_SPOT_FUN_MAINNET_DEPOSIT
|
|
1852
|
+
}
|
|
1853
|
+
}),
|
|
1854
|
+
createRoute({
|
|
1855
|
+
id: "LIGHTER_SKY_SPOT_NEW_USER",
|
|
1856
|
+
paths: {
|
|
1857
|
+
FUN_MAINNET_DEPOSIT: LIGHTER_SKY_SPOT_FUN_MAINNET_DEPOSIT
|
|
1858
|
+
}
|
|
1859
|
+
}),
|
|
1860
|
+
createRoute({
|
|
1861
|
+
id: "LIGHTER_UNI_SPOT_NEW_USER",
|
|
1862
|
+
paths: {
|
|
1863
|
+
FUN_MAINNET_DEPOSIT: LIGHTER_UNI_SPOT_FUN_MAINNET_DEPOSIT
|
|
1864
|
+
}
|
|
1865
|
+
}),
|
|
1866
|
+
createRoute({
|
|
1867
|
+
id: "LIGHTER_AAVE_SPOT_NEW_USER",
|
|
1868
|
+
paths: {
|
|
1869
|
+
FUN_MAINNET_DEPOSIT: LIGHTER_AAVE_SPOT_FUN_MAINNET_DEPOSIT
|
|
1870
|
+
}
|
|
1871
|
+
}),
|
|
1872
|
+
createRoute({
|
|
1873
|
+
id: "LIGHTER_LDO_SPOT_NEW_USER",
|
|
1874
|
+
paths: {
|
|
1875
|
+
FUN_MAINNET_DEPOSIT: LIGHTER_LDO_SPOT_FUN_MAINNET_DEPOSIT
|
|
1876
|
+
}
|
|
1685
1877
|
})
|
|
1686
1878
|
];
|
|
1687
1879
|
|