@render-foundation/utils 0.0.232 → 0.0.233

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.
Files changed (39) hide show
  1. package/lib/cjs/client/dispersed.js +123 -0
  2. package/lib/cjs/client/dispersed.js.map +1 -0
  3. package/lib/cjs/client/pg/v2Client.js +115 -59
  4. package/lib/cjs/client/pg/v2Client.js.map +1 -1
  5. package/lib/cjs/client/price.js +41 -17
  6. package/lib/cjs/client/price.js.map +1 -1
  7. package/lib/cjs/client/trade.js +2 -0
  8. package/lib/cjs/client/trade.js.map +1 -1
  9. package/lib/cjs/index.js +5 -2
  10. package/lib/cjs/index.js.map +1 -1
  11. package/lib/esm/src/client/dispersed.js +108 -0
  12. package/lib/esm/src/client/dispersed.js.map +1 -0
  13. package/lib/esm/src/client/pg/v2Client.js +99 -56
  14. package/lib/esm/src/client/pg/v2Client.js.map +1 -1
  15. package/lib/esm/src/client/price.js +40 -18
  16. package/lib/esm/src/client/price.js.map +1 -1
  17. package/lib/esm/src/client/trade.js +2 -0
  18. package/lib/esm/src/client/trade.js.map +1 -1
  19. package/lib/esm/src/index.js +5 -2
  20. package/lib/esm/src/index.js.map +1 -1
  21. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  22. package/lib/types/src/client/dispersed.d.ts +91 -0
  23. package/lib/types/src/client/dispersed.d.ts.map +1 -0
  24. package/lib/types/src/client/pg/v2Client.d.ts +45 -24
  25. package/lib/types/src/client/pg/v2Client.d.ts.map +1 -1
  26. package/lib/types/src/client/price.d.ts.map +1 -1
  27. package/lib/types/src/client/trade.d.ts +2 -0
  28. package/lib/types/src/client/trade.d.ts.map +1 -1
  29. package/lib/types/src/dbTypesV2.d.ts +24 -16
  30. package/lib/types/src/dbTypesV2.d.ts.map +1 -1
  31. package/lib/types/src/index.d.ts +2 -2
  32. package/lib/types/src/index.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/lib/cjs/burn/burnAnalysis.js +0 -101
  35. package/lib/cjs/burn/burnAnalysis.js.map +0 -1
  36. package/lib/esm/src/burn/burnAnalysis.js +0 -90
  37. package/lib/esm/src/burn/burnAnalysis.js.map +0 -1
  38. package/lib/types/src/burn/burnAnalysis.d.ts +0 -51
  39. package/lib/types/src/burn/burnAnalysis.d.ts.map +0 -1
@@ -1,90 +0,0 @@
1
- import { calculateBurnAmounts, } from './burnCalculations';
2
- import { consoleLogger } from '../logger';
3
- /**
4
- * Analyzes a set of jobs and calculates what should have been burned
5
- * This function can be used for both live processing and backfill analysis
6
- */
7
- export const analyzeBurnJobs = async (ctx, input, opts = {
8
- perpetual: true,
9
- }, log = consoleLogger) => {
10
- const { jobs, params, decimals, pricedAt } = input;
11
- // Get user grant spends
12
- const userIds = jobs.reduce((acc, job) => {
13
- if (job.userId) {
14
- acc.add(job.userId);
15
- }
16
- return acc;
17
- }, new Set());
18
- // For analysis, we use the underlying db object directly
19
- const userGrantSpends = (await Promise.all(Array.from(userIds).map(async (userId) => {
20
- // Note: For backfill, we might need historical grant spend data
21
- // This is a limitation we'll need to address
22
- const currSpend = await ctx.pgV2.getCurrentUserGrantSpend(ctx.pgV2.db, // Use the underlying db object
23
- { userId }, log);
24
- return { userId, currSpend };
25
- }))).reduce((acc, us) => {
26
- if (us.currSpend) {
27
- acc[us.userId] = {
28
- userGrantSpend: us.currSpend,
29
- currAllot: us.currSpend.renderSpent,
30
- };
31
- }
32
- return acc;
33
- }, {});
34
- // Get burn adjustments (for backfill, we might need historical data)
35
- const burnAdjustments = await ctx.pgV2.getJobBurnAdjustments(ctx.pgV2.db, // Use the underlying db object
36
- { toFill: true }, log);
37
- // Determine pricing date
38
- const effectivePricedAt = pricedAt ||
39
- calculateBurnAmounts({
40
- jobs,
41
- userGrantSpends,
42
- burnAdjustments,
43
- params,
44
- decimals,
45
- priceAtDate: 1,
46
- eurToUSDC: 1, // Dummy value for date calculation
47
- }, opts, log).pricedAt;
48
- // Get historical prices
49
- const price = await ctx.priceClient.getRenderPriceAtDate({
50
- ts: effectivePricedAt,
51
- });
52
- const eurToUSDC = await ctx.priceClient.eurToUSDC(effectivePricedAt);
53
- // Calculate burn amounts
54
- const result = calculateBurnAmounts({
55
- jobs,
56
- userGrantSpends,
57
- burnAdjustments,
58
- params,
59
- decimals,
60
- priceAtDate: price,
61
- eurToUSDC,
62
- }, opts, log);
63
- return {
64
- ...result,
65
- price,
66
- eurToUSDC,
67
- };
68
- };
69
- export const compareBurnAmounts = (expected, actual) => {
70
- const discrepancyTotalToBurn = actual.totalToBurn - expected.totalToBurn;
71
- /* // Only return discrepancy if absolute total discrepancy is significant (> 10^8)
72
- if (Math.abs(discrepancyTotalToBurn) <= Math.pow(10, 8)) {
73
- return null
74
- } */
75
- return {
76
- expectedRenderToBuyAndBurn: expected.renderToBuyAndBurn,
77
- actualRenderToBuyAndBurn: actual.renderToBuyAndBurn,
78
- expectedRenderToBurnFromEmissions: expected.renderToBurnFromEmissions,
79
- actualRenderToBurnFromEmissions: actual.renderToBurnFromEmissions,
80
- expectedTotalToBurn: expected.totalToBurn,
81
- actualTotalToBurn: actual.totalToBurn,
82
- discrepancyRenderToBuyAndBurn: actual.renderToBuyAndBurn - expected.renderToBuyAndBurn,
83
- discrepancyRenderToBurnFromEmissions: actual.renderToBurnFromEmissions - expected.renderToBurnFromEmissions,
84
- discrepancyTotalToBurn,
85
- jobs: actual.jobs,
86
- burnDate: actual.burnDate,
87
- txSig: actual.txSig,
88
- };
89
- };
90
- //# sourceMappingURL=burnAnalysis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"burnAnalysis.js","sourceRoot":"","sources":["../../../../src/burn/burnAnalysis.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { Job, PriceClient, DB } from '../index';
2
- import { BurnCalculationResult, IncrBuyAndBurnParams } from './burnCalculations';
3
- import { RenderLogger } from '../logger';
4
- import { PgClient } from '../client/pg/v2Client';
5
- export interface CronServerCtx {
6
- pgV2: PgClient<DB>;
7
- priceClient: PriceClient;
8
- }
9
- export interface BurnAnalysisInput {
10
- jobs: Job[];
11
- params: IncrBuyAndBurnParams;
12
- decimals: number;
13
- pricedAt?: Date;
14
- }
15
- export interface BurnAnalysisResult extends BurnCalculationResult {
16
- price: number;
17
- eurToUSDC: number;
18
- }
19
- /**
20
- * Analyzes a set of jobs and calculates what should have been burned
21
- * This function can be used for both live processing and backfill analysis
22
- */
23
- export declare const analyzeBurnJobs: (ctx: CronServerCtx, input: BurnAnalysisInput, opts?: {
24
- perpetual: boolean;
25
- }, log?: RenderLogger) => Promise<BurnAnalysisResult>;
26
- /**
27
- * Compares actual burn data with expected burn calculations
28
- */
29
- export interface BurnDiscrepancy {
30
- expectedRenderToBuyAndBurn: number;
31
- actualRenderToBuyAndBurn: number;
32
- expectedRenderToBurnFromEmissions: number;
33
- actualRenderToBurnFromEmissions: number;
34
- expectedTotalToBurn: number;
35
- actualTotalToBurn: number;
36
- discrepancyRenderToBuyAndBurn: number;
37
- discrepancyRenderToBurnFromEmissions: number;
38
- discrepancyTotalToBurn: number;
39
- jobs: Job[];
40
- burnDate: Date;
41
- txSig?: string;
42
- }
43
- export declare const compareBurnAmounts: (expected: BurnAnalysisResult, actual: {
44
- renderToBuyAndBurn: number;
45
- renderToBurnFromEmissions: number;
46
- totalToBurn: number;
47
- jobs: Job[];
48
- burnDate: Date;
49
- txSig?: string;
50
- }) => BurnDiscrepancy | null;
51
- //# sourceMappingURL=burnAnalysis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"burnAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/burn/burnAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAyB,WAAW,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,MAAM,EAAE,oBAAoB,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QACrB,aAAa,SACX,iBAAiB,SAClB;IACJ,SAAS,EAAE,OAAO,CAAA;CACnB,QAGI,YAAY,KAChB,QAAQ,kBAAkB,CAqF5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B,EAAE,MAAM,CAAA;IAClC,wBAAwB,EAAE,MAAM,CAAA;IAChC,iCAAiC,EAAE,MAAM,CAAA;IACzC,+BAA+B,EAAE,MAAM,CAAA;IACvC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,6BAA6B,EAAE,MAAM,CAAA;IACrC,oCAAoC,EAAE,MAAM,CAAA;IAC5C,sBAAsB,EAAE,MAAM,CAAA;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,QAAQ,EAAE,IAAI,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,kBAAkB,aACnB,kBAAkB,UACpB;IACN,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yBAAyB,EAAE,MAAM,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,QAAQ,EAAE,IAAI,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KACA,eAAe,GAAG,IAwBpB,CAAA"}