@factordao/governance 1.0.5 → 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 CHANGED
@@ -1,5 +1,6 @@
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;
@@ -7,7 +8,12 @@ exports.getRewardsForVault = getRewardsForVault;
7
8
  exports.getRewardsForAllVaults = getRewardsForAllVaults;
8
9
  exports.getTokenBalancesForUser = getTokenBalancesForUser;
9
10
  exports.getTokenBalancesForAllUsers = getTokenBalancesForAllUsers;
11
+ exports.getVaultsWithFullData = getVaultsWithFullData;
10
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; } });
11
17
  async function getAvailableVaultsForVoting(chainId, environment) {
12
18
  const subgraphUrl = subgraphs_1.factorScaleSubgraphUrl[chainId]?.[environment];
13
19
  if (!subgraphUrl) {
@@ -310,4 +316,107 @@ async function getTokenBalancesForAllUsers(chainId, environment) {
310
316
  }
311
317
  return balancesByUser;
312
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
+ }
313
422
  //# sourceMappingURL=index.js.map
@@ -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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"}
package/dist/mjs/index.js CHANGED
@@ -1,4 +1,7 @@
1
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) {
@@ -301,4 +304,107 @@ export async function getTokenBalancesForAllUsers(chainId, environment) {
301
304
  }
302
305
  return balancesByUser;
303
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
+ }
304
410
  //# sourceMappingURL=index.js.map
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factordao/governance",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist",
package/types/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- import { FactorEnvironment, VaultVotes, VaultReward, UserTokenBalances, AllUsersTokenBalances } 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>;
@@ -7,3 +9,14 @@ export declare function getRewardsForVault(chainId: ChainId, environment: Factor
7
9
  export declare function getRewardsForAllVaults(chainId: ChainId, environment: FactorEnvironment): Promise<VaultReward[]>;
8
10
  export declare function getTokenBalancesForUser(chainId: ChainId, environment: FactorEnvironment, user: string): Promise<UserTokenBalances>;
9
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[]>;
@@ -71,3 +71,24 @@ export type UserTokenBalances = {
71
71
  balances: TokenBalance[];
72
72
  };
73
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
+ };