@render-foundation/utils 0.0.188 → 0.0.189
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/lib/cjs/backfiller.js +932 -0
- package/lib/cjs/backfiller.js.map +1 -0
- package/lib/cjs/client/onchain.js +132 -0
- package/lib/cjs/client/onchain.js.map +1 -0
- package/lib/cjs/client/pg/base.js +198 -0
- package/lib/cjs/client/pg/base.js.map +1 -0
- package/lib/cjs/client/pg/v1.js +623 -0
- package/lib/cjs/client/pg/v1.js.map +1 -0
- package/lib/cjs/client/pg/v2Client.js +1619 -0
- package/lib/cjs/client/pg/v2Client.js.map +1 -0
- package/lib/cjs/client/pg/viewClient.js +107 -0
- package/lib/cjs/client/pg/viewClient.js.map +1 -0
- package/lib/cjs/client/price.js +63 -0
- package/lib/cjs/client/price.js.map +1 -0
- package/lib/cjs/client/render.js +173 -0
- package/lib/cjs/client/render.js.map +1 -0
- package/lib/cjs/client/squads.js +204 -0
- package/lib/cjs/client/squads.js.map +1 -0
- package/lib/cjs/client/trade.js +235 -0
- package/lib/cjs/client/trade.js.map +1 -0
- package/lib/cjs/client/wormhole.js +69 -0
- package/lib/cjs/client/wormhole.js.map +1 -0
- package/lib/cjs/constants.js +48 -0
- package/lib/cjs/constants.js.map +1 -0
- package/lib/cjs/dbTypes.js +3 -0
- package/lib/cjs/dbTypes.js.map +1 -0
- package/lib/cjs/dbTypesV2.js +3 -0
- package/lib/cjs/dbTypesV2.js.map +1 -0
- package/lib/cjs/dbViewTypes.js +3 -0
- package/lib/cjs/dbViewTypes.js.map +1 -0
- package/lib/cjs/errorReporter.js +126 -0
- package/lib/cjs/errorReporter.js.map +1 -0
- package/lib/cjs/index.js +44 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/logger.js +21 -0
- package/lib/cjs/logger.js.map +1 -0
- package/lib/esm/src/backfiller.js +886 -0
- package/lib/esm/src/backfiller.js.map +1 -0
- package/lib/esm/src/client/onchain.js +122 -0
- package/lib/esm/src/client/onchain.js.map +1 -0
- package/lib/esm/src/client/pg/base.js +162 -0
- package/lib/esm/src/client/pg/base.js.map +1 -0
- package/lib/esm/src/client/pg/v1.js +559 -0
- package/lib/esm/src/client/pg/v1.js.map +1 -0
- package/lib/esm/src/client/pg/v2Client.js +1500 -0
- package/lib/esm/src/client/pg/v2Client.js.map +1 -0
- package/lib/esm/src/client/pg/viewClient.js +91 -0
- package/lib/esm/src/client/pg/viewClient.js.map +1 -0
- package/lib/esm/src/client/price.js +41 -0
- package/lib/esm/src/client/price.js.map +1 -0
- package/lib/esm/src/client/render.js +147 -0
- package/lib/esm/src/client/render.js.map +1 -0
- package/lib/esm/src/client/squads.js +163 -0
- package/lib/esm/src/client/squads.js.map +1 -0
- package/lib/esm/src/client/trade.js +219 -0
- package/lib/esm/src/client/trade.js.map +1 -0
- package/lib/esm/src/client/wormhole.js +33 -0
- package/lib/esm/src/client/wormhole.js.map +1 -0
- package/lib/esm/src/constants.js +45 -0
- package/lib/esm/src/constants.js.map +1 -0
- package/lib/esm/src/dbTypes.js +2 -0
- package/lib/esm/src/dbTypes.js.map +1 -0
- package/lib/esm/src/dbTypesV2.js +2 -0
- package/lib/esm/src/dbTypesV2.js.map +1 -0
- package/lib/esm/src/dbViewTypes.js +2 -0
- package/lib/esm/src/dbViewTypes.js.map +1 -0
- package/lib/esm/src/errorReporter.js +117 -0
- package/lib/esm/src/errorReporter.js.map +1 -0
- package/lib/esm/src/index.js +15 -0
- package/lib/esm/src/index.js.map +1 -0
- package/lib/esm/src/logger.js +18 -0
- package/lib/esm/src/logger.js.map +1 -0
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/lib/types/src/backfiller.d.ts +64 -0
- package/lib/types/src/backfiller.d.ts.map +1 -0
- package/lib/types/src/client/onchain.d.ts +24 -0
- package/lib/types/src/client/onchain.d.ts.map +1 -0
- package/lib/types/src/client/pg/base.d.ts +82 -0
- package/lib/types/src/client/pg/base.d.ts.map +1 -0
- package/lib/types/src/client/pg/v1.d.ts +137 -0
- package/lib/types/src/client/pg/v1.d.ts.map +1 -0
- package/lib/types/src/client/pg/v2Client.d.ts +307 -0
- package/lib/types/src/client/pg/v2Client.d.ts.map +1 -0
- package/lib/types/src/client/pg/viewClient.d.ts +55 -0
- package/lib/types/src/client/pg/viewClient.d.ts.map +1 -0
- package/lib/types/src/client/price.d.ts +12 -0
- package/lib/types/src/client/price.d.ts.map +1 -0
- package/lib/types/src/client/render.d.ts +24 -0
- package/lib/types/src/client/render.d.ts.map +1 -0
- package/lib/types/src/client/squads.d.ts +17 -0
- package/lib/types/src/client/squads.d.ts.map +1 -0
- package/lib/types/src/client/trade.d.ts +24 -0
- package/lib/types/src/client/trade.d.ts.map +1 -0
- package/lib/types/src/client/wormhole.d.ts +9 -0
- package/lib/types/src/client/wormhole.d.ts.map +1 -0
- package/lib/types/src/constants.d.ts +43 -0
- package/lib/types/src/constants.d.ts.map +1 -0
- package/lib/types/src/dbTypes.d.ts +123 -0
- package/lib/types/src/dbTypes.d.ts.map +1 -0
- package/lib/types/src/dbTypesV2.d.ts +194 -0
- package/lib/types/src/dbTypesV2.d.ts.map +1 -0
- package/lib/types/src/dbViewTypes.d.ts +35 -0
- package/lib/types/src/dbViewTypes.d.ts.map +1 -0
- package/lib/types/src/errorReporter.d.ts +13 -0
- package/lib/types/src/errorReporter.d.ts.map +1 -0
- package/lib/types/src/index.d.ts +15 -0
- package/lib/types/src/index.d.ts.map +1 -0
- package/lib/types/src/logger.d.ts +16 -0
- package/lib/types/src/logger.d.ts.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import { type PgClient } from "./client/pg/v2Client";
|
|
3
|
+
import type { DB } from "./dbTypesV2";
|
|
4
|
+
export interface Transfer {
|
|
5
|
+
amount: number;
|
|
6
|
+
tokenDecimals: number;
|
|
7
|
+
fromAddress?: PublicKey;
|
|
8
|
+
toAddress?: PublicKey;
|
|
9
|
+
sig: string;
|
|
10
|
+
blockTime: number;
|
|
11
|
+
}
|
|
12
|
+
interface OnChainClient {
|
|
13
|
+
getTransfers(f: {
|
|
14
|
+
mint: PublicKey;
|
|
15
|
+
flow: "in" | "out";
|
|
16
|
+
addr: PublicKey;
|
|
17
|
+
pageSize?: number;
|
|
18
|
+
}): Promise<Transfer[]>;
|
|
19
|
+
getBalanceChange(f: {
|
|
20
|
+
tokenAccount: PublicKey;
|
|
21
|
+
mint: PublicKey;
|
|
22
|
+
flow: "in" | "out";
|
|
23
|
+
addr: PublicKey;
|
|
24
|
+
}): Promise<Transfer[]>;
|
|
25
|
+
getSignaturesForAddress(addr: PublicKey, options?: {
|
|
26
|
+
before?: string;
|
|
27
|
+
limit?: number;
|
|
28
|
+
}): Promise<any[]>;
|
|
29
|
+
getParsedTransaction(signature: string): Promise<any>;
|
|
30
|
+
}
|
|
31
|
+
export declare const solscanProClient: (apiKey: string) => OnChainClient;
|
|
32
|
+
export declare const heliusClient: (apiKey: string) => OnChainClient;
|
|
33
|
+
export declare class Backfiller {
|
|
34
|
+
_types: Record<string, {}>;
|
|
35
|
+
_txs: string[];
|
|
36
|
+
solscanClient: OnChainClient;
|
|
37
|
+
heliusClient: OnChainClient;
|
|
38
|
+
pg?: PgClient<DB>;
|
|
39
|
+
isDryRun: boolean;
|
|
40
|
+
solscan: {
|
|
41
|
+
apiKey?: string;
|
|
42
|
+
pageSize: number;
|
|
43
|
+
};
|
|
44
|
+
constructor(solscanApiKey: string, heliusApiKey: string, pg?: PgClient<DB>, isDryRun?: boolean);
|
|
45
|
+
emit(): this;
|
|
46
|
+
loans(): this;
|
|
47
|
+
buyBurnUSDCInflow(): this;
|
|
48
|
+
manualMint(): this;
|
|
49
|
+
renderComputeNetwork(): this;
|
|
50
|
+
burnRENDERInflow(): this;
|
|
51
|
+
vaultOutflows(p: {
|
|
52
|
+
pageSize?: number;
|
|
53
|
+
}): this;
|
|
54
|
+
txs(...sigs: string[]): void;
|
|
55
|
+
private formatAmount;
|
|
56
|
+
private formatTimestamp;
|
|
57
|
+
private indexLoans;
|
|
58
|
+
private findEmitTxs;
|
|
59
|
+
private indexTxs;
|
|
60
|
+
private indexTransfers;
|
|
61
|
+
run(): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=backfiller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfiller.d.ts","sourceRoot":"","sources":["../../../src/backfiller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAe3C,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,sBAAsB,CAAA;AAC9D,OAAO,KAAK,EAAE,EAAE,EAAW,MAAM,aAAa,CAAA;AAK9C,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,aAAa;IACrB,YAAY,CAAC,CAAC,EAAE;QACd,IAAI,EAAE,SAAS,CAAA;QACf,IAAI,EAAE,IAAI,GAAG,KAAK,CAAA;QAClB,IAAI,EAAE,SAAS,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvB,gBAAgB,CAAC,CAAC,EAAE;QAClB,YAAY,EAAE,SAAS,CAAA;QACvB,IAAI,EAAE,SAAS,CAAA;QACf,IAAI,EAAE,IAAI,GAAG,KAAK,CAAA;QAClB,IAAI,EAAE,SAAS,CAAA;KAChB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACvG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CACtD;AAED,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,aAmNjD,CAAA;AAED,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,aA0L7C,CAAA;AAED,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAK;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAK;IACnB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,aAAa,CAAA;IAC3B,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IACjB,QAAQ,UAAQ;IAChB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAoB;gBAET,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,UAAQ;IAQ5F,IAAI;IAKJ,KAAK;IAKL,iBAAiB;IAKjB,UAAU;IAKV,oBAAoB;IAKpB,gBAAgB;IAKhB,aAAa,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAMtC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAIrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;YAIT,UAAU;YA6FV,WAAW;YAkFX,QAAQ;YA0IR,cAAc;IAwGtB,GAAG;CA0JV"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { RenderLogger } from '../logger';
|
|
2
|
+
import { Bridge } from '@render-foundation/idls/lib/types/bridge';
|
|
3
|
+
import { Program } from '@coral-xyz/anchor';
|
|
4
|
+
import { Alchemy } from 'alchemy-sdk';
|
|
5
|
+
export interface OnchainTransfer {
|
|
6
|
+
ethTx?: string;
|
|
7
|
+
blockNo?: number;
|
|
8
|
+
pda?: {
|
|
9
|
+
key: string;
|
|
10
|
+
createdAt: number;
|
|
11
|
+
amount: number;
|
|
12
|
+
incentiveRound: string;
|
|
13
|
+
points: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare const fetchTransfers: (bridgeProgram: Program<Bridge>, erc20Contract: any, ethTokenBridge: string, fromBlock: number, f: {
|
|
17
|
+
solKey: string;
|
|
18
|
+
ethKey?: string;
|
|
19
|
+
}, log?: RenderLogger) => Promise<OnchainTransfer[]>;
|
|
20
|
+
export declare const fetchHistPolygonBalance: (sdk: Alchemy, ps: {
|
|
21
|
+
addr: string;
|
|
22
|
+
blockNum?: number;
|
|
23
|
+
}, log?: RenderLogger) => Promise<number>;
|
|
24
|
+
//# sourceMappingURL=onchain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onchain.d.ts","sourceRoot":"","sources":["../../../../src/client/onchain.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,YAAY,EAAE,MAAM,WAAW,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,cAAc,EAAE,MAAM,CAAA;QACtB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,eAAO,MAAM,cAAc,kBACV,QAAQ,MAAM,CAAC,sCAGd,MAAM,aACX,MAAM,KACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,QACjC,YAAY,KAChB,QAAQ,eAAe,EAAE,CAgH3B,CAAA;AAED,eAAO,MAAM,uBAAuB,QAC7B,OAAO,MACR;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,QAClC,YAAY,oBAyBlB,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Kysely, QueryCreator, Transaction } from 'kysely';
|
|
2
|
+
import { Pool, QueryResult } from 'pg';
|
|
3
|
+
import { RenderLogger } from '../../logger';
|
|
4
|
+
export type { DB } from '../../dbTypes';
|
|
5
|
+
export type { Channel, Symbol } from '../../dbTypesV2';
|
|
6
|
+
export interface PGHandle<DB> {
|
|
7
|
+
trx: QueryCreator<DB>;
|
|
8
|
+
commit: () => void;
|
|
9
|
+
rollback: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface PgConfig {
|
|
12
|
+
database: string;
|
|
13
|
+
host: string;
|
|
14
|
+
user: string;
|
|
15
|
+
password: string;
|
|
16
|
+
port?: number;
|
|
17
|
+
max?: number;
|
|
18
|
+
idleTimeoutMillis?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface CurrentUserGrantSpend {
|
|
21
|
+
id: bigint;
|
|
22
|
+
user: string;
|
|
23
|
+
renderSpent: bigint;
|
|
24
|
+
perpetual: boolean;
|
|
25
|
+
description: string;
|
|
26
|
+
}
|
|
27
|
+
export interface Job {
|
|
28
|
+
id: number;
|
|
29
|
+
completedAt: Date;
|
|
30
|
+
rndrUsed: bigint;
|
|
31
|
+
insertedAt?: Date;
|
|
32
|
+
obhUsed?: number;
|
|
33
|
+
userId?: string;
|
|
34
|
+
buyRenderAmt?: number;
|
|
35
|
+
grantRenderAmt?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface GrantBurn {
|
|
38
|
+
id: number;
|
|
39
|
+
jobs: Job[];
|
|
40
|
+
solTx: string;
|
|
41
|
+
executedAt: Date;
|
|
42
|
+
pricedAt: Date;
|
|
43
|
+
}
|
|
44
|
+
export interface Burn {
|
|
45
|
+
id?: number;
|
|
46
|
+
jobs: Job[];
|
|
47
|
+
solTx: string;
|
|
48
|
+
executedAt: Date;
|
|
49
|
+
pricedAt: Date;
|
|
50
|
+
usdcSpent: bigint;
|
|
51
|
+
quoteAmt: bigint;
|
|
52
|
+
eurToUsdc?: number;
|
|
53
|
+
renderToUsdc?: number;
|
|
54
|
+
burned: bigint;
|
|
55
|
+
markedBurnedAt?: Date;
|
|
56
|
+
tags?: string[];
|
|
57
|
+
}
|
|
58
|
+
export declare class Deferred<T> {
|
|
59
|
+
#private;
|
|
60
|
+
constructor();
|
|
61
|
+
get promise(): Promise<T>;
|
|
62
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
63
|
+
reject: (reason?: any) => void;
|
|
64
|
+
}
|
|
65
|
+
export declare function begin<DB>(db: Kysely<DB>, log: RenderLogger): Promise<{
|
|
66
|
+
trx: Transaction<DB>;
|
|
67
|
+
commit(): void;
|
|
68
|
+
rollback(): void;
|
|
69
|
+
}>;
|
|
70
|
+
export declare const intpSql: (sql: string, params?: ReadonlyArray<unknown>) => string;
|
|
71
|
+
/**
|
|
72
|
+
* Measure how long each phase of a query takes.
|
|
73
|
+
* returns the normal QueryResult so the rest of your code is untouched.
|
|
74
|
+
*/
|
|
75
|
+
export declare function timedQuery(pool: Pool, text: string, values?: ReadonlyArray<unknown>, label?: string, log?: RenderLogger): Promise<QueryResult<any>>;
|
|
76
|
+
/**
|
|
77
|
+
* Patch a pg Pool so that every call to pool.query(...) is internally routed
|
|
78
|
+
* through timedQuery(), giving us per-statement breakdown without touching
|
|
79
|
+
* all the call sites.
|
|
80
|
+
*/
|
|
81
|
+
export declare function attachTimedQueryLogger(pool: Pool, log?: RenderLogger): void;
|
|
82
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/client/pg/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { DB } from '../../dbTypes';
|
|
2
|
+
import { Kysely, Transaction } from 'kysely';
|
|
3
|
+
import { RenderLogger } from '../../logger';
|
|
4
|
+
import { Channel, Symbol } from '../../dbTypesV2';
|
|
5
|
+
import { Burn, Job, PgConfig } from './base';
|
|
6
|
+
export type TransferType = 'open_compute_rewards' | 'node_operator_rewards' | 'upgrade_rewards' | 'availability_rewards';
|
|
7
|
+
export interface Transfer {
|
|
8
|
+
id?: bigint;
|
|
9
|
+
solKey?: string;
|
|
10
|
+
solTx?: string;
|
|
11
|
+
sqTx?: string;
|
|
12
|
+
createdAt?: Date;
|
|
13
|
+
payedAt?: Date;
|
|
14
|
+
amountDue: bigint;
|
|
15
|
+
amountPayed?: bigint;
|
|
16
|
+
fromSolKey?: string;
|
|
17
|
+
symbol?: Symbol;
|
|
18
|
+
channel: Channel;
|
|
19
|
+
operatorRewards?: NodeOperatorRewardsTransfer;
|
|
20
|
+
computeClientRewards?: ComputeClientsRewardsTransfer;
|
|
21
|
+
upgradeRewards?: UpgradeRewardsTransfer;
|
|
22
|
+
availabilityRewards?: AvailabilityRewardsTransfer;
|
|
23
|
+
}
|
|
24
|
+
export declare const transferTypToChan: (t: TransferType) => Channel;
|
|
25
|
+
export interface UpgradeRewardsTransfer {
|
|
26
|
+
epochId: number;
|
|
27
|
+
epochStartTime?: Date;
|
|
28
|
+
points: bigint;
|
|
29
|
+
}
|
|
30
|
+
export interface NodeOperatorRewardsTransfer {
|
|
31
|
+
epochId: number;
|
|
32
|
+
startTime: Date;
|
|
33
|
+
endTime: Date;
|
|
34
|
+
}
|
|
35
|
+
export interface ComputeClientsRewardsTransfer {
|
|
36
|
+
epochId: number;
|
|
37
|
+
deviceId: string;
|
|
38
|
+
}
|
|
39
|
+
export interface AvailabilityRewardsTransfer {
|
|
40
|
+
epochId: number;
|
|
41
|
+
deviceId: string;
|
|
42
|
+
}
|
|
43
|
+
export interface TransactionHandle<DB> {
|
|
44
|
+
trx: Transaction<DB>;
|
|
45
|
+
commit: () => void;
|
|
46
|
+
rollback: () => void;
|
|
47
|
+
}
|
|
48
|
+
export interface PgClient<DB> {
|
|
49
|
+
db: Kysely<DB>;
|
|
50
|
+
backfillBurn(p: Burn, log?: RenderLogger): Promise<void>;
|
|
51
|
+
updateComputeClientSolKey(deviceId: string, solKey: string, log?: RenderLogger): Promise<void>;
|
|
52
|
+
consumeAndLockBurnJobs(limit: number, lowerRndrThreshold: number, upperRndrThreshold: number, log?: RenderLogger): Promise<{
|
|
53
|
+
trx: TransactionHandle<DB>;
|
|
54
|
+
jobs: Job[];
|
|
55
|
+
}>;
|
|
56
|
+
fetchInfoForEpoch(epochId: bigint, log?: RenderLogger): Promise<{
|
|
57
|
+
jobIds: number[];
|
|
58
|
+
totalRndr: bigint;
|
|
59
|
+
startTime?: Date;
|
|
60
|
+
endTime?: Date;
|
|
61
|
+
burned: bigint;
|
|
62
|
+
burnTx?: string;
|
|
63
|
+
}>;
|
|
64
|
+
getOutstanding(f: {
|
|
65
|
+
typ: TransferType;
|
|
66
|
+
nullKey?: boolean;
|
|
67
|
+
due?: boolean;
|
|
68
|
+
}, log?: RenderLogger): Promise<Record<string, bigint>>;
|
|
69
|
+
fetchBurns(f: {
|
|
70
|
+
start?: Date;
|
|
71
|
+
end?: Date;
|
|
72
|
+
inclManual?: boolean;
|
|
73
|
+
}, log?: RenderLogger): Promise<Burn[]>;
|
|
74
|
+
createTransfers(transfers: Transfer[], log?: RenderLogger): Promise<void>;
|
|
75
|
+
fetchTransfers(f: {
|
|
76
|
+
epochId?: number;
|
|
77
|
+
payed?: boolean;
|
|
78
|
+
solKey?: string;
|
|
79
|
+
typ?: TransferType;
|
|
80
|
+
createdBefore?: Date;
|
|
81
|
+
start?: Date;
|
|
82
|
+
end?: Date;
|
|
83
|
+
sort?: 'solKey';
|
|
84
|
+
}, log?: RenderLogger): Promise<Transfer[]>;
|
|
85
|
+
payoutTransfer(id: bigint, payedAt: Date, solTx: string, amtPayed: bigint, log?: RenderLogger): Promise<void>;
|
|
86
|
+
payoutTransfers(idToAmt: Record<string, bigint>, payedAt: Date, solTx: string, log?: RenderLogger): Promise<void>;
|
|
87
|
+
getLatestNodeOperatorEpoch(log?: RenderLogger): Promise<{
|
|
88
|
+
epochId: bigint;
|
|
89
|
+
startedAt: Date;
|
|
90
|
+
endedAt: Date;
|
|
91
|
+
savedAt?: Date;
|
|
92
|
+
} | undefined>;
|
|
93
|
+
saveNodeOperatorEpoch(epochId: bigint, transfers: Transfer[], jobIds: number[], totalRndr: bigint, log?: RenderLogger): Promise<void>;
|
|
94
|
+
produceBurnedJobs(jobs: {
|
|
95
|
+
completedAt: Date;
|
|
96
|
+
jobId: number;
|
|
97
|
+
amount: number;
|
|
98
|
+
}[], log?: RenderLogger): Promise<void>;
|
|
99
|
+
markJobsBurnt(trx: Transaction<DB>, p: {
|
|
100
|
+
jobsIds: number[];
|
|
101
|
+
solTx: string;
|
|
102
|
+
burned: number;
|
|
103
|
+
usdcSpent?: number;
|
|
104
|
+
quoteAmt?: number;
|
|
105
|
+
pricedAt: Date;
|
|
106
|
+
executedAt: Date;
|
|
107
|
+
}, log?: RenderLogger): Promise<void>;
|
|
108
|
+
markJobsBurned(p: {
|
|
109
|
+
solTx: string;
|
|
110
|
+
markedAt: Date;
|
|
111
|
+
}, log?: RenderLogger): Promise<void>;
|
|
112
|
+
incrBuyBurnMetrics(log?: RenderLogger): Promise<{
|
|
113
|
+
outstandingJobs: number;
|
|
114
|
+
oldestJobFinishedAt?: Date;
|
|
115
|
+
}>;
|
|
116
|
+
deleteAll(): Promise<void>;
|
|
117
|
+
}
|
|
118
|
+
export declare const TRANSFER_TABLE = "transfer";
|
|
119
|
+
export declare const NODE_OPERATOR_REWARDS_TRANSFER_TABLE = "node_operator_rewards_transfer";
|
|
120
|
+
export declare const OPEN_COMPUTE_REWARDS_TRANSFER_TABLE = "open_compute_rewards_transfer";
|
|
121
|
+
export declare const AVAILABILITY_REWARDS_TRANSFER_TABLE = "availability_rewards_transfer";
|
|
122
|
+
export declare const UPGRADE_REWARDS_TRANSFER_TABLE = "upgrade_rewards_transfer";
|
|
123
|
+
export declare const SQUADS_TX_TABLE = "squads_tx";
|
|
124
|
+
export declare const NODE_OPERATOR_EPOCH_TABLE = "node_operator_epoch";
|
|
125
|
+
export declare const JOB_ID_TABLE = "job_id";
|
|
126
|
+
export declare const JOB_TABLE = "job";
|
|
127
|
+
export declare const BURN_TABLE = "burn";
|
|
128
|
+
export declare const NETWORK_REVENUE_TABLE = "network_revenue";
|
|
129
|
+
export declare const pgClient: (config: PgConfig) => PgClient<DB>;
|
|
130
|
+
export declare class Deferred<T> {
|
|
131
|
+
#private;
|
|
132
|
+
constructor();
|
|
133
|
+
get promise(): Promise<T>;
|
|
134
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
135
|
+
reject: (reason?: any) => void;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=v1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../../../../src/client/pg/v1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,OAAO,EACL,MAAM,EAKN,WAAW,EACZ,MAAM,QAAQ,CAAA;AACf,OAAO,EAAiB,YAAY,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE5C,MAAM,MAAM,YAAY,GACpB,sBAAsB,GACtB,uBAAuB,GACvB,iBAAiB,GACjB,sBAAsB,CAAA;AAE1B,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,2BAA2B,CAAA;IAC7C,oBAAoB,CAAC,EAAE,6BAA6B,CAAA;IACpD,cAAc,CAAC,EAAE,sBAAsB,CAAA;IACvC,mBAAmB,CAAC,EAAE,2BAA2B,CAAA;CAClD;AAED,eAAO,MAAM,iBAAiB,MAAO,YAAY,KAAG,OAWnD,CAAA;AA8CD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB,CAAC,EAAE;IACnC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;IACpB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ,CAAC,EAAE;IAC1B,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IAEd,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExD,yBAAyB,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,sBAAsB,CACpB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC;QAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAA;IAEvD,iBAAiB,CACf,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,IAAI,CAAA;QAChB,OAAO,CAAC,EAAE,IAAI,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;IAEF,cAAc,CACZ,CAAC,EAAE;QACD,GAAG,EAAE,YAAY,CAAA;QACjB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,GAAG,CAAC,EAAE,OAAO,CAAA;KACd,EACD,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAElC,UAAU,CACR,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,EACrD,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAElB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzE,cAAc,CACZ,CAAC,EAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,CAAC,EAAE,YAAY,CAAA;QAClB,aAAa,CAAC,EAAE,IAAI,CAAA;QACpB,KAAK,CAAC,EAAE,IAAI,CAAA;QACZ,GAAG,CAAC,EAAE,IAAI,CAAA;QACV,IAAI,CAAC,EAAE,QAAQ,CAAA;KAChB,EACD,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEtB,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,eAAe,CACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,0BAA0B,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CACnD;QACE,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,IAAI,CAAA;QACf,OAAO,EAAE,IAAI,CAAA;QACb,OAAO,CAAC,EAAE,IAAI,CAAA;KACf,GACD,SAAS,CACZ,CAAA;IAED,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,iBAAiB,CACf,IAAI,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,EAC5D,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,aAAa,CACX,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,EACpB,CAAC,EAAE;QACD,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,IAAI,CAAA;QACd,UAAU,EAAE,IAAI,CAAA;KACjB,EACD,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,cAAc,CACZ,CAAC,EAAE;QACD,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,IAAI,CAAA;KACf,EACD,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,kBAAkB,CAChB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IAEnE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED,eAAO,MAAM,cAAc,aAAa,CAAA;AACxC,eAAO,MAAM,oCAAoC,mCACf,CAAA;AAClC,eAAO,MAAM,mCAAmC,kCACf,CAAA;AACjC,eAAO,MAAM,mCAAmC,kCACf,CAAA;AACjC,eAAO,MAAM,8BAA8B,6BAA6B,CAAA;AACxE,eAAO,MAAM,eAAe,cAAc,CAAA;AAC1C,eAAO,MAAM,yBAAyB,wBAAwB,CAAA;AAC9D,eAAO,MAAM,YAAY,WAAW,CAAA;AACpC,eAAO,MAAM,SAAS,QAAQ,CAAA;AAC9B,eAAO,MAAM,UAAU,SAAS,CAAA;AAChC,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,eAAO,MAAM,QAAQ,WAAY,QAAQ,KAAG,SAAS,EAAE,CA+lBtD,CAAA;AA6BD,qBAAa,QAAQ,CAAC,CAAC;;;IAarB,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAExB;IAED,OAAO,UAAW,CAAC,GAAG,YAAY,CAAC,CAAC,KAAG,IAAI,CAI1C;IAED,MAAM,YAAa,GAAG,KAAG,IAAI,CAI5B;CACF"}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { RenderLogger } from '../../logger';
|
|
2
|
+
import { Burn, Channel, Job, CurrentUserGrantSpend } from './base';
|
|
3
|
+
import { DB } from '../../dbTypesV2';
|
|
4
|
+
export declare const SOL_TX_TABLE = "sol_tx";
|
|
5
|
+
export declare const EPOCH_TABLE = "epoch";
|
|
6
|
+
export declare const MANUAL_BURN_TABLE = "manual_burn";
|
|
7
|
+
export declare const ENTITY_TABLE = "entity";
|
|
8
|
+
export declare const SOL_TRANSFER_TABLE = "sol_transfer1";
|
|
9
|
+
export declare const LIABILITY_TABLE = "liability";
|
|
10
|
+
export declare const JOB_ID_TABLE = "job_id";
|
|
11
|
+
export declare const JOB_TABLE = "job";
|
|
12
|
+
export declare const BURN_TABLE = "burn";
|
|
13
|
+
export declare const BRIDGE_TRANSFER_TABLE = "bridge_transfer";
|
|
14
|
+
export declare const NETWORK_REVENUE_TABLE = "network_revenue";
|
|
15
|
+
export declare const BURN_ADJUSTMENT_TABLE = "burn_adjustment";
|
|
16
|
+
export declare const ENTITY_EPOCH_INFO_TABLE = "entity_epoch_info";
|
|
17
|
+
export declare const POLYGON_UPGRADE_TABLE = "polygon_upgrade";
|
|
18
|
+
export declare const CURRENT_USER_GRANT_SPEND_TABLE = "current_user_grant_spend";
|
|
19
|
+
export declare const USER_GRANT_SPEND_TABLE = "user_grant_spend";
|
|
20
|
+
export declare const GRANT_BURN_ID_TABLE = "grant_burn_id";
|
|
21
|
+
export declare const GRANT_BURN_TABLE = "grant_burn";
|
|
22
|
+
import { Symbol } from '../../dbTypesV2';
|
|
23
|
+
import { PGHandle } from './base';
|
|
24
|
+
export declare const batchFinishedAtMedian: (jobs: {
|
|
25
|
+
finishedAt: string;
|
|
26
|
+
jobId: number;
|
|
27
|
+
rndrUsed: number;
|
|
28
|
+
}[]) => Date;
|
|
29
|
+
export interface LiabilityInfo {
|
|
30
|
+
deviceId?: string;
|
|
31
|
+
points?: string;
|
|
32
|
+
}
|
|
33
|
+
export type BurnTag = '5pctfee' | 'eurUsdConvert';
|
|
34
|
+
export interface Liability {
|
|
35
|
+
id?: bigint;
|
|
36
|
+
solKey: string;
|
|
37
|
+
epochId: number;
|
|
38
|
+
channel: Channel;
|
|
39
|
+
createdAt?: Date;
|
|
40
|
+
amountDue: bigint;
|
|
41
|
+
deviceId?: string;
|
|
42
|
+
points?: bigint;
|
|
43
|
+
obhUsed?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface EpochEntityInfo {
|
|
46
|
+
solKey: string;
|
|
47
|
+
epoch: Epoch | null;
|
|
48
|
+
aggregateObh: bigint;
|
|
49
|
+
}
|
|
50
|
+
export interface Epoch {
|
|
51
|
+
ui: number;
|
|
52
|
+
startTime: Date;
|
|
53
|
+
endTime: Date;
|
|
54
|
+
savedAt?: Date;
|
|
55
|
+
channel: Channel;
|
|
56
|
+
totalRndr?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface Payment {
|
|
59
|
+
transfer?: Transfer;
|
|
60
|
+
liability?: Liability;
|
|
61
|
+
}
|
|
62
|
+
export interface Transfer {
|
|
63
|
+
id?: bigint;
|
|
64
|
+
fromSolKey: string;
|
|
65
|
+
toSolKey: string;
|
|
66
|
+
symbol: Symbol;
|
|
67
|
+
channel: Channel;
|
|
68
|
+
solTx: string;
|
|
69
|
+
executedAt: Date;
|
|
70
|
+
amountPayed: bigint;
|
|
71
|
+
}
|
|
72
|
+
export interface BridgeTransfer {
|
|
73
|
+
solKey: string;
|
|
74
|
+
seq: bigint;
|
|
75
|
+
createdAt: Date;
|
|
76
|
+
amount: bigint;
|
|
77
|
+
upgradeBracket?: number;
|
|
78
|
+
priorSupply: bigint;
|
|
79
|
+
points?: bigint;
|
|
80
|
+
epochId: number;
|
|
81
|
+
}
|
|
82
|
+
export interface LiabilityEpoch {
|
|
83
|
+
epochId: number;
|
|
84
|
+
channel: Channel;
|
|
85
|
+
start: Date;
|
|
86
|
+
end: Date;
|
|
87
|
+
amountDue: number;
|
|
88
|
+
metadataBySolKey: Record<string, {
|
|
89
|
+
obhUsed?: number;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
92
|
+
export interface BurnAdjustment {
|
|
93
|
+
id: number;
|
|
94
|
+
createdAt: Date;
|
|
95
|
+
jobId: number;
|
|
96
|
+
downAdjRndrUsed: number;
|
|
97
|
+
downAdjToBurn: number;
|
|
98
|
+
adjusted: number;
|
|
99
|
+
job?: Job;
|
|
100
|
+
}
|
|
101
|
+
export interface PolygonUpgrade {
|
|
102
|
+
ethAddr: string;
|
|
103
|
+
solAddr: string;
|
|
104
|
+
amount: bigint;
|
|
105
|
+
solTx: {
|
|
106
|
+
sig: string;
|
|
107
|
+
executedAt: Date;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export interface PgClient<DB> {
|
|
111
|
+
db: PGHandle<DB>;
|
|
112
|
+
insertBurn(p: Burn, log?: RenderLogger): Promise<void>;
|
|
113
|
+
startTransaction(log?: RenderLogger): Promise<PGHandle<DB>>;
|
|
114
|
+
fetchJobs(db: PGHandle<DB>, f: {
|
|
115
|
+
completedAtAfter?: Date;
|
|
116
|
+
completedAtBefore?: Date;
|
|
117
|
+
burned?: boolean;
|
|
118
|
+
}, log?: RenderLogger): Promise<Job[]>;
|
|
119
|
+
createPayments(h: PGHandle<DB>, ix: Payment[], log?: RenderLogger): Promise<{
|
|
120
|
+
epochDbIds: bigint[];
|
|
121
|
+
inserted: {
|
|
122
|
+
transferId?: bigint;
|
|
123
|
+
liabilityId?: bigint;
|
|
124
|
+
}[];
|
|
125
|
+
}>;
|
|
126
|
+
createBridgeTransfers(db: PGHandle<DB>, bts: BridgeTransfer[], log?: RenderLogger): Promise<{
|
|
127
|
+
sequenceNumbers: bigint[];
|
|
128
|
+
}>;
|
|
129
|
+
getBridgeTransfers(f: {
|
|
130
|
+
solKey?: string;
|
|
131
|
+
page?: {
|
|
132
|
+
limit?: number;
|
|
133
|
+
cursor?: string;
|
|
134
|
+
};
|
|
135
|
+
}, log?: RenderLogger): Promise<{
|
|
136
|
+
bts: BridgeTransfer[];
|
|
137
|
+
cursor?: string;
|
|
138
|
+
}>;
|
|
139
|
+
getCurrentUserGrantSpend(db: PGHandle<DB>, f: {
|
|
140
|
+
userId: string;
|
|
141
|
+
}, log?: RenderLogger): Promise<CurrentUserGrantSpend | undefined>;
|
|
142
|
+
markJobsBurntWithGrant(db: PGHandle<DB>, p: {
|
|
143
|
+
jobsIds: number[];
|
|
144
|
+
tx: {
|
|
145
|
+
sig: string;
|
|
146
|
+
executedAt: Date;
|
|
147
|
+
};
|
|
148
|
+
userIdToGrantSpendDelta: Record<string, bigint>;
|
|
149
|
+
burned: number;
|
|
150
|
+
tags?: string[];
|
|
151
|
+
}, log?: RenderLogger): Promise<void>;
|
|
152
|
+
insertGrantSpend(db: PGHandle<DB>, p: {
|
|
153
|
+
userId: string;
|
|
154
|
+
jobId: number;
|
|
155
|
+
grantBurnId?: number;
|
|
156
|
+
renderSpentDelta: bigint;
|
|
157
|
+
description?: string;
|
|
158
|
+
perpetual?: boolean;
|
|
159
|
+
}): Promise<void>;
|
|
160
|
+
getOutstanding(f: {
|
|
161
|
+
channels?: Channel[];
|
|
162
|
+
due?: 'overpayed' | 'underpayed';
|
|
163
|
+
banned?: boolean;
|
|
164
|
+
startEpochId: {
|
|
165
|
+
id?: number;
|
|
166
|
+
savedAtNotNull?: boolean;
|
|
167
|
+
};
|
|
168
|
+
}, log?: RenderLogger): Promise<Record<string, bigint>>;
|
|
169
|
+
getLiabilitiesAndTransfers(f: {
|
|
170
|
+
user: string;
|
|
171
|
+
}, log?: RenderLogger): Promise<{
|
|
172
|
+
liabilities: Liability[];
|
|
173
|
+
transfers: Transfer[];
|
|
174
|
+
epochs: Epoch[];
|
|
175
|
+
}>;
|
|
176
|
+
fetchLiabilities(db: PGHandle<DB>, f: {
|
|
177
|
+
epochId?: number;
|
|
178
|
+
epochEndedAtBefore?: Date;
|
|
179
|
+
epochEndedAtAfter?: Date;
|
|
180
|
+
channels?: Channel[];
|
|
181
|
+
limit?: number;
|
|
182
|
+
cursor?: string;
|
|
183
|
+
}, log?: RenderLogger): Promise<{
|
|
184
|
+
liabilities: (Liability & {
|
|
185
|
+
startTime: Date;
|
|
186
|
+
endTime: Date;
|
|
187
|
+
ui: number;
|
|
188
|
+
})[];
|
|
189
|
+
cursor?: string;
|
|
190
|
+
}>;
|
|
191
|
+
fetchEpochs(db: PGHandle<DB>, f: {
|
|
192
|
+
startTimeAfter?: Date;
|
|
193
|
+
endTimeBefore?: Date;
|
|
194
|
+
channels?: Channel[];
|
|
195
|
+
}, log?: RenderLogger): Promise<Epoch[]>;
|
|
196
|
+
saveNodeOperatorEpoch(epochId: bigint, liabilities: Liability[], jobIds: number[], totalRndr: bigint, log?: RenderLogger): Promise<void>;
|
|
197
|
+
fetchTransfers(db: PGHandle<DB>, f: {
|
|
198
|
+
executedAfter?: Date;
|
|
199
|
+
executedBefore?: Date;
|
|
200
|
+
channels?: Channel[];
|
|
201
|
+
limit?: number;
|
|
202
|
+
cursor?: string;
|
|
203
|
+
}, log?: RenderLogger): Promise<{
|
|
204
|
+
transfers: Transfer[];
|
|
205
|
+
cursor?: string;
|
|
206
|
+
}>;
|
|
207
|
+
fetchNodeOperatorEpoch(epochId: bigint, log?: RenderLogger): Promise<{
|
|
208
|
+
jobIds: number[];
|
|
209
|
+
totalRndr: bigint;
|
|
210
|
+
startTime?: Date;
|
|
211
|
+
endTime?: Date;
|
|
212
|
+
burned: bigint;
|
|
213
|
+
burnTx?: string;
|
|
214
|
+
solKeys: Record<string, {}>;
|
|
215
|
+
}>;
|
|
216
|
+
getLatestNodeOperatorEpoch(f: {
|
|
217
|
+
latestDistributed?: boolean;
|
|
218
|
+
}, log?: RenderLogger): Promise<{
|
|
219
|
+
epochId: bigint;
|
|
220
|
+
startedAt: Date;
|
|
221
|
+
endedAt: Date;
|
|
222
|
+
savedAt?: Date;
|
|
223
|
+
} | undefined>;
|
|
224
|
+
insertEpochEntityInfo(db: PGHandle<DB>, eei: EpochEntityInfo[], log?: RenderLogger): Promise<void>;
|
|
225
|
+
insertEpoch(db: PGHandle<DB>, epoch: Epoch, log?: RenderLogger): Promise<void>;
|
|
226
|
+
getEpoch(f: {
|
|
227
|
+
savedAtNotNull?: boolean;
|
|
228
|
+
channel: Channel;
|
|
229
|
+
epochId?: number;
|
|
230
|
+
}, log?: RenderLogger): Promise<Epoch | undefined>;
|
|
231
|
+
getLiabilitySolKeys(f: {
|
|
232
|
+
channel: Channel;
|
|
233
|
+
epoch?: number;
|
|
234
|
+
}): Promise<Record<string, {}>>;
|
|
235
|
+
consumeAndLockBurnJobs(limit: number, lowerRndrThreshold: number, upperRndrThreshold: number, log?: RenderLogger): Promise<{
|
|
236
|
+
trx: PGHandle<DB>;
|
|
237
|
+
jobs: Job[];
|
|
238
|
+
}>;
|
|
239
|
+
produceBurnedJobs(jobs: {
|
|
240
|
+
completedAt: Date;
|
|
241
|
+
jobId: number;
|
|
242
|
+
amount: number;
|
|
243
|
+
obhUsed: number;
|
|
244
|
+
userId?: string;
|
|
245
|
+
}[], log?: RenderLogger): Promise<void>;
|
|
246
|
+
markJobsBurnt(trx: PGHandle<DB>, p: {
|
|
247
|
+
jobs: Job[];
|
|
248
|
+
solTx: {
|
|
249
|
+
sig: string;
|
|
250
|
+
executedAt: Date;
|
|
251
|
+
};
|
|
252
|
+
grantBurn?: {
|
|
253
|
+
burned: number;
|
|
254
|
+
tags?: BurnTag[];
|
|
255
|
+
};
|
|
256
|
+
buyBurn?: {
|
|
257
|
+
burned: number;
|
|
258
|
+
usdcSpent?: number;
|
|
259
|
+
eurToUsdc: number;
|
|
260
|
+
renderToUsdc?: number;
|
|
261
|
+
quoteAmt?: number;
|
|
262
|
+
pricedAt?: Date;
|
|
263
|
+
tags: BurnTag[];
|
|
264
|
+
burnAdjustmentId?: number;
|
|
265
|
+
toBurn?: number;
|
|
266
|
+
};
|
|
267
|
+
}, log?: RenderLogger): Promise<{
|
|
268
|
+
grantBurnId?: number;
|
|
269
|
+
buyBurnId?: number;
|
|
270
|
+
}>;
|
|
271
|
+
markJobsBurned(trx: PGHandle<DB>, p: {
|
|
272
|
+
solTx: string;
|
|
273
|
+
markedAt: Date;
|
|
274
|
+
}, log?: RenderLogger): Promise<void>;
|
|
275
|
+
incrBuyBurnMetrics(log?: RenderLogger): Promise<{
|
|
276
|
+
outstandingJobs: number;
|
|
277
|
+
oldestJobInsertedAt?: Date;
|
|
278
|
+
}>;
|
|
279
|
+
paymentMetrics(log?: RenderLogger): Promise<{
|
|
280
|
+
latestEpochId: number;
|
|
281
|
+
availabilityRewards: number;
|
|
282
|
+
nodeOperatorRewards: number;
|
|
283
|
+
renderComputeNetworkRewards: number;
|
|
284
|
+
}>;
|
|
285
|
+
getBurnAdjustments(trx: PGHandle<DB>, ps: {
|
|
286
|
+
toFill: boolean;
|
|
287
|
+
}, log?: RenderLogger): Promise<BurnAdjustment[]>;
|
|
288
|
+
fetchBurns(db: PGHandle<DB>, f: {
|
|
289
|
+
executedAfter?: Date;
|
|
290
|
+
executedBefore?: Date;
|
|
291
|
+
pricedAtBefore?: Date;
|
|
292
|
+
pricedAtAfter?: Date;
|
|
293
|
+
inclManual?: boolean;
|
|
294
|
+
orderBy?: 'executedAt' | 'pricedAt';
|
|
295
|
+
inclJobs?: boolean;
|
|
296
|
+
}, log?: RenderLogger): Promise<Burn[]>;
|
|
297
|
+
getTotalBurned(db: PGHandle<DB>): Promise<BigInt>;
|
|
298
|
+
fetchLiabilityEpochs(db: PGHandle<DB>, log?: RenderLogger): Promise<LiabilityEpoch[]>;
|
|
299
|
+
insertPolygonUpgrade(db: PGHandle<DB>, p: PolygonUpgrade, log?: RenderLogger): Promise<void>;
|
|
300
|
+
fetchPolygonUpgrades(db: PGHandle<DB>, f: {
|
|
301
|
+
executedAfter?: Date;
|
|
302
|
+
executedBefore?: Date;
|
|
303
|
+
}, log?: RenderLogger): Promise<PolygonUpgrade[]>;
|
|
304
|
+
deleteAll(): Promise<void>;
|
|
305
|
+
}
|
|
306
|
+
export declare const pgClient: (config: PoolConfig) => PgClient<DB>;
|
|
307
|
+
//# sourceMappingURL=v2Client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v2Client.d.ts","sourceRoot":"","sources":["../../../../../src/client/pg/v2Client.ts"],"names":[],"mappings":"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"}
|