@pendle/sdk-boros 1.0.13-cross-deposit-2 → 1.0.13

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.
Files changed (99) hide show
  1. package/dist/addresses.d.ts +1 -11
  2. package/dist/addresses.js +1 -23
  3. package/dist/addresses.js.map +1 -1
  4. package/dist/backend/secrettune/BorosCoreSDK.d.ts +21 -257
  5. package/dist/backend/secrettune/BorosCoreSDK.js +7 -125
  6. package/dist/backend/secrettune/BorosCoreSDK.js.map +1 -1
  7. package/dist/backend/secrettune/BorosSendTxsBotSDK.d.ts +4 -10
  8. package/dist/backend/secrettune/BorosSendTxsBotSDK.js +1 -1
  9. package/dist/backend/secrettune/BorosSendTxsBotSDK.js.map +1 -1
  10. package/dist/backend/secrettune/module.d.ts +0 -6
  11. package/dist/backend/secrettune/module.js +0 -25
  12. package/dist/backend/secrettune/module.js.map +1 -1
  13. package/dist/contracts/contracts.factory.d.ts +2 -8
  14. package/dist/contracts/contracts.factory.js +4 -16
  15. package/dist/contracts/contracts.factory.js.map +1 -1
  16. package/dist/entities/index.d.ts +0 -2
  17. package/dist/entities/index.js +0 -2
  18. package/dist/entities/index.js.map +1 -1
  19. package/dist/errors/PendleContractError/type.d.ts +13 -0
  20. package/dist/index.d.ts +0 -1
  21. package/dist/index.js +0 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/types/common.d.ts +0 -24
  24. package/dist/utils/signing/index.d.ts +1 -1
  25. package/dist/utils/signing/index.js +1 -2
  26. package/dist/utils/signing/index.js.map +1 -1
  27. package/dist/utils/signing/sensitive.d.ts +1 -2
  28. package/dist/utils/signing/sensitive.js +0 -29
  29. package/dist/utils/signing/sensitive.js.map +1 -1
  30. package/package.json +2 -2
  31. package/dist/backend/secrettune/PendleV2SDK.d.ts +0 -2281
  32. package/dist/backend/secrettune/PendleV2SDK.js +0 -970
  33. package/dist/backend/secrettune/PendleV2SDK.js.map +0 -1
  34. package/dist/common/chainId.d.ts +0 -12
  35. package/dist/common/chainId.js +0 -17
  36. package/dist/common/chainId.js.map +0 -1
  37. package/dist/contracts/abis/viemAbiDepositBoxFactory.d.ts +0 -75
  38. package/dist/contracts/abis/viemAbiDepositBoxFactory.js +0 -103
  39. package/dist/contracts/abis/viemAbiDepositBoxFactory.js.map +0 -1
  40. package/dist/contracts/abis/viemAbiRouter.d.ts +0 -1983
  41. package/dist/contracts/abis/viemAbiRouter.js +0 -2549
  42. package/dist/contracts/abis/viemAbiRouter.js.map +0 -1
  43. package/dist/contracts/deposit-box-factory.d.ts +0 -86
  44. package/dist/contracts/deposit-box-factory.js +0 -16
  45. package/dist/contracts/deposit-box-factory.js.map +0 -1
  46. package/dist/contracts/erc20.d.ts +0 -158
  47. package/dist/contracts/erc20.js +0 -52
  48. package/dist/contracts/erc20.js.map +0 -1
  49. package/dist/contracts/router.d.ts +0 -1987
  50. package/dist/contracts/router.js +0 -12
  51. package/dist/contracts/router.js.map +0 -1
  52. package/dist/entities/crossChainDeposit/AggregatorHelper.d.ts +0 -119
  53. package/dist/entities/crossChainDeposit/AggregatorHelper.js +0 -26
  54. package/dist/entities/crossChainDeposit/AggregatorHelper.js.map +0 -1
  55. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.d.ts +0 -83
  56. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js +0 -116
  57. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js.map +0 -1
  58. package/dist/entities/crossChainDeposit/Depositor.d.ts +0 -32
  59. package/dist/entities/crossChainDeposit/Depositor.js +0 -67
  60. package/dist/entities/crossChainDeposit/Depositor.js.map +0 -1
  61. package/dist/entities/crossChainDeposit/Withdrawer.d.ts +0 -28
  62. package/dist/entities/crossChainDeposit/Withdrawer.js +0 -59
  63. package/dist/entities/crossChainDeposit/Withdrawer.js.map +0 -1
  64. package/dist/entities/crossChainDeposit/aggregators/Boros/BorosHelper.d.ts +0 -51
  65. package/dist/entities/crossChainDeposit/aggregators/Boros/BorosHelper.js +0 -268
  66. package/dist/entities/crossChainDeposit/aggregators/Boros/BorosHelper.js.map +0 -1
  67. package/dist/entities/crossChainDeposit/aggregators/Boros/index.d.ts +0 -2
  68. package/dist/entities/crossChainDeposit/aggregators/Boros/index.js +0 -19
  69. package/dist/entities/crossChainDeposit/aggregators/Boros/index.js.map +0 -1
  70. package/dist/entities/crossChainDeposit/aggregators/Boros/types.d.ts +0 -10
  71. package/dist/entities/crossChainDeposit/aggregators/Boros/types.js +0 -3
  72. package/dist/entities/crossChainDeposit/aggregators/Boros/types.js.map +0 -1
  73. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.d.ts +0 -52
  74. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js +0 -231
  75. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js.map +0 -1
  76. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.d.ts +0 -186
  77. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js +0 -28
  78. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js.map +0 -1
  79. package/dist/entities/crossChainDeposit/aggregators/Pendle/index.d.ts +0 -54
  80. package/dist/entities/crossChainDeposit/aggregators/Pendle/index.js +0 -250
  81. package/dist/entities/crossChainDeposit/aggregators/Pendle/index.js.map +0 -1
  82. package/dist/entities/crossChainDeposit/helpers/TokenHelper.d.ts +0 -29
  83. package/dist/entities/crossChainDeposit/helpers/TokenHelper.js +0 -116
  84. package/dist/entities/crossChainDeposit/helpers/TokenHelper.js.map +0 -1
  85. package/dist/entities/crossChainDeposit/helpers/utils.d.ts +0 -4
  86. package/dist/entities/crossChainDeposit/helpers/utils.js +0 -25
  87. package/dist/entities/crossChainDeposit/helpers/utils.js.map +0 -1
  88. package/dist/entities/crossChainDeposit/index.d.ts +0 -3
  89. package/dist/entities/crossChainDeposit/index.js +0 -20
  90. package/dist/entities/crossChainDeposit/index.js.map +0 -1
  91. package/dist/entities/token/Token.d.ts +0 -34
  92. package/dist/entities/token/Token.js +0 -65
  93. package/dist/entities/token/Token.js.map +0 -1
  94. package/dist/entities/token/index.d.ts +0 -1
  95. package/dist/entities/token/index.js +0 -18
  96. package/dist/entities/token/index.js.map +0 -1
  97. package/dist/errors/PendleSdkError.d.ts +0 -7
  98. package/dist/errors/PendleSdkError.js +0 -15
  99. package/dist/errors/PendleSdkError.js.map +0 -1
@@ -1,268 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BorosLzBridgeHelper = exports.BorosWithdrawResult = exports.BorosLzBridgeResult = exports.LAYER_ZERO_SCAN_API = void 0;
13
- const axios_1 = __importDefault(require("axios"));
14
- const viem_1 = require("viem");
15
- const chains_1 = require("viem/chains");
16
- const addresses_1 = require("../../../../addresses");
17
- const cacheDecorators_1 = require("../../../../common/cacheDecorators");
18
- const constants_1 = require("../../../../multicall/constants");
19
- const token_1 = require("../../../token");
20
- const AggregatorHelper_1 = require("../../AggregatorHelper");
21
- const AggregatorHelperErrors_1 = require("../../AggregatorHelperErrors");
22
- const utils_1 = require("../../helpers/utils");
23
- exports.LAYER_ZERO_SCAN_API = 'https://scan.layerzero-api.com/v1';
24
- class BorosLzBridgeResult {
25
- routes = [];
26
- rawResult;
27
- req;
28
- constructor(params) {
29
- const { req, res, tokenLookupTable } = params;
30
- this.req = req;
31
- this.rawResult = res;
32
- const fromToken = tokenLookupTable.lookup(chains_1.bsc.id, res.fromToken, true);
33
- const toToken = tokenLookupTable.lookup(chains_1.arbitrum.id, res.toToken, true);
34
- this.routes = [
35
- {
36
- id: 'boros',
37
- inputTokenAmount: new token_1.TokenAmount(fromToken, BigInt(res.fromAmount)),
38
- outputTokenAmount: new token_1.TokenAmount(toToken, BigInt(res.toAmount)),
39
- minOutputTokenAmount: new token_1.TokenAmount(toToken, BigInt(res.minToAmount)),
40
- steps: [
41
- {
42
- fromTokenAmount: new token_1.TokenAmount(fromToken, BigInt(res.fromAmount)),
43
- toTokenAmount: new token_1.TokenAmount(toToken, BigInt(res.toAmount)),
44
- executionDuration: 20,
45
- feeCosts: res.feeCosts.map((feeCost) => ({
46
- name: feeCost.name,
47
- amountUSD: Number(feeCost.amountUsd),
48
- })),
49
- gasCosts: res.gasCosts.flatMap((gasCost) => {
50
- const token = tokenLookupTable.lookup(gasCost.chainId, gasCost.token);
51
- if (token == null) {
52
- return [];
53
- }
54
- return {
55
- tokenAmount: new token_1.TokenAmount(token, BigInt(gasCost.amount)),
56
- amountUSD: Number(gasCost.amountUsd),
57
- };
58
- }),
59
- tool: {
60
- key: 'boros',
61
- name: 'LayerZero',
62
- logoURI: 'https://storage.googleapis.com/prod-pendle-bucket-a/images/assets/pro/ea33e392-1876-46a5-b7ce-c8434b5a7e71.svg',
63
- },
64
- },
65
- ],
66
- },
67
- ];
68
- }
69
- getAggregatorName() {
70
- return AggregatorHelper_1.AggregatorName.BOROS;
71
- }
72
- selectRoute() {
73
- return this.rawResult;
74
- }
75
- async getRouteData() {
76
- (0, utils_1.ensureDepositBoxAddress)(this.req.fromAddress, this.req.boxId, this.rawResult.tx.to);
77
- return {
78
- transferData: {
79
- aggregatorName: AggregatorHelper_1.AggregatorName.BOROS,
80
- approvalAddress: (0, addresses_1.toAddress)(this.rawResult.tx.to),
81
- calldata: this.rawResult.tx.calldata,
82
- value: BigInt(this.rawResult.tx.value),
83
- from: (0, addresses_1.toAddress)(this.rawResult.tx.from),
84
- to: (0, addresses_1.toAddress)(this.rawResult.tx.to),
85
- chainId: chains_1.bsc.id,
86
- },
87
- swapData: {
88
- tokenSpent: (0, addresses_1.toAddress)(this.req.toToken),
89
- amountSpent: BigInt(this.rawResult.toAmount),
90
- minAmountSpent: BigInt(this.rawResult.minToAmount),
91
- extRouter: viem_1.zeroAddress,
92
- extCalldata: '0x',
93
- },
94
- };
95
- }
96
- }
97
- exports.BorosLzBridgeResult = BorosLzBridgeResult;
98
- class BorosWithdrawResult {
99
- routes = [];
100
- rawResult;
101
- req;
102
- constructor(params) {
103
- const { req, res, tokenLookupTable } = params;
104
- this.req = req;
105
- this.rawResult = res;
106
- const fromToken = tokenLookupTable.lookup(chains_1.arbitrum.id, res.fromToken, true);
107
- const toToken = tokenLookupTable.lookup(chains_1.bsc.id, res.toToken, true);
108
- this.routes = [
109
- {
110
- id: 'boros',
111
- inputTokenAmount: new token_1.TokenAmount(fromToken, BigInt(res.fromAmount)),
112
- outputTokenAmount: new token_1.TokenAmount(toToken, BigInt(res.toAmount)),
113
- minOutputTokenAmount: new token_1.TokenAmount(toToken, BigInt(res.minToAmount)),
114
- steps: [
115
- {
116
- fromTokenAmount: new token_1.TokenAmount(fromToken, BigInt(res.fromAmount)),
117
- toTokenAmount: new token_1.TokenAmount(toToken, BigInt(res.toAmount)),
118
- executionDuration: 20,
119
- feeCosts: res.feeCosts.map((feeCost) => ({
120
- name: feeCost.name,
121
- amountUSD: Number(feeCost.amountUsd),
122
- })),
123
- gasCosts: res.gasCosts.flatMap((gasCost) => {
124
- const token = tokenLookupTable.lookup(gasCost.chainId, gasCost.token);
125
- if (token == null) {
126
- return [];
127
- }
128
- return {
129
- tokenAmount: new token_1.TokenAmount(token, BigInt(gasCost.amount)),
130
- amountUSD: Number(gasCost.amountUsd),
131
- };
132
- }),
133
- tool: {
134
- key: 'boros',
135
- name: 'LayerZero',
136
- logoURI: 'https://storage.googleapis.com/prod-pendle-bucket-a/images/assets/pro/ea33e392-1876-46a5-b7ce-c8434b5a7e71.svg',
137
- },
138
- },
139
- ],
140
- },
141
- ];
142
- }
143
- getAggregatorName() {
144
- return AggregatorHelper_1.AggregatorName.BOROS;
145
- }
146
- selectRoute() {
147
- return this.rawResult;
148
- }
149
- async getRouteData(_routeId) {
150
- return {
151
- transferData: {
152
- aggregatorName: AggregatorHelper_1.AggregatorName.BOROS,
153
- approvalAddress: (0, addresses_1.toAddress)(this.rawResult.tx.to),
154
- calldata: this.rawResult.tx.calldata,
155
- value: BigInt(this.rawResult.tx.value),
156
- from: (0, addresses_1.toAddress)(this.rawResult.tx.from),
157
- to: (0, addresses_1.toAddress)(this.rawResult.tx.to),
158
- chainId: chains_1.arbitrum.id,
159
- },
160
- };
161
- }
162
- }
163
- exports.BorosWithdrawResult = BorosWithdrawResult;
164
- class BorosLzBridgeHelper {
165
- borosCoreSdk;
166
- tokenHelper;
167
- layerZeroApiUrl;
168
- aggregatorName = AggregatorHelper_1.AggregatorName.BOROS;
169
- axios;
170
- constructor(borosCoreSdk, tokenHelper, layerZeroApiUrl = exports.LAYER_ZERO_SCAN_API) {
171
- this.borosCoreSdk = borosCoreSdk;
172
- this.tokenHelper = tokenHelper;
173
- this.layerZeroApiUrl = layerZeroApiUrl;
174
- this.axios = axios_1.default.create();
175
- }
176
- async getChains() {
177
- return [
178
- {
179
- chainId: chains_1.bsc.id,
180
- name: 'Binance Smart Chain',
181
- key: 'bsc',
182
- coin: 'BNB',
183
- logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/bsc.svg',
184
- },
185
- ];
186
- }
187
- async getTokenLookupTable() {
188
- return this.tokenHelper.getTokenLookupTable();
189
- }
190
- async getRouteStatus(txHash) {
191
- try {
192
- let lzData;
193
- try {
194
- const response = await this.axios.get(`${this.layerZeroApiUrl}/messages/tx/${txHash}`);
195
- lzData = response.data;
196
- }
197
- catch (lzError) {
198
- if (axios_1.default.isAxiosError(lzError) && lzError.response?.status === 404) {
199
- return AggregatorHelper_1.AggregatorRouteStatus.PENDING;
200
- }
201
- throw lzError;
202
- }
203
- switch (lzData.data[0].status.name) {
204
- case 'DELIVERED':
205
- return AggregatorHelper_1.AggregatorRouteStatus.DONE;
206
- case 'FAILED':
207
- return AggregatorHelper_1.AggregatorRouteStatus.FAILED;
208
- case 'UNKNOWN':
209
- return AggregatorHelper_1.AggregatorRouteStatus.NOT_FOUND;
210
- case 'PAYLOAD_STORED':
211
- case 'CONFIRMING':
212
- case 'INFLIGHT':
213
- return AggregatorHelper_1.AggregatorRouteStatus.PENDING;
214
- }
215
- }
216
- catch (error) {
217
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.BOROS, error, [500, 502, 503, 504], 'getRouteStatus', txHash, () => undefined);
218
- }
219
- }
220
- async getLayerZeroStatus(txHash) {
221
- const response = await this.axios.get(`${this.layerZeroApiUrl}/messages/tx/${txHash}`);
222
- return response.data;
223
- }
224
- async quoteDeposit(params) {
225
- const req = {
226
- fromToken: params.fromToken,
227
- toToken: params.toToken,
228
- amount: params.fromAmount.toString(),
229
- fromAddress: params.fromAddress,
230
- boxId: params.boxId,
231
- };
232
- try {
233
- const [{ data }, tokenLookupTable] = await Promise.all([
234
- this.borosCoreSdk.depositBox.depositBoxControllerQuoteBscBridgeV2(req),
235
- this.getTokenLookupTable(),
236
- ]);
237
- return new BorosLzBridgeResult({ req, res: data, tokenLookupTable });
238
- }
239
- catch (error) {
240
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.BOROS, error, [500, 502, 503, 504], 'quote', req, () => undefined);
241
- }
242
- }
243
- async quoteWithdraw(params) {
244
- const tokenLookupTable = await this.getTokenLookupTable();
245
- const tokenId = tokenLookupTable.lookupTokenId(chains_1.arbitrum.id, params.fromToken);
246
- const req = {
247
- fromAddress: params.fromAddress,
248
- tokenId,
249
- amount: params.fromAmount.toString(),
250
- toAddress: params.fromAddress,
251
- };
252
- try {
253
- const { data } = await this.borosCoreSdk.depositBox.depositBoxControllerQuoteWithdrawBsc(req);
254
- return new BorosWithdrawResult({ req: params, res: data, tokenLookupTable });
255
- }
256
- catch (error) {
257
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.BOROS, error, [500, 502, 503, 504], 'quoteWithdraw', req, () => undefined);
258
- }
259
- }
260
- }
261
- exports.BorosLzBridgeHelper = BorosLzBridgeHelper;
262
- __decorate([
263
- (0, cacheDecorators_1.GlobalCache)({
264
- generateLookupKey: () => 'BorosLzBridgeHelper.getTokenLookupTable',
265
- ttl_ms: constants_1.MILLISECONDS_IN_A_MINUTE * 10,
266
- })
267
- ], BorosLzBridgeHelper.prototype, "getTokenLookupTable", null);
268
- //# sourceMappingURL=BorosHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BorosHelper.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Boros/BorosHelper.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './BorosHelper';
2
- export * from './types';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./BorosHelper"), exports);
18
- __exportStar(require("./types"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Boros/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,0CAAwB"}
@@ -1,10 +0,0 @@
1
- export type LayerZeroMessageStatus = 'UNKNOWN' | 'CONFIRMING' | 'INFLIGHT' | 'DELIVERED' | 'FAILED' | 'PAYLOAD_STORED';
2
- export type LayerZeroMessageResponse = {
3
- data: [
4
- {
5
- status: {
6
- name: LayerZeroMessageStatus;
7
- };
8
- }
9
- ];
10
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Boros/types.ts"],"names":[],"mappings":""}
@@ -1,52 +0,0 @@
1
- import { Hex } from 'viem';
2
- import { DepositBoxFactoryContract } from '../../../../contracts/deposit-box-factory';
3
- import { AggregatorTransferData, AggregatorHelper, AggregatorName, AggregatorResult, AggregatorRoute, AggregatorRouteStatus, AggregatorSwapData, QuoteDepositParams, QuoteWithdrawParams } from '../../AggregatorHelper';
4
- import { LifiGetRoutesRequest, LifiGetRoutesResponse, LifiGetRoutesStep } from './types';
5
- export declare const LIFI_API = "https://li.quest/v1";
6
- export declare class LifiAggregatorResult implements AggregatorResult {
7
- private readonly aggregatorHelper;
8
- routes: AggregatorRoute[];
9
- private rawResult;
10
- private req;
11
- constructor(params: {
12
- req: LifiGetRoutesRequest;
13
- res: LifiGetRoutesResponse;
14
- aggregatorHelper: LifiAggregatorHelper;
15
- });
16
- private isValidRoute;
17
- getAggregatorName(): AggregatorName;
18
- getRouteData: (routeId: string) => Promise<{
19
- transferData: AggregatorTransferData;
20
- swapData: AggregatorSwapData;
21
- }>;
22
- }
23
- export declare class LifiWithdrawResult implements AggregatorResult {
24
- private readonly aggregatorHelper;
25
- routes: AggregatorRoute[];
26
- private rawResult;
27
- private req;
28
- constructor(params: {
29
- req: LifiGetRoutesRequest;
30
- res: LifiGetRoutesResponse;
31
- aggregatorHelper: LifiAggregatorHelper;
32
- });
33
- private isValidRoute;
34
- getAggregatorName(): AggregatorName;
35
- getRouteData: (routeId: string) => Promise<{
36
- transferData: AggregatorTransferData;
37
- }>;
38
- }
39
- export declare class LifiAggregatorHelper implements AggregatorHelper {
40
- private readonly depositBoxFactoryContract;
41
- private readonly apiUrl;
42
- aggregatorName: AggregatorName;
43
- private readonly axios;
44
- constructor(depositBoxFactoryContract: DepositBoxFactoryContract, apiUrl?: string);
45
- quoteDeposit(params: QuoteDepositParams): Promise<LifiAggregatorResult>;
46
- quoteWithdraw(params: QuoteWithdrawParams): Promise<LifiWithdrawResult>;
47
- quote(callParams: LifiGetRoutesRequest): Promise<LifiAggregatorResult>;
48
- assemble(params: LifiGetRoutesStep): Promise<AggregatorTransferData>;
49
- getRouteStatus(txHash: Hex, options?: {
50
- fromChain: number;
51
- }): Promise<AggregatorRouteStatus>;
52
- }
@@ -1,231 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LifiAggregatorHelper = exports.LifiWithdrawResult = exports.LifiAggregatorResult = exports.LIFI_API = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const viem_1 = require("viem");
9
- const chains_1 = require("viem/chains");
10
- const Token_1 = require("../../../token/Token");
11
- const AggregatorHelper_1 = require("../../AggregatorHelper");
12
- const AggregatorHelperErrors_1 = require("../../AggregatorHelperErrors");
13
- const utils_1 = require("../../helpers/utils");
14
- const types_1 = require("./types");
15
- const addresses_1 = require("../../../../addresses");
16
- exports.LIFI_API = 'https://li.quest/v1';
17
- class LifiAggregatorResult {
18
- aggregatorHelper;
19
- routes;
20
- rawResult;
21
- req;
22
- constructor(params) {
23
- const { req, res, aggregatorHelper } = params;
24
- this.req = req;
25
- const validRoutes = res.routes.filter((route) => this.isValidRoute(route));
26
- this.routes = validRoutes.map(({ id, fromAmount, fromToken, toAmount, toToken, steps, toAmountMin }) => ({
27
- id,
28
- inputTokenAmount: Token_1.TokenAmount.createFromLifi(fromToken, fromAmount),
29
- outputTokenAmount: Token_1.TokenAmount.createFromLifi(toToken, toAmount),
30
- minOutputTokenAmount: Token_1.TokenAmount.createFromLifi(toToken, toAmountMin),
31
- steps: steps.map((step) => ({
32
- fromTokenAmount: Token_1.TokenAmount.createFromLifi(step.action.fromToken, step.action.fromAmount),
33
- toTokenAmount: Token_1.TokenAmount.createFromLifi(step.action.toToken, step.estimate.toAmount),
34
- executionDuration: step.estimate.executionDuration,
35
- feeCosts: step.estimate.feeCosts?.map((feeCost) => ({
36
- name: feeCost.name,
37
- amountUSD: Number(feeCost.amountUSD),
38
- })),
39
- gasCosts: step.estimate.gasCosts?.map((gasCost) => ({
40
- tokenAmount: Token_1.TokenAmount.createFromLifi(gasCost.token, gasCost.amount),
41
- amountUSD: Number(gasCost.amountUSD),
42
- })),
43
- tool: {
44
- key: step.toolDetails.key,
45
- name: step.toolDetails.name,
46
- logoURI: step.toolDetails.logoURI,
47
- },
48
- })),
49
- }));
50
- this.rawResult = validRoutes;
51
- this.aggregatorHelper = aggregatorHelper;
52
- }
53
- isValidRoute(route) {
54
- return route.steps.length === 1;
55
- }
56
- getAggregatorName() {
57
- return AggregatorHelper_1.AggregatorName.LIFI;
58
- }
59
- getRouteData = async (routeId) => {
60
- const route = this.rawResult.find((route) => route.id === routeId);
61
- if (route == null) {
62
- throw new Error(`Route not found: ${routeId}`);
63
- }
64
- const [step] = route.steps;
65
- const result = await this.aggregatorHelper.assemble(step);
66
- (0, utils_1.ensureCalldataHasBoxAddress)(result.calldata, this.req.toAddress);
67
- return {
68
- transferData: result,
69
- swapData: {
70
- tokenSpent: (0, addresses_1.toAddress)(this.req.toTokenAddress),
71
- amountSpent: BigInt(route.toAmount),
72
- minAmountSpent: BigInt(route.toAmountMin),
73
- extRouter: viem_1.zeroAddress,
74
- extCalldata: '0x',
75
- },
76
- };
77
- };
78
- }
79
- exports.LifiAggregatorResult = LifiAggregatorResult;
80
- class LifiWithdrawResult {
81
- aggregatorHelper;
82
- routes;
83
- rawResult;
84
- req;
85
- constructor(params) {
86
- const { req, res, aggregatorHelper } = params;
87
- this.req = req;
88
- const validRoutes = res.routes.filter((route) => this.isValidRoute(route));
89
- this.routes = validRoutes.map(({ id, fromAmount, fromToken, toAmount, toToken, steps, toAmountMin }) => ({
90
- id,
91
- inputTokenAmount: Token_1.TokenAmount.createFromLifi(fromToken, fromAmount),
92
- outputTokenAmount: Token_1.TokenAmount.createFromLifi(toToken, toAmount),
93
- minOutputTokenAmount: Token_1.TokenAmount.createFromLifi(toToken, toAmountMin),
94
- steps: steps.map((step) => ({
95
- fromTokenAmount: Token_1.TokenAmount.createFromLifi(step.action.fromToken, step.action.fromAmount),
96
- toTokenAmount: Token_1.TokenAmount.createFromLifi(step.action.toToken, step.estimate.toAmount),
97
- executionDuration: step.estimate.executionDuration,
98
- feeCosts: step.estimate.feeCosts?.map((feeCost) => ({
99
- name: feeCost.name,
100
- amountUSD: Number(feeCost.amountUSD),
101
- })),
102
- gasCosts: step.estimate.gasCosts?.map((gasCost) => ({
103
- tokenAmount: Token_1.TokenAmount.createFromLifi(gasCost.token, gasCost.amount),
104
- amountUSD: Number(gasCost.amountUSD),
105
- })),
106
- tool: {
107
- key: step.toolDetails.key,
108
- name: step.toolDetails.name,
109
- logoURI: step.toolDetails.logoURI,
110
- },
111
- })),
112
- }));
113
- this.rawResult = validRoutes;
114
- this.aggregatorHelper = aggregatorHelper;
115
- }
116
- isValidRoute(route) {
117
- return route.steps.length === 1;
118
- }
119
- getAggregatorName() {
120
- return AggregatorHelper_1.AggregatorName.LIFI;
121
- }
122
- getRouteData = async (routeId) => {
123
- const route = this.rawResult.find((route) => route.id === routeId);
124
- if (route == null) {
125
- throw new Error(`Route not found: ${routeId}`);
126
- }
127
- const [step] = route.steps;
128
- const result = await this.aggregatorHelper.assemble(step);
129
- return {
130
- transferData: result,
131
- };
132
- };
133
- }
134
- exports.LifiWithdrawResult = LifiWithdrawResult;
135
- class LifiAggregatorHelper {
136
- depositBoxFactoryContract;
137
- apiUrl;
138
- aggregatorName = AggregatorHelper_1.AggregatorName.LIFI;
139
- axios;
140
- constructor(depositBoxFactoryContract, apiUrl = exports.LIFI_API) {
141
- this.depositBoxFactoryContract = depositBoxFactoryContract;
142
- this.apiUrl = apiUrl;
143
- this.axios = axios_1.default.create();
144
- }
145
- async quoteDeposit(params) {
146
- const { box } = await this.depositBoxFactoryContract.computeDepositBox(params.fromAddress, params.boxId);
147
- const callParams = {
148
- fromChainId: params.fromChainId,
149
- toChainId: chains_1.arbitrum.id,
150
- fromTokenAddress: params.fromToken,
151
- toTokenAddress: params.toToken,
152
- fromAmount: params.fromAmount.toString(),
153
- fromAddress: params.fromAddress,
154
- toAddress: box,
155
- options: {
156
- integrator: 'pendle',
157
- allowDestinationCall: false,
158
- order: types_1.GetRoutesOrder.FASTEST,
159
- slippage: params.slippage,
160
- maxPriceImpact: 0.005,
161
- },
162
- };
163
- (0, utils_1.ensureDepositBoxAddress)(callParams.fromAddress, params.boxId, callParams.toAddress);
164
- return this.quote(callParams);
165
- }
166
- async quoteWithdraw(params) {
167
- const callParams = {
168
- fromChainId: chains_1.arbitrum.id,
169
- toChainId: params.toChainId,
170
- fromTokenAddress: params.fromToken,
171
- toTokenAddress: params.toToken,
172
- fromAmount: params.fromAmount.toString(),
173
- fromAddress: params.fromAddress,
174
- toAddress: params.fromAddress,
175
- options: {
176
- integrator: 'pendle',
177
- allowDestinationCall: false,
178
- order: types_1.GetRoutesOrder.FASTEST,
179
- slippage: params.slippage,
180
- maxPriceImpact: 0.005,
181
- },
182
- };
183
- try {
184
- const { data } = await this.axios.post(`${this.apiUrl}/advanced/routes`, callParams);
185
- return new LifiWithdrawResult({ req: callParams, res: data, aggregatorHelper: this });
186
- }
187
- catch (error) {
188
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'quote', callParams, () => undefined);
189
- }
190
- }
191
- async quote(callParams) {
192
- try {
193
- const { data } = await this.axios.post(`${this.apiUrl}/advanced/routes`, callParams);
194
- return new LifiAggregatorResult({ req: callParams, res: data, aggregatorHelper: this });
195
- }
196
- catch (error) {
197
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'quote', callParams, () => undefined);
198
- }
199
- }
200
- async assemble(params) {
201
- try {
202
- const { data } = await this.axios.post(`${this.apiUrl}/advanced/stepTransaction`, params);
203
- return {
204
- aggregatorName: AggregatorHelper_1.AggregatorName.LIFI,
205
- approvalAddress: params.estimate.approvalAddress,
206
- calldata: data.transactionRequest.data,
207
- value: BigInt(data.transactionRequest.value),
208
- from: data.transactionRequest.from,
209
- to: data.transactionRequest.to,
210
- chainId: data.transactionRequest.chainId,
211
- gasPrice: BigInt(data.transactionRequest.gasPrice),
212
- gasLimit: BigInt(data.transactionRequest.gasLimit),
213
- };
214
- }
215
- catch (error) {
216
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'assemble', params, () => undefined);
217
- }
218
- }
219
- async getRouteStatus(txHash, options) {
220
- const params = { txHash, fromChain: options?.fromChain };
221
- try {
222
- const { data } = await this.axios.get(`${this.apiUrl}/status`, { params });
223
- return data.status;
224
- }
225
- catch (error) {
226
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'getRouteStatus', { txHash }, () => undefined);
227
- }
228
- }
229
- }
230
- exports.LifiAggregatorHelper = LifiAggregatorHelper;
231
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Lifi/index.ts"],"names":[],"mappings":"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"}