@pendle/sdk-boros 1.0.11-strategies → 1.0.12-cross-deposit-1

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 (107) hide show
  1. package/dist/addresses.d.ts +11 -1
  2. package/dist/addresses.js +23 -1
  3. package/dist/addresses.js.map +1 -1
  4. package/dist/backend/secrettune/BorosCoreSDK.d.ts +165 -21
  5. package/dist/backend/secrettune/BorosCoreSDK.js +72 -6
  6. package/dist/backend/secrettune/BorosCoreSDK.js.map +1 -1
  7. package/dist/backend/secrettune/BorosSendTxsBotSDK.d.ts +4 -3
  8. package/dist/backend/secrettune/BorosSendTxsBotSDK.js.map +1 -1
  9. package/dist/backend/secrettune/PendleV2SDK.d.ts +2281 -0
  10. package/dist/backend/secrettune/PendleV2SDK.js +970 -0
  11. package/dist/backend/secrettune/PendleV2SDK.js.map +1 -0
  12. package/dist/backend/secrettune/module.d.ts +6 -0
  13. package/dist/backend/secrettune/module.js +25 -0
  14. package/dist/backend/secrettune/module.js.map +1 -1
  15. package/dist/common/chainId.d.ts +12 -0
  16. package/dist/common/chainId.js +17 -0
  17. package/dist/common/chainId.js.map +1 -0
  18. package/dist/contracts/abis/viemAbiDepositBoxFactory.d.ts +75 -0
  19. package/dist/contracts/abis/viemAbiDepositBoxFactory.js +103 -0
  20. package/dist/contracts/abis/viemAbiDepositBoxFactory.js.map +1 -0
  21. package/dist/contracts/abis/viemAbiRouter.d.ts +1983 -0
  22. package/dist/contracts/abis/viemAbiRouter.js +2549 -0
  23. package/dist/contracts/abis/viemAbiRouter.js.map +1 -0
  24. package/dist/contracts/contracts.factory.d.ts +8 -2
  25. package/dist/contracts/contracts.factory.js +16 -4
  26. package/dist/contracts/contracts.factory.js.map +1 -1
  27. package/dist/contracts/deposit-box-factory.d.ts +86 -0
  28. package/dist/contracts/deposit-box-factory.js +16 -0
  29. package/dist/contracts/deposit-box-factory.js.map +1 -0
  30. package/dist/contracts/erc20.d.ts +158 -0
  31. package/dist/contracts/erc20.js +52 -0
  32. package/dist/contracts/erc20.js.map +1 -0
  33. package/dist/contracts/router.d.ts +1987 -0
  34. package/dist/contracts/router.js +12 -0
  35. package/dist/contracts/router.js.map +1 -0
  36. package/dist/entities/crossChainDeposit/AggregatorHelper.d.ts +109 -0
  37. package/dist/entities/crossChainDeposit/AggregatorHelper.js +26 -0
  38. package/dist/entities/crossChainDeposit/AggregatorHelper.js.map +1 -0
  39. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.d.ts +80 -0
  40. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js +116 -0
  41. package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js.map +1 -0
  42. package/dist/entities/crossChainDeposit/Depositor.d.ts +31 -0
  43. package/dist/entities/crossChainDeposit/Depositor.js +64 -0
  44. package/dist/entities/crossChainDeposit/Depositor.js.map +1 -0
  45. package/dist/entities/crossChainDeposit/aggregators/Boros/index.d.ts +36 -0
  46. package/dist/entities/crossChainDeposit/aggregators/Boros/index.js +191 -0
  47. package/dist/entities/crossChainDeposit/aggregators/Boros/index.js.map +1 -0
  48. package/dist/entities/crossChainDeposit/aggregators/Boros/types.d.ts +10 -0
  49. package/dist/entities/crossChainDeposit/aggregators/Boros/types.js.map +1 -0
  50. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.d.ts +39 -0
  51. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js +159 -0
  52. package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js.map +1 -0
  53. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.d.ts +186 -0
  54. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js +28 -0
  55. package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js.map +1 -0
  56. package/dist/entities/crossChainDeposit/aggregators/Pendle/index.d.ts +38 -0
  57. package/dist/entities/crossChainDeposit/aggregators/Pendle/index.js +171 -0
  58. package/dist/entities/crossChainDeposit/aggregators/Pendle/index.js.map +1 -0
  59. package/dist/entities/crossChainDeposit/helpers/TokenHelper.d.ts +23 -0
  60. package/dist/entities/crossChainDeposit/helpers/TokenHelper.js +67 -0
  61. package/dist/entities/crossChainDeposit/helpers/TokenHelper.js.map +1 -0
  62. package/dist/entities/crossChainDeposit/helpers/utils.d.ts +4 -0
  63. package/dist/entities/crossChainDeposit/helpers/utils.js +25 -0
  64. package/dist/entities/crossChainDeposit/helpers/utils.js.map +1 -0
  65. package/dist/entities/crossChainDeposit/index.d.ts +2 -0
  66. package/dist/entities/{Calculator → crossChainDeposit}/index.js +2 -6
  67. package/dist/entities/crossChainDeposit/index.js.map +1 -0
  68. package/dist/entities/index.d.ts +2 -1
  69. package/dist/entities/index.js +2 -1
  70. package/dist/entities/index.js.map +1 -1
  71. package/dist/entities/token/Token.d.ts +31 -0
  72. package/dist/entities/token/Token.js +61 -0
  73. package/dist/entities/token/Token.js.map +1 -0
  74. package/dist/entities/token/index.d.ts +1 -0
  75. package/dist/entities/token/index.js +18 -0
  76. package/dist/entities/token/index.js.map +1 -0
  77. package/dist/errors/PendleSdkError.d.ts +7 -0
  78. package/dist/errors/PendleSdkError.js +15 -0
  79. package/dist/errors/PendleSdkError.js.map +1 -0
  80. package/dist/types/common.d.ts +16 -0
  81. package/dist/utils/signing/index.d.ts +1 -1
  82. package/dist/utils/signing/index.js +2 -1
  83. package/dist/utils/signing/index.js.map +1 -1
  84. package/dist/utils/signing/sensitive.d.ts +2 -1
  85. package/dist/utils/signing/sensitive.js +29 -0
  86. package/dist/utils/signing/sensitive.js.map +1 -1
  87. package/package.json +1 -1
  88. package/dist/entities/Calculator/exchangeFees.d.ts +0 -47
  89. package/dist/entities/Calculator/exchangeFees.js +0 -93
  90. package/dist/entities/Calculator/exchangeFees.js.map +0 -1
  91. package/dist/entities/Calculator/index.d.ts +0 -6
  92. package/dist/entities/Calculator/index.js.map +0 -1
  93. package/dist/entities/Calculator/marginCalculator.d.ts +0 -10
  94. package/dist/entities/Calculator/marginCalculator.js +0 -67
  95. package/dist/entities/Calculator/marginCalculator.js.map +0 -1
  96. package/dist/entities/Calculator/strategyApr.d.ts +0 -30
  97. package/dist/entities/Calculator/strategyApr.js +0 -94
  98. package/dist/entities/Calculator/strategyApr.js.map +0 -1
  99. package/dist/entities/Calculator/strategyExecution.d.ts +0 -28
  100. package/dist/entities/Calculator/strategyExecution.js +0 -130
  101. package/dist/entities/Calculator/strategyExecution.js.map +0 -1
  102. package/dist/entities/Calculator/strategyFinder.d.ts +0 -11
  103. package/dist/entities/Calculator/strategyFinder.js +0 -162
  104. package/dist/entities/Calculator/strategyFinder.js.map +0 -1
  105. package/dist/entities/Calculator/types.d.ts +0 -84
  106. package/dist/entities/Calculator/types.js.map +0 -1
  107. /package/dist/entities/{Calculator → crossChainDeposit/aggregators/Boros}/types.js +0 -0
@@ -0,0 +1,12 @@
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
+ }
11
+ exports.RouterContract = RouterContract;
12
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
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;CACF;AAJD,wCAIC"}
@@ -0,0 +1,109 @@
1
+ import { Address, Hex } from 'viem';
2
+ import { TokenAmount } from '../token/Token';
3
+ export type QuoteDepositParams = {
4
+ fromChainId: number;
5
+ fromToken: Address;
6
+ fromAddress: Address;
7
+ toToken: Address;
8
+ fromAmount: bigint;
9
+ boxId: number;
10
+ slippage: number;
11
+ };
12
+ export type MakeCallParams = {
13
+ fromChainId: number;
14
+ fromToken: Address;
15
+ fromAddress: Address;
16
+ toChainId: number;
17
+ toToken: Address;
18
+ fromAmount: bigint;
19
+ toAddress: Address;
20
+ slippage: number;
21
+ };
22
+ export interface AggregatorTransferData {
23
+ aggregatorName: AggregatorName;
24
+ approvalAddress: Address;
25
+ calldata: Hex;
26
+ value: bigint;
27
+ from: Address;
28
+ to: Address;
29
+ chainId: number;
30
+ gasPrice?: bigint;
31
+ gasLimit?: bigint;
32
+ }
33
+ export interface AggregatorSwapData {
34
+ tokenSpent: Address;
35
+ amountSpent: bigint;
36
+ extRouter: Address;
37
+ extCalldata: Hex;
38
+ }
39
+ export interface AggregatorRoute {
40
+ id: string;
41
+ inputTokenAmount: TokenAmount;
42
+ outputTokenAmount: TokenAmount;
43
+ minOutputTokenAmount: TokenAmount;
44
+ steps: {
45
+ fromTokenAmount: TokenAmount;
46
+ toTokenAmount: TokenAmount;
47
+ executionDuration: number;
48
+ feeCosts?: {
49
+ name: string;
50
+ amountUSD: number;
51
+ }[];
52
+ gasCosts?: {
53
+ tokenAmount: TokenAmount;
54
+ amountUSD?: number;
55
+ }[];
56
+ tool: {
57
+ key?: string;
58
+ name?: string;
59
+ logoURI?: string;
60
+ };
61
+ }[];
62
+ }
63
+ export interface AggregatorResult {
64
+ routes: AggregatorRoute[];
65
+ getAggregatorName(): AggregatorName;
66
+ getRouteData(routeId: string): Promise<{
67
+ transferData: AggregatorTransferData;
68
+ swapData: AggregatorSwapData;
69
+ }>;
70
+ }
71
+ export declare enum AggregatorName {
72
+ LIFI = "LIFI",
73
+ PENDLE = "PENDLE",
74
+ BOROS = "BOROS"
75
+ }
76
+ export type AggregatorChain = {
77
+ chainId: number;
78
+ name: string;
79
+ key: string;
80
+ coin: string;
81
+ logoURI?: string;
82
+ };
83
+ export type AggregatorToken = {
84
+ chainId: number;
85
+ address: Address;
86
+ decimals: number;
87
+ symbol: string;
88
+ name: string;
89
+ logoURI?: string;
90
+ };
91
+ export declare enum AggregatorRouteStatus {
92
+ PENDING = "PENDING",
93
+ DONE = "DONE",
94
+ NOT_FOUND = "NOT_FOUND",
95
+ FAILED = "FAILED",
96
+ INVALID = "INVALID"
97
+ }
98
+ export declare enum IntentStatus {
99
+ PENDING = "pending",
100
+ ARRIVED = "arrived",
101
+ DONE = "done",
102
+ FAILED = "failed",
103
+ EXPIRED = "expired"
104
+ }
105
+ export interface AggregatorHelper {
106
+ aggregatorName: AggregatorName;
107
+ quoteDeposit(params: QuoteDepositParams): Promise<AggregatorResult>;
108
+ getRouteStatus(txHash: Hex): Promise<AggregatorRouteStatus>;
109
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntentStatus = exports.AggregatorRouteStatus = exports.AggregatorName = void 0;
4
+ var AggregatorName;
5
+ (function (AggregatorName) {
6
+ AggregatorName["LIFI"] = "LIFI";
7
+ AggregatorName["PENDLE"] = "PENDLE";
8
+ AggregatorName["BOROS"] = "BOROS";
9
+ })(AggregatorName || (exports.AggregatorName = AggregatorName = {}));
10
+ var AggregatorRouteStatus;
11
+ (function (AggregatorRouteStatus) {
12
+ AggregatorRouteStatus["PENDING"] = "PENDING";
13
+ AggregatorRouteStatus["DONE"] = "DONE";
14
+ AggregatorRouteStatus["NOT_FOUND"] = "NOT_FOUND";
15
+ AggregatorRouteStatus["FAILED"] = "FAILED";
16
+ AggregatorRouteStatus["INVALID"] = "INVALID";
17
+ })(AggregatorRouteStatus || (exports.AggregatorRouteStatus = AggregatorRouteStatus = {}));
18
+ var IntentStatus;
19
+ (function (IntentStatus) {
20
+ IntentStatus["PENDING"] = "pending";
21
+ IntentStatus["ARRIVED"] = "arrived";
22
+ IntentStatus["DONE"] = "done";
23
+ IntentStatus["FAILED"] = "failed";
24
+ IntentStatus["EXPIRED"] = "expired";
25
+ })(IntentStatus || (exports.IntentStatus = IntentStatus = {}));
26
+ //# sourceMappingURL=AggregatorHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AggregatorHelper.js","sourceRoot":"","sources":["../../../src/entities/crossChainDeposit/AggregatorHelper.ts"],"names":[],"mappings":";;;AAkFA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,iCAAe,CAAA;AACjB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAmBD,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,sCAAa,CAAA;IACb,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;IACjB,4CAAmB,CAAA;AACrB,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC;AAED,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB"}
@@ -0,0 +1,80 @@
1
+ import { AxiosError } from 'axios';
2
+ import { Hex } from 'viem';
3
+ import { QuoteBscBridgeDto } from '../../backend/secrettune/BorosCoreSDK';
4
+ import { PendleSwapDtoV2 } from '../../backend/secrettune/PendleV2SDK';
5
+ import { PendleSdkError, PendleSdkErrorParams } from '../../errors/PendleSdkError';
6
+ import { AggregatorName, QuoteDepositParams } from './AggregatorHelper';
7
+ import { GetTokensRequest, LifiGetRouteStatusRequest, LifiGetRoutesRequest, LifiGetRoutesStep } from './aggregators/Lifi/types';
8
+ export type AggregatorRequestType = 'getTokens' | 'quote' | 'assemble' | 'getRouteStatus' | 'getIntentStatus' | 'prepareTransferCall';
9
+ export type AggregatorErrorCodeType = {
10
+ [AggregatorName.LIFI]: number;
11
+ [AggregatorName.PENDLE]: number;
12
+ [AggregatorName.BOROS]: number;
13
+ };
14
+ export type AggregatorRequestData = {
15
+ [AggregatorName.LIFI]: {
16
+ getTokens: GetTokensRequest;
17
+ quote: LifiGetRoutesRequest;
18
+ assemble: LifiGetRoutesStep;
19
+ getRouteStatus: LifiGetRouteStatusRequest;
20
+ getIntentStatus: undefined;
21
+ prepareTransferCall: undefined;
22
+ };
23
+ [AggregatorName.PENDLE]: {
24
+ getTokens: undefined;
25
+ quote: PendleSwapDtoV2;
26
+ assemble: undefined;
27
+ getRouteStatus: Hex;
28
+ getIntentStatus: undefined;
29
+ prepareTransferCall: undefined;
30
+ };
31
+ [AggregatorName.BOROS]: {
32
+ getTokens: undefined;
33
+ quote: QuoteBscBridgeDto;
34
+ assemble: undefined;
35
+ getRouteStatus: Hex;
36
+ getIntentStatus: string;
37
+ prepareTransferCall: QuoteDepositParams;
38
+ };
39
+ };
40
+ export type ErrorDataCheckingFnReturnType<T extends AggregatorName> = {
41
+ errorCode?: AggregatorErrorCodeType[T];
42
+ message: string;
43
+ extraData?: any;
44
+ } | undefined;
45
+ export declare class AggregatorHelperError extends PendleSdkError {
46
+ readonly name: AggregatorName;
47
+ readonly message: string;
48
+ constructor(name: AggregatorName, message: string, params?: PendleSdkErrorParams);
49
+ }
50
+ export declare class AggregatorHelperRequestError<T extends AggregatorName, RT extends AggregatorRequestType> extends AggregatorHelperError {
51
+ readonly name: T;
52
+ readonly requestType: RT;
53
+ readonly requestErrorMessage: string;
54
+ readonly requestData: AggregatorRequestData[T][RT];
55
+ readonly errorCode?: AggregatorErrorCodeType[T] | undefined;
56
+ constructor(name: T, requestType: RT, requestErrorMessage: string, requestData: AggregatorRequestData[T][RT], errorCode?: AggregatorErrorCodeType[T] | undefined, params?: PendleSdkErrorParams);
57
+ static isErrorOfType<T extends AggregatorName>(error: unknown, name: T): error is AggregatorHelperRequestError<T, AggregatorRequestType>;
58
+ static isErrorOfType<T extends AggregatorName, RT extends AggregatorRequestType>(error: unknown, name: T, requestType: RT): error is AggregatorHelperRequestError<T, RT>;
59
+ }
60
+ export declare class AggregatorHelperServerError<T extends AggregatorName> extends AggregatorHelperError {
61
+ readonly name: T;
62
+ readonly status: number;
63
+ readonly errorCode?: AggregatorErrorCodeType[T] | undefined;
64
+ constructor(name: T, status: number, errorCode?: AggregatorErrorCodeType[T] | undefined, params?: PendleSdkErrorParams);
65
+ static create<T extends AggregatorName>(name: T, err: AxiosError, errorDataCheckingFn: (errorData: unknown) => ErrorDataCheckingFnReturnType<T>): AggregatorHelperServerError<T> | undefined;
66
+ static isErrorOfType<T extends AggregatorName>(error: unknown, name: T): error is AggregatorHelperServerError<T>;
67
+ }
68
+ export declare class UnknownAggregatorHelperError extends AggregatorHelperError {
69
+ constructor(name: AggregatorName, params?: PendleSdkErrorParams);
70
+ }
71
+ export declare class WrappedAxiosError extends PendleSdkError {
72
+ readonly cause: AxiosError;
73
+ constructor(message: string, cause: AxiosError);
74
+ }
75
+ export declare class AggregatorHelperAxiosError extends WrappedAxiosError {
76
+ readonly name: AggregatorName;
77
+ readonly cause: AxiosError;
78
+ constructor(name: AggregatorName, cause: AxiosError);
79
+ }
80
+ 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;
@@ -0,0 +1,116 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AggregatorHelperErrors.js","sourceRoot":"","sources":["../../../src/entities/crossChainDeposit/AggregatorHelperErrors.ts"],"names":[],"mappings":";;;;;;AAsKA,0DA0CC;AAhND,kDAA0C;AAI1C,gEAAmF;AACnF,yDAAwE;AAqDxE,MAAa,qBAAsB,SAAQ,+BAAc;IAEnC;IACA;IAFpB,YACoB,IAAoB,EACpB,OAAe,EACjC,MAA6B;QAE7B,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;QAJnB,SAAI,GAAJ,IAAI,CAAgB;QACpB,YAAO,GAAP,OAAO,CAAQ;IAInC,CAAC;CACF;AARD,sDAQC;AAED,MAAa,4BAGX,SAAQ,qBAAqB;IAET;IACT;IACA;IACA;IACA;IALX,YACoB,IAAO,EAChB,WAAe,EACf,mBAA2B,EAC3B,WAAyC,EACzC,SAAsC,EAC/C,MAA6B;QAE7B,KAAK,CACH,IAAI,EACJ,GAAG,IAAI,IAAI,WAAW,8BAA8B,SAAS,IAAI,SAAS,KAAK,mBAAmB,EAAE,EACpG,MAAM,CACP,CAAC;QAXgB,SAAI,GAAJ,IAAI,CAAG;QAChB,gBAAW,GAAX,WAAW,CAAI;QACf,wBAAmB,GAAnB,mBAAmB,CAAQ;QAC3B,gBAAW,GAAX,WAAW,CAA8B;QACzC,cAAS,GAAT,SAAS,CAA6B;IAQjD,CAAC;IAWD,MAAM,CAAC,aAAa,CAClB,KAAc,EACd,IAAO,EACP,WAAgB;QAEhB,OAAO,CACL,KAAK,YAAY,4BAA4B;YAC7C,KAAK,CAAC,IAAI,KAAK,IAAI;YACnB,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CACjE,CAAC;IACJ,CAAC;CACF;AAvCD,oEAuCC;AAED,MAAa,2BAAsD,SAAQ,qBAAqB;IAE1E;IACT;IACA;IAHX,YACoB,IAAO,EAChB,MAAc,EACd,SAAsC,EAC/C,MAA6B;QAE7B,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,6BAA6B,SAAS,IAAI,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;QALhE,SAAI,GAAJ,IAAI,CAAG;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAA6B;IAIjD,CAAC;IAED,MAAM,CAAC,MAAM,CACX,IAAO,EACP,GAAe,EACf,mBAA6E;QAE7E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;QAClD,MAAM,aAAa,GAAG,MAAM,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;QAC9D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,GAAY,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;YACzC,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,eAAe,EAAE,SAAS,CAAC;YAC7C,OAAO,IAAI,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,CAA2B,KAAc,EAAE,IAAO;QACpE,OAAO,KAAK,YAAY,2BAA2B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IAC7E,CAAC;CACF;AA5BD,kEA4BC;AAED,MAAa,4BAA6B,SAAQ,qBAAqB;IACrE,YAAY,IAAoB,EAAE,MAA6B;QAC7D,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;QAC5B,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9F,CAAC;CACF;AALD,oEAKC;AAED,MAAa,iBAAkB,SAAQ,+BAAc;IAG/B;IAFpB,YACE,OAAe,EACG,KAAiB;QAEnC,MAAM,MAAM,GAAG,wBAAwB,OAAO,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC;QACpE,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9G,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAJb,UAAK,GAAL,KAAK,CAAY;IAKrC,CAAC;CACF;AATD,8CASC;AAED,MAAa,0BAA2B,SAAQ,iBAAiB;IAE3C;IACA;IAFpB,YACoB,IAAoB,EACpB,KAAiB;QAEnC,KAAK,CAAC,GAAG,IAAI,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAHzB,SAAI,GAAJ,IAAI,CAAgB;QACpB,UAAK,GAAL,KAAK,CAAY;IAGrC,CAAC;CACF;AAPD,gEAOC;AAED,SAAgB,uBAAuB,CACrC,IAAO,EACP,KAAU,EACV,aAAuB,EACvB,WAAe,EACf,WAAyC,EACzC,mBAA6E;IAM7E,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,2BAA2B,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACvF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjH,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,4BAA4B,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,GAAY,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC1C,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,4BAA4B,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,4BAA4B,CACrC,IAAI,EACJ,WAAW,EACX,eAAe,CAAC,OAAO,EACvB,WAAW,EACX,eAAe,CAAC,SAAS,EACzB;QACE,KAAK,EAAE,KAAK;KACb,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { Address, Hex } from 'viem';
2
+ import { ChainId } from '../../common/chainId';
3
+ import { TokenId } from '../../types';
4
+ import { Token } from '../token';
5
+ import { AggregatorName, AggregatorResult, AggregatorRouteStatus, QuoteDepositParams } from './AggregatorHelper';
6
+ import { BorosLzBridgeHelper } from './aggregators/Boros';
7
+ import { LifiAggregatorHelper } from './aggregators/Lifi';
8
+ import { PendleSwapHelper } from './aggregators/Pendle';
9
+ export declare class Depositor {
10
+ private readonly root;
11
+ private readonly contractsFactory;
12
+ private readonly depositBoxFactoryContract;
13
+ private readonly tokenHelper;
14
+ private readonly coreSdk;
15
+ readonly lifiAggregatorHelper: LifiAggregatorHelper;
16
+ readonly pendleSwapHelper: PendleSwapHelper;
17
+ readonly borosLzBridgeHelper: BorosLzBridgeHelper;
18
+ constructor(root: Address, rpcUrls: string[]);
19
+ private getAggregatorHelper;
20
+ getRoutes(params: QuoteDepositParams): Promise<AggregatorResult>;
21
+ getTokens(options?: {
22
+ dstTokenId?: TokenId;
23
+ srcChainId?: ChainId;
24
+ }): Promise<Token[]>;
25
+ getRouteStatus(aggregatorName: AggregatorName, txHash: Hex, options?: {
26
+ fromChain: number;
27
+ }): Promise<AggregatorRouteStatus>;
28
+ computeDepositBox(boxId: number): Promise<{
29
+ box: Address;
30
+ }>;
31
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Depositor = void 0;
4
+ const chains_1 = require("viem/chains");
5
+ const addresses_1 = require("../../addresses");
6
+ const module_1 = require("../../backend/secrettune/module");
7
+ const contracts_factory_1 = require("../../contracts/contracts.factory");
8
+ const AggregatorHelper_1 = require("./AggregatorHelper");
9
+ const Boros_1 = require("./aggregators/Boros");
10
+ const Lifi_1 = require("./aggregators/Lifi");
11
+ const Pendle_1 = require("./aggregators/Pendle");
12
+ const TokenHelper_1 = require("./helpers/TokenHelper");
13
+ class Depositor {
14
+ root;
15
+ contractsFactory;
16
+ depositBoxFactoryContract;
17
+ tokenHelper;
18
+ coreSdk;
19
+ lifiAggregatorHelper;
20
+ pendleSwapHelper;
21
+ borosLzBridgeHelper;
22
+ constructor(root, rpcUrls) {
23
+ this.root = root;
24
+ this.contractsFactory = new contracts_factory_1.ContractsFactory(rpcUrls);
25
+ this.tokenHelper = new TokenHelper_1.TokenHelper((0, module_1.getCoreSdk)());
26
+ this.coreSdk = (0, module_1.getCoreSdk)();
27
+ this.depositBoxFactoryContract = this.contractsFactory.getDepositBoxFactoryContract((0, addresses_1.getDepositBoxFactoryAddress)());
28
+ this.lifiAggregatorHelper = new Lifi_1.LifiAggregatorHelper(this.depositBoxFactoryContract);
29
+ this.pendleSwapHelper = new Pendle_1.PendleSwapHelper((0, module_1.getPendleV2Sdk)(), this.coreSdk, this.contractsFactory.getRpcClient(), this.tokenHelper, this.depositBoxFactoryContract);
30
+ this.borosLzBridgeHelper = new Boros_1.BorosLzBridgeHelper(this.coreSdk, this.tokenHelper);
31
+ }
32
+ getAggregatorHelper(fromChainId) {
33
+ switch (fromChainId) {
34
+ case chains_1.arbitrum.id:
35
+ return this.pendleSwapHelper;
36
+ case chains_1.bsc.id:
37
+ return this.borosLzBridgeHelper;
38
+ default:
39
+ return this.lifiAggregatorHelper;
40
+ }
41
+ }
42
+ async getRoutes(params) {
43
+ const aggregatorHelper = this.getAggregatorHelper(params.fromChainId);
44
+ return aggregatorHelper.quoteDeposit(params);
45
+ }
46
+ async getTokens(options) {
47
+ return this.tokenHelper.getTokens(options);
48
+ }
49
+ async getRouteStatus(aggregatorName, txHash, options) {
50
+ switch (aggregatorName) {
51
+ case AggregatorHelper_1.AggregatorName.LIFI:
52
+ return this.lifiAggregatorHelper.getRouteStatus(txHash, options);
53
+ case AggregatorHelper_1.AggregatorName.BOROS:
54
+ return this.borosLzBridgeHelper.getRouteStatus(txHash);
55
+ case AggregatorHelper_1.AggregatorName.PENDLE:
56
+ return this.pendleSwapHelper.getRouteStatus(txHash);
57
+ }
58
+ }
59
+ async computeDepositBox(boxId) {
60
+ return this.depositBoxFactoryContract.computeDepositBox(this.root, boxId);
61
+ }
62
+ }
63
+ exports.Depositor = Depositor;
64
+ //# sourceMappingURL=Depositor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Depositor.js","sourceRoot":"","sources":["../../../src/entities/crossChainDeposit/Depositor.ts"],"names":[],"mappings":";;;AACA,wCAA4C;AAC5C,+CAA8D;AAC9D,4DAA2F;AAE3F,yEAAqE;AAIrE,yDAM4B;AAC5B,+CAA0D;AAC1D,6CAA0D;AAC1D,iDAAwD;AACxD,uDAAoD;AAEpD,MAAa,SAAS;IACH,IAAI,CAAU;IACd,gBAAgB,CAAmB;IACnC,yBAAyB,CAA4B;IACrD,WAAW,CAAc;IACzB,OAAO,CAAe;IAE9B,oBAAoB,CAAuB;IAC3C,gBAAgB,CAAmB;IACnC,mBAAmB,CAAsB;IAElD,YAAY,IAAa,EAAE,OAAiB;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAA,mBAAU,GAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,IAAA,uCAA2B,GAAE,CAAC,CAAC;QACnH,IAAI,CAAC,oBAAoB,GAAG,IAAI,2BAAoB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrF,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAgB,CAC1C,IAAA,uBAAc,GAAE,EAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,EACpC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,yBAAyB,CAC/B,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,2BAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;IAEO,mBAAmB,CAAC,WAAmB;QAC7C,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,iBAAQ,CAAC,EAAE;gBACd,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,KAAK,YAAG,CAAC,EAAE;gBACT,OAAO,IAAI,CAAC,mBAAmB,CAAC;YAClC;gBACE,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAA0B;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtE,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwD;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,cAA8B,EAC9B,MAAW,EACX,OAA+B;QAE/B,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,iCAAc,CAAC,IAAI;gBACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,iCAAc,CAAC,KAAK;gBACvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACzD,KAAK,iCAAc,CAAC,MAAM;gBACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,OAAO,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;CACF;AAlED,8BAkEC"}
@@ -0,0 +1,36 @@
1
+ import { Hex } from 'viem';
2
+ import { QuoteBscBridgeResponse, QuoteBscBridgeV2Dto } from '../../../../backend/secrettune/BorosCoreSDK';
3
+ import { BorosCoreSdk } from '../../../../backend/secrettune/module';
4
+ import { AggregatorChain, AggregatorHelper, AggregatorName, AggregatorResult, AggregatorRoute, AggregatorRouteStatus, AggregatorSwapData, AggregatorTransferData, QuoteDepositParams } from '../../AggregatorHelper';
5
+ import { TokenHelper, TokenLookupTable } from '../../helpers/TokenHelper';
6
+ export declare const LAYER_ZERO_SCAN_API = "https://scan.layerzero-api.com/v1";
7
+ export declare class BorosLzBridgeResult implements AggregatorResult {
8
+ routes: AggregatorRoute[];
9
+ private rawResult;
10
+ private req;
11
+ private isDeposit;
12
+ constructor(params: {
13
+ isDeposit: boolean;
14
+ req: QuoteBscBridgeV2Dto;
15
+ res: QuoteBscBridgeResponse;
16
+ tokenLookupTable: TokenLookupTable;
17
+ });
18
+ getAggregatorName(): AggregatorName;
19
+ selectRoute(): QuoteBscBridgeResponse | undefined;
20
+ getRouteData(): Promise<{
21
+ transferData: AggregatorTransferData;
22
+ swapData: AggregatorSwapData;
23
+ }>;
24
+ }
25
+ export declare class BorosLzBridgeHelper implements AggregatorHelper {
26
+ private readonly borosCoreSdk;
27
+ private readonly tokenHelper;
28
+ private readonly layerZeroApiUrl;
29
+ aggregatorName: AggregatorName;
30
+ private readonly axios;
31
+ constructor(borosCoreSdk: BorosCoreSdk, tokenHelper: TokenHelper, layerZeroApiUrl?: string);
32
+ getChains(): Promise<AggregatorChain[]>;
33
+ getTokenLookupTable(): Promise<TokenLookupTable>;
34
+ getRouteStatus(txHash: Hex): Promise<AggregatorRouteStatus>;
35
+ quoteDeposit(params: QuoteDepositParams): Promise<AggregatorResult>;
36
+ }