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

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 (47) hide show
  1. package/dist/contracts/contracts.factory.d.ts +2 -4
  2. package/dist/contracts/contracts.factory.js +4 -8
  3. package/dist/contracts/contracts.factory.js.map +1 -1
  4. package/dist/entities/exchange/exchange.d.ts +0 -1611
  5. package/dist/entities/exchange/exchange.js +0 -35
  6. package/dist/entities/exchange/exchange.js.map +1 -1
  7. package/dist/entities/index.d.ts +0 -1
  8. package/dist/entities/index.js +0 -1
  9. package/dist/entities/index.js.map +1 -1
  10. package/dist/types/common.d.ts +0 -10
  11. package/dist/utils/signing/sensitive.d.ts +1 -2
  12. package/dist/utils/signing/sensitive.js +0 -23
  13. package/dist/utils/signing/sensitive.js.map +1 -1
  14. package/package.json +1 -1
  15. package/dist/common/chainId.d.ts +0 -12
  16. package/dist/common/chainId.js +0 -17
  17. package/dist/common/chainId.js.map +0 -1
  18. package/dist/contracts/abis/viemAbiRouter.d.ts +0 -1985
  19. package/dist/contracts/abis/viemAbiRouter.js +0 -2554
  20. package/dist/contracts/abis/viemAbiRouter.js.map +0 -1
  21. package/dist/contracts/router.d.ts +0 -1991
  22. package/dist/contracts/router.js +0 -16
  23. package/dist/contracts/router.js.map +0 -1
  24. package/dist/entities/crossChainDeposit/AggregatorHelper.d.ts +0 -76
  25. package/dist/entities/crossChainDeposit/AggregatorHelper.js +0 -8
  26. package/dist/entities/crossChainDeposit/AggregatorHelper.js.map +0 -1
  27. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.d.ts +0 -57
  28. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js +0 -116
  29. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js.map +0 -1
  30. package/dist/entities/crossChainDeposit/CrossChainDeposit.d.ts +0 -17
  31. package/dist/entities/crossChainDeposit/CrossChainDeposit.js +0 -36
  32. package/dist/entities/crossChainDeposit/CrossChainDeposit.js.map +0 -1
  33. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.d.ts +0 -26
  34. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js +0 -178
  35. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js.map +0 -1
  36. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.d.ts +0 -164
  37. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js +0 -28
  38. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js.map +0 -1
  39. package/dist/entities/crossChainDeposit/index.d.ts +0 -1
  40. package/dist/entities/crossChainDeposit/index.js +0 -18
  41. package/dist/entities/crossChainDeposit/index.js.map +0 -1
  42. package/dist/entities/token/Token.d.ts +0 -19
  43. package/dist/entities/token/Token.js +0 -38
  44. package/dist/entities/token/Token.js.map +0 -1
  45. package/dist/errors/PendleSdkError.d.ts +0 -7
  46. package/dist/errors/PendleSdkError.js +0 -15
  47. package/dist/errors/PendleSdkError.js.map +0 -1
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouterContract = void 0;
4
- const viemAbiRouter_1 = require("../contracts/abis/viemAbiRouter");
5
- const base_contract_helper_1 = require("./base-contract-helper");
6
- class RouterContract extends base_contract_helper_1.BaseContractHelper {
7
- abi() {
8
- return viemAbiRouter_1.iRouterAbi;
9
- }
10
- async DEPOSIT_BOX_CODE_HASH(multicallOptions) {
11
- const depositBoxCodeHash = await this.contract.read.DEPOSIT_BOX_CODE_HASH(multicallOptions);
12
- return depositBoxCodeHash;
13
- }
14
- }
15
- exports.RouterContract = RouterContract;
16
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/contracts/router.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAE7D,iEAA4D;AAE5D,MAAa,cAAe,SAAQ,yCAAqC;IACvE,GAAG;QACD,OAAO,0BAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,gBAAmC;QAC7D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAC5F,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AATD,wCASC"}
@@ -1,76 +0,0 @@
1
- import { Address, Hex } from 'viem';
2
- import { TokenAmount } from '../token/Token';
3
- export type MakeCallParams = {
4
- fromChainId: number;
5
- toChainId: number;
6
- fromToken: Address;
7
- toToken: Address;
8
- fromAmount: bigint;
9
- fromAddress: Address;
10
- toAddress: Address;
11
- slippage: number;
12
- };
13
- export interface AggregatorBridgeData {
14
- aggregatorName: AggregatorName;
15
- calldata: Hex;
16
- value: bigint;
17
- from: Address;
18
- to: Address;
19
- chainId: number;
20
- gasPrice: bigint;
21
- gasLimit: bigint;
22
- }
23
- export interface AggregatorRoute {
24
- id: string;
25
- inputTokenAmount: TokenAmount;
26
- outputTokenAmount: TokenAmount;
27
- steps: {
28
- fromTokenAmount: TokenAmount;
29
- toTokenAmount: TokenAmount;
30
- executionDuration: number;
31
- feeCosts?: {
32
- name: string;
33
- amountUSD: number;
34
- }[];
35
- gasCosts?: {
36
- tokenAmount: TokenAmount;
37
- amountUSD?: number;
38
- }[];
39
- tool: {
40
- key?: string;
41
- name?: string;
42
- logoURI?: string;
43
- };
44
- }[];
45
- }
46
- export interface AggregatorResult<T = unknown> {
47
- routes: AggregatorRoute[];
48
- rawResult: T[];
49
- getAggregatorName(): AggregatorName;
50
- selectRoute(routeId: string): T | undefined;
51
- getBridgeData(route: T): Promise<AggregatorBridgeData>;
52
- }
53
- export declare enum AggregatorName {
54
- LIFI = "LIFI"
55
- }
56
- export type AggregatorChain = {
57
- chainId: number;
58
- name: string;
59
- key: string;
60
- coin: string;
61
- logoURI?: string;
62
- };
63
- export type AggregatorToken = {
64
- chainId: number;
65
- address: Address;
66
- decimals: number;
67
- symbol: string;
68
- name: string;
69
- logoURI?: string;
70
- };
71
- export interface AggregatorHelper<T> {
72
- aggregatorName: AggregatorName;
73
- quote(params: MakeCallParams): Promise<AggregatorResult<T>>;
74
- getChains(): Promise<AggregatorChain[]>;
75
- getTokens(): Promise<AggregatorToken[]>;
76
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AggregatorName = void 0;
4
- var AggregatorName;
5
- (function (AggregatorName) {
6
- AggregatorName["LIFI"] = "LIFI";
7
- })(AggregatorName || (exports.AggregatorName = AggregatorName = {}));
8
- //# sourceMappingURL=AggregatorHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AggregatorHelper.js","sourceRoot":"","sources":["../../../src/entities/crossChainDeposit/AggregatorHelper.ts"],"names":[],"mappings":";;;AA0DA,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,+BAAa,CAAA;AACf,CAAC,EAFW,cAAc,8BAAd,cAAc,QAEzB"}
@@ -1,57 +0,0 @@
1
- import { AxiosError } from 'axios';
2
- import { PendleSdkError, PendleSdkErrorParams } from '../../errors/PendleSdkError';
3
- import { AggregatorName } from './AggregatorHelper';
4
- import { LifiGetChainsRequest, LifiGetRoutesRequest, LifiGetRoutesStep, GetTokensRequest } from './aggregators/Lifi/types';
5
- export type AggregatorRequestType = 'getChains' | 'getTokens' | 'quote' | 'assemble';
6
- export type AggregatorErrorCodeType = {
7
- [AggregatorName.LIFI]: number;
8
- };
9
- export type AggregatorRequestData = {
10
- [AggregatorName.LIFI]: {
11
- getChains: LifiGetChainsRequest;
12
- getTokens: GetTokensRequest;
13
- quote: LifiGetRoutesRequest;
14
- assemble: LifiGetRoutesStep;
15
- };
16
- };
17
- export type ErrorDataCheckingFnReturnType<T extends AggregatorName> = {
18
- errorCode?: AggregatorErrorCodeType[T];
19
- message: string;
20
- extraData?: any;
21
- } | undefined;
22
- export declare class AggregatorHelperError extends PendleSdkError {
23
- readonly name: AggregatorName;
24
- readonly message: string;
25
- constructor(name: AggregatorName, message: string, params?: PendleSdkErrorParams);
26
- }
27
- export declare class AggregatorHelperRequestError<T extends AggregatorName, RT extends AggregatorRequestType> extends AggregatorHelperError {
28
- readonly name: T;
29
- readonly requestType: RT;
30
- readonly requestErrorMessage: string;
31
- readonly requestData: AggregatorRequestData[T][RT];
32
- readonly errorCode?: AggregatorErrorCodeType[T] | undefined;
33
- constructor(name: T, requestType: RT, requestErrorMessage: string, requestData: AggregatorRequestData[T][RT], errorCode?: AggregatorErrorCodeType[T] | undefined, params?: PendleSdkErrorParams);
34
- static isErrorOfType<T extends AggregatorName>(error: unknown, name: T): error is AggregatorHelperRequestError<T, AggregatorRequestType>;
35
- static isErrorOfType<T extends AggregatorName, RT extends AggregatorRequestType>(error: unknown, name: T, requestType: RT): error is AggregatorHelperRequestError<T, RT>;
36
- }
37
- export declare class AggregatorHelperServerError<T extends AggregatorName> extends AggregatorHelperError {
38
- readonly name: T;
39
- readonly status: number;
40
- readonly errorCode?: AggregatorErrorCodeType[T] | undefined;
41
- constructor(name: T, status: number, errorCode?: AggregatorErrorCodeType[T] | undefined, params?: PendleSdkErrorParams);
42
- static create<T extends AggregatorName>(name: T, err: AxiosError, errorDataCheckingFn: (errorData: unknown) => ErrorDataCheckingFnReturnType<T>): AggregatorHelperServerError<T> | undefined;
43
- static isErrorOfType<T extends AggregatorName>(error: unknown, name: T): error is AggregatorHelperServerError<T>;
44
- }
45
- export declare class UnknownAggregatorHelperError extends AggregatorHelperError {
46
- constructor(name: AggregatorName, params?: PendleSdkErrorParams);
47
- }
48
- export declare class WrappedAxiosError extends PendleSdkError {
49
- readonly cause: AxiosError;
50
- constructor(message: string, cause: AxiosError);
51
- }
52
- export declare class AggregatorHelperAxiosError extends WrappedAxiosError {
53
- readonly name: AggregatorName;
54
- readonly cause: AxiosError;
55
- constructor(name: AggregatorName, cause: AxiosError);
56
- }
57
- export declare function classifyAggregatorError<T extends AggregatorName, RT extends AggregatorRequestType>(name: T, error: any, errorStatuses: number[], requestType: RT, requestData: AggregatorRequestData[T][RT], errorDataCheckingFn: (errorData: unknown) => ErrorDataCheckingFnReturnType<T>): AggregatorHelperRequestError<T, RT> | AggregatorHelperServerError<T> | UnknownAggregatorHelperError | AggregatorHelperAxiosError;
@@ -1,116 +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.AggregatorHelperAxiosError = exports.WrappedAxiosError = exports.UnknownAggregatorHelperError = exports.AggregatorHelperServerError = exports.AggregatorHelperRequestError = exports.AggregatorHelperError = void 0;
7
- exports.classifyAggregatorError = classifyAggregatorError;
8
- const axios_1 = __importDefault(require("axios"));
9
- const PendleSdkError_1 = require("../../errors/PendleSdkError");
10
- const AggregatorHelper_1 = require("./AggregatorHelper");
11
- class AggregatorHelperError extends PendleSdkError_1.PendleSdkError {
12
- name;
13
- message;
14
- constructor(name, message, params) {
15
- super(`${name}: ${message}`, params);
16
- this.name = name;
17
- this.message = message;
18
- }
19
- }
20
- exports.AggregatorHelperError = AggregatorHelperError;
21
- class AggregatorHelperRequestError extends AggregatorHelperError {
22
- name;
23
- requestType;
24
- requestErrorMessage;
25
- requestData;
26
- errorCode;
27
- constructor(name, requestType, requestErrorMessage, requestData, errorCode, params) {
28
- super(name, `${name} ${requestType} request error, error code ${errorCode ?? 'unknown'}: ${requestErrorMessage}`, params);
29
- this.name = name;
30
- this.requestType = requestType;
31
- this.requestErrorMessage = requestErrorMessage;
32
- this.requestData = requestData;
33
- this.errorCode = errorCode;
34
- }
35
- static isErrorOfType(error, name, requestType) {
36
- return (error instanceof AggregatorHelperRequestError &&
37
- error.name === name &&
38
- (requestType === undefined || error.requestType === requestType));
39
- }
40
- }
41
- exports.AggregatorHelperRequestError = AggregatorHelperRequestError;
42
- class AggregatorHelperServerError extends AggregatorHelperError {
43
- name;
44
- status;
45
- errorCode;
46
- constructor(name, status, errorCode, params) {
47
- super(name, `${name} server error, error code ${errorCode ?? 'unknown'}`, params);
48
- this.name = name;
49
- this.status = status;
50
- this.errorCode = errorCode;
51
- }
52
- static create(name, err, errorDataCheckingFn) {
53
- const status = err.status || err.response?.status;
54
- const isServerError = status && status >= 500 && status < 600;
55
- if (isServerError) {
56
- const data = err.response?.data;
57
- const dataCheckResult = errorDataCheckingFn(data);
58
- const errorCode = dataCheckResult?.errorCode;
59
- return new AggregatorHelperServerError(name, status, errorCode, { cause: err });
60
- }
61
- }
62
- static isErrorOfType(error, name) {
63
- return error instanceof AggregatorHelperServerError && error.name === name;
64
- }
65
- }
66
- exports.AggregatorHelperServerError = AggregatorHelperServerError;
67
- class UnknownAggregatorHelperError extends AggregatorHelperError {
68
- constructor(name, params) {
69
- const cause = params?.cause;
70
- super(name, `${name}: ${cause instanceof Error ? cause.message : 'unknown error'}`, params);
71
- }
72
- }
73
- exports.UnknownAggregatorHelperError = UnknownAggregatorHelperError;
74
- class WrappedAxiosError extends PendleSdkError_1.PendleSdkError {
75
- cause;
76
- constructor(message, cause) {
77
- const prefix = `Wrapped axios error: ${message}: ${cause.message}.`;
78
- const errorMessage = cause.response ? `${prefix}\nResponse: ${JSON.stringify(cause.response.data)}.` : prefix;
79
- super(errorMessage, { cause });
80
- this.cause = cause;
81
- }
82
- }
83
- exports.WrappedAxiosError = WrappedAxiosError;
84
- class AggregatorHelperAxiosError extends WrappedAxiosError {
85
- name;
86
- cause;
87
- constructor(name, cause) {
88
- super(`${name} helper axios error`, cause);
89
- this.name = name;
90
- this.cause = cause;
91
- }
92
- }
93
- exports.AggregatorHelperAxiosError = AggregatorHelperAxiosError;
94
- function classifyAggregatorError(name, error, errorStatuses, requestType, requestData, errorDataCheckingFn) {
95
- if (axios_1.default.isAxiosError(error)) {
96
- const serverErr = AggregatorHelperServerError.create(name, error, errorDataCheckingFn);
97
- if (serverErr) {
98
- return serverErr;
99
- }
100
- }
101
- if (!axios_1.default.isAxiosError(error) || error.response === undefined || !errorStatuses.includes(error.response.status)) {
102
- if (axios_1.default.isAxiosError(error)) {
103
- return new AggregatorHelperAxiosError(name, error);
104
- }
105
- return new UnknownAggregatorHelperError(name, { cause: error });
106
- }
107
- const data = error.response.data;
108
- const dataCheckResult = errorDataCheckingFn(data);
109
- if (!dataCheckResult) {
110
- return new UnknownAggregatorHelperError(name, { cause: error });
111
- }
112
- return new AggregatorHelperRequestError(name, requestType, dataCheckResult.message, requestData, dataCheckResult.errorCode, {
113
- cause: error,
114
- });
115
- }
116
- //# sourceMappingURL=AggregatorHelperErrors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AggregatorHelperErrors.js","sourceRoot":"","sources":["../../../src/entities/crossChainDeposit/AggregatorHelperErrors.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { Address, Hex } from 'viem';
2
- import { AggregatorChain, AggregatorResult, AggregatorToken, MakeCallParams } from './AggregatorHelper';
3
- import { LifiAggregatorHelper } from './aggregators/Lifi';
4
- export declare class CrossChainDeposit {
5
- private readonly root;
6
- private readonly contractsFactory;
7
- private readonly routerContract;
8
- readonly aggregatorHelper: LifiAggregatorHelper;
9
- constructor(root: Address, rpcUrls: string[]);
10
- getRoutes(params: MakeCallParams): Promise<AggregatorResult>;
11
- getChains(): Promise<AggregatorChain[]>;
12
- getTokens(): Promise<AggregatorToken[]>;
13
- computeDepositBox(boxId?: number): Promise<{
14
- box: Address;
15
- salt: Hex;
16
- }>;
17
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CrossChainDeposit = void 0;
4
- const viem_1 = require("viem");
5
- const addresses_1 = require("../../addresses");
6
- const contracts_factory_1 = require("../../contracts/contracts.factory");
7
- const Lifi_1 = require("./aggregators/Lifi");
8
- class CrossChainDeposit {
9
- root;
10
- contractsFactory;
11
- routerContract;
12
- aggregatorHelper;
13
- constructor(root, rpcUrls) {
14
- this.root = root;
15
- this.contractsFactory = new contracts_factory_1.ContractsFactory(rpcUrls);
16
- this.aggregatorHelper = new Lifi_1.LifiAggregatorHelper();
17
- this.routerContract = this.contractsFactory.getRouterContract((0, addresses_1.getRouterAddress)());
18
- }
19
- async getRoutes(params) {
20
- return this.aggregatorHelper.quote(params);
21
- }
22
- async getChains() {
23
- return this.aggregatorHelper.getChains();
24
- }
25
- async getTokens() {
26
- return this.aggregatorHelper.getTokens();
27
- }
28
- async computeDepositBox(boxId = 0) {
29
- const bytecodeHash = await this.routerContract.DEPOSIT_BOX_CODE_HASH();
30
- const salt = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)((0, viem_1.parseAbiParameters)('address, uint32'), [this.root, boxId]));
31
- const box = (0, viem_1.getCreate2Address)({ from: (0, addresses_1.getRouterAddress)(), salt, bytecodeHash });
32
- return { box, salt };
33
- }
34
- }
35
- exports.CrossChainDeposit = CrossChainDeposit;
36
- //# sourceMappingURL=CrossChainDeposit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossChainDeposit.js","sourceRoot":"","sources":["../../../src/entities/crossChainDeposit/CrossChainDeposit.ts"],"names":[],"mappings":";;;AAAA,+BAA2G;AAC3G,+CAAmD;AACnD,yEAAqE;AAGrE,6CAA0D;AAE1D,MAAa,iBAAiB;IACX,IAAI,CAAU;IACd,gBAAgB,CAAmB;IACnC,cAAc,CAAiB;IAEvC,gBAAgB,CAAuB;IAEhD,YAAY,IAAa,EAAE,OAAiB;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAoB,EAAE,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAA,4BAAgB,GAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAsB;QACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB,CAAC;QACvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,IAAA,0BAAmB,EAAC,IAAA,yBAAkB,EAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,GAAG,GAAG,IAAA,wBAAiB,EAAC,EAAE,IAAI,EAAE,IAAA,4BAAgB,GAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAEhF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC;CACF;AAlCD,8CAkCC"}
@@ -1,26 +0,0 @@
1
- import { AggregatorBridgeData, AggregatorChain, AggregatorHelper, AggregatorName, AggregatorResult, AggregatorRoute, AggregatorToken, MakeCallParams } from '../../AggregatorHelper';
2
- import { ChainType, LifiGetRouteResponse, LifiGetRoutesResponse, LifiGetRoutesStep } from './types';
3
- export declare const LIFI_API = "https://li.quest/v1";
4
- export declare class LifiAggregatorResult implements AggregatorResult<LifiGetRouteResponse> {
5
- private readonly aggregatorHelper;
6
- routes: AggregatorRoute[];
7
- rawResult: LifiGetRouteResponse[];
8
- constructor(params: {
9
- data: LifiGetRoutesResponse;
10
- aggregatorHelper: LifiAggregatorHelper;
11
- });
12
- private isValidRoute;
13
- getAggregatorName(): AggregatorName;
14
- selectRoute: (routeId: string) => LifiGetRouteResponse | undefined;
15
- getBridgeData: (route: LifiGetRouteResponse) => Promise<AggregatorBridgeData>;
16
- }
17
- export declare class LifiAggregatorHelper implements AggregatorHelper<LifiGetRouteResponse> {
18
- private readonly apiUrl;
19
- aggregatorName: AggregatorName;
20
- private readonly axios;
21
- constructor(apiUrl?: string);
22
- getChains(chainTypes?: ChainType[]): Promise<AggregatorChain[]>;
23
- getTokens(chains?: number[], chainTypes?: ChainType[]): Promise<AggregatorToken[]>;
24
- quote(params: MakeCallParams): Promise<LifiAggregatorResult>;
25
- assemble(params: LifiGetRoutesStep): Promise<AggregatorBridgeData>;
26
- }
@@ -1,178 +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.LifiAggregatorHelper = exports.LifiAggregatorResult = exports.LIFI_API = void 0;
13
- const axios_1 = __importDefault(require("axios"));
14
- const cacheDecorators_1 = require("../../../../common/cacheDecorators");
15
- const chainId_1 = require("../../../../common/chainId");
16
- const constants_1 = require("../../../../multicall/constants");
17
- const Token_1 = require("../../../token/Token");
18
- const AggregatorHelper_1 = require("../../AggregatorHelper");
19
- const AggregatorHelperErrors_1 = require("../../AggregatorHelperErrors");
20
- const types_1 = require("./types");
21
- exports.LIFI_API = 'https://li.quest/v1';
22
- class LifiAggregatorResult {
23
- aggregatorHelper;
24
- routes;
25
- rawResult;
26
- constructor(params) {
27
- const { data, aggregatorHelper } = params;
28
- const validRoutes = data.routes.filter((route) => this.isValidRoute(route));
29
- this.routes = validRoutes.map(({ id, fromAmount, fromToken, toAmount, toToken, steps }) => ({
30
- id,
31
- inputTokenAmount: Token_1.TokenAmount.createFromLifi(fromToken, fromAmount),
32
- outputTokenAmount: Token_1.TokenAmount.createFromLifi(toToken, toAmount),
33
- steps: steps.map((step) => ({
34
- fromTokenAmount: Token_1.TokenAmount.createFromLifi(step.action.fromToken, step.action.fromAmount),
35
- toTokenAmount: Token_1.TokenAmount.createFromLifi(step.action.toToken, step.estimate.toAmount),
36
- executionDuration: step.estimate.executionDuration,
37
- feeCosts: step.estimate.feeCosts?.map((feeCost) => ({
38
- name: feeCost.name,
39
- amountUSD: Number(feeCost.amountUSD),
40
- })),
41
- gasCosts: step.estimate.gasCosts?.map((gasCost) => ({
42
- tokenAmount: Token_1.TokenAmount.createFromLifi(gasCost.token, gasCost.amount),
43
- amountUSD: Number(gasCost.amountUSD),
44
- })),
45
- tool: {
46
- key: step.toolDetails.key,
47
- name: step.toolDetails.name,
48
- logoURI: step.toolDetails.logoURI,
49
- },
50
- })),
51
- }));
52
- this.rawResult = validRoutes;
53
- this.aggregatorHelper = aggregatorHelper;
54
- }
55
- isValidRoute(route) {
56
- return route.steps.length === 1;
57
- }
58
- getAggregatorName() {
59
- return AggregatorHelper_1.AggregatorName.LIFI;
60
- }
61
- selectRoute = (routeId) => {
62
- return this.rawResult.find((route) => route.id === routeId);
63
- };
64
- getBridgeData = async (route) => {
65
- const [step] = route.steps;
66
- return this.aggregatorHelper.assemble(step);
67
- };
68
- }
69
- exports.LifiAggregatorResult = LifiAggregatorResult;
70
- class LifiAggregatorHelper {
71
- apiUrl;
72
- aggregatorName = AggregatorHelper_1.AggregatorName.LIFI;
73
- axios;
74
- constructor(apiUrl = exports.LIFI_API) {
75
- this.apiUrl = apiUrl;
76
- this.axios = axios_1.default.create();
77
- }
78
- async getChains(chainTypes = [types_1.ChainType.EVM]) {
79
- try {
80
- const { data } = await this.axios.get(`${this.apiUrl}/chains`, {
81
- params: { chainTypes: chainTypes.join(',') },
82
- });
83
- return data.chains.map(({ id, name, key, coin, logoURI }) => ({ chainId: id, name, key, coin, logoURI }));
84
- }
85
- catch (error) {
86
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'getChains', { chainTypes }, () => undefined);
87
- }
88
- }
89
- async getTokens(chains = [
90
- chainId_1.ChainId.ETHEREUM,
91
- chainId_1.ChainId.ARBITRUM,
92
- chainId_1.ChainId.BSC,
93
- chainId_1.ChainId.OPTIMISM,
94
- chainId_1.ChainId.MANTLE,
95
- chainId_1.ChainId.BASE,
96
- chainId_1.ChainId.SONIC,
97
- chainId_1.ChainId.BERACHAIN,
98
- chainId_1.ChainId.HYPEREVM,
99
- chainId_1.ChainId.PLASMA,
100
- ], chainTypes = [types_1.ChainType.EVM]) {
101
- try {
102
- const { data } = await this.axios.get(`${this.apiUrl}/tokens`, {
103
- params: { chains: chains.join(','), chainTypes: chainTypes.join(',') },
104
- });
105
- return Object.values(data.tokens)
106
- .flat()
107
- .map(({ address, decimals, symbol, name, logoURI, chainId }) => ({
108
- chainId,
109
- address,
110
- decimals,
111
- symbol,
112
- name,
113
- logoURI,
114
- }));
115
- }
116
- catch (error) {
117
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'getTokens', { chains: chains.join(','), chainTypes: chainTypes.join(',') }, () => undefined);
118
- }
119
- }
120
- async quote(params) {
121
- const callParams = {
122
- fromChainId: params.fromChainId,
123
- toChainId: params.toChainId,
124
- fromTokenAddress: params.fromToken,
125
- toTokenAddress: params.toToken,
126
- fromAmount: params.fromAmount.toString(),
127
- fromAddress: params.fromAddress,
128
- toAddress: params.toAddress,
129
- options: {
130
- integrator: 'pendle',
131
- allowDestinationCall: false,
132
- order: types_1.GetRoutesOrder.CHEAPEST,
133
- },
134
- };
135
- try {
136
- const { data } = await this.axios.post(`${this.apiUrl}/advanced/routes`, callParams);
137
- return new LifiAggregatorResult({
138
- data,
139
- aggregatorHelper: this,
140
- });
141
- }
142
- catch (error) {
143
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'quote', callParams, () => undefined);
144
- }
145
- }
146
- async assemble(params) {
147
- try {
148
- const { data } = await this.axios.post(`${this.apiUrl}/advanced/stepTransaction`, params);
149
- return {
150
- aggregatorName: AggregatorHelper_1.AggregatorName.LIFI,
151
- calldata: data.transactionRequest.data,
152
- value: BigInt(data.transactionRequest.value),
153
- from: data.transactionRequest.from,
154
- to: data.transactionRequest.to,
155
- chainId: data.transactionRequest.chainId,
156
- gasPrice: BigInt(data.transactionRequest.gasPrice),
157
- gasLimit: BigInt(data.transactionRequest.gasLimit),
158
- };
159
- }
160
- catch (error) {
161
- throw (0, AggregatorHelperErrors_1.classifyAggregatorError)(AggregatorHelper_1.AggregatorName.LIFI, error, [500, 502, 503, 504], 'assemble', params, () => undefined);
162
- }
163
- }
164
- }
165
- exports.LifiAggregatorHelper = LifiAggregatorHelper;
166
- __decorate([
167
- (0, cacheDecorators_1.GlobalCache)({
168
- generateLookupKey: (_, [chainTypes]) => chainTypes?.join(','),
169
- ttl_ms: constants_1.MILLISECONDS_IN_AN_HOUR,
170
- })
171
- ], LifiAggregatorHelper.prototype, "getChains", null);
172
- __decorate([
173
- (0, cacheDecorators_1.GlobalCache)({
174
- generateLookupKey: (_, [chains, chainTypes]) => chains?.join(',') + '#' + chainTypes?.join(','),
175
- ttl_ms: constants_1.MILLISECONDS_IN_AN_HOUR,
176
- })
177
- ], LifiAggregatorHelper.prototype, "getTokens", null);
178
- //# 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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"}