@sonarwatch/portfolio-plugins 0.8.46 → 0.8.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +164 -151
- package/package.json +2 -41
- package/src/index.js +8 -0
- package/src/index.js.map +1 -1
- package/src/plugins/balancer/{getPoolsV2Fetcher.js → getV2Fetcher.js} +1 -2
- package/src/plugins/balancer/getV2Fetcher.js.map +1 -0
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/balancer/index.js +6 -6
- package/src/plugins/balancer/index.js.map +1 -1
- package/src/plugins/balancer/{poolsJob.js → v2Job.js} +5 -8
- package/src/plugins/balancer/v2Job.js.map +1 -0
- package/src/plugins/paraswap/abis.d.ts +76 -0
- package/src/plugins/paraswap/abis.js +69 -0
- package/src/plugins/paraswap/abis.js.map +1 -0
- package/src/plugins/paraswap/bptFarmingFetcher.d.ts +3 -0
- package/src/plugins/paraswap/bptFarmingFetcher.js +106 -0
- package/src/plugins/paraswap/bptFarmingFetcher.js.map +1 -0
- package/src/plugins/paraswap/bptInfoJob.d.ts +3 -0
- package/src/plugins/paraswap/bptInfoJob.js +47 -0
- package/src/plugins/paraswap/bptInfoJob.js.map +1 -0
- package/src/plugins/paraswap/bptStakingFetcher.d.ts +3 -0
- package/src/plugins/paraswap/bptStakingFetcher.js +140 -0
- package/src/plugins/paraswap/bptStakingFetcher.js.map +1 -0
- package/src/plugins/paraswap/constants.d.ts +24 -0
- package/src/plugins/paraswap/constants.js +79 -0
- package/src/plugins/paraswap/constants.js.map +1 -0
- package/src/plugins/paraswap/index.d.ts +6 -0
- package/src/plugins/paraswap/index.js +19 -0
- package/src/plugins/paraswap/index.js.map +1 -0
- package/src/plugins/paraswap/stakingFetcher.d.ts +3 -0
- package/src/plugins/paraswap/stakingFetcher.js +114 -0
- package/src/plugins/paraswap/stakingFetcher.js.map +1 -0
- package/src/plugins/paraswap/types.d.ts +9 -0
- package/src/plugins/paraswap/types.js +3 -0
- package/src/plugins/paraswap/types.js.map +1 -0
- package/src/plugins/tokens/fetchers/evms/evmExecutorGenerator.js +1 -1
- package/src/plugins/tokens/fetchers/evms/evmExecutorGenerator.js.map +1 -1
- package/src/plugins/top-tokens/forcedAddresses.js +11 -0
- package/src/plugins/top-tokens/forcedAddresses.js.map +1 -1
- package/src/plugins/top-tokens/ignoredAddresses.js +1 -0
- package/src/plugins/top-tokens/ignoredAddresses.js.map +1 -1
- package/src/plugins/top-tokens/topTokensJob.js +6 -1
- package/src/plugins/top-tokens/topTokensJob.js.map +1 -1
- package/src/plugins/uniswap/abis.d.ts +201 -0
- package/src/plugins/uniswap/abis.js +132 -0
- package/src/plugins/uniswap/abis.js.map +1 -0
- package/src/plugins/uniswap/constants.d.ts +7 -0
- package/src/plugins/uniswap/constants.js +46 -0
- package/src/plugins/uniswap/constants.js.map +1 -0
- package/src/plugins/uniswap/getPositionsV3Fetcher.d.ts +3 -0
- package/src/plugins/uniswap/getPositionsV3Fetcher.js +318 -0
- package/src/plugins/uniswap/getPositionsV3Fetcher.js.map +1 -0
- package/src/plugins/uniswap/index.d.ts +6 -0
- package/src/plugins/uniswap/index.js +11 -0
- package/src/plugins/uniswap/index.js.map +1 -0
- package/src/plugins/uniswap/types.d.ts +55 -0
- package/src/plugins/uniswap/types.js +3 -0
- package/src/plugins/uniswap/types.js.map +1 -0
- package/src/utils/clients/constants.js +2 -0
- package/src/utils/clients/constants.js.map +1 -1
- package/src/utils/clients/getEvmClients.js +1 -0
- package/src/utils/clients/getEvmClients.js.map +1 -1
- package/src/utils/evm/erc20Abi.d.ts +1 -1
- package/src/utils/evm/erc20Abi.js +2 -2
- package/src/utils/evm/erc20Abi.js.map +1 -1
- package/src/utils/evm/getBalances.js +1 -1
- package/src/utils/evm/getBalances.js.map +1 -1
- package/src/plugins/balancer/getPoolsV2Fetcher.js.map +0 -1
- package/src/plugins/balancer/poolsJob.js.map +0 -1
- /package/src/plugins/balancer/{getPoolsV2Fetcher.d.ts → getV2Fetcher.d.ts} +0 -0
- /package/src/plugins/balancer/{poolsJob.d.ts → v2Job.d.ts} +0 -0
@@ -0,0 +1,318 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
exports.getPositionsV3Fetcher = void 0;
|
16
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
17
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
18
|
+
const constants_1 = require("./constants");
|
19
|
+
const abis_1 = require("../curve/abis");
|
20
|
+
const clients_1 = require("../../utils/clients");
|
21
|
+
const abis_2 = require("./abis");
|
22
|
+
const tokenAmountFromLiquidity_1 = require("../../utils/clmm/tokenAmountFromLiquidity");
|
23
|
+
const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
|
24
|
+
function getPositionsV3Fetcher(config) {
|
25
|
+
const { networkId } = config;
|
26
|
+
const executor = (owner, cache) => __awaiter(this, void 0, void 0, function* () {
|
27
|
+
const client = (0, clients_1.getEvmClient)(networkId);
|
28
|
+
// Get the number of positions on all pools
|
29
|
+
const balanceOfContract = {
|
30
|
+
address: config.positionManager,
|
31
|
+
abi: abis_1.balanceOfAbI,
|
32
|
+
functionName: 'balanceOf',
|
33
|
+
args: [owner],
|
34
|
+
};
|
35
|
+
const nbrOfPositions = yield client.readContract(balanceOfContract);
|
36
|
+
// Get the tokenIndex of the pool for each positions
|
37
|
+
const baseTokenOfOwner = {
|
38
|
+
address: config.positionManager,
|
39
|
+
abi: abis_2.tokenOfOwnerByIndexAbi,
|
40
|
+
functionName: 'tokenOfOwnerByIndex',
|
41
|
+
};
|
42
|
+
const tokenOfOwnerContracts = [];
|
43
|
+
for (let i = BigInt(0); i < nbrOfPositions; i++) {
|
44
|
+
tokenOfOwnerContracts.push(Object.assign(Object.assign({}, baseTokenOfOwner), { args: [owner, i] }));
|
45
|
+
}
|
46
|
+
const tokensOfOwnerRes = yield client.multicall({
|
47
|
+
contracts: tokenOfOwnerContracts,
|
48
|
+
});
|
49
|
+
// Get each pool data (tokens, ticks), with the tokenIndex
|
50
|
+
const basePositionsContract = {
|
51
|
+
address: config.positionManager,
|
52
|
+
abi: abis_2.positionsAbi,
|
53
|
+
functionName: 'positions',
|
54
|
+
};
|
55
|
+
const positionsContracts = [];
|
56
|
+
for (const tokenOfOwner of tokensOfOwnerRes) {
|
57
|
+
if (tokenOfOwner.status === 'failure')
|
58
|
+
continue;
|
59
|
+
const tokenId = tokenOfOwner.result;
|
60
|
+
positionsContracts.push(Object.assign(Object.assign({}, basePositionsContract), { args: [tokenId] }));
|
61
|
+
}
|
62
|
+
const positionsRes = yield client.multicall({
|
63
|
+
contracts: positionsContracts,
|
64
|
+
});
|
65
|
+
if (positionsRes.length === 0)
|
66
|
+
return [];
|
67
|
+
// Get the address of each pool based on [token1, token0, fee]
|
68
|
+
const baseGetPoolContract = {
|
69
|
+
address: config.factory,
|
70
|
+
abi: abis_2.getPoolsAbi,
|
71
|
+
functionName: 'getPool',
|
72
|
+
};
|
73
|
+
const getPoolContracts = [];
|
74
|
+
const positions = [];
|
75
|
+
for (const positionRes of positionsRes) {
|
76
|
+
if (positionRes.status === 'failure')
|
77
|
+
continue;
|
78
|
+
// If 0 amount of liquidity
|
79
|
+
if (positionRes.result[7] === BigInt(0))
|
80
|
+
continue;
|
81
|
+
const position = {
|
82
|
+
nonce: positionRes.result[0],
|
83
|
+
operator: positionRes.result[1],
|
84
|
+
token0: positionRes.result[2],
|
85
|
+
token1: positionRes.result[3],
|
86
|
+
fee: positionRes.result[4],
|
87
|
+
tickLower: positionRes.result[5],
|
88
|
+
tickUpper: positionRes.result[6],
|
89
|
+
liquidity: positionRes.result[7],
|
90
|
+
feeGrowthInside0LastX128: positionRes.result[8],
|
91
|
+
feeGrowthInside1LastX128: positionRes.result[9],
|
92
|
+
tokensOwed0: positionRes.result[10],
|
93
|
+
tokensOwed1: positionRes.result[11],
|
94
|
+
};
|
95
|
+
positions.push(position);
|
96
|
+
getPoolContracts.push(Object.assign(Object.assign({}, baseGetPoolContract), { args: [position.token0, position.token1, position.fee] }));
|
97
|
+
}
|
98
|
+
if (positions.length === 0)
|
99
|
+
return [];
|
100
|
+
const poolsAddressesRes = yield client.multicall({
|
101
|
+
contracts: getPoolContracts,
|
102
|
+
});
|
103
|
+
// To avoid duplicate RPC call, we remove duplicates of pools
|
104
|
+
const positionsData = [];
|
105
|
+
const poolsAddressesUniq = new Set();
|
106
|
+
poolsAddressesRes.forEach((poolRes, index) => {
|
107
|
+
if (poolRes.status === 'success') {
|
108
|
+
const poolAddress = poolRes.result;
|
109
|
+
poolsAddressesUniq.add(poolAddress);
|
110
|
+
// Store it to keep the relation between position and pool
|
111
|
+
positionsData.push({
|
112
|
+
userPosition: positions[index],
|
113
|
+
poolAddress,
|
114
|
+
});
|
115
|
+
}
|
116
|
+
});
|
117
|
+
const poolsAddresses = Array.from(poolsAddressesUniq);
|
118
|
+
// Check if some pools data were already fetched by previous users
|
119
|
+
const availablePoolsInfo = yield cache.getItem(constants_1.poolsKey, {
|
120
|
+
prefix: constants_1.poolsPrefix,
|
121
|
+
networkId,
|
122
|
+
});
|
123
|
+
const availablePoolsAd = availablePoolsInfo
|
124
|
+
? availablePoolsInfo.map((p) => (p === undefined ? [] : p.id)).flat()
|
125
|
+
: undefined;
|
126
|
+
// Get the missing pools to fetch
|
127
|
+
const missingPoolsAd = availablePoolsAd
|
128
|
+
? poolsAddresses.filter((pool) => !availablePoolsAd.includes(pool))
|
129
|
+
: poolsAddresses;
|
130
|
+
// Get slot0 and fees for each pool on which we don't have the data
|
131
|
+
const slot0Contracts = [];
|
132
|
+
const feeGrowth0Contracts = [];
|
133
|
+
const feeGrowth1Contracts = [];
|
134
|
+
for (const missingPool of missingPoolsAd) {
|
135
|
+
slot0Contracts.push({
|
136
|
+
address: missingPool,
|
137
|
+
abi: abis_2.slot0Abi,
|
138
|
+
functionName: 'slot0',
|
139
|
+
});
|
140
|
+
feeGrowth0Contracts.push({
|
141
|
+
address: missingPool,
|
142
|
+
abi: abis_2.feeGrowthGlobal0X128Abi,
|
143
|
+
functionName: 'feeGrowthGlobal0X128',
|
144
|
+
});
|
145
|
+
feeGrowth1Contracts.push({
|
146
|
+
address: missingPool,
|
147
|
+
abi: abis_2.feeGrowthGlobal1X128Abi,
|
148
|
+
functionName: 'feeGrowthGlobal1X128',
|
149
|
+
});
|
150
|
+
}
|
151
|
+
const [slots0sRes, feesGrowthGlobal0X128Res, feesGrowthGlobal1X128Res] = yield Promise.all([
|
152
|
+
client.multicall({ contracts: slot0Contracts }),
|
153
|
+
client.multicall({ contracts: feeGrowth0Contracts }),
|
154
|
+
client.multicall({ contracts: feeGrowth1Contracts }),
|
155
|
+
]);
|
156
|
+
// Merge pools infos
|
157
|
+
const missingPoolsInfo = slots0sRes.map((slot0, index) => {
|
158
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
159
|
+
return ({
|
160
|
+
id: missingPoolsAd[index],
|
161
|
+
slot0: {
|
162
|
+
sqrtPriceX96: (_a = slot0.result) === null || _a === void 0 ? void 0 : _a[0].toString(),
|
163
|
+
tick: Number((_b = slot0.result) === null || _b === void 0 ? void 0 : _b[1]),
|
164
|
+
observationIndex: Number((_c = slot0.result) === null || _c === void 0 ? void 0 : _c[2]),
|
165
|
+
observationCardinality: Number((_d = slot0.result) === null || _d === void 0 ? void 0 : _d[3]),
|
166
|
+
observationCardinalityNext: Number((_e = slot0.result) === null || _e === void 0 ? void 0 : _e[4]),
|
167
|
+
feeProtocol: Number((_f = slot0.result) === null || _f === void 0 ? void 0 : _f[5]),
|
168
|
+
unlocked: (_g = slot0.result) === null || _g === void 0 ? void 0 : _g[6],
|
169
|
+
},
|
170
|
+
fees: {
|
171
|
+
zeroX: Number(feesGrowthGlobal0X128Res[index].result),
|
172
|
+
oneX: Number(feesGrowthGlobal1X128Res[index].result),
|
173
|
+
},
|
174
|
+
});
|
175
|
+
});
|
176
|
+
const poolsInfo = availablePoolsInfo
|
177
|
+
? [...missingPoolsInfo, ...availablePoolsInfo]
|
178
|
+
: missingPoolsInfo;
|
179
|
+
// Store poolsInfo by pool's address
|
180
|
+
const poolsInfoById = new Map();
|
181
|
+
poolsInfo.forEach((poolInfo) => {
|
182
|
+
if (poolInfo) {
|
183
|
+
poolsInfoById.set(poolInfo.id, poolInfo);
|
184
|
+
}
|
185
|
+
});
|
186
|
+
// Store infos in cache for next users
|
187
|
+
yield cache.setItem(constants_1.poolsKey, poolsInfo, {
|
188
|
+
prefix: constants_1.poolsPrefix,
|
189
|
+
networkId,
|
190
|
+
});
|
191
|
+
// Get ticks info for a pool base on tickUpper and tickLower of each position
|
192
|
+
const contractsLower = [];
|
193
|
+
const contractsUpper = [];
|
194
|
+
for (const positionData of positionsData) {
|
195
|
+
contractsLower.push({
|
196
|
+
address: positionData.poolAddress,
|
197
|
+
abi: abis_2.ticksAbi,
|
198
|
+
functionName: 'ticks',
|
199
|
+
args: [positionData.userPosition.tickLower],
|
200
|
+
});
|
201
|
+
contractsUpper.push({
|
202
|
+
address: positionData.poolAddress,
|
203
|
+
abi: abis_2.ticksAbi,
|
204
|
+
functionName: 'ticks',
|
205
|
+
args: [positionData.userPosition.tickUpper],
|
206
|
+
});
|
207
|
+
}
|
208
|
+
const [tickLowerRes, tickUpperRes] = yield Promise.all([
|
209
|
+
client.multicall({ contracts: contractsLower }),
|
210
|
+
client.multicall({ contracts: contractsUpper }),
|
211
|
+
]);
|
212
|
+
for (let ind = 0; ind < positionsData.length; ind++) {
|
213
|
+
const tickUpper = tickUpperRes[ind];
|
214
|
+
const tickLower = tickLowerRes[ind];
|
215
|
+
const positionData = positionsData[ind];
|
216
|
+
const poolInfo = poolsInfoById.get(positionData.poolAddress);
|
217
|
+
if (!poolInfo)
|
218
|
+
continue;
|
219
|
+
positionData.poolInfo = poolInfo;
|
220
|
+
if (tickUpper.status === 'success' && tickLower.status === 'success') {
|
221
|
+
positionData.ticks = {
|
222
|
+
upper: {
|
223
|
+
liquidityGross: tickUpper.result[0],
|
224
|
+
liquidityNet: tickUpper.result[1],
|
225
|
+
feeGrowthOutside0X128: tickUpper.result[2],
|
226
|
+
feeGrowthOutside1X128: tickUpper.result[3],
|
227
|
+
tickCumulativeOutside: tickUpper.result[4],
|
228
|
+
secondsPerLiquidityOutsideX128: tickUpper.result[5],
|
229
|
+
secondsOutside: tickUpper.result[6],
|
230
|
+
initialized: tickUpper.result[7],
|
231
|
+
},
|
232
|
+
lower: {
|
233
|
+
liquidityGross: tickLower.result[0],
|
234
|
+
liquidityNet: tickLower.result[1],
|
235
|
+
feeGrowthOutside0X128: tickLower.result[2],
|
236
|
+
feeGrowthOutside1X128: tickLower.result[3],
|
237
|
+
tickCumulativeOutside: tickLower.result[4],
|
238
|
+
secondsPerLiquidityOutsideX128: tickLower.result[5],
|
239
|
+
secondsOutside: tickLower.result[6],
|
240
|
+
initialized: tickLower.result[7],
|
241
|
+
},
|
242
|
+
};
|
243
|
+
}
|
244
|
+
}
|
245
|
+
// Get all tokens
|
246
|
+
const tokensAddresses = positionsData
|
247
|
+
.map((pos) => [pos.userPosition.token0, pos.userPosition.token1])
|
248
|
+
.flat();
|
249
|
+
// Fetch all tokens prices
|
250
|
+
const tokensPrices = yield cache.getTokenPrices(tokensAddresses, networkId);
|
251
|
+
const tokenPriceByAddress = new Map();
|
252
|
+
for (const tokenPrice of tokensPrices) {
|
253
|
+
if (!tokenPrice)
|
254
|
+
continue;
|
255
|
+
tokenPriceByAddress.set(tokenPrice.address, tokenPrice);
|
256
|
+
}
|
257
|
+
const assets = [];
|
258
|
+
let totalLiquidityValue = 0;
|
259
|
+
// Create each position element
|
260
|
+
for (const positionData of positionsData) {
|
261
|
+
if (!positionData.poolInfo ||
|
262
|
+
!positionData.ticks ||
|
263
|
+
!positionData.poolInfo.slot0)
|
264
|
+
continue;
|
265
|
+
const { token0, token1, tickLower, tickUpper } = positionData.userPosition;
|
266
|
+
const tokenPrice0 = tokenPriceByAddress.get(token0);
|
267
|
+
const tokenPrice1 = tokenPriceByAddress.get(token1);
|
268
|
+
if (!tokenPrice0 || !tokenPrice1)
|
269
|
+
continue;
|
270
|
+
const { tick } = positionData.poolInfo.slot0;
|
271
|
+
if (!tick)
|
272
|
+
continue;
|
273
|
+
const { tokenAmountA, tokenAmountB } = (0, tokenAmountFromLiquidity_1.getTokenAmountsFromLiquidity)(new bignumber_js_1.default(positionData.userPosition.liquidity.toString()), Number(tick), Number(tickLower), Number(tickUpper), false);
|
274
|
+
if (tokenAmountA.isZero() && tokenAmountB.isZero())
|
275
|
+
continue;
|
276
|
+
const assetToken0 = (0, tokenPriceToAssetToken_1.default)(token0, tokenAmountA.dividedBy(Math.pow(10, tokenPrice0.decimals)).toNumber(), networkId, tokenPrice0);
|
277
|
+
const assetToken1 = (0, tokenPriceToAssetToken_1.default)(token1, tokenAmountB.dividedBy(Math.pow(10, tokenPrice1.decimals)).toNumber(), networkId, tokenPrice1);
|
278
|
+
if (!assetToken0 ||
|
279
|
+
!assetToken1 ||
|
280
|
+
assetToken0.value === null ||
|
281
|
+
assetToken1.value === null)
|
282
|
+
continue;
|
283
|
+
const value = assetToken0.value + assetToken1.value;
|
284
|
+
assets.push({
|
285
|
+
assets: [assetToken0, assetToken1],
|
286
|
+
assetsValue: value,
|
287
|
+
rewardAssets: [],
|
288
|
+
rewardAssetsValue: 0,
|
289
|
+
value,
|
290
|
+
yields: [],
|
291
|
+
});
|
292
|
+
totalLiquidityValue += value;
|
293
|
+
}
|
294
|
+
if (assets.length === 0)
|
295
|
+
return [];
|
296
|
+
return [
|
297
|
+
{
|
298
|
+
type: portfolio_core_1.PortfolioElementType.liquidity,
|
299
|
+
networkId,
|
300
|
+
platformId: constants_1.platformId,
|
301
|
+
label: 'LiquidityPool',
|
302
|
+
tags: ['Concentrated'],
|
303
|
+
name: 'V3',
|
304
|
+
value: totalLiquidityValue,
|
305
|
+
data: {
|
306
|
+
liquidities: assets,
|
307
|
+
},
|
308
|
+
},
|
309
|
+
];
|
310
|
+
});
|
311
|
+
return {
|
312
|
+
executor,
|
313
|
+
id: `${constants_1.platformId}-${networkId}-v3-positions`,
|
314
|
+
networkId,
|
315
|
+
};
|
316
|
+
}
|
317
|
+
exports.getPositionsV3Fetcher = getPositionsV3Fetcher;
|
318
|
+
//# sourceMappingURL=getPositionsV3Fetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getPositionsV3Fetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/uniswap/getPositionsV3Fetcher.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.platforms = exports.fetchers = exports.jobs = void 0;
|
4
|
+
const constants_1 = require("./constants");
|
5
|
+
const getPositionsV3Fetcher_1 = require("./getPositionsV3Fetcher");
|
6
|
+
exports.jobs = [];
|
7
|
+
exports.fetchers = [
|
8
|
+
...constants_1.uniswapNetworksConfigs.map((config) => (0, getPositionsV3Fetcher_1.getPositionsV3Fetcher)(config)),
|
9
|
+
];
|
10
|
+
exports.platforms = [constants_1.uniswapPlatform];
|
11
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/uniswap/index.ts"],"names":[],"mappings":";;;AAIA,2CAAsE;AACtE,mEAAgE;AAEnD,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc;IACjC,GAAG,kCAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,6CAAqB,EAAC,MAAM,CAAC,CAAC;CACzE,CAAC;AACW,QAAA,SAAS,GAAe,CAAC,2BAAe,CAAC,CAAC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import { EvmNetworkIdType } from '@sonarwatch/portfolio-core';
|
2
|
+
export type PoolInfo = {
|
3
|
+
id: `0x${string}`;
|
4
|
+
slot0: {
|
5
|
+
sqrtPriceX96: string | undefined;
|
6
|
+
tick: number | undefined;
|
7
|
+
observationIndex: number | undefined;
|
8
|
+
observationCardinality: number | undefined;
|
9
|
+
observationCardinalityNext: number | undefined;
|
10
|
+
feeProtocol: number | undefined;
|
11
|
+
unlocked: boolean | undefined;
|
12
|
+
};
|
13
|
+
fees: {
|
14
|
+
zeroX: number | undefined;
|
15
|
+
oneX: number | undefined;
|
16
|
+
};
|
17
|
+
};
|
18
|
+
export type Position = {
|
19
|
+
nonce: bigint;
|
20
|
+
operator: `0x${string}`;
|
21
|
+
token0: `0x${string}`;
|
22
|
+
token1: `0x${string}`;
|
23
|
+
fee: number;
|
24
|
+
tickLower: number;
|
25
|
+
tickUpper: number;
|
26
|
+
liquidity: bigint;
|
27
|
+
feeGrowthInside0LastX128: bigint;
|
28
|
+
feeGrowthInside1LastX128: bigint;
|
29
|
+
tokensOwed0: bigint;
|
30
|
+
tokensOwed1: bigint;
|
31
|
+
};
|
32
|
+
export type Tick = {
|
33
|
+
liquidityGross: bigint;
|
34
|
+
liquidityNet: bigint;
|
35
|
+
feeGrowthOutside0X128: bigint;
|
36
|
+
feeGrowthOutside1X128: bigint;
|
37
|
+
tickCumulativeOutside: bigint;
|
38
|
+
secondsPerLiquidityOutsideX128: bigint;
|
39
|
+
secondsOutside: number;
|
40
|
+
initialized: boolean;
|
41
|
+
};
|
42
|
+
export type PositionData = {
|
43
|
+
userPosition: Position;
|
44
|
+
poolAddress: `0x${string}`;
|
45
|
+
poolInfo?: PoolInfo;
|
46
|
+
ticks?: {
|
47
|
+
lower: Tick;
|
48
|
+
upper: Tick;
|
49
|
+
};
|
50
|
+
};
|
51
|
+
export type UniswapConfig = {
|
52
|
+
networkId: EvmNetworkIdType;
|
53
|
+
positionManager: `0x${string}`;
|
54
|
+
factory: `0x${string}`;
|
55
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/uniswap/types.ts"],"names":[],"mappings":""}
|
@@ -10,11 +10,13 @@ exports.viemChainsByNetworkId = {
|
|
10
10
|
ethereum: chains_1.mainnet,
|
11
11
|
avalanche: chains_1.avalanche,
|
12
12
|
polygon: chains_1.polygon,
|
13
|
+
bnb: chains_1.bsc,
|
13
14
|
};
|
14
15
|
function getUrlEndpoints() {
|
15
16
|
return {
|
16
17
|
sei: process.env['PORTFOLIO_SEI_RPC'] || 'https://sei-rpc.brocha.in/',
|
17
18
|
bitcoin: process.env['PORTFOLIO_BITCOIN_RPC'] || 'https://blockstream.info/api/',
|
19
|
+
bnb: process.env['PORTFOLIO_BNB_RPC'] || 'https://binance.llamarpc.com',
|
18
20
|
solana: process.env['PORTFOLIO_SOLANA_RPC'] ||
|
19
21
|
'https://api.mainnet-beta.solana.com',
|
20
22
|
ethereum: process.env['PORTFOLIO_ETHEREUM_RPC'] || 'https://eth.llamarpc.com',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clients/constants.ts"],"names":[],"mappings":";;;;;;AAKA,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clients/constants.ts"],"names":[],"mappings":";;;;;;AAKA,wCAAsE;AACtE,0EAAkD;AAErC,QAAA,qBAAqB,GAAoC;IACpE,QAAQ,EAAE,gBAAO;IACjB,SAAS,EAAT,kBAAS;IACT,OAAO,EAAP,gBAAO;IACP,GAAG,EAAE,YAAG;CACT,CAAC;AAEF,SAAgB,eAAe;IAC7B,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,4BAA4B;QACrE,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,+BAA+B;QACzE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,8BAA8B;QACvE,MAAM,EACJ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACnC,qCAAqC;QACvC,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,0BAA0B;QACrE,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACtC,uCAAuC;QACzC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,uBAAuB;QACxE,KAAK,EACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAClC,wCAAwC;QAC1C,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAChC,iDAAiD;KACpD,CAAC;AACJ,CAAC;AAtBD,0CAsBC;AAED,SAAgB,cAAc,CAAC,SAAwB;IACrD,OAAO,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe;IAC7B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACjD,GAAG;QACH,IAAA,0BAAgB,EAAC,KAAK,CAAC;KACxB,CAAC,CACmC,CAAC;AAC1C,CAAC;AARD,0CAQC;AAED,SAAgB,cAAc,CAAC,SAAwB;IACrD,OAAO,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC"}
|
@@ -10,6 +10,7 @@ function getEvmClients() {
|
|
10
10
|
avalanche: (0, getEvmClient_1.default)(portfolio_core_1.NetworkId.avalanche),
|
11
11
|
ethereum: (0, getEvmClient_1.default)(portfolio_core_1.NetworkId.ethereum),
|
12
12
|
polygon: (0, getEvmClient_1.default)(portfolio_core_1.NetworkId.polygon),
|
13
|
+
bnb: (0, getEvmClient_1.default)(portfolio_core_1.NetworkId.bnb),
|
13
14
|
};
|
14
15
|
}
|
15
16
|
exports.default = getEvmClients;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getEvmClients.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clients/getEvmClients.ts"],"names":[],"mappings":";;;;;AACA,+DAAyE;AACzE,kEAA0C;AAE1C,SAAwB,aAAa;IAInC,OAAO;QACL,SAAS,EAAE,IAAA,sBAAY,EAAC,0BAAS,CAAC,SAAS,CAAC;QAC5C,QAAQ,EAAE,IAAA,sBAAY,EAAC,0BAAS,CAAC,QAAQ,CAAC;QAC1C,OAAO,EAAE,IAAA,sBAAY,EAAC,0BAAS,CAAC,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"getEvmClients.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clients/getEvmClients.ts"],"names":[],"mappings":";;;;;AACA,+DAAyE;AACzE,kEAA0C;AAE1C,SAAwB,aAAa;IAInC,OAAO;QACL,SAAS,EAAE,IAAA,sBAAY,EAAC,0BAAS,CAAC,SAAS,CAAC;QAC5C,QAAQ,EAAE,IAAA,sBAAY,EAAC,0BAAS,CAAC,QAAQ,CAAC;QAC1C,OAAO,EAAE,IAAA,sBAAY,EAAC,0BAAS,CAAC,OAAO,CAAC;QACxC,GAAG,EAAE,IAAA,sBAAY,EAAC,0BAAS,CAAC,GAAG,CAAC;KACjC,CAAC;AACJ,CAAC;AAVD,gCAUC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"erc20Abi.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/evm/erc20Abi.ts"],"names":[],"mappings":";;;AAAa,QAAA,
|
1
|
+
{"version":3,"file":"erc20Abi.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/evm/erc20Abi.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;KACF;CACO,CAAC"}
|
@@ -18,7 +18,7 @@ function getBalances(owner, addresses, networkId) {
|
|
18
18
|
const client = (0, clients_1.getEvmClient)(networkId);
|
19
19
|
const balances = yield client.multicall({
|
20
20
|
contracts: addresses.map((a) => ({
|
21
|
-
abi: erc20Abi_1.
|
21
|
+
abi: erc20Abi_1.balanceOfErc20ABI,
|
22
22
|
address: a,
|
23
23
|
functionName: 'balanceOf',
|
24
24
|
args: [owner],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getBalances.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/evm/getBalances.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wCAA0C;AAC1C,
|
1
|
+
{"version":3,"file":"getBalances.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/evm/getBalances.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wCAA0C;AAC1C,yCAA+C;AAC/C,iDAA+C;AAE/C,SAAsB,WAAW,CAC/B,KAAa,EACb,SAAmB,EACnB,SAA2B;;QAE3B,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,SAAS,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;YACtC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,GAAG,EAAE,4BAAiB;gBACtB,OAAO,EAAE,CAAkB;gBAC3B,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,KAAsB,CAAC;aAC/B,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,sBAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CACvD,CAAC;IACJ,CAAC;CAAA;AAjBD,kCAiBC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"getPoolsV2Fetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/balancer/getPoolsV2Fetcher.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/balancer/poolsJob.ts"],"names":[],"mappings":"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"}
|
File without changes
|
File without changes
|