@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.
- package/dist/addresses.d.ts +11 -1
- package/dist/addresses.js +23 -1
- package/dist/addresses.js.map +1 -1
- package/dist/backend/secrettune/BorosCoreSDK.d.ts +165 -21
- package/dist/backend/secrettune/BorosCoreSDK.js +72 -6
- package/dist/backend/secrettune/BorosCoreSDK.js.map +1 -1
- package/dist/backend/secrettune/BorosSendTxsBotSDK.d.ts +4 -3
- package/dist/backend/secrettune/BorosSendTxsBotSDK.js.map +1 -1
- package/dist/backend/secrettune/PendleV2SDK.d.ts +2281 -0
- package/dist/backend/secrettune/PendleV2SDK.js +970 -0
- package/dist/backend/secrettune/PendleV2SDK.js.map +1 -0
- package/dist/backend/secrettune/module.d.ts +6 -0
- package/dist/backend/secrettune/module.js +25 -0
- package/dist/backend/secrettune/module.js.map +1 -1
- package/dist/common/chainId.d.ts +12 -0
- package/dist/common/chainId.js +17 -0
- package/dist/common/chainId.js.map +1 -0
- package/dist/contracts/abis/viemAbiDepositBoxFactory.d.ts +75 -0
- package/dist/contracts/abis/viemAbiDepositBoxFactory.js +103 -0
- package/dist/contracts/abis/viemAbiDepositBoxFactory.js.map +1 -0
- package/dist/contracts/abis/viemAbiRouter.d.ts +1983 -0
- package/dist/contracts/abis/viemAbiRouter.js +2549 -0
- package/dist/contracts/abis/viemAbiRouter.js.map +1 -0
- package/dist/contracts/contracts.factory.d.ts +8 -2
- package/dist/contracts/contracts.factory.js +16 -4
- package/dist/contracts/contracts.factory.js.map +1 -1
- package/dist/contracts/deposit-box-factory.d.ts +86 -0
- package/dist/contracts/deposit-box-factory.js +16 -0
- package/dist/contracts/deposit-box-factory.js.map +1 -0
- package/dist/contracts/erc20.d.ts +158 -0
- package/dist/contracts/erc20.js +52 -0
- package/dist/contracts/erc20.js.map +1 -0
- package/dist/contracts/router.d.ts +1987 -0
- package/dist/contracts/router.js +12 -0
- package/dist/contracts/router.js.map +1 -0
- package/dist/entities/crossChainDeposit/AggregatorHelper.d.ts +109 -0
- package/dist/entities/crossChainDeposit/AggregatorHelper.js +26 -0
- package/dist/entities/crossChainDeposit/AggregatorHelper.js.map +1 -0
- package/dist/entities/crossChainDeposit/AggregatorHelperErrors.d.ts +80 -0
- package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js +116 -0
- package/dist/entities/crossChainDeposit/AggregatorHelperErrors.js.map +1 -0
- package/dist/entities/crossChainDeposit/Depositor.d.ts +31 -0
- package/dist/entities/crossChainDeposit/Depositor.js +64 -0
- package/dist/entities/crossChainDeposit/Depositor.js.map +1 -0
- package/dist/entities/crossChainDeposit/aggregators/Boros/index.d.ts +36 -0
- package/dist/entities/crossChainDeposit/aggregators/Boros/index.js +191 -0
- package/dist/entities/crossChainDeposit/aggregators/Boros/index.js.map +1 -0
- package/dist/entities/crossChainDeposit/aggregators/Boros/types.d.ts +10 -0
- package/dist/entities/crossChainDeposit/aggregators/Boros/types.js.map +1 -0
- package/dist/entities/crossChainDeposit/aggregators/Lifi/index.d.ts +39 -0
- package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js +159 -0
- package/dist/entities/crossChainDeposit/aggregators/Lifi/index.js.map +1 -0
- package/dist/entities/crossChainDeposit/aggregators/Lifi/types.d.ts +186 -0
- package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js +28 -0
- package/dist/entities/crossChainDeposit/aggregators/Lifi/types.js.map +1 -0
- package/dist/entities/crossChainDeposit/aggregators/Pendle/index.d.ts +38 -0
- package/dist/entities/crossChainDeposit/aggregators/Pendle/index.js +171 -0
- package/dist/entities/crossChainDeposit/aggregators/Pendle/index.js.map +1 -0
- package/dist/entities/crossChainDeposit/helpers/TokenHelper.d.ts +23 -0
- package/dist/entities/crossChainDeposit/helpers/TokenHelper.js +67 -0
- package/dist/entities/crossChainDeposit/helpers/TokenHelper.js.map +1 -0
- package/dist/entities/crossChainDeposit/helpers/utils.d.ts +4 -0
- package/dist/entities/crossChainDeposit/helpers/utils.js +25 -0
- package/dist/entities/crossChainDeposit/helpers/utils.js.map +1 -0
- package/dist/entities/crossChainDeposit/index.d.ts +2 -0
- package/dist/entities/{Calculator → crossChainDeposit}/index.js +2 -6
- package/dist/entities/crossChainDeposit/index.js.map +1 -0
- package/dist/entities/index.d.ts +2 -1
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/token/Token.d.ts +31 -0
- package/dist/entities/token/Token.js +61 -0
- package/dist/entities/token/Token.js.map +1 -0
- package/dist/entities/token/index.d.ts +1 -0
- package/dist/entities/token/index.js +18 -0
- package/dist/entities/token/index.js.map +1 -0
- package/dist/errors/PendleSdkError.d.ts +7 -0
- package/dist/errors/PendleSdkError.js +15 -0
- package/dist/errors/PendleSdkError.js.map +1 -0
- package/dist/types/common.d.ts +16 -0
- package/dist/utils/signing/index.d.ts +1 -1
- package/dist/utils/signing/index.js +2 -1
- package/dist/utils/signing/index.js.map +1 -1
- package/dist/utils/signing/sensitive.d.ts +2 -1
- package/dist/utils/signing/sensitive.js +29 -0
- package/dist/utils/signing/sensitive.js.map +1 -1
- package/package.json +1 -1
- package/dist/entities/Calculator/exchangeFees.d.ts +0 -47
- package/dist/entities/Calculator/exchangeFees.js +0 -93
- package/dist/entities/Calculator/exchangeFees.js.map +0 -1
- package/dist/entities/Calculator/index.d.ts +0 -6
- package/dist/entities/Calculator/index.js.map +0 -1
- package/dist/entities/Calculator/marginCalculator.d.ts +0 -10
- package/dist/entities/Calculator/marginCalculator.js +0 -67
- package/dist/entities/Calculator/marginCalculator.js.map +0 -1
- package/dist/entities/Calculator/strategyApr.d.ts +0 -30
- package/dist/entities/Calculator/strategyApr.js +0 -94
- package/dist/entities/Calculator/strategyApr.js.map +0 -1
- package/dist/entities/Calculator/strategyExecution.d.ts +0 -28
- package/dist/entities/Calculator/strategyExecution.js +0 -130
- package/dist/entities/Calculator/strategyExecution.js.map +0 -1
- package/dist/entities/Calculator/strategyFinder.d.ts +0 -11
- package/dist/entities/Calculator/strategyFinder.js +0 -162
- package/dist/entities/Calculator/strategyFinder.js.map +0 -1
- package/dist/entities/Calculator/types.d.ts +0 -84
- package/dist/entities/Calculator/types.js.map +0 -1
- /package/dist/entities/{Calculator → crossChainDeposit/aggregators/Boros}/types.js +0 -0
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findStrategies = findStrategies;
|
|
4
|
-
exports.findStrategiesByAsset = findStrategiesByAsset;
|
|
5
|
-
exports.findStrategiesByMaturity = findStrategiesByMaturity;
|
|
6
|
-
exports.findStrategiesByExchanges = findStrategiesByExchanges;
|
|
7
|
-
const module_1 = require("../../backend/secrettune/module");
|
|
8
|
-
const SECONDS_PER_DAY = 86400;
|
|
9
|
-
async function fetchMarkets() {
|
|
10
|
-
const sdk = (0, module_1.getCoreSdk)();
|
|
11
|
-
const { data } = await sdk.markets.marketsControllerGetMarkets({});
|
|
12
|
-
return data.results;
|
|
13
|
-
}
|
|
14
|
-
function toStrategyMarket(market) {
|
|
15
|
-
if (!market.metadata) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
const impliedApr = market.data?.ammImpliedApr ?? market.data?.midApr ?? 0;
|
|
19
|
-
return {
|
|
20
|
-
marketId: market.marketId,
|
|
21
|
-
address: market.address,
|
|
22
|
-
exchange: market.metadata.platformName,
|
|
23
|
-
impliedApr,
|
|
24
|
-
maxLeverage: market.metadata.maxLeverage,
|
|
25
|
-
ammId: market.metadata.ammId,
|
|
26
|
-
ammAddress: market.metadata.ammAddress,
|
|
27
|
-
marketName: market.metadata.marketName,
|
|
28
|
-
rawMarket: market,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function createMarketGroupKey(market) {
|
|
32
|
-
if (!market.metadata?.assetSymbol) {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
return `${market.metadata.assetSymbol}-${market.tokenId}-${market.imData.maturity}`;
|
|
36
|
-
}
|
|
37
|
-
function createStrategyId(asset, collateralTokenId, maturity, longExchange, shortExchange) {
|
|
38
|
-
return `${asset}-${collateralTokenId}-${maturity}-${longExchange}-${shortExchange}`;
|
|
39
|
-
}
|
|
40
|
-
async function findStrategies(params) {
|
|
41
|
-
const { markets: providedMarkets, minImpliedAprSpread = 0, excludeDevTest = true } = params ?? {};
|
|
42
|
-
const markets = providedMarkets ?? (await fetchMarkets());
|
|
43
|
-
const validMarkets = markets.filter((market) => {
|
|
44
|
-
if (!market.metadata?.assetSymbol)
|
|
45
|
-
return false;
|
|
46
|
-
if (!market.metadata?.platformName)
|
|
47
|
-
return false;
|
|
48
|
-
if (market.state === 'Paused' || market.state === 'Halted')
|
|
49
|
-
return false;
|
|
50
|
-
if (excludeDevTest && market.metadata.isDevTest)
|
|
51
|
-
return false;
|
|
52
|
-
return true;
|
|
53
|
-
});
|
|
54
|
-
const marketGroups = new Map();
|
|
55
|
-
for (const market of validMarkets) {
|
|
56
|
-
const key = createMarketGroupKey(market);
|
|
57
|
-
if (!key)
|
|
58
|
-
continue;
|
|
59
|
-
const group = marketGroups.get(key) ?? [];
|
|
60
|
-
group.push(market);
|
|
61
|
-
marketGroups.set(key, group);
|
|
62
|
-
}
|
|
63
|
-
const strategies = [];
|
|
64
|
-
for (const [, groupMarkets] of marketGroups) {
|
|
65
|
-
if (groupMarkets.length < 2)
|
|
66
|
-
continue;
|
|
67
|
-
const byExchange = new Map();
|
|
68
|
-
for (const market of groupMarkets) {
|
|
69
|
-
const exchange = market.metadata.platformName;
|
|
70
|
-
const exchangeMarkets = byExchange.get(exchange) ?? [];
|
|
71
|
-
exchangeMarkets.push(market);
|
|
72
|
-
byExchange.set(exchange, exchangeMarkets);
|
|
73
|
-
}
|
|
74
|
-
const exchanges = Array.from(byExchange.keys());
|
|
75
|
-
if (exchanges.length < 2)
|
|
76
|
-
continue;
|
|
77
|
-
for (let i = 0; i < exchanges.length; i++) {
|
|
78
|
-
for (let j = i + 1; j < exchanges.length; j++) {
|
|
79
|
-
const exchange1Markets = byExchange.get(exchanges[i]);
|
|
80
|
-
const exchange2Markets = byExchange.get(exchanges[j]);
|
|
81
|
-
for (const market1 of exchange1Markets) {
|
|
82
|
-
for (const market2 of exchange2Markets) {
|
|
83
|
-
const strategyMarket1 = toStrategyMarket(market1);
|
|
84
|
-
const strategyMarket2 = toStrategyMarket(market2);
|
|
85
|
-
if (!strategyMarket1 || !strategyMarket2)
|
|
86
|
-
continue;
|
|
87
|
-
const impliedAprSpread = Math.abs(strategyMarket1.impliedApr - strategyMarket2.impliedApr);
|
|
88
|
-
if (impliedAprSpread < minImpliedAprSpread)
|
|
89
|
-
continue;
|
|
90
|
-
let longMarket;
|
|
91
|
-
let shortMarket;
|
|
92
|
-
if (strategyMarket1.impliedApr >= strategyMarket2.impliedApr) {
|
|
93
|
-
longMarket = strategyMarket1;
|
|
94
|
-
shortMarket = strategyMarket2;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
longMarket = strategyMarket2;
|
|
98
|
-
shortMarket = strategyMarket1;
|
|
99
|
-
}
|
|
100
|
-
const asset = market1.metadata.assetSymbol;
|
|
101
|
-
const collateralTokenId = market1.tokenId;
|
|
102
|
-
const maturity = market1.imData.maturity;
|
|
103
|
-
const timeToMaturity = market1.data?.timeToMaturity ?? (maturity - Math.floor(Date.now() / 1000));
|
|
104
|
-
const daysToMaturity = Math.max(0, Math.ceil(timeToMaturity / SECONDS_PER_DAY));
|
|
105
|
-
const strategy = {
|
|
106
|
-
id: createStrategyId(asset, collateralTokenId, maturity, longMarket.exchange, shortMarket.exchange),
|
|
107
|
-
asset,
|
|
108
|
-
collateralTokenId,
|
|
109
|
-
maturity,
|
|
110
|
-
timeToMaturity,
|
|
111
|
-
daysToMaturity,
|
|
112
|
-
longMarket,
|
|
113
|
-
shortMarket,
|
|
114
|
-
impliedAprSpread,
|
|
115
|
-
maxPerpLeverage: Math.min(longMarket.maxLeverage, shortMarket.maxLeverage),
|
|
116
|
-
};
|
|
117
|
-
strategies.push(strategy);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
strategies.sort((a, b) => b.impliedAprSpread - a.impliedAprSpread);
|
|
124
|
-
return {
|
|
125
|
-
strategies,
|
|
126
|
-
totalCount: strategies.length,
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
async function findStrategiesByAsset(params) {
|
|
130
|
-
const { asset, ...rest } = params;
|
|
131
|
-
const result = await findStrategies(rest);
|
|
132
|
-
const filtered = result.strategies.filter((s) => s.asset.toUpperCase() === asset.toUpperCase());
|
|
133
|
-
return {
|
|
134
|
-
strategies: filtered,
|
|
135
|
-
totalCount: filtered.length,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
async function findStrategiesByMaturity(params) {
|
|
139
|
-
const { maturity, ...rest } = params;
|
|
140
|
-
const result = await findStrategies(rest);
|
|
141
|
-
const filtered = result.strategies.filter((s) => s.maturity === maturity);
|
|
142
|
-
return {
|
|
143
|
-
strategies: filtered,
|
|
144
|
-
totalCount: filtered.length,
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
async function findStrategiesByExchanges(params) {
|
|
148
|
-
const { exchanges, ...rest } = params;
|
|
149
|
-
const [exchange1, exchange2] = exchanges.map((e) => e.toLowerCase());
|
|
150
|
-
const result = await findStrategies(rest);
|
|
151
|
-
const filtered = result.strategies.filter((s) => {
|
|
152
|
-
const longExchange = s.longMarket.exchange.toLowerCase();
|
|
153
|
-
const shortExchange = s.shortMarket.exchange.toLowerCase();
|
|
154
|
-
return ((longExchange === exchange1 && shortExchange === exchange2) ||
|
|
155
|
-
(longExchange === exchange2 && shortExchange === exchange1));
|
|
156
|
-
});
|
|
157
|
-
return {
|
|
158
|
-
strategies: filtered,
|
|
159
|
-
totalCount: filtered.length,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=strategyFinder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategyFinder.js","sourceRoot":"","sources":["../../../src/entities/Calculator/strategyFinder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import type { MarketResponse } from '../../backend/secrettune/BorosCoreSDK';
|
|
2
|
-
export type StrategyMarket = {
|
|
3
|
-
marketId: number;
|
|
4
|
-
address: string;
|
|
5
|
-
exchange: string;
|
|
6
|
-
impliedApr: number;
|
|
7
|
-
maxLeverage: number;
|
|
8
|
-
ammId?: number;
|
|
9
|
-
ammAddress?: string;
|
|
10
|
-
marketName?: string;
|
|
11
|
-
rawMarket: MarketResponse;
|
|
12
|
-
};
|
|
13
|
-
export type Strategy = {
|
|
14
|
-
id: string;
|
|
15
|
-
asset: string;
|
|
16
|
-
collateralTokenId: number;
|
|
17
|
-
maturity: number;
|
|
18
|
-
timeToMaturity: number;
|
|
19
|
-
daysToMaturity: number;
|
|
20
|
-
longMarket: StrategyMarket;
|
|
21
|
-
shortMarket: StrategyMarket;
|
|
22
|
-
impliedAprSpread: number;
|
|
23
|
-
maxPerpLeverage: number;
|
|
24
|
-
};
|
|
25
|
-
export type StrategyExecutionStep = {
|
|
26
|
-
stepNumber: number;
|
|
27
|
-
action: 'long' | 'short';
|
|
28
|
-
platform: 'boros' | 'perp';
|
|
29
|
-
exchange: string;
|
|
30
|
-
description: string;
|
|
31
|
-
marketId?: number;
|
|
32
|
-
ammId?: number;
|
|
33
|
-
details: {
|
|
34
|
-
asset: string;
|
|
35
|
-
size: string;
|
|
36
|
-
marketType: string;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
export type StrategyExecutionPlan = {
|
|
40
|
-
strategy: Strategy;
|
|
41
|
-
steps: StrategyExecutionStep[];
|
|
42
|
-
totalCapitalRequired: number;
|
|
43
|
-
perpLeverage: number;
|
|
44
|
-
borosMargin: number;
|
|
45
|
-
};
|
|
46
|
-
export type StrategyFixedAprParams = {
|
|
47
|
-
perpLeverage: number;
|
|
48
|
-
daysToMaturity: number;
|
|
49
|
-
borosMargin: number;
|
|
50
|
-
impliedApr1: number;
|
|
51
|
-
impliedApr2: number;
|
|
52
|
-
exchangeFee1: number;
|
|
53
|
-
exchangeFee2: number;
|
|
54
|
-
borosTradeFee: number;
|
|
55
|
-
borosSettlementFee: number;
|
|
56
|
-
};
|
|
57
|
-
export type StrategyCalculatorInput = {
|
|
58
|
-
totalCapital: number;
|
|
59
|
-
liquidationThreshold: number;
|
|
60
|
-
daysToMaturity: number;
|
|
61
|
-
perpLeverage: number;
|
|
62
|
-
borosMargin: number;
|
|
63
|
-
impliedApr1: number;
|
|
64
|
-
impliedApr2: number;
|
|
65
|
-
exchangeFee1: number;
|
|
66
|
-
exchangeFee2: number;
|
|
67
|
-
borosTradeFee: number;
|
|
68
|
-
borosSettlementFee: number;
|
|
69
|
-
};
|
|
70
|
-
export type StrategyCalculatorResult = {
|
|
71
|
-
fixedApr: number;
|
|
72
|
-
fixedAprPercentage: number;
|
|
73
|
-
estimatedEarnings: number;
|
|
74
|
-
estimatedEarningsPerYear: number;
|
|
75
|
-
};
|
|
76
|
-
export type GetStrategiesParams = {
|
|
77
|
-
markets?: MarketResponse[];
|
|
78
|
-
minImpliedAprSpread?: number;
|
|
79
|
-
excludeDevTest?: boolean;
|
|
80
|
-
};
|
|
81
|
-
export type GetStrategiesResult = {
|
|
82
|
-
strategies: Strategy[];
|
|
83
|
-
totalCount: number;
|
|
84
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/entities/Calculator/types.ts"],"names":[],"mappings":""}
|
|
File without changes
|