@render-foundation/utils 0.0.16 → 0.0.17

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 (56) hide show
  1. package/lib/cjs/dbTypes.js +3 -0
  2. package/lib/cjs/dbTypes.js.map +1 -0
  3. package/lib/cjs/errorReporter.js +77 -0
  4. package/lib/cjs/errorReporter.js.map +1 -0
  5. package/lib/cjs/index.js +24 -0
  6. package/lib/cjs/index.js.map +1 -0
  7. package/lib/cjs/logger.js +18 -0
  8. package/lib/cjs/logger.js.map +1 -0
  9. package/lib/cjs/pgClient.js +429 -0
  10. package/lib/cjs/pgClient.js.map +1 -0
  11. package/lib/cjs/priceClient.js +33 -0
  12. package/lib/cjs/priceClient.js.map +1 -0
  13. package/lib/cjs/renderClient.js +74 -0
  14. package/lib/cjs/renderClient.js.map +1 -0
  15. package/lib/cjs/squadsV3.js +63 -0
  16. package/lib/cjs/squadsV3.js.map +1 -0
  17. package/lib/cjs/wormhole.js +68 -0
  18. package/lib/cjs/wormhole.js.map +1 -0
  19. package/lib/esm/src/dbTypes.js +2 -0
  20. package/lib/esm/src/dbTypes.js.map +1 -0
  21. package/lib/esm/src/errorReporter.js +68 -0
  22. package/lib/esm/src/errorReporter.js.map +1 -0
  23. package/lib/esm/src/index.js +8 -0
  24. package/lib/esm/src/index.js.map +1 -0
  25. package/lib/esm/src/logger.js +15 -0
  26. package/lib/esm/src/logger.js.map +1 -0
  27. package/lib/esm/src/pgClient.js +390 -0
  28. package/lib/esm/src/pgClient.js.map +1 -0
  29. package/lib/esm/src/priceClient.js +15 -0
  30. package/lib/esm/src/priceClient.js.map +1 -0
  31. package/lib/esm/src/renderClient.js +57 -0
  32. package/lib/esm/src/renderClient.js.map +1 -0
  33. package/lib/esm/src/squadsV3.js +47 -0
  34. package/lib/esm/src/squadsV3.js.map +1 -0
  35. package/lib/esm/src/wormhole.js +32 -0
  36. package/lib/esm/src/wormhole.js.map +1 -0
  37. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
  38. package/lib/types/src/dbTypes.d.ts +62 -0
  39. package/lib/types/src/dbTypes.d.ts.map +1 -0
  40. package/lib/types/src/errorReporter.d.ts +12 -0
  41. package/lib/types/src/errorReporter.d.ts.map +1 -0
  42. package/lib/types/src/index.d.ts +8 -0
  43. package/lib/types/src/index.d.ts.map +1 -0
  44. package/lib/types/src/logger.d.ts +14 -0
  45. package/lib/types/src/logger.d.ts.map +1 -0
  46. package/lib/types/src/pgClient.d.ts +77 -0
  47. package/lib/types/src/pgClient.d.ts.map +1 -0
  48. package/lib/types/src/priceClient.d.ts +5 -0
  49. package/lib/types/src/priceClient.d.ts.map +1 -0
  50. package/lib/types/src/renderClient.d.ts +10 -0
  51. package/lib/types/src/renderClient.d.ts.map +1 -0
  52. package/lib/types/src/squadsV3.d.ts +8 -0
  53. package/lib/types/src/squadsV3.d.ts.map +1 -0
  54. package/lib/types/src/wormhole.d.ts +9 -0
  55. package/lib/types/src/wormhole.d.ts.map +1 -0
  56. package/package.json +3 -1
@@ -0,0 +1,62 @@
1
+ import type { ColumnType } from "kysely";
2
+ export type Generated<T> = T extends ColumnType<infer S, infer I, infer U> ? ColumnType<S, I | undefined, U> : ColumnType<T, T | undefined, T>;
3
+ export type Int8 = ColumnType<string, bigint | number | string, bigint | number | string>;
4
+ export type Timestamp = ColumnType<Date, Date | string, Date | string>;
5
+ export type TransferType = "node_operator_rewards" | "open_compute_rewards" | "upgrade_rewards";
6
+ export type TxStatus = "created" | "executed" | "ready";
7
+ export interface JobId {
8
+ epoch_id: Generated<Int8>;
9
+ id: Int8;
10
+ }
11
+ export interface NodeOperatorEpoch {
12
+ burned: Generated<Int8>;
13
+ description: string | null;
14
+ end_time: Timestamp | null;
15
+ id: Generated<Int8>;
16
+ saved_at: Timestamp | null;
17
+ start_time: Timestamp | null;
18
+ total_rndr: Generated<Int8>;
19
+ }
20
+ export interface NodeOperatorRewardsTransfer {
21
+ end_time: Timestamp | null;
22
+ epoch_id: Generated<Int8>;
23
+ start_time: Timestamp | null;
24
+ transfer_id: Generated<Int8>;
25
+ }
26
+ export interface OpenComputeRewardsTransfer {
27
+ device_id: string | null;
28
+ epoch_id: Generated<Int8>;
29
+ transfer_id: Generated<Int8>;
30
+ }
31
+ export interface SquadsTx {
32
+ id: Generated<Int8>;
33
+ sq_tx: string;
34
+ tx_status: TxStatus;
35
+ }
36
+ export interface Transfer {
37
+ amount_due: Int8;
38
+ amount_payed: Int8;
39
+ created_at: Generated<Timestamp>;
40
+ id: Generated<Int8>;
41
+ payed_at: Timestamp | null;
42
+ sol_key: string | null;
43
+ sol_tx: string | null;
44
+ sq_tx_id: Int8 | null;
45
+ transfer_type: TransferType;
46
+ }
47
+ export interface UpgradeRewardsTransfer {
48
+ epoch_id: Generated<Int8>;
49
+ epoch_start_time: Timestamp | null;
50
+ points: Int8 | null;
51
+ transfer_id: Generated<Int8>;
52
+ }
53
+ export interface DB {
54
+ job_id: JobId;
55
+ node_operator_epoch: NodeOperatorEpoch;
56
+ node_operator_rewards_transfer: NodeOperatorRewardsTransfer;
57
+ open_compute_rewards_transfer: OpenComputeRewardsTransfer;
58
+ squads_tx: SquadsTx;
59
+ transfer: Transfer;
60
+ upgrade_rewards_transfer: UpgradeRewardsTransfer;
61
+ }
62
+ //# sourceMappingURL=dbTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbTypes.d.ts","sourceRoot":"","sources":["../../../src/dbTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { RenderLogger } from "./logger";
2
+ export type ReportTarget = 'slack' | 'pagerduty';
3
+ export interface ErrorReporter {
4
+ report(f: {
5
+ msg: string;
6
+ id?: string;
7
+ title?: string;
8
+ targets: ReportTarget[];
9
+ }): Promise<void>;
10
+ }
11
+ export declare const errorReporter: (pdApiKey: string, slackToken: string, channel: string, log?: RenderLogger) => ErrorReporter;
12
+ //# sourceMappingURL=errorReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorReporter.d.ts","sourceRoot":"","sources":["../../../src/errorReporter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAgB,MAAM,UAAU,CAAC;AA0CrD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,WAAW,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,CAAC,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,YAAY,EAAE,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,eAAO,MAAM,aAAa,aACd,MAAM,cACJ,MAAM,WACT,MAAM,QACV,YAAY,KAChB,aAsEF,CAAA"}
@@ -0,0 +1,8 @@
1
+ export * from "./wormhole";
2
+ export * from "./pgClient";
3
+ export * from "./renderClient";
4
+ export * from "./squadsV3";
5
+ export * from "./logger";
6
+ export * from "./errorReporter";
7
+ export * from "./priceClient";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface RenderLogger {
2
+ info(msg: string): void;
3
+ error(msg: string): void;
4
+ debug(msg: string): void;
5
+ }
6
+ declare class ConsoleLogger implements RenderLogger {
7
+ constructor();
8
+ debug(msg: string): void;
9
+ info(msg: string): void;
10
+ error(msg: string): void;
11
+ }
12
+ export declare const consoleLogger: ConsoleLogger;
13
+ export {};
14
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logger.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,cAAM,aAAc,YAAW,YAAY;;IAIzC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGzB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { TxStatus } from "./dbTypes";
2
+ import { RenderLogger } from "./logger";
3
+ export type TransferType = "open_compute_rewards" | "node_operator_rewards" | "upgrade_rewards";
4
+ export interface Transfer {
5
+ id?: bigint;
6
+ solKey?: string;
7
+ solTx?: string;
8
+ sqTx?: string;
9
+ txStatus?: TxStatus;
10
+ createdAt?: Date;
11
+ payedAt?: Date;
12
+ amountDue: bigint;
13
+ amountPayed?: bigint;
14
+ operatorRewards?: NodeOperatorRewardsTransfer;
15
+ computeClientRewards?: ComputeClientsRewardsTransfer;
16
+ upgradeRewards?: UpgradeRewardsTransfer;
17
+ }
18
+ export interface UpgradeRewardsTransfer {
19
+ epochId: number;
20
+ epochStartTime: Date;
21
+ points: bigint;
22
+ }
23
+ export interface NodeOperatorRewardsTransfer {
24
+ epochId: number;
25
+ startTime: Date;
26
+ endTime: Date;
27
+ }
28
+ export interface ComputeClientsRewardsTransfer {
29
+ epochId: number;
30
+ deviceId: string;
31
+ }
32
+ export interface PgClient {
33
+ fetchInfoForEpoch(epochId: bigint): Promise<{
34
+ jobIds: number[];
35
+ totalRndr: bigint;
36
+ }>;
37
+ payoutTransfersSquads(ts: Record<string, bigint>, payedAt: Date, solTx: string, sqTx: string): Promise<void>;
38
+ updateSqTx(tx: string, status: TxStatus): Promise<void>;
39
+ setSqTx(transferIds: bigint[], sqTx: string): Promise<void>;
40
+ getOutstanding(f: {
41
+ typ: TransferType;
42
+ }): Promise<Record<string, bigint>>;
43
+ createTransfers(transfers: Transfer[]): Promise<void>;
44
+ fetchTransfers(f: {
45
+ epochId?: number;
46
+ payed?: boolean;
47
+ typ: TransferType;
48
+ status?: TxStatus | "notx";
49
+ sort?: "solKey";
50
+ }): Promise<Transfer[]>;
51
+ payoutTransferSq(id: bigint, payedAt: Date, solTx: string, amtPayed: bigint, sqTx: string): Promise<void>;
52
+ payoutTransfer(id: bigint, payedAt: Date, solTx: string, amtPayed: bigint): Promise<void>;
53
+ payoutTransfers(idToAmt: Record<string, bigint>, payedAt: Date, solTx: string): Promise<void>;
54
+ getLatestNodeOperatorEpoch(): Promise<{
55
+ epochId: bigint;
56
+ startedAt: Date;
57
+ endedAt: Date;
58
+ savedAt?: Date;
59
+ } | undefined>;
60
+ saveNodeOperatorEpoch(epochId: bigint, transfers: Transfer[], jobIds: number[], totalRndr: bigint): Promise<void>;
61
+ updateBurned(epochId: bigint, burned: bigint, description: string): Promise<void>;
62
+ fetchTransfersByWallet(f: {
63
+ epochId?: number;
64
+ payed?: boolean;
65
+ typ: TransferType;
66
+ address: string;
67
+ }): Promise<Transfer[]>;
68
+ }
69
+ export declare const pgClient: (config: {
70
+ database: string;
71
+ host: string;
72
+ user: string;
73
+ password: string;
74
+ port?: number;
75
+ max?: number;
76
+ }, log?: RenderLogger) => PgClient;
77
+ //# sourceMappingURL=pgClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pgClient.d.ts","sourceRoot":"","sources":["../../../src/pgClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface PriceClient {
2
+ getRenderPriceAtDate(d: Date): Promise<number>;
3
+ }
4
+ export declare const coinGeckoClient: () => PriceClient;
5
+ //# sourceMappingURL=priceClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priceClient.d.ts","sourceRoot":"","sources":["../../../src/priceClient.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,oBAAoB,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC/C;AAED,eAAO,MAAM,eAAe,QAAO,WAclC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { RenderLogger } from "./logger";
2
+ export interface RenderClient {
3
+ fetchNodeOperatorRewards(startTime: Date, endTime: Date): Promise<{
4
+ jobIds: number[];
5
+ solKeyToDue: Record<string, number>;
6
+ }>;
7
+ markJobsPayed(ids: number[], finishedAfter: Date, finishedBefore: Date, totalDistributed: number): Promise<void>;
8
+ }
9
+ export declare const renderClient: (authToken: string, log?: RenderLogger) => RenderClient;
10
+ //# sourceMappingURL=renderClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderClient.d.ts","sourceRoot":"","sources":["../../../src/renderClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAC,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,wBAAwB,CACtB,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GACZ,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAA;IACpE,aAAa,CACX,GAAG,EAAE,MAAM,EAAE,EACb,aAAa,EAAE,IAAI,EACnB,cAAc,EAAE,IAAI,EACpB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAaD,eAAO,MAAM,YAAY,cAAe,MAAM,QAAO,YAAY,KAAmB,YAkEnF,CAAA"}
@@ -0,0 +1,8 @@
1
+ import Squads from "@sqds/sdk";
2
+ import { Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
3
+ import { RenderLogger } from "./logger";
4
+ export declare const executeSqV3Transaction: (connection: Connection, squadsMsKey: PublicKey, clients: Squads[], instrs: TransactionInstruction[], log?: RenderLogger) => Promise<{
5
+ txSig: string;
6
+ txPDA: PublicKey;
7
+ }>;
8
+ //# sourceMappingURL=squadsV3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"squadsV3.d.ts","sourceRoot":"","sources":["../../../src/squadsV3.ts"],"names":[],"mappings":"AAAA,OAAO,MAAgE,MAAM,WAAW,CAAC;AAGzF,OAAO,EAAC,UAAU,EAAE,SAAS,EAAuB,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAgB,YAAY,EAAC,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,sBAAsB,eACrB,UAAU,eACT,SAAS,WACb,MAAM,EAAE,UACT,sBAAsB,EAAE,QAC3B,YAAY;WACA,MAAM;WAAS,SAAS;EAqD1C,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { RenderLogger } from "./logger";
2
+ export type EthInfo = {
3
+ originTx: {
4
+ txHash: string;
5
+ from: string;
6
+ };
7
+ };
8
+ export declare const fetchEthInfo: (seq: number, wormEnv?: 'MAINNET' | 'TESTNET', ethChainId?: number, retries?: number, log?: RenderLogger) => Promise<[number, EthInfo]>;
9
+ //# sourceMappingURL=wormhole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wormhole.d.ts","sourceRoot":"","sources":["../../../src/wormhole.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,YAAY,EAAC,MAAM,UAAU,CAAC;AAErD,MAAM,MAAM,OAAO,GAAG;IAAC,QAAQ,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAA;CAAC,CAAA;AAEhE,eAAO,MAAM,YAAY,QAClB,MAAM,YACF,SAAS,GAAG,SAAS,eAClB,MAAM,0BAEb,YAAY,KAChB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAqC3B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@render-foundation/utils",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "description": "Utils shared across Render libs",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -38,10 +38,12 @@
38
38
  "@slack/web-api": "^7.0.1",
39
39
  "@solana/web3.js": "^1.43.4",
40
40
  "@sqds/sdk": "^2.0.4",
41
+ "@types/dateformat": "^5.0.2",
41
42
  "@types/uuid": "^9.0.8",
42
43
  "bn.js": "5.1.3",
43
44
  "borsh": "^0.7.0",
44
45
  "bs58": "^5.0.0",
46
+ "coingecko-api-v3": "^0.0.29",
45
47
  "kysely": "^0.27.2",
46
48
  "pg": "^8.11.3",
47
49
  "uuid": "^9.0.1"