@funkit/fun-relay 2.2.0-next.4 → 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 +17 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +261 -68
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +256 -63
- 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/dist/src/quote.d.ts +2 -1
- package/dist/src/quote.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
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
|
+
|
|
13
|
+
## 2.2.0-next.5
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 0152e69: chore(fun-relay): expose `RelayExecute` type
|
|
18
|
+
- dc9cc8c: add relay request id to error message
|
|
19
|
+
|
|
3
20
|
## 2.2.0-next.4
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ export { type ExecuteRelayQuoteParams, type RelayAddress, type RelayChainId, typ
|
|
|
5
5
|
export { parseRelayFees } from './src/fees';
|
|
6
6
|
export { getRelayAssetPriceInfo } from './src/price';
|
|
7
7
|
export { getRelayAssetInfo } from './src/currency';
|
|
8
|
-
export { type GetRelayQuoteParams, type RelayQuote, getRelayQuote, getReferrer, RelayQuoteClientError, } from './src/quote';
|
|
8
|
+
export { type GetRelayQuoteParams, type RelayQuote, type RelayExecute, getRelayQuote, getReferrer, RelayQuoteClientError, } from './src/quote';
|
|
9
9
|
export { type SolanaAddress, type SolanaTxHash, type SolanaWallet, getSolanaWallet, } from './src/solana';
|
|
10
10
|
export { type TronAddress, type TronTxHash, type TronWallet, getTronWallet, } from './src/tron';
|
|
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,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
|
|
|
@@ -625,9 +626,9 @@ function getReferrer(clientId) {
|
|
|
625
626
|
return clientId ? `${FUN_RELAY_REFERRER}|${clientId}` : FUN_RELAY_REFERRER;
|
|
626
627
|
}
|
|
627
628
|
var RelayQuoteClientError = class extends Error {
|
|
628
|
-
constructor(statusCode, relayErrorCode, message) {
|
|
629
|
+
constructor(statusCode, relayErrorCode, message, requestId = "") {
|
|
629
630
|
super(
|
|
630
|
-
`An error occurred trying to generate a relay quote: ${relayErrorCode} - ${message}`
|
|
631
|
+
`An error occurred trying to generate a relay quote: ${relayErrorCode} - ReqId ${requestId || "NO_REQ_ID"} - ${message}`
|
|
631
632
|
);
|
|
632
633
|
this.statusCode = statusCode;
|
|
633
634
|
this.relayErrorCode = relayErrorCode;
|
|
@@ -819,7 +820,8 @@ async function getRelayQuote({
|
|
|
819
820
|
throw new RelayQuoteClientError(
|
|
820
821
|
apiError.statusCode,
|
|
821
822
|
rawError.errorCode,
|
|
822
|
-
rawError.message ?? apiError.message
|
|
823
|
+
rawError.message ?? apiError.message,
|
|
824
|
+
rawError.requestId
|
|
823
825
|
);
|
|
824
826
|
}
|
|
825
827
|
}
|
|
@@ -871,8 +873,8 @@ function getTronWallet(walletAddress, tronWeb) {
|
|
|
871
873
|
}
|
|
872
874
|
|
|
873
875
|
// src/dynamicRoutes/lighter.ts
|
|
874
|
-
var
|
|
875
|
-
var
|
|
876
|
+
var import_viem5 = require("viem");
|
|
877
|
+
var import_chains3 = require("viem/chains");
|
|
876
878
|
|
|
877
879
|
// src/dynamicRoutes/abi.ts
|
|
878
880
|
var UNWRAP_AND_CALL_ABI = [
|
|
@@ -1315,7 +1317,7 @@ var ASSET_LOGO_SRCS = {
|
|
|
1315
1317
|
IMX: "https://sdk-cdn.fun.xyz/images/imx.svg",
|
|
1316
1318
|
INJ: "https://sdk-cdn.fun.xyz/images/inj.svg",
|
|
1317
1319
|
LDO: "https://sdk-cdn.fun.xyz/images/ldo.svg",
|
|
1318
|
-
LINK: "https://sdk-cdn.fun.xyz/images/link.
|
|
1320
|
+
LINK: "https://sdk-cdn.fun.xyz/images/link.png",
|
|
1319
1321
|
LUCK: "https://sdk-cdn.fun.xyz/images/luck.png",
|
|
1320
1322
|
MATIC: "https://sdk-cdn.fun.xyz/images/matic.svg",
|
|
1321
1323
|
MFER: "https://sdk-cdn.fun.xyz/images/mfer.png",
|
|
@@ -1333,7 +1335,7 @@ var ASSET_LOGO_SRCS = {
|
|
|
1333
1335
|
SOL: "https://sdk-cdn.fun.xyz/images/sol.svg",
|
|
1334
1336
|
SUSDS: "https://sdk-cdn.fun.xyz/images/susds.svg",
|
|
1335
1337
|
TYBG: "https://sdk-cdn.fun.xyz/images/tybg.png",
|
|
1336
|
-
UNI: "https://sdk-cdn.fun.xyz/images/uni.
|
|
1338
|
+
UNI: "https://sdk-cdn.fun.xyz/images/uni.png",
|
|
1337
1339
|
USDC: "https://sdk-cdn.fun.xyz/images/usdc.svg",
|
|
1338
1340
|
"USDC.E": "https://sdk-cdn.fun.xyz/images/usdc.svg",
|
|
1339
1341
|
USDE: "https://sdk-cdn.fun.xyz/images/usde.svg",
|
|
@@ -1374,7 +1376,8 @@ var ASSET_LOGO_SRCS = {
|
|
|
1374
1376
|
MON: "https://sdk-cdn.fun.xyz/images/monad.svg",
|
|
1375
1377
|
WMON: "https://sdk-cdn.fun.xyz/images/wmon.svg",
|
|
1376
1378
|
AUSD: "https://sdk-cdn.fun.xyz/images/ausd.svg",
|
|
1377
|
-
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"
|
|
1378
1381
|
};
|
|
1379
1382
|
|
|
1380
1383
|
// src/dynamicRoutes/consts.ts
|
|
@@ -1388,6 +1391,25 @@ var tokenAddresses = {
|
|
|
1388
1391
|
},
|
|
1389
1392
|
USDC: {
|
|
1390
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")
|
|
1391
1413
|
}
|
|
1392
1414
|
};
|
|
1393
1415
|
var UNWRAP_AND_CALL_ADDRESS = {
|
|
@@ -1402,6 +1424,8 @@ var LIGHTER_DEPOSIT_ADDRESS = (0, import_viem2.getAddress)(
|
|
|
1402
1424
|
var MATCH_ALL_CONDITION = "*";
|
|
1403
1425
|
|
|
1404
1426
|
// src/dynamicRoutes/utils.ts
|
|
1427
|
+
var import_viem4 = require("viem");
|
|
1428
|
+
var import_chains2 = require("viem/chains");
|
|
1405
1429
|
var createPath = (config) => {
|
|
1406
1430
|
return config;
|
|
1407
1431
|
};
|
|
@@ -1484,6 +1508,35 @@ var initDynamicRouting = (dynamicRoutes, dynamicRoutingConfig) => {
|
|
|
1484
1508
|
);
|
|
1485
1509
|
return indexedDynamicRoutingConfig;
|
|
1486
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
|
+
};
|
|
1487
1540
|
|
|
1488
1541
|
// src/dynamicRoutes/lighter.ts
|
|
1489
1542
|
var NATIVE_TOKEN = FUNKIT_NATIVE_TOKEN;
|
|
@@ -1492,23 +1545,40 @@ var RELAY_LIGHTER_ETH_SPOT_ADDRESS = "0x0000000000000000000000000000000000000001
|
|
|
1492
1545
|
var RELAY_LIGHTER_USDC_PERPS_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
1493
1546
|
var TICK_SIZE_FOR_ASSET_INDEX = {
|
|
1494
1547
|
[3 /* USDC */]: BigInt(1),
|
|
1495
|
-
[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)
|
|
1496
1555
|
};
|
|
1497
1556
|
var DEPOSIT_TOKEN_FOR_ASSET_INDEX = {
|
|
1498
|
-
[3 /* USDC */]: tokenAddresses.USDC[
|
|
1499
|
-
[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]
|
|
1500
1565
|
};
|
|
1501
1566
|
var USDC_PERPS_SYMBOL = "USDC (Perps)";
|
|
1502
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)";
|
|
1503
1573
|
var generateLighterMainnetDepositActions = ({
|
|
1504
1574
|
address,
|
|
1505
1575
|
assetIndex,
|
|
1506
1576
|
routeType
|
|
1507
1577
|
}) => {
|
|
1508
|
-
const depositSelector = (0,
|
|
1578
|
+
const depositSelector = (0, import_viem5.toFunctionSelector)(
|
|
1509
1579
|
"deposit(address,uint16,uint8,uint256)"
|
|
1510
1580
|
);
|
|
1511
|
-
const encodedLighterParams = (0,
|
|
1581
|
+
const encodedLighterParams = (0, import_viem5.encodeAbiParameters)(
|
|
1512
1582
|
[
|
|
1513
1583
|
{ type: "address" },
|
|
1514
1584
|
{ type: "uint16" },
|
|
@@ -1517,12 +1587,12 @@ var generateLighterMainnetDepositActions = ({
|
|
|
1517
1587
|
],
|
|
1518
1588
|
[address, assetIndex, routeType, AMOUNT_PLACEHOLDER]
|
|
1519
1589
|
);
|
|
1520
|
-
const lighterDepositCalldata = (0,
|
|
1590
|
+
const lighterDepositCalldata = (0, import_viem5.concat)([depositSelector, encodedLighterParams]);
|
|
1521
1591
|
const depositToken = DEPOSIT_TOKEN_FOR_ASSET_INDEX[assetIndex];
|
|
1522
1592
|
const tickSize = TICK_SIZE_FOR_ASSET_INDEX[assetIndex];
|
|
1523
1593
|
const dustRecipient = address;
|
|
1524
1594
|
if (depositToken === NATIVE_TOKEN) {
|
|
1525
|
-
const vaultWrapperCalldata = (0,
|
|
1595
|
+
const vaultWrapperCalldata = (0, import_viem5.encodeFunctionData)({
|
|
1526
1596
|
abi: VAULT_DEPOSITOR_ABI,
|
|
1527
1597
|
functionName: "depositWithTick",
|
|
1528
1598
|
args: [
|
|
@@ -1542,22 +1612,18 @@ var generateLighterMainnetDepositActions = ({
|
|
|
1542
1612
|
});
|
|
1543
1613
|
return [
|
|
1544
1614
|
// Step 1: Approve WETH to UnwrapWETHAndCall
|
|
1545
|
-
{
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
UNWRAP_AND_CALL_ADDRESS[import_chains2.mainnet.id],
|
|
1551
|
-
"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
1552
|
-
]
|
|
1553
|
-
},
|
|
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
|
+
}),
|
|
1554
1620
|
// Step 2: UnwrapWETHAndCall pulls WETH, unwraps to ETH, sends to VaultWrapper, calls deposit
|
|
1555
1621
|
{
|
|
1556
1622
|
contractAbi: UNWRAP_AND_CALL_ABI,
|
|
1557
|
-
contractAddress: UNWRAP_AND_CALL_ADDRESS[
|
|
1623
|
+
contractAddress: UNWRAP_AND_CALL_ADDRESS[import_chains3.mainnet.id],
|
|
1558
1624
|
functionName: "unwrapAndCall",
|
|
1559
1625
|
functionArgs: [
|
|
1560
|
-
VAULT_DEPOSITOR_ADDRESS[
|
|
1626
|
+
VAULT_DEPOSITOR_ADDRESS[import_chains3.mainnet.id],
|
|
1561
1627
|
// target (VaultWrapper)
|
|
1562
1628
|
vaultWrapperCalldata
|
|
1563
1629
|
// VaultWrapper.deposit() calldata
|
|
@@ -1565,52 +1631,53 @@ var generateLighterMainnetDepositActions = ({
|
|
|
1565
1631
|
}
|
|
1566
1632
|
];
|
|
1567
1633
|
}
|
|
1568
|
-
|
|
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
|
-
|
|
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
|
+
];
|
|
1603
1670
|
};
|
|
1604
1671
|
var LIGHTER_USDC_PERPS_FUN_MAINNET_DEPOSIT = createPath({
|
|
1605
|
-
targetChain:
|
|
1606
|
-
targetAsset: tokenAddresses.USDC[
|
|
1672
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1673
|
+
targetAsset: tokenAddresses.USDC[import_chains3.mainnet.id],
|
|
1607
1674
|
targetAssetTicker: USDC_PERPS_SYMBOL,
|
|
1608
1675
|
iconSrc: ASSET_LOGO_SRCS.USDC,
|
|
1609
1676
|
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1610
1677
|
if (!outputConfig) {
|
|
1611
1678
|
return [];
|
|
1612
1679
|
}
|
|
1613
|
-
if (outputConfig.targetChain !==
|
|
1680
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1614
1681
|
return [];
|
|
1615
1682
|
}
|
|
1616
1683
|
return generateLighterMainnetDepositActions({
|
|
@@ -1621,15 +1688,15 @@ var LIGHTER_USDC_PERPS_FUN_MAINNET_DEPOSIT = createPath({
|
|
|
1621
1688
|
}
|
|
1622
1689
|
});
|
|
1623
1690
|
var LIGHTER_ETH_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
1624
|
-
targetChain:
|
|
1625
|
-
targetAsset: tokenAddresses.WETH[
|
|
1691
|
+
targetChain: import_chains3.mainnet.id.toString(),
|
|
1692
|
+
targetAsset: tokenAddresses.WETH[import_chains3.mainnet.id],
|
|
1626
1693
|
targetAssetTicker: ETH_SPOT_SYMBOL,
|
|
1627
1694
|
iconSrc: ASSET_LOGO_SRCS.ETH,
|
|
1628
1695
|
generateActionsParams: (address) => async (_finalTargetAssetAmount, outputConfig) => {
|
|
1629
1696
|
if (!outputConfig) {
|
|
1630
1697
|
return [];
|
|
1631
1698
|
}
|
|
1632
|
-
if (outputConfig.targetChain !==
|
|
1699
|
+
if (outputConfig.targetChain !== import_chains3.mainnet.id.toString()) {
|
|
1633
1700
|
return [];
|
|
1634
1701
|
}
|
|
1635
1702
|
return generateLighterMainnetDepositActions({
|
|
@@ -1639,6 +1706,101 @@ var LIGHTER_ETH_SPOT_FUN_MAINNET_DEPOSIT = createPath({
|
|
|
1639
1706
|
});
|
|
1640
1707
|
}
|
|
1641
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
|
+
});
|
|
1642
1804
|
var LIGHTER_DYNAMIC_ROUTES = [
|
|
1643
1805
|
createRoute({
|
|
1644
1806
|
id: "LIGHTER_ETH_SPOT",
|
|
@@ -1681,6 +1843,37 @@ var LIGHTER_DYNAMIC_ROUTES = [
|
|
|
1681
1843
|
paths: {
|
|
1682
1844
|
FUN_MAINNET_DEPOSIT: LIGHTER_ETH_SPOT_FUN_MAINNET_DEPOSIT
|
|
1683
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
|
+
}
|
|
1684
1877
|
})
|
|
1685
1878
|
];
|
|
1686
1879
|
|