@pyxisjs/client 0.2.6 → 0.3.0

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/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { GetActivitiesArgs, VaultActivity, VaultTvlArgs, HistoricalApyArgs, ExchangeRateEvent, ApyDataPoint, BaseAnalyticsClient } from '@pyxisjs/core';
1
+ import { GetActivitiesArgs, VaultActivity, VaultTvlArgs, HistoricalApyArgs, ExchangeRateEvent, ApyDataPoint, GetManageOperationsArgs, ManageOperation, BaseAnalyticsClient } from '@pyxisjs/core';
2
2
 
3
3
  /**
4
4
  * PyxisAnalyticsAPI - Public interface for analytics operations
@@ -12,6 +12,7 @@ interface PyxisAnalyticsAPI {
12
12
  getUpdateExchangeRateEvents(args: HistoricalApyArgs): Promise<ExchangeRateEvent[]>;
13
13
  get30DayApy(vault: string): Promise<string>;
14
14
  getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;
15
+ getManageOperations(args: GetManageOperationsArgs): Promise<ManageOperation[]>;
15
16
  }
16
17
  /**
17
18
  * PyxisAnalyticsClient - Multi-chain analytics client
@@ -59,6 +60,7 @@ declare class PyxisAnalyticsClient implements PyxisAnalyticsAPI {
59
60
  * Aggregates data points and averages values for matching timestamps
60
61
  */
61
62
  getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;
63
+ getManageOperations(args: GetManageOperationsArgs): Promise<ManageOperation[]>;
62
64
  }
63
65
 
64
66
  export { type PyxisAnalyticsAPI, PyxisAnalyticsClient };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { GetActivitiesArgs, VaultActivity, VaultTvlArgs, HistoricalApyArgs, ExchangeRateEvent, ApyDataPoint, BaseAnalyticsClient } from '@pyxisjs/core';
1
+ import { GetActivitiesArgs, VaultActivity, VaultTvlArgs, HistoricalApyArgs, ExchangeRateEvent, ApyDataPoint, GetManageOperationsArgs, ManageOperation, BaseAnalyticsClient } from '@pyxisjs/core';
2
2
 
3
3
  /**
4
4
  * PyxisAnalyticsAPI - Public interface for analytics operations
@@ -12,6 +12,7 @@ interface PyxisAnalyticsAPI {
12
12
  getUpdateExchangeRateEvents(args: HistoricalApyArgs): Promise<ExchangeRateEvent[]>;
13
13
  get30DayApy(vault: string): Promise<string>;
14
14
  getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;
15
+ getManageOperations(args: GetManageOperationsArgs): Promise<ManageOperation[]>;
15
16
  }
16
17
  /**
17
18
  * PyxisAnalyticsClient - Multi-chain analytics client
@@ -59,6 +60,7 @@ declare class PyxisAnalyticsClient implements PyxisAnalyticsAPI {
59
60
  * Aggregates data points and averages values for matching timestamps
60
61
  */
61
62
  getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;
63
+ getManageOperations(args: GetManageOperationsArgs): Promise<ManageOperation[]>;
62
64
  }
63
65
 
64
66
  export { type PyxisAnalyticsAPI, PyxisAnalyticsClient };
package/dist/index.js CHANGED
@@ -128,6 +128,17 @@ var PyxisAnalyticsClient = class {
128
128
  aggregatedData.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));
129
129
  return aggregatedData;
130
130
  }
131
+ async getManageOperations(args) {
132
+ const results = await Promise.all(
133
+ this.clients.map((client) => client.getManageOperations(args))
134
+ );
135
+ const allOperations = results.flat();
136
+ const uniqueOperations = allOperations.filter(
137
+ (op, index, self) => index === self.findIndex((o) => o.id === op.id)
138
+ );
139
+ uniqueOperations.sort((a, b) => b.event_timestamp - a.event_timestamp);
140
+ return uniqueOperations;
141
+ }
131
142
  };
132
143
  // Annotate the CommonJS export names for ESM import in node:
133
144
  0 && (module.exports = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/analytics-client.ts"],"sourcesContent":["export * from './analytics-client';\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import {\n ApyDataPoint,\n BaseAnalyticsClient,\n ExchangeRateEvent,\n GetActivitiesArgs,\n HistoricalApyArgs,\n VaultActivity,\n VaultTvlArgs,\n} from '@pyxisjs/core';\nimport invariant from 'tiny-invariant';\n\n/**\n * PyxisAnalyticsAPI - Public interface for analytics operations\n */\nexport interface PyxisAnalyticsAPI {\n getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }>;\n getTvlInBaseAsset(args: VaultTvlArgs): Promise<string>;\n getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]>;\n get30DayApy(vault: string): Promise<string>;\n getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;\n}\n\n/**\n * PyxisAnalyticsClient - Multi-chain analytics client\n *\n * This client aggregates data from multiple chain-specific analytics clients.\n * Each method fetches data from all clients and combines the results.\n *\n * @example\n * ```typescript\n * const aptosClient = new AptosAnalyticsClient(baseAdapter, analyticsAdapter);\n * const evmClient = new EVMAnalyticsClient(evmAdapter); // future\n * const client = new PyxisAnalyticsClient([aptosClient, evmClient]);\n *\n * const activities = await client.getActivities({ vault: '0x...', page: 1 });\n * ```\n */\nexport class PyxisAnalyticsClient implements PyxisAnalyticsAPI {\n private clients: BaseAnalyticsClient[];\n\n constructor(clients: BaseAnalyticsClient[]) {\n invariant(clients.length > 0, 'At least one analytics client is required');\n this.clients = clients;\n }\n\n /**\n * Get vault activities with pagination from all clients\n * Aggregates activities from all clients\n */\n async getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }> {\n const results = await Promise.all(\n this.clients.map(client => client.getActivities(args))\n );\n\n // Aggregate all activities\n const allActivities = results.flatMap(r => r.activities);\n const totalCount = results.reduce((sum, r) => sum + r.total, 0);\n\n // Apply pagination to aggregated results\n const pageSize = args.pageSize ?? 10;\n const page = args.page ?? 1;\n const start = (page - 1) * pageSize;\n const paginatedActivities = allActivities.slice(start, start + pageSize);\n\n return {\n activities: paginatedActivities,\n total: totalCount,\n };\n }\n\n /**\n * Get total value locked in base asset from all clients\n * Returns the sum of TVL from all clients\n */\n async getTvlInBaseAsset(args: VaultTvlArgs): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.getTvlInBaseAsset(args))\n );\n\n // Sum all TVL values\n const totalTvl = results.reduce((sum, tvl) => sum + BigInt(tvl), BigInt(0));\n\n return totalTvl.toString();\n }\n\n /**\n * Get exchange rate update events from all clients\n * Aggregates and sorts events by timestamp\n */\n async getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getUpdateExchangeRateEvents(args))\n );\n\n // Aggregate all events\n const allEvents = results.flat();\n\n // Sort by timestamp ascending\n allEvents.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return allEvents;\n }\n\n /**\n * Get 30-day APY for a vault\n * Returns the average APY across all clients\n */\n async get30DayApy(vault: string): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.get30DayApy(vault))\n );\n\n // Filter out zero APY values\n const validApys = results.filter(apy => apy !== '0');\n\n if (validApys.length === 0) {\n return '0';\n }\n\n // Calculate average APY\n const totalApy = validApys.reduce((sum, apy) => sum + parseFloat(apy), 0);\n\n return (totalApy / validApys.length).toString();\n }\n\n /**\n * Get historical APY data points from all clients\n * Aggregates data points and averages values for matching timestamps\n */\n async getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getHistoricalApy(args))\n );\n\n // Aggregate all data points\n const allDataPoints = results.flat();\n\n // Group by timestamp and calculate average\n const timestampMap = new Map<string, number[]>();\n for (const point of allDataPoints) {\n const values = timestampMap.get(point.timestamp) || [];\n values.push(parseFloat(point.value));\n timestampMap.set(point.timestamp, values);\n }\n\n // Calculate average for each timestamp\n const aggregatedData: ApyDataPoint[] = [];\n for (const [timestamp, values] of timestampMap) {\n const avgValue = values.reduce((a, b) => a + b, 0) / values.length;\n aggregatedData.push({\n timestamp,\n value: avgValue.toString(),\n });\n }\n\n // Sort by timestamp ascending\n aggregatedData.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return aggregatedData;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/analytics-client.ts"],"sourcesContent":["export * from './analytics-client';\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import {\n ApyDataPoint,\n BaseAnalyticsClient,\n ExchangeRateEvent,\n GetActivitiesArgs,\n GetManageOperationsArgs,\n HistoricalApyArgs,\n ManageOperation,\n VaultActivity,\n VaultTvlArgs,\n} from '@pyxisjs/core';\nimport invariant from 'tiny-invariant';\n\n/**\n * PyxisAnalyticsAPI - Public interface for analytics operations\n */\nexport interface PyxisAnalyticsAPI {\n getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }>;\n getTvlInBaseAsset(args: VaultTvlArgs): Promise<string>;\n getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]>;\n get30DayApy(vault: string): Promise<string>;\n getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;\n getManageOperations(\n args: GetManageOperationsArgs\n ): Promise<ManageOperation[]>;\n}\n\n/**\n * PyxisAnalyticsClient - Multi-chain analytics client\n *\n * This client aggregates data from multiple chain-specific analytics clients.\n * Each method fetches data from all clients and combines the results.\n *\n * @example\n * ```typescript\n * const aptosClient = new AptosAnalyticsClient(baseAdapter, analyticsAdapter);\n * const evmClient = new EVMAnalyticsClient(evmAdapter); // future\n * const client = new PyxisAnalyticsClient([aptosClient, evmClient]);\n *\n * const activities = await client.getActivities({ vault: '0x...', page: 1 });\n * ```\n */\nexport class PyxisAnalyticsClient implements PyxisAnalyticsAPI {\n private clients: BaseAnalyticsClient[];\n\n constructor(clients: BaseAnalyticsClient[]) {\n invariant(clients.length > 0, 'At least one analytics client is required');\n this.clients = clients;\n }\n\n /**\n * Get vault activities with pagination from all clients\n * Aggregates activities from all clients\n */\n async getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }> {\n const results = await Promise.all(\n this.clients.map(client => client.getActivities(args))\n );\n\n // Aggregate all activities\n const allActivities = results.flatMap(r => r.activities);\n const totalCount = results.reduce((sum, r) => sum + r.total, 0);\n\n // Apply pagination to aggregated results\n const pageSize = args.pageSize ?? 10;\n const page = args.page ?? 1;\n const start = (page - 1) * pageSize;\n const paginatedActivities = allActivities.slice(start, start + pageSize);\n\n return {\n activities: paginatedActivities,\n total: totalCount,\n };\n }\n\n /**\n * Get total value locked in base asset from all clients\n * Returns the sum of TVL from all clients\n */\n async getTvlInBaseAsset(args: VaultTvlArgs): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.getTvlInBaseAsset(args))\n );\n\n // Sum all TVL values\n const totalTvl = results.reduce((sum, tvl) => sum + BigInt(tvl), BigInt(0));\n\n return totalTvl.toString();\n }\n\n /**\n * Get exchange rate update events from all clients\n * Aggregates and sorts events by timestamp\n */\n async getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getUpdateExchangeRateEvents(args))\n );\n\n // Aggregate all events\n const allEvents = results.flat();\n\n // Sort by timestamp ascending\n allEvents.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return allEvents;\n }\n\n /**\n * Get 30-day APY for a vault\n * Returns the average APY across all clients\n */\n async get30DayApy(vault: string): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.get30DayApy(vault))\n );\n\n // Filter out zero APY values\n const validApys = results.filter(apy => apy !== '0');\n\n if (validApys.length === 0) {\n return '0';\n }\n\n // Calculate average APY\n const totalApy = validApys.reduce((sum, apy) => sum + parseFloat(apy), 0);\n\n return (totalApy / validApys.length).toString();\n }\n\n /**\n * Get historical APY data points from all clients\n * Aggregates data points and averages values for matching timestamps\n */\n async getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getHistoricalApy(args))\n );\n\n // Aggregate all data points\n const allDataPoints = results.flat();\n\n // Group by timestamp and calculate average\n const timestampMap = new Map<string, number[]>();\n for (const point of allDataPoints) {\n const values = timestampMap.get(point.timestamp) || [];\n values.push(parseFloat(point.value));\n timestampMap.set(point.timestamp, values);\n }\n\n // Calculate average for each timestamp\n const aggregatedData: ApyDataPoint[] = [];\n for (const [timestamp, values] of timestampMap) {\n const avgValue = values.reduce((a, b) => a + b, 0) / values.length;\n aggregatedData.push({\n timestamp,\n value: avgValue.toString(),\n });\n }\n\n // Sort by timestamp ascending\n aggregatedData.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return aggregatedData;\n }\n\n async getManageOperations(\n args: GetManageOperationsArgs\n ): Promise<ManageOperation[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getManageOperations(args))\n );\n\n const allOperations = results.flat();\n\n // Deduplicate operations by ID to handle multiple deployments\n const uniqueOperations = allOperations.filter(\n (op, index, self) => index === self.findIndex(o => o.id === op.id)\n );\n\n uniqueOperations.sort((a, b) => b.event_timestamp - a.event_timestamp);\n\n return uniqueOperations;\n }\n}\n"],"mappings":"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","names":[]}
package/dist/index.mjs CHANGED
@@ -102,6 +102,17 @@ var PyxisAnalyticsClient = class {
102
102
  aggregatedData.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));
103
103
  return aggregatedData;
104
104
  }
105
+ async getManageOperations(args) {
106
+ const results = await Promise.all(
107
+ this.clients.map((client) => client.getManageOperations(args))
108
+ );
109
+ const allOperations = results.flat();
110
+ const uniqueOperations = allOperations.filter(
111
+ (op, index, self) => index === self.findIndex((o) => o.id === op.id)
112
+ );
113
+ uniqueOperations.sort((a, b) => b.event_timestamp - a.event_timestamp);
114
+ return uniqueOperations;
115
+ }
105
116
  };
106
117
  export {
107
118
  PyxisAnalyticsClient
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/analytics-client.ts"],"sourcesContent":["var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import {\n ApyDataPoint,\n BaseAnalyticsClient,\n ExchangeRateEvent,\n GetActivitiesArgs,\n HistoricalApyArgs,\n VaultActivity,\n VaultTvlArgs,\n} from '@pyxisjs/core';\nimport invariant from 'tiny-invariant';\n\n/**\n * PyxisAnalyticsAPI - Public interface for analytics operations\n */\nexport interface PyxisAnalyticsAPI {\n getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }>;\n getTvlInBaseAsset(args: VaultTvlArgs): Promise<string>;\n getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]>;\n get30DayApy(vault: string): Promise<string>;\n getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;\n}\n\n/**\n * PyxisAnalyticsClient - Multi-chain analytics client\n *\n * This client aggregates data from multiple chain-specific analytics clients.\n * Each method fetches data from all clients and combines the results.\n *\n * @example\n * ```typescript\n * const aptosClient = new AptosAnalyticsClient(baseAdapter, analyticsAdapter);\n * const evmClient = new EVMAnalyticsClient(evmAdapter); // future\n * const client = new PyxisAnalyticsClient([aptosClient, evmClient]);\n *\n * const activities = await client.getActivities({ vault: '0x...', page: 1 });\n * ```\n */\nexport class PyxisAnalyticsClient implements PyxisAnalyticsAPI {\n private clients: BaseAnalyticsClient[];\n\n constructor(clients: BaseAnalyticsClient[]) {\n invariant(clients.length > 0, 'At least one analytics client is required');\n this.clients = clients;\n }\n\n /**\n * Get vault activities with pagination from all clients\n * Aggregates activities from all clients\n */\n async getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }> {\n const results = await Promise.all(\n this.clients.map(client => client.getActivities(args))\n );\n\n // Aggregate all activities\n const allActivities = results.flatMap(r => r.activities);\n const totalCount = results.reduce((sum, r) => sum + r.total, 0);\n\n // Apply pagination to aggregated results\n const pageSize = args.pageSize ?? 10;\n const page = args.page ?? 1;\n const start = (page - 1) * pageSize;\n const paginatedActivities = allActivities.slice(start, start + pageSize);\n\n return {\n activities: paginatedActivities,\n total: totalCount,\n };\n }\n\n /**\n * Get total value locked in base asset from all clients\n * Returns the sum of TVL from all clients\n */\n async getTvlInBaseAsset(args: VaultTvlArgs): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.getTvlInBaseAsset(args))\n );\n\n // Sum all TVL values\n const totalTvl = results.reduce((sum, tvl) => sum + BigInt(tvl), BigInt(0));\n\n return totalTvl.toString();\n }\n\n /**\n * Get exchange rate update events from all clients\n * Aggregates and sorts events by timestamp\n */\n async getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getUpdateExchangeRateEvents(args))\n );\n\n // Aggregate all events\n const allEvents = results.flat();\n\n // Sort by timestamp ascending\n allEvents.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return allEvents;\n }\n\n /**\n * Get 30-day APY for a vault\n * Returns the average APY across all clients\n */\n async get30DayApy(vault: string): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.get30DayApy(vault))\n );\n\n // Filter out zero APY values\n const validApys = results.filter(apy => apy !== '0');\n\n if (validApys.length === 0) {\n return '0';\n }\n\n // Calculate average APY\n const totalApy = validApys.reduce((sum, apy) => sum + parseFloat(apy), 0);\n\n return (totalApy / validApys.length).toString();\n }\n\n /**\n * Get historical APY data points from all clients\n * Aggregates data points and averages values for matching timestamps\n */\n async getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getHistoricalApy(args))\n );\n\n // Aggregate all data points\n const allDataPoints = results.flat();\n\n // Group by timestamp and calculate average\n const timestampMap = new Map<string, number[]>();\n for (const point of allDataPoints) {\n const values = timestampMap.get(point.timestamp) || [];\n values.push(parseFloat(point.value));\n timestampMap.set(point.timestamp, values);\n }\n\n // Calculate average for each timestamp\n const aggregatedData: ApyDataPoint[] = [];\n for (const [timestamp, values] of timestampMap) {\n const avgValue = values.reduce((a, b) => a + b, 0) / values.length;\n aggregatedData.push({\n timestamp,\n value: avgValue.toString(),\n });\n }\n\n // Sort by timestamp ascending\n aggregatedData.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return aggregatedData;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/analytics-client.ts"],"sourcesContent":["var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import {\n ApyDataPoint,\n BaseAnalyticsClient,\n ExchangeRateEvent,\n GetActivitiesArgs,\n GetManageOperationsArgs,\n HistoricalApyArgs,\n ManageOperation,\n VaultActivity,\n VaultTvlArgs,\n} from '@pyxisjs/core';\nimport invariant from 'tiny-invariant';\n\n/**\n * PyxisAnalyticsAPI - Public interface for analytics operations\n */\nexport interface PyxisAnalyticsAPI {\n getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }>;\n getTvlInBaseAsset(args: VaultTvlArgs): Promise<string>;\n getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]>;\n get30DayApy(vault: string): Promise<string>;\n getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]>;\n getManageOperations(\n args: GetManageOperationsArgs\n ): Promise<ManageOperation[]>;\n}\n\n/**\n * PyxisAnalyticsClient - Multi-chain analytics client\n *\n * This client aggregates data from multiple chain-specific analytics clients.\n * Each method fetches data from all clients and combines the results.\n *\n * @example\n * ```typescript\n * const aptosClient = new AptosAnalyticsClient(baseAdapter, analyticsAdapter);\n * const evmClient = new EVMAnalyticsClient(evmAdapter); // future\n * const client = new PyxisAnalyticsClient([aptosClient, evmClient]);\n *\n * const activities = await client.getActivities({ vault: '0x...', page: 1 });\n * ```\n */\nexport class PyxisAnalyticsClient implements PyxisAnalyticsAPI {\n private clients: BaseAnalyticsClient[];\n\n constructor(clients: BaseAnalyticsClient[]) {\n invariant(clients.length > 0, 'At least one analytics client is required');\n this.clients = clients;\n }\n\n /**\n * Get vault activities with pagination from all clients\n * Aggregates activities from all clients\n */\n async getActivities(\n args: GetActivitiesArgs\n ): Promise<{ activities: VaultActivity[]; total: number }> {\n const results = await Promise.all(\n this.clients.map(client => client.getActivities(args))\n );\n\n // Aggregate all activities\n const allActivities = results.flatMap(r => r.activities);\n const totalCount = results.reduce((sum, r) => sum + r.total, 0);\n\n // Apply pagination to aggregated results\n const pageSize = args.pageSize ?? 10;\n const page = args.page ?? 1;\n const start = (page - 1) * pageSize;\n const paginatedActivities = allActivities.slice(start, start + pageSize);\n\n return {\n activities: paginatedActivities,\n total: totalCount,\n };\n }\n\n /**\n * Get total value locked in base asset from all clients\n * Returns the sum of TVL from all clients\n */\n async getTvlInBaseAsset(args: VaultTvlArgs): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.getTvlInBaseAsset(args))\n );\n\n // Sum all TVL values\n const totalTvl = results.reduce((sum, tvl) => sum + BigInt(tvl), BigInt(0));\n\n return totalTvl.toString();\n }\n\n /**\n * Get exchange rate update events from all clients\n * Aggregates and sorts events by timestamp\n */\n async getUpdateExchangeRateEvents(\n args: HistoricalApyArgs\n ): Promise<ExchangeRateEvent[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getUpdateExchangeRateEvents(args))\n );\n\n // Aggregate all events\n const allEvents = results.flat();\n\n // Sort by timestamp ascending\n allEvents.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return allEvents;\n }\n\n /**\n * Get 30-day APY for a vault\n * Returns the average APY across all clients\n */\n async get30DayApy(vault: string): Promise<string> {\n const results = await Promise.all(\n this.clients.map(client => client.get30DayApy(vault))\n );\n\n // Filter out zero APY values\n const validApys = results.filter(apy => apy !== '0');\n\n if (validApys.length === 0) {\n return '0';\n }\n\n // Calculate average APY\n const totalApy = validApys.reduce((sum, apy) => sum + parseFloat(apy), 0);\n\n return (totalApy / validApys.length).toString();\n }\n\n /**\n * Get historical APY data points from all clients\n * Aggregates data points and averages values for matching timestamps\n */\n async getHistoricalApy(args: HistoricalApyArgs): Promise<ApyDataPoint[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getHistoricalApy(args))\n );\n\n // Aggregate all data points\n const allDataPoints = results.flat();\n\n // Group by timestamp and calculate average\n const timestampMap = new Map<string, number[]>();\n for (const point of allDataPoints) {\n const values = timestampMap.get(point.timestamp) || [];\n values.push(parseFloat(point.value));\n timestampMap.set(point.timestamp, values);\n }\n\n // Calculate average for each timestamp\n const aggregatedData: ApyDataPoint[] = [];\n for (const [timestamp, values] of timestampMap) {\n const avgValue = values.reduce((a, b) => a + b, 0) / values.length;\n aggregatedData.push({\n timestamp,\n value: avgValue.toString(),\n });\n }\n\n // Sort by timestamp ascending\n aggregatedData.sort((a, b) => Number(a.timestamp) - Number(b.timestamp));\n\n return aggregatedData;\n }\n\n async getManageOperations(\n args: GetManageOperationsArgs\n ): Promise<ManageOperation[]> {\n const results = await Promise.all(\n this.clients.map(client => client.getManageOperations(args))\n );\n\n const allOperations = results.flat();\n\n // Deduplicate operations by ID to handle multiple deployments\n const uniqueOperations = allOperations.filter(\n (op, index, self) => index === self.findIndex(o => o.id === op.id)\n );\n\n uniqueOperations.sort((a, b) => b.event_timestamp - a.event_timestamp);\n\n return uniqueOperations;\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pyxisjs/client",
3
- "version": "0.2.6",
3
+ "version": "0.3.0",
4
4
  "description": "Pyxis SDK Client",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -31,8 +31,8 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "dayjs": "^1.11.19",
34
- "@pyxisjs/chains": "0.2.6",
35
- "@pyxisjs/core": "0.2.6"
34
+ "@pyxisjs/chains": "0.3.0",
35
+ "@pyxisjs/core": "0.3.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "tsup": "^8.0.0",