@factordao/governance 1.0.4 → 1.0.6
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/cjs/index.js +252 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/subgraphs.js +19 -1
- package/dist/cjs/utils/subgraphs.js.map +1 -1
- package/dist/mjs/index.js +248 -1
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/utils/subgraphs.js +18 -0
- package/dist/mjs/utils/subgraphs.js.map +1 -1
- package/package.json +1 -1
- package/types/index.d.ts +16 -1
- package/types/types/index.d.ts +59 -0
- package/types/utils/subgraphs.d.ts +1 -0
package/dist/cjs/index.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FactorEnvironment = void 0;
|
|
3
4
|
exports.getAvailableVaultsForVoting = getAvailableVaultsForVoting;
|
|
4
5
|
exports.getVotesForUser = getVotesForUser;
|
|
5
6
|
exports.getVotesForAllUsers = getVotesForAllUsers;
|
|
6
7
|
exports.getRewardsForVault = getRewardsForVault;
|
|
7
8
|
exports.getRewardsForAllVaults = getRewardsForAllVaults;
|
|
9
|
+
exports.getTokenBalancesForUser = getTokenBalancesForUser;
|
|
10
|
+
exports.getTokenBalancesForAllUsers = getTokenBalancesForAllUsers;
|
|
11
|
+
exports.getVaultsWithFullData = getVaultsWithFullData;
|
|
8
12
|
const subgraphs_1 = require("./utils/subgraphs");
|
|
13
|
+
const tokenlist_1 = require("@factordao/tokenlist");
|
|
14
|
+
// Re-export types and enums for consumers
|
|
15
|
+
var types_1 = require("./types");
|
|
16
|
+
Object.defineProperty(exports, "FactorEnvironment", { enumerable: true, get: function () { return types_1.FactorEnvironment; } });
|
|
9
17
|
async function getAvailableVaultsForVoting(chainId, environment) {
|
|
10
18
|
const subgraphUrl = subgraphs_1.factorScaleSubgraphUrl[chainId]?.[environment];
|
|
11
19
|
if (!subgraphUrl) {
|
|
@@ -167,4 +175,248 @@ async function getRewardsForAllVaults(chainId, environment) {
|
|
|
167
175
|
`, (data) => data.data.vaultRewards || []);
|
|
168
176
|
return rewards.map(transformVaultReward);
|
|
169
177
|
}
|
|
178
|
+
function formatBalanceToDecimal(balance, decimals) {
|
|
179
|
+
const divisor = 10n ** BigInt(decimals);
|
|
180
|
+
const whole = balance / divisor;
|
|
181
|
+
const remainder = balance % divisor;
|
|
182
|
+
if (remainder === 0n) {
|
|
183
|
+
return whole.toString();
|
|
184
|
+
}
|
|
185
|
+
const remainderStr = remainder.toString().padStart(decimals, '0');
|
|
186
|
+
const trimmed = remainderStr.replace(/0+$/, '');
|
|
187
|
+
return `${whole}.${trimmed}`;
|
|
188
|
+
}
|
|
189
|
+
// veFCTR voting power calculation based on VeBalanceLib.sol
|
|
190
|
+
// MAX_LOCK_TIME = 104 weeks in seconds
|
|
191
|
+
const MAX_LOCK_TIME = 104n * 7n * 24n * 60n * 60n; // 104 weeks in seconds
|
|
192
|
+
/**
|
|
193
|
+
* Calculate voting power for veFCTR based on locked amount and expiry
|
|
194
|
+
* Formula: votingPower = amount * (expiry - currentTime) / MAX_LOCK_TIME
|
|
195
|
+
*
|
|
196
|
+
* If the position is expired (expiry <= currentTime), voting power is 0
|
|
197
|
+
*/
|
|
198
|
+
function calculateVotingPower(amount, expiry) {
|
|
199
|
+
const currentTime = BigInt(Math.floor(Date.now() / 1000));
|
|
200
|
+
const expiryBigInt = BigInt(expiry);
|
|
201
|
+
if (expiryBigInt <= currentTime) {
|
|
202
|
+
return 0n;
|
|
203
|
+
}
|
|
204
|
+
const timeRemaining = expiryBigInt - currentTime;
|
|
205
|
+
return (amount * timeRemaining) / MAX_LOCK_TIME;
|
|
206
|
+
}
|
|
207
|
+
function transformAccountBalance(data) {
|
|
208
|
+
const balance = BigInt(data.balance);
|
|
209
|
+
const decimals = data.token.decimals ?? 18;
|
|
210
|
+
const expiry = data.expiry ? Number(data.expiry) : null;
|
|
211
|
+
// Calculate voting power if expiry is present (veFCTR token)
|
|
212
|
+
let votingPower = null;
|
|
213
|
+
let votingPowerFmt = null;
|
|
214
|
+
if (expiry !== null) {
|
|
215
|
+
votingPower = calculateVotingPower(balance, expiry);
|
|
216
|
+
votingPowerFmt = formatBalanceToDecimal(votingPower, decimals);
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
tokenAddress: data.token.address,
|
|
220
|
+
tokenName: data.token.name,
|
|
221
|
+
tokenSymbol: data.token.symbol,
|
|
222
|
+
tokenDecimals: data.token.decimals,
|
|
223
|
+
balance,
|
|
224
|
+
balanceFmt: formatBalanceToDecimal(balance, decimals),
|
|
225
|
+
expiry,
|
|
226
|
+
votingPower,
|
|
227
|
+
votingPowerFmt,
|
|
228
|
+
lastBlock: Number(data.lastBlock),
|
|
229
|
+
lastTimestamp: Number(data.lastTimestamp),
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
async function getTokenBalancesForUser(chainId, environment, user) {
|
|
233
|
+
const subgraphUrl = subgraphs_1.factorFCTRSubgraphUrl[chainId]?.[environment];
|
|
234
|
+
if (!subgraphUrl) {
|
|
235
|
+
throw new Error(`Subgraph URL not found for chainId ${chainId} and environment ${environment}`);
|
|
236
|
+
}
|
|
237
|
+
const userAddress = user.toLowerCase();
|
|
238
|
+
const query = `
|
|
239
|
+
{
|
|
240
|
+
accountBalances(where: { account_: { address: "${userAddress}" }, balance_gt: "0" }) {
|
|
241
|
+
id
|
|
242
|
+
account {
|
|
243
|
+
id
|
|
244
|
+
address
|
|
245
|
+
}
|
|
246
|
+
token {
|
|
247
|
+
id
|
|
248
|
+
address
|
|
249
|
+
name
|
|
250
|
+
symbol
|
|
251
|
+
decimals
|
|
252
|
+
totalSupply
|
|
253
|
+
}
|
|
254
|
+
balance
|
|
255
|
+
expiry
|
|
256
|
+
lastBlock
|
|
257
|
+
lastTimestamp
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
`;
|
|
261
|
+
const response = await fetch(subgraphUrl, {
|
|
262
|
+
method: 'POST',
|
|
263
|
+
headers: {
|
|
264
|
+
'Content-Type': 'application/json',
|
|
265
|
+
},
|
|
266
|
+
body: JSON.stringify({ query }),
|
|
267
|
+
});
|
|
268
|
+
const data = await response.json();
|
|
269
|
+
const accountBalances = data.data.accountBalances || [];
|
|
270
|
+
return {
|
|
271
|
+
userAddress,
|
|
272
|
+
balances: accountBalances.map(transformAccountBalance),
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
async function getTokenBalancesForAllUsers(chainId, environment) {
|
|
276
|
+
const subgraphUrl = subgraphs_1.factorFCTRSubgraphUrl[chainId]?.[environment];
|
|
277
|
+
if (!subgraphUrl) {
|
|
278
|
+
throw new Error(`Subgraph URL not found for chainId ${chainId} and environment ${environment}`);
|
|
279
|
+
}
|
|
280
|
+
const accountBalances = await (0, subgraphs_1.fetchPaginatedData)(subgraphUrl, (first, skip) => `
|
|
281
|
+
{
|
|
282
|
+
accountBalances(
|
|
283
|
+
first: ${first}
|
|
284
|
+
skip: ${skip}
|
|
285
|
+
where: { balance_gt: "0" }
|
|
286
|
+
orderBy: lastTimestamp
|
|
287
|
+
orderDirection: desc
|
|
288
|
+
) {
|
|
289
|
+
id
|
|
290
|
+
account {
|
|
291
|
+
id
|
|
292
|
+
address
|
|
293
|
+
}
|
|
294
|
+
token {
|
|
295
|
+
id
|
|
296
|
+
address
|
|
297
|
+
name
|
|
298
|
+
symbol
|
|
299
|
+
decimals
|
|
300
|
+
totalSupply
|
|
301
|
+
}
|
|
302
|
+
balance
|
|
303
|
+
expiry
|
|
304
|
+
lastBlock
|
|
305
|
+
lastTimestamp
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
`, (data) => data.data.accountBalances || []);
|
|
309
|
+
const balancesByUser = {};
|
|
310
|
+
for (const accountBalance of accountBalances) {
|
|
311
|
+
const userAddress = accountBalance.account.address;
|
|
312
|
+
if (!balancesByUser[userAddress]) {
|
|
313
|
+
balancesByUser[userAddress] = [];
|
|
314
|
+
}
|
|
315
|
+
balancesByUser[userAddress].push(transformAccountBalance(accountBalance));
|
|
316
|
+
}
|
|
317
|
+
return balancesByUser;
|
|
318
|
+
}
|
|
319
|
+
// Helper to get user's total voting power from their balances
|
|
320
|
+
function getUserVotingPower(userBalances) {
|
|
321
|
+
if (!userBalances)
|
|
322
|
+
return 0n;
|
|
323
|
+
// Sum up voting power from all veFCTR positions
|
|
324
|
+
return userBalances.reduce((total, balance) => {
|
|
325
|
+
if (balance.votingPower !== null) {
|
|
326
|
+
return total + balance.votingPower;
|
|
327
|
+
}
|
|
328
|
+
return total;
|
|
329
|
+
}, 0n);
|
|
330
|
+
}
|
|
331
|
+
// Supported chains for rewards fetching
|
|
332
|
+
const REWARD_CHAINS = [
|
|
333
|
+
tokenlist_1.ChainId.ARBITRUM_ONE,
|
|
334
|
+
tokenlist_1.ChainId.BASE,
|
|
335
|
+
tokenlist_1.ChainId.OPTIMISM,
|
|
336
|
+
tokenlist_1.ChainId.SONIC,
|
|
337
|
+
];
|
|
338
|
+
/**
|
|
339
|
+
* Get all active vaults with complete data:
|
|
340
|
+
* - Vault info (id, chainId)
|
|
341
|
+
* - Votes with allocated veFCTR (voting power * weight percentage)
|
|
342
|
+
* - Rewards across all supported chains
|
|
343
|
+
*
|
|
344
|
+
* @param chainId - The chain ID where vaults are deployed
|
|
345
|
+
* @param environment - The environment (testing, staging, production)
|
|
346
|
+
* @returns Array of aggregated vault data
|
|
347
|
+
*/
|
|
348
|
+
async function getVaultsWithFullData(chainId, environment) {
|
|
349
|
+
// Fetch all data in parallel
|
|
350
|
+
const [vaults, vaultVotes, userBalances] = await Promise.all([
|
|
351
|
+
getAvailableVaultsForVoting(chainId, environment),
|
|
352
|
+
getVotesForAllUsers(chainId, environment),
|
|
353
|
+
getTokenBalancesForAllUsers(chainId, environment),
|
|
354
|
+
]);
|
|
355
|
+
// Create a map of user address to voting power for quick lookup
|
|
356
|
+
const userVotingPowerMap = {};
|
|
357
|
+
for (const [userAddress, balances] of Object.entries(userBalances)) {
|
|
358
|
+
userVotingPowerMap[userAddress] = getUserVotingPower(balances);
|
|
359
|
+
}
|
|
360
|
+
// Fetch rewards for all vaults across all chains in parallel
|
|
361
|
+
const vaultAddresses = vaults.map((v) => v.id.toLowerCase());
|
|
362
|
+
// Fetch rewards for each vault on each chain
|
|
363
|
+
const rewardPromises = [];
|
|
364
|
+
for (const vaultAddress of vaultAddresses) {
|
|
365
|
+
for (const rewardChainId of REWARD_CHAINS) {
|
|
366
|
+
rewardPromises.push(getRewardsForVault(rewardChainId, environment, vaultAddress)
|
|
367
|
+
.then((reward) => ({ vaultAddress, chainId: rewardChainId, reward }))
|
|
368
|
+
.catch(() => ({
|
|
369
|
+
vaultAddress,
|
|
370
|
+
chainId: rewardChainId,
|
|
371
|
+
reward: null,
|
|
372
|
+
})));
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
const allRewards = await Promise.all(rewardPromises);
|
|
376
|
+
// Group rewards by vault address
|
|
377
|
+
const rewardsByVault = {};
|
|
378
|
+
for (const { vaultAddress, chainId: rewardChainId, reward } of allRewards) {
|
|
379
|
+
if (!rewardsByVault[vaultAddress]) {
|
|
380
|
+
rewardsByVault[vaultAddress] = [];
|
|
381
|
+
}
|
|
382
|
+
rewardsByVault[vaultAddress].push({
|
|
383
|
+
chainId: rewardChainId,
|
|
384
|
+
reward,
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
// Build the aggregated vault data
|
|
388
|
+
const aggregatedVaults = vaults.map((vault) => {
|
|
389
|
+
const vaultAddress = vault.id.toLowerCase();
|
|
390
|
+
const votes = vaultVotes[vaultAddress] || [];
|
|
391
|
+
// Calculate allocated veFCTR for each vote
|
|
392
|
+
const voteAllocations = votes.map((vote) => {
|
|
393
|
+
const votingPower = userVotingPowerMap[vote.userAddress] || 0n;
|
|
394
|
+
// Weight is stored in 18 decimals (1e18 = 100%), so divide by 1e18
|
|
395
|
+
const weightBigInt = BigInt(vote.weight);
|
|
396
|
+
const allocatedVeFCTR = (votingPower * weightBigInt) / DECIMALS_DIVISOR;
|
|
397
|
+
// Convert weight to percentage (0-100) for display
|
|
398
|
+
const weightPercentage = Number(weightBigInt) / 1e16; // 1e18 = 100%, so divide by 1e16 to get percentage
|
|
399
|
+
return {
|
|
400
|
+
userAddress: vote.userAddress,
|
|
401
|
+
weight: weightPercentage,
|
|
402
|
+
timestamp: vote.timestamp,
|
|
403
|
+
votingPower,
|
|
404
|
+
votingPowerFmt: formatBalanceToDecimal(votingPower, 18),
|
|
405
|
+
allocatedVeFCTR,
|
|
406
|
+
allocatedVeFCTRFmt: formatBalanceToDecimal(allocatedVeFCTR, 18),
|
|
407
|
+
};
|
|
408
|
+
});
|
|
409
|
+
// Calculate total allocated veFCTR for this vault
|
|
410
|
+
const totalAllocatedVeFCTR = voteAllocations.reduce((total, vote) => total + vote.allocatedVeFCTR, 0n);
|
|
411
|
+
return {
|
|
412
|
+
id: vault.id,
|
|
413
|
+
chainId: vault.chainId,
|
|
414
|
+
votes: voteAllocations,
|
|
415
|
+
totalAllocatedVeFCTR,
|
|
416
|
+
totalAllocatedVeFCTRFmt: formatBalanceToDecimal(totalAllocatedVeFCTR, 18),
|
|
417
|
+
rewards: rewardsByVault[vaultAddress] || [],
|
|
418
|
+
};
|
|
419
|
+
});
|
|
420
|
+
return aggregatedVaults;
|
|
421
|
+
}
|
|
170
422
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.factorGaugeControllerSubgraphUrl = exports.factorScaleSubgraphUrl = void 0;
|
|
3
|
+
exports.factorFCTRSubgraphUrl = exports.factorGaugeControllerSubgraphUrl = exports.factorScaleSubgraphUrl = void 0;
|
|
4
4
|
exports.fetchPaginatedData = fetchPaginatedData;
|
|
5
5
|
const tokenlist_1 = require("@factordao/tokenlist");
|
|
6
6
|
const DEFAULT_PAGE_SIZE = 1000;
|
|
@@ -67,4 +67,22 @@ exports.factorGaugeControllerSubgraphUrl = {
|
|
|
67
67
|
production: '',
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
|
+
exports.factorFCTRSubgraphUrl = {
|
|
71
|
+
[tokenlist_1.ChainId.ARBITRUM_ONE]: {
|
|
72
|
+
testing: 'https://api.goldsky.com/api/public/project_cmgzitcts001c5np28moc9lyy/subgraphs/token-balance-arbitrum_testing/v0.0.3/gn',
|
|
73
|
+
production: '',
|
|
74
|
+
},
|
|
75
|
+
[tokenlist_1.ChainId.BASE]: {
|
|
76
|
+
testing: '',
|
|
77
|
+
production: '',
|
|
78
|
+
},
|
|
79
|
+
[tokenlist_1.ChainId.OPTIMISM]: {
|
|
80
|
+
testing: '',
|
|
81
|
+
production: '',
|
|
82
|
+
},
|
|
83
|
+
[tokenlist_1.ChainId.SONIC]: {
|
|
84
|
+
testing: '',
|
|
85
|
+
production: '',
|
|
86
|
+
},
|
|
87
|
+
};
|
|
70
88
|
//# sourceMappingURL=subgraphs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/utils/subgraphs.ts"],"names":[],"mappings":";;;AAKA,gDAqCC;AA1CD,oDAA+C;AAG/C,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAExB,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,YAAqD,EACrD,aAAqC;IAErC,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE1B,OAAO,GAAG,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC;QAChD,IAAI,IAAI,iBAAiB,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAEY,QAAA,sBAAsB,GAAG;IACpC,CAAC,mBAAO,CAAC,YAAY,CAAC,EAAE;QACtB,OAAO,EACL,iHAAiH;QACnH,UAAU,EACR,oHAAoH;KACvH;IACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;QACd,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE;QACf,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;CAC6D,CAAC;AAEpD,QAAA,gCAAgC,GAAG;IAC9C,CAAC,mBAAO,CAAC,YAAY,CAAC,EAAE;QACtB,OAAO,EACL,iHAAiH;QACnH,UAAU,EAAE,EAAE;KACf;IACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;QACd,OAAO,EACL,6GAA6G;QAC/G,UAAU,EAAE,EAAE;KACf;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE;QACf,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;CAC6D,CAAC"}
|
|
1
|
+
{"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/utils/subgraphs.ts"],"names":[],"mappings":"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"}
|
package/dist/mjs/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { factorScaleSubgraphUrl, factorGaugeControllerSubgraphUrl, fetchPaginatedData, } from './utils/subgraphs';
|
|
1
|
+
import { factorScaleSubgraphUrl, factorGaugeControllerSubgraphUrl, factorFCTRSubgraphUrl, fetchPaginatedData, } from './utils/subgraphs';
|
|
2
|
+
import { ChainId } from '@factordao/tokenlist';
|
|
3
|
+
// Re-export types and enums for consumers
|
|
4
|
+
export { FactorEnvironment } from './types';
|
|
2
5
|
export async function getAvailableVaultsForVoting(chainId, environment) {
|
|
3
6
|
const subgraphUrl = factorScaleSubgraphUrl[chainId]?.[environment];
|
|
4
7
|
if (!subgraphUrl) {
|
|
@@ -160,4 +163,248 @@ export async function getRewardsForAllVaults(chainId, environment) {
|
|
|
160
163
|
`, (data) => data.data.vaultRewards || []);
|
|
161
164
|
return rewards.map(transformVaultReward);
|
|
162
165
|
}
|
|
166
|
+
function formatBalanceToDecimal(balance, decimals) {
|
|
167
|
+
const divisor = 10n ** BigInt(decimals);
|
|
168
|
+
const whole = balance / divisor;
|
|
169
|
+
const remainder = balance % divisor;
|
|
170
|
+
if (remainder === 0n) {
|
|
171
|
+
return whole.toString();
|
|
172
|
+
}
|
|
173
|
+
const remainderStr = remainder.toString().padStart(decimals, '0');
|
|
174
|
+
const trimmed = remainderStr.replace(/0+$/, '');
|
|
175
|
+
return `${whole}.${trimmed}`;
|
|
176
|
+
}
|
|
177
|
+
// veFCTR voting power calculation based on VeBalanceLib.sol
|
|
178
|
+
// MAX_LOCK_TIME = 104 weeks in seconds
|
|
179
|
+
const MAX_LOCK_TIME = 104n * 7n * 24n * 60n * 60n; // 104 weeks in seconds
|
|
180
|
+
/**
|
|
181
|
+
* Calculate voting power for veFCTR based on locked amount and expiry
|
|
182
|
+
* Formula: votingPower = amount * (expiry - currentTime) / MAX_LOCK_TIME
|
|
183
|
+
*
|
|
184
|
+
* If the position is expired (expiry <= currentTime), voting power is 0
|
|
185
|
+
*/
|
|
186
|
+
function calculateVotingPower(amount, expiry) {
|
|
187
|
+
const currentTime = BigInt(Math.floor(Date.now() / 1000));
|
|
188
|
+
const expiryBigInt = BigInt(expiry);
|
|
189
|
+
if (expiryBigInt <= currentTime) {
|
|
190
|
+
return 0n;
|
|
191
|
+
}
|
|
192
|
+
const timeRemaining = expiryBigInt - currentTime;
|
|
193
|
+
return (amount * timeRemaining) / MAX_LOCK_TIME;
|
|
194
|
+
}
|
|
195
|
+
function transformAccountBalance(data) {
|
|
196
|
+
const balance = BigInt(data.balance);
|
|
197
|
+
const decimals = data.token.decimals ?? 18;
|
|
198
|
+
const expiry = data.expiry ? Number(data.expiry) : null;
|
|
199
|
+
// Calculate voting power if expiry is present (veFCTR token)
|
|
200
|
+
let votingPower = null;
|
|
201
|
+
let votingPowerFmt = null;
|
|
202
|
+
if (expiry !== null) {
|
|
203
|
+
votingPower = calculateVotingPower(balance, expiry);
|
|
204
|
+
votingPowerFmt = formatBalanceToDecimal(votingPower, decimals);
|
|
205
|
+
}
|
|
206
|
+
return {
|
|
207
|
+
tokenAddress: data.token.address,
|
|
208
|
+
tokenName: data.token.name,
|
|
209
|
+
tokenSymbol: data.token.symbol,
|
|
210
|
+
tokenDecimals: data.token.decimals,
|
|
211
|
+
balance,
|
|
212
|
+
balanceFmt: formatBalanceToDecimal(balance, decimals),
|
|
213
|
+
expiry,
|
|
214
|
+
votingPower,
|
|
215
|
+
votingPowerFmt,
|
|
216
|
+
lastBlock: Number(data.lastBlock),
|
|
217
|
+
lastTimestamp: Number(data.lastTimestamp),
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
export async function getTokenBalancesForUser(chainId, environment, user) {
|
|
221
|
+
const subgraphUrl = factorFCTRSubgraphUrl[chainId]?.[environment];
|
|
222
|
+
if (!subgraphUrl) {
|
|
223
|
+
throw new Error(`Subgraph URL not found for chainId ${chainId} and environment ${environment}`);
|
|
224
|
+
}
|
|
225
|
+
const userAddress = user.toLowerCase();
|
|
226
|
+
const query = `
|
|
227
|
+
{
|
|
228
|
+
accountBalances(where: { account_: { address: "${userAddress}" }, balance_gt: "0" }) {
|
|
229
|
+
id
|
|
230
|
+
account {
|
|
231
|
+
id
|
|
232
|
+
address
|
|
233
|
+
}
|
|
234
|
+
token {
|
|
235
|
+
id
|
|
236
|
+
address
|
|
237
|
+
name
|
|
238
|
+
symbol
|
|
239
|
+
decimals
|
|
240
|
+
totalSupply
|
|
241
|
+
}
|
|
242
|
+
balance
|
|
243
|
+
expiry
|
|
244
|
+
lastBlock
|
|
245
|
+
lastTimestamp
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
`;
|
|
249
|
+
const response = await fetch(subgraphUrl, {
|
|
250
|
+
method: 'POST',
|
|
251
|
+
headers: {
|
|
252
|
+
'Content-Type': 'application/json',
|
|
253
|
+
},
|
|
254
|
+
body: JSON.stringify({ query }),
|
|
255
|
+
});
|
|
256
|
+
const data = await response.json();
|
|
257
|
+
const accountBalances = data.data.accountBalances || [];
|
|
258
|
+
return {
|
|
259
|
+
userAddress,
|
|
260
|
+
balances: accountBalances.map(transformAccountBalance),
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
export async function getTokenBalancesForAllUsers(chainId, environment) {
|
|
264
|
+
const subgraphUrl = factorFCTRSubgraphUrl[chainId]?.[environment];
|
|
265
|
+
if (!subgraphUrl) {
|
|
266
|
+
throw new Error(`Subgraph URL not found for chainId ${chainId} and environment ${environment}`);
|
|
267
|
+
}
|
|
268
|
+
const accountBalances = await fetchPaginatedData(subgraphUrl, (first, skip) => `
|
|
269
|
+
{
|
|
270
|
+
accountBalances(
|
|
271
|
+
first: ${first}
|
|
272
|
+
skip: ${skip}
|
|
273
|
+
where: { balance_gt: "0" }
|
|
274
|
+
orderBy: lastTimestamp
|
|
275
|
+
orderDirection: desc
|
|
276
|
+
) {
|
|
277
|
+
id
|
|
278
|
+
account {
|
|
279
|
+
id
|
|
280
|
+
address
|
|
281
|
+
}
|
|
282
|
+
token {
|
|
283
|
+
id
|
|
284
|
+
address
|
|
285
|
+
name
|
|
286
|
+
symbol
|
|
287
|
+
decimals
|
|
288
|
+
totalSupply
|
|
289
|
+
}
|
|
290
|
+
balance
|
|
291
|
+
expiry
|
|
292
|
+
lastBlock
|
|
293
|
+
lastTimestamp
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
`, (data) => data.data.accountBalances || []);
|
|
297
|
+
const balancesByUser = {};
|
|
298
|
+
for (const accountBalance of accountBalances) {
|
|
299
|
+
const userAddress = accountBalance.account.address;
|
|
300
|
+
if (!balancesByUser[userAddress]) {
|
|
301
|
+
balancesByUser[userAddress] = [];
|
|
302
|
+
}
|
|
303
|
+
balancesByUser[userAddress].push(transformAccountBalance(accountBalance));
|
|
304
|
+
}
|
|
305
|
+
return balancesByUser;
|
|
306
|
+
}
|
|
307
|
+
// Helper to get user's total voting power from their balances
|
|
308
|
+
function getUserVotingPower(userBalances) {
|
|
309
|
+
if (!userBalances)
|
|
310
|
+
return 0n;
|
|
311
|
+
// Sum up voting power from all veFCTR positions
|
|
312
|
+
return userBalances.reduce((total, balance) => {
|
|
313
|
+
if (balance.votingPower !== null) {
|
|
314
|
+
return total + balance.votingPower;
|
|
315
|
+
}
|
|
316
|
+
return total;
|
|
317
|
+
}, 0n);
|
|
318
|
+
}
|
|
319
|
+
// Supported chains for rewards fetching
|
|
320
|
+
const REWARD_CHAINS = [
|
|
321
|
+
ChainId.ARBITRUM_ONE,
|
|
322
|
+
ChainId.BASE,
|
|
323
|
+
ChainId.OPTIMISM,
|
|
324
|
+
ChainId.SONIC,
|
|
325
|
+
];
|
|
326
|
+
/**
|
|
327
|
+
* Get all active vaults with complete data:
|
|
328
|
+
* - Vault info (id, chainId)
|
|
329
|
+
* - Votes with allocated veFCTR (voting power * weight percentage)
|
|
330
|
+
* - Rewards across all supported chains
|
|
331
|
+
*
|
|
332
|
+
* @param chainId - The chain ID where vaults are deployed
|
|
333
|
+
* @param environment - The environment (testing, staging, production)
|
|
334
|
+
* @returns Array of aggregated vault data
|
|
335
|
+
*/
|
|
336
|
+
export async function getVaultsWithFullData(chainId, environment) {
|
|
337
|
+
// Fetch all data in parallel
|
|
338
|
+
const [vaults, vaultVotes, userBalances] = await Promise.all([
|
|
339
|
+
getAvailableVaultsForVoting(chainId, environment),
|
|
340
|
+
getVotesForAllUsers(chainId, environment),
|
|
341
|
+
getTokenBalancesForAllUsers(chainId, environment),
|
|
342
|
+
]);
|
|
343
|
+
// Create a map of user address to voting power for quick lookup
|
|
344
|
+
const userVotingPowerMap = {};
|
|
345
|
+
for (const [userAddress, balances] of Object.entries(userBalances)) {
|
|
346
|
+
userVotingPowerMap[userAddress] = getUserVotingPower(balances);
|
|
347
|
+
}
|
|
348
|
+
// Fetch rewards for all vaults across all chains in parallel
|
|
349
|
+
const vaultAddresses = vaults.map((v) => v.id.toLowerCase());
|
|
350
|
+
// Fetch rewards for each vault on each chain
|
|
351
|
+
const rewardPromises = [];
|
|
352
|
+
for (const vaultAddress of vaultAddresses) {
|
|
353
|
+
for (const rewardChainId of REWARD_CHAINS) {
|
|
354
|
+
rewardPromises.push(getRewardsForVault(rewardChainId, environment, vaultAddress)
|
|
355
|
+
.then((reward) => ({ vaultAddress, chainId: rewardChainId, reward }))
|
|
356
|
+
.catch(() => ({
|
|
357
|
+
vaultAddress,
|
|
358
|
+
chainId: rewardChainId,
|
|
359
|
+
reward: null,
|
|
360
|
+
})));
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
const allRewards = await Promise.all(rewardPromises);
|
|
364
|
+
// Group rewards by vault address
|
|
365
|
+
const rewardsByVault = {};
|
|
366
|
+
for (const { vaultAddress, chainId: rewardChainId, reward } of allRewards) {
|
|
367
|
+
if (!rewardsByVault[vaultAddress]) {
|
|
368
|
+
rewardsByVault[vaultAddress] = [];
|
|
369
|
+
}
|
|
370
|
+
rewardsByVault[vaultAddress].push({
|
|
371
|
+
chainId: rewardChainId,
|
|
372
|
+
reward,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
// Build the aggregated vault data
|
|
376
|
+
const aggregatedVaults = vaults.map((vault) => {
|
|
377
|
+
const vaultAddress = vault.id.toLowerCase();
|
|
378
|
+
const votes = vaultVotes[vaultAddress] || [];
|
|
379
|
+
// Calculate allocated veFCTR for each vote
|
|
380
|
+
const voteAllocations = votes.map((vote) => {
|
|
381
|
+
const votingPower = userVotingPowerMap[vote.userAddress] || 0n;
|
|
382
|
+
// Weight is stored in 18 decimals (1e18 = 100%), so divide by 1e18
|
|
383
|
+
const weightBigInt = BigInt(vote.weight);
|
|
384
|
+
const allocatedVeFCTR = (votingPower * weightBigInt) / DECIMALS_DIVISOR;
|
|
385
|
+
// Convert weight to percentage (0-100) for display
|
|
386
|
+
const weightPercentage = Number(weightBigInt) / 1e16; // 1e18 = 100%, so divide by 1e16 to get percentage
|
|
387
|
+
return {
|
|
388
|
+
userAddress: vote.userAddress,
|
|
389
|
+
weight: weightPercentage,
|
|
390
|
+
timestamp: vote.timestamp,
|
|
391
|
+
votingPower,
|
|
392
|
+
votingPowerFmt: formatBalanceToDecimal(votingPower, 18),
|
|
393
|
+
allocatedVeFCTR,
|
|
394
|
+
allocatedVeFCTRFmt: formatBalanceToDecimal(allocatedVeFCTR, 18),
|
|
395
|
+
};
|
|
396
|
+
});
|
|
397
|
+
// Calculate total allocated veFCTR for this vault
|
|
398
|
+
const totalAllocatedVeFCTR = voteAllocations.reduce((total, vote) => total + vote.allocatedVeFCTR, 0n);
|
|
399
|
+
return {
|
|
400
|
+
id: vault.id,
|
|
401
|
+
chainId: vault.chainId,
|
|
402
|
+
votes: voteAllocations,
|
|
403
|
+
totalAllocatedVeFCTR,
|
|
404
|
+
totalAllocatedVeFCTRFmt: formatBalanceToDecimal(totalAllocatedVeFCTR, 18),
|
|
405
|
+
rewards: rewardsByVault[vaultAddress] || [],
|
|
406
|
+
};
|
|
407
|
+
});
|
|
408
|
+
return aggregatedVaults;
|
|
409
|
+
}
|
|
163
410
|
//# sourceMappingURL=index.js.map
|
package/dist/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,4 +63,22 @@ export const factorGaugeControllerSubgraphUrl = {
|
|
|
63
63
|
production: '',
|
|
64
64
|
},
|
|
65
65
|
};
|
|
66
|
+
export const factorFCTRSubgraphUrl = {
|
|
67
|
+
[ChainId.ARBITRUM_ONE]: {
|
|
68
|
+
testing: 'https://api.goldsky.com/api/public/project_cmgzitcts001c5np28moc9lyy/subgraphs/token-balance-arbitrum_testing/v0.0.3/gn',
|
|
69
|
+
production: '',
|
|
70
|
+
},
|
|
71
|
+
[ChainId.BASE]: {
|
|
72
|
+
testing: '',
|
|
73
|
+
production: '',
|
|
74
|
+
},
|
|
75
|
+
[ChainId.OPTIMISM]: {
|
|
76
|
+
testing: '',
|
|
77
|
+
production: '',
|
|
78
|
+
},
|
|
79
|
+
[ChainId.SONIC]: {
|
|
80
|
+
testing: '',
|
|
81
|
+
production: '',
|
|
82
|
+
},
|
|
83
|
+
};
|
|
66
84
|
//# sourceMappingURL=subgraphs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/utils/subgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,YAAqD,EACrD,aAAqC;IAErC,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE1B,OAAO,GAAG,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC;QAChD,IAAI,IAAI,iBAAiB,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACtB,OAAO,EACL,iHAAiH;QACnH,UAAU,EACR,oHAAoH;KACvH;IACD,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;CAC6D,CAAC;AAEjE,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACtB,OAAO,EACL,iHAAiH;QACnH,UAAU,EAAE,EAAE;KACf;IACD,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,OAAO,EACL,6GAA6G;QAC/G,UAAU,EAAE,EAAE;KACf;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;CAC6D,CAAC"}
|
|
1
|
+
{"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/utils/subgraphs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { FactorEnvironment, VaultVotes, VaultReward } from './types';
|
|
1
|
+
import { FactorEnvironment, VaultVotes, VaultReward, UserTokenBalances, AllUsersTokenBalances, AggregatedVault } from './types';
|
|
2
2
|
import { ChainId } from '@factordao/tokenlist';
|
|
3
|
+
export { FactorEnvironment } from './types';
|
|
4
|
+
export type { VaultVotes, VoteData, VaultReward, TokenBalance, UserTokenBalances, AllUsersTokenBalances, VaultVoteAllocation, VaultRewardByChain, AggregatedVault, } from './types';
|
|
3
5
|
export declare function getAvailableVaultsForVoting(chainId: ChainId, environment: FactorEnvironment): Promise<any>;
|
|
4
6
|
export declare function getVotesForUser(chainId: ChainId, environment: FactorEnvironment, user: string): Promise<any>;
|
|
5
7
|
export declare function getVotesForAllUsers(chainId: ChainId, environment: FactorEnvironment): Promise<VaultVotes>;
|
|
6
8
|
export declare function getRewardsForVault(chainId: ChainId, environment: FactorEnvironment, vault: string): Promise<VaultReward | null>;
|
|
7
9
|
export declare function getRewardsForAllVaults(chainId: ChainId, environment: FactorEnvironment): Promise<VaultReward[]>;
|
|
10
|
+
export declare function getTokenBalancesForUser(chainId: ChainId, environment: FactorEnvironment, user: string): Promise<UserTokenBalances>;
|
|
11
|
+
export declare function getTokenBalancesForAllUsers(chainId: ChainId, environment: FactorEnvironment): Promise<AllUsersTokenBalances>;
|
|
12
|
+
/**
|
|
13
|
+
* Get all active vaults with complete data:
|
|
14
|
+
* - Vault info (id, chainId)
|
|
15
|
+
* - Votes with allocated veFCTR (voting power * weight percentage)
|
|
16
|
+
* - Rewards across all supported chains
|
|
17
|
+
*
|
|
18
|
+
* @param chainId - The chain ID where vaults are deployed
|
|
19
|
+
* @param environment - The environment (testing, staging, production)
|
|
20
|
+
* @returns Array of aggregated vault data
|
|
21
|
+
*/
|
|
22
|
+
export declare function getVaultsWithFullData(chainId: ChainId, environment: FactorEnvironment): Promise<AggregatedVault[]>;
|
package/types/types/index.d.ts
CHANGED
|
@@ -33,3 +33,62 @@ export type VaultReward = {
|
|
|
33
33
|
totalIncentive: bigint;
|
|
34
34
|
totalIncentiveFmt: string;
|
|
35
35
|
};
|
|
36
|
+
export type TokenData = {
|
|
37
|
+
id: string;
|
|
38
|
+
address: string;
|
|
39
|
+
name: string | null;
|
|
40
|
+
symbol: string | null;
|
|
41
|
+
decimals: number | null;
|
|
42
|
+
totalSupply: string | null;
|
|
43
|
+
};
|
|
44
|
+
export type AccountBalanceData = {
|
|
45
|
+
id: string;
|
|
46
|
+
account: {
|
|
47
|
+
id: string;
|
|
48
|
+
address: string;
|
|
49
|
+
};
|
|
50
|
+
token: TokenData;
|
|
51
|
+
balance: string;
|
|
52
|
+
expiry: string | null;
|
|
53
|
+
lastBlock: string;
|
|
54
|
+
lastTimestamp: string;
|
|
55
|
+
};
|
|
56
|
+
export type TokenBalance = {
|
|
57
|
+
tokenAddress: string;
|
|
58
|
+
tokenName: string | null;
|
|
59
|
+
tokenSymbol: string | null;
|
|
60
|
+
tokenDecimals: number | null;
|
|
61
|
+
balance: bigint;
|
|
62
|
+
balanceFmt: string;
|
|
63
|
+
expiry: number | null;
|
|
64
|
+
votingPower: bigint | null;
|
|
65
|
+
votingPowerFmt: string | null;
|
|
66
|
+
lastBlock: number;
|
|
67
|
+
lastTimestamp: number;
|
|
68
|
+
};
|
|
69
|
+
export type UserTokenBalances = {
|
|
70
|
+
userAddress: string;
|
|
71
|
+
balances: TokenBalance[];
|
|
72
|
+
};
|
|
73
|
+
export type AllUsersTokenBalances = Record<string, TokenBalance[]>;
|
|
74
|
+
export type VaultVoteAllocation = {
|
|
75
|
+
userAddress: string;
|
|
76
|
+
weight: number;
|
|
77
|
+
timestamp: number;
|
|
78
|
+
votingPower: bigint;
|
|
79
|
+
votingPowerFmt: string;
|
|
80
|
+
allocatedVeFCTR: bigint;
|
|
81
|
+
allocatedVeFCTRFmt: string;
|
|
82
|
+
};
|
|
83
|
+
export type VaultRewardByChain = {
|
|
84
|
+
chainId: number;
|
|
85
|
+
reward: VaultReward | null;
|
|
86
|
+
};
|
|
87
|
+
export type AggregatedVault = {
|
|
88
|
+
id: string;
|
|
89
|
+
chainId: number;
|
|
90
|
+
votes: VaultVoteAllocation[];
|
|
91
|
+
totalAllocatedVeFCTR: bigint;
|
|
92
|
+
totalAllocatedVeFCTRFmt: string;
|
|
93
|
+
rewards: VaultRewardByChain[];
|
|
94
|
+
};
|
|
@@ -3,3 +3,4 @@ import { FactorEnvironment } from '../types';
|
|
|
3
3
|
export declare function fetchPaginatedData<T>(subgraphUrl: string, queryBuilder: (first: number, skip: number) => string, dataExtractor: (response: any) => T[]): Promise<T[]>;
|
|
4
4
|
export declare const factorScaleSubgraphUrl: Record<ChainId, Partial<Record<FactorEnvironment, string>>>;
|
|
5
5
|
export declare const factorGaugeControllerSubgraphUrl: Record<ChainId, Partial<Record<FactorEnvironment, string>>>;
|
|
6
|
+
export declare const factorFCTRSubgraphUrl: Record<ChainId, Partial<Record<FactorEnvironment, string>>>;
|