@render-foundation/utils 0.0.15 → 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dbTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbTypes.js","sourceRoot":"","sources":["../../src/dbTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.errorReporter = void 0;
13
+ const pdjs_1 = require("@pagerduty/pdjs");
14
+ const web_api_1 = require("@slack/web-api");
15
+ const logger_1 = require("./logger");
16
+ const errorReporter = (pdApiKey, slackToken, channel, log = logger_1.consoleLogger) => {
17
+ const pd = (0, pdjs_1.api)({ token: pdApiKey });
18
+ const client = new web_api_1.WebClient(slackToken);
19
+ const sendSlackMessage = (message, channel) => __awaiter(void 0, void 0, void 0, function* () {
20
+ return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
21
+ try {
22
+ const resp = yield client.chat.postMessage({
23
+ //blocks: message,
24
+ text: message,
25
+ channel,
26
+ });
27
+ if (resp.errors) {
28
+ return reject(new Error(`err sending slack msg: ${resp.errors.join(";")}`));
29
+ }
30
+ if (resp.error) {
31
+ return reject(new Error(`err sending slack msg: ${resp.error}`));
32
+ }
33
+ log.debug(`sent slack msg ${JSON.stringify(resp.message)}`);
34
+ return resolve(true);
35
+ }
36
+ catch (error) {
37
+ log.error(`exc sending slack msg ${JSON.stringify(error)}`);
38
+ return resolve(true);
39
+ }
40
+ }));
41
+ });
42
+ return {
43
+ report(f) {
44
+ var _a, _b;
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ for (const t of f.targets) {
47
+ if (t == 'slack') {
48
+ yield sendSlackMessage(f.msg, channel);
49
+ }
50
+ else {
51
+ const opt = f.id ? { incident_key: f.id } : {};
52
+ let res = yield pd.post('/incidents', {
53
+ headers: {
54
+ 'From': 'alex@renderfoundation.com',
55
+ },
56
+ data: {
57
+ incident: Object.assign(Object.assign({}, opt), { type: "incident", title: (_a = f.title) !== null && _a !== void 0 ? _a : ``, service: {
58
+ "id": "PZPJ8EI",
59
+ "type": "service_reference"
60
+ }, urgency: "high", body: {
61
+ "type": "incident_body",
62
+ "details": (_b = f.msg) !== null && _b !== void 0 ? _b : ``
63
+ } })
64
+ }
65
+ });
66
+ log.debug(`pd resp ${JSON.stringify(res.data)}`);
67
+ if (res.data.error) {
68
+ log.error(`pd err ${JSON.stringify(res.data.error)}`);
69
+ }
70
+ }
71
+ }
72
+ });
73
+ }
74
+ };
75
+ };
76
+ exports.errorReporter = errorReporter;
77
+ //# sourceMappingURL=errorReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorReporter.js","sourceRoot":"","sources":["../../src/errorReporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./wormhole"), exports);
18
+ __exportStar(require("./pgClient"), exports);
19
+ __exportStar(require("./renderClient"), exports);
20
+ __exportStar(require("./squadsV3"), exports);
21
+ __exportStar(require("./logger"), exports);
22
+ __exportStar(require("./errorReporter"), exports);
23
+ __exportStar(require("./priceClient"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,6CAA2B;AAC3B,2CAAwB;AACxB,kDAAgC;AAChC,gDAA8B"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.consoleLogger = void 0;
4
+ class ConsoleLogger {
5
+ constructor() {
6
+ }
7
+ debug(msg) {
8
+ console.log(msg);
9
+ }
10
+ info(msg) {
11
+ console.log(msg);
12
+ }
13
+ error(msg) {
14
+ console.error(msg);
15
+ }
16
+ }
17
+ exports.consoleLogger = new ConsoleLogger();
18
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";;;AAOA,MAAM,aAAa;IACjB;IACA,CAAC;IAED,KAAK,CAAC,GAAW;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,GAAW;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;CACF;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA"}
@@ -0,0 +1,429 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.pgClient = void 0;
13
+ const pg_1 = require("pg");
14
+ const kysely_1 = require("kysely");
15
+ const logger_1 = require("./logger");
16
+ const transferFromDB = (o) => {
17
+ return {
18
+ id: o.id,
19
+ solKey: o.sol_key,
20
+ solTx: o.sol_tx,
21
+ sqTx: o.sq_tx,
22
+ txStatus: o.txStatus,
23
+ createdAt: o.created_at,
24
+ payedAt: o.payed_at,
25
+ amountDue: BigInt(o.amount_due),
26
+ amountPayed: o.amount_payed ? BigInt(o.amount_payed) : undefined,
27
+ operatorRewards: o.transfer_type == "node_operator_rewards"
28
+ ? {
29
+ epochId: o.epoch_id,
30
+ startTime: o.start_time,
31
+ endTime: o.end_time,
32
+ }
33
+ : undefined,
34
+ computeClientRewards: o.transfer_type == "open_compute_rewards"
35
+ ? {
36
+ epochId: o.epoch_id,
37
+ deviceId: o.device_id,
38
+ }
39
+ : undefined,
40
+ upgradeRewards: o.transfer_type == "upgrade_rewards" && !!o.epoch_id
41
+ ? {
42
+ epochId: o.epoch_id,
43
+ epochStartTime: o.epoch_start_time,
44
+ points: BigInt(o.points),
45
+ }
46
+ : undefined,
47
+ };
48
+ };
49
+ const pgClient = (config, log = logger_1.consoleLogger) => {
50
+ var _a, _b;
51
+ const dialect = new kysely_1.PostgresDialect({
52
+ pool: new pg_1.Pool(Object.assign(Object.assign({}, config), { port: (_a = config.port) !== null && _a !== void 0 ? _a : 5432, max: (_b = config.max) !== null && _b !== void 0 ? _b : 10 })),
53
+ });
54
+ // Database interface is passed to Kysely's constructor, and from now on, Kysely
55
+ // knows your database structure.
56
+ // Dialect is passed to Kysely's constructor, and from now on, Kysely knows how
57
+ // to communicate with your database.
58
+ const db = new kysely_1.Kysely({
59
+ dialect,
60
+ });
61
+ const TRANSFER = "transfer";
62
+ const NODE_OPERATOR_REWARDS_TRANSFER = "node_operator_rewards_transfer";
63
+ const COMPUTE_CLIENT_REWARDS_TRANSFER = "open_compute_rewards_transfer";
64
+ const UPGRADE_REWARDS_TRANSFER = "upgrade_rewards_transfer";
65
+ const SQUADS_TX = "squads_tx";
66
+ const NODE_OPERATOR_EPOCH = "node_operator_epoch";
67
+ const JOB_ID = "job_id";
68
+ const createTransfers = (db, transfers) => __awaiter(void 0, void 0, void 0, function* () {
69
+ for (const t of transfers) {
70
+ const { id: transferId } = (yield db
71
+ .insertInto(TRANSFER)
72
+ .values({
73
+ amount_due: BigInt(t.amountDue),
74
+ amount_payed: t.amountPayed ? BigInt(t.amountPayed) : 0,
75
+ created_at: t.createdAt,
76
+ payed_at: t.payedAt,
77
+ sol_key: t.solKey,
78
+ sol_tx: t.solTx,
79
+ transfer_type: (() => {
80
+ if (t.operatorRewards) {
81
+ return "node_operator_rewards";
82
+ }
83
+ else if (t.upgradeRewards) {
84
+ return "upgrade_rewards";
85
+ }
86
+ else if (t.computeClientRewards) {
87
+ return "open_compute_rewards";
88
+ }
89
+ throw new Error("wtf");
90
+ })(),
91
+ })
92
+ .returning((eb) => ["id as id"])
93
+ .executeTakeFirst());
94
+ log.info(`inserted transfer ${JSON.stringify(t, (key, value) => typeof value === "bigint" ? value.toString() : value)}`);
95
+ if (t.operatorRewards) {
96
+ log.info(`inserting operator rewards ${transferId}`);
97
+ const x = (yield db
98
+ .insertInto(NODE_OPERATOR_REWARDS_TRANSFER)
99
+ .values({
100
+ end_time: t.operatorRewards.endTime,
101
+ start_time: t.operatorRewards.startTime,
102
+ epoch_id: t.operatorRewards.epochId,
103
+ transfer_id: transferId,
104
+ })
105
+ .executeTakeFirst()).insertId;
106
+ }
107
+ else if (t.computeClientRewards) {
108
+ log.info(`inserting compute client rewards ${transferId}`);
109
+ const x = (yield db
110
+ .insertInto(COMPUTE_CLIENT_REWARDS_TRANSFER)
111
+ .values({
112
+ device_id: t.computeClientRewards.deviceId,
113
+ transfer_id: transferId,
114
+ })
115
+ .executeTakeFirst()).insertId;
116
+ }
117
+ else if (t.upgradeRewards) {
118
+ log.info(`inserting upgrade rewards ${transferId}`);
119
+ const x = (yield db
120
+ .insertInto(UPGRADE_REWARDS_TRANSFER)
121
+ .values({
122
+ epoch_id: t.upgradeRewards.epochId,
123
+ epoch_start_time: t.upgradeRewards.epochStartTime,
124
+ points: t.upgradeRewards.points,
125
+ transfer_id: transferId,
126
+ })
127
+ .executeTakeFirst()).insertId;
128
+ }
129
+ }
130
+ return;
131
+ });
132
+ return {
133
+ updateBurned(epochId, burned, description) {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ const res = yield db
136
+ .updateTable(NODE_OPERATOR_EPOCH)
137
+ .set({
138
+ burned,
139
+ description
140
+ })
141
+ .where("id", "=", epochId.toString())
142
+ .executeTakeFirstOrThrow();
143
+ log.info(`saved node operator epoch: ${res.numUpdatedRows}`);
144
+ });
145
+ },
146
+ saveNodeOperatorEpoch(epochId, transfers, jobIds, totalRndr) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ yield db.transaction().execute((trx) => __awaiter(this, void 0, void 0, function* () {
149
+ yield createTransfers(trx, transfers);
150
+ log.info(`inserted transfers`);
151
+ for (const id of jobIds) {
152
+ yield trx
153
+ .insertInto(JOB_ID)
154
+ .values({
155
+ id: BigInt(id),
156
+ epoch_id: epochId,
157
+ })
158
+ .executeTakeFirstOrThrow();
159
+ }
160
+ log.info(`inserted jobids`);
161
+ const now = new Date(Date.now());
162
+ const res = yield trx
163
+ .updateTable(NODE_OPERATOR_EPOCH)
164
+ .set({
165
+ saved_at: now,
166
+ total_rndr: totalRndr,
167
+ })
168
+ .where("id", "=", epochId.toString())
169
+ .executeTakeFirstOrThrow();
170
+ log.info(`saved node operator epoch: ${res.numUpdatedRows}`);
171
+ }));
172
+ return;
173
+ });
174
+ },
175
+ getLatestNodeOperatorEpoch() {
176
+ var _a;
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ const now = new Date(Date.now());
179
+ try {
180
+ const res = yield db
181
+ .selectFrom(NODE_OPERATOR_EPOCH)
182
+ .selectAll()
183
+ .where("end_time", "<=", now)
184
+ .orderBy("end_time desc")
185
+ .limit(1)
186
+ .executeTakeFirstOrThrow();
187
+ return {
188
+ epochId: BigInt(res.id),
189
+ startedAt: res.start_time,
190
+ endedAt: res.end_time,
191
+ savedAt: (_a = res.saved_at) !== null && _a !== void 0 ? _a : undefined,
192
+ };
193
+ }
194
+ catch (e) {
195
+ if (e instanceof kysely_1.NoResultError) {
196
+ log.info(`no node operator epoch found`);
197
+ return undefined;
198
+ }
199
+ throw e;
200
+ }
201
+ });
202
+ },
203
+ getOutstanding(f) {
204
+ return __awaiter(this, void 0, void 0, function* () {
205
+ //select sol_key, sum(amount_due)-sum(amount_payed) from transfer group by sol_key;
206
+ const res = yield db
207
+ .selectFrom(TRANSFER)
208
+ .select(({ fn, val, ref }) => [
209
+ "sol_key",
210
+ (0, kysely_1.sql) `${fn.sum("amount_due")} - ${fn.sum("amount_payed")}`.as("due"),
211
+ ])
212
+ .where("transfer_type", "=", f.typ)
213
+ .groupBy(["sol_key"])
214
+ .execute();
215
+ const out = {};
216
+ for (const r of res) {
217
+ out[r.sol_key] = BigInt(r.due);
218
+ }
219
+ return out;
220
+ });
221
+ },
222
+ updateSqTx(tx, status) {
223
+ return __awaiter(this, void 0, void 0, function* () {
224
+ const res = yield db
225
+ .updateTable(SQUADS_TX)
226
+ .set({ tx_status: status })
227
+ .where("sq_tx", "=", tx)
228
+ .execute();
229
+ log.info(`updated ${tx} -> ${status}`);
230
+ });
231
+ },
232
+ setSqTx(transferIds, sqTx) {
233
+ return __awaiter(this, void 0, void 0, function* () {
234
+ const { id } = (yield db
235
+ .insertInto(SQUADS_TX)
236
+ .values({ sq_tx: sqTx, tx_status: "created" })
237
+ .returning((eb) => ["id as id"])
238
+ .executeTakeFirst());
239
+ const res = yield db
240
+ .updateTable(TRANSFER)
241
+ .set({ sq_tx_id: id })
242
+ .where("id", "in", transferIds.map((id) => id.toString()))
243
+ .execute();
244
+ log.info(`set sqTx ${sqTx} on ${transferIds.length} transfers`);
245
+ });
246
+ },
247
+ /*
248
+ [
249
+ 'transfer.id',
250
+ 'transfer.sol_key',
251
+ 'transfer.transfer_type',
252
+ 'transfer.transfer_type',
253
+ 'squads_tx.tx_status', 'squads_tx.sq_tx']
254
+ */
255
+ fetchTransfers(f) {
256
+ return __awaiter(this, void 0, void 0, function* () {
257
+ let base = db
258
+ .selectFrom(TRANSFER)
259
+ // @ts-ignore
260
+ .selectAll(TRANSFER)
261
+ .leftJoin(SQUADS_TX, "squads_tx.id", "transfer.sq_tx_id")
262
+ .select(["squads_tx.tx_status", "squads_tx.sq_tx"])
263
+ .where("transfer_type", "=", f.typ);
264
+ if (f.status) {
265
+ if (f.status == "notx") {
266
+ base = base.where("squads_tx.tx_status", "is", null);
267
+ }
268
+ else {
269
+ base = base.where("squads_tx.tx_status", "=", f.status);
270
+ }
271
+ }
272
+ if (f.payed != undefined) {
273
+ base = base.where("payed_at", f.payed ? "is not" : "is", null);
274
+ }
275
+ if (f.typ == "upgrade_rewards") {
276
+ base = base.innerJoin(UPGRADE_REWARDS_TRANSFER, "upgrade_rewards_transfer.transfer_id", "transfer.id");
277
+ if (f.epochId) {
278
+ // @ts-ignore
279
+ base = base.where("upgrade_rewards_transfer.epoch_id", "=", f.epochId);
280
+ }
281
+ }
282
+ if (f.typ == "node_operator_rewards") {
283
+ base = base.innerJoin(NODE_OPERATOR_REWARDS_TRANSFER, "node_operator_rewards_transfer.transfer_id", "transfer.id");
284
+ if (f.epochId) {
285
+ // @ts-ignore
286
+ base = base.where("node_operator_rewards_transfer.epoch_id", "=", f.epochId);
287
+ }
288
+ }
289
+ if (f.sort) {
290
+ base = base.orderBy("transfer.sol_key asc");
291
+ }
292
+ const res = yield base.execute();
293
+ log.info(`fetched ${base.compile().sql} ${res.length} transfers`);
294
+ return res.map((r) => transferFromDB(r));
295
+ });
296
+ },
297
+ payoutTransfersSquads(ts, payedAt, solTx, sqTx) {
298
+ return __awaiter(this, void 0, void 0, function* () {
299
+ const { id: sqTxId } = (yield db
300
+ .insertInto(SQUADS_TX)
301
+ .values({ sq_tx: sqTx, tx_status: "executed" })
302
+ .returning((eb) => ["id as id"])
303
+ .executeTakeFirstOrThrow());
304
+ let numUpdated = BigInt(0);
305
+ for (const [id, amtPayed] of Object.entries(ts)) {
306
+ const res = yield db
307
+ .updateTable(TRANSFER)
308
+ .set({
309
+ payed_at: payedAt,
310
+ sol_tx: solTx,
311
+ amount_payed: amtPayed,
312
+ sq_tx_id: sqTxId,
313
+ })
314
+ .where("id", "=", id)
315
+ .executeTakeFirstOrThrow();
316
+ numUpdated += res.numUpdatedRows;
317
+ }
318
+ log.info(`marked ${numUpdated} transfers payed out`);
319
+ return;
320
+ });
321
+ },
322
+ payoutTransfers(idToAmt, payedAt, solTx) {
323
+ return __awaiter(this, void 0, void 0, function* () {
324
+ const res = yield db.transaction().execute((tx) => __awaiter(this, void 0, void 0, function* () {
325
+ for (const [id, amt] of Object.entries(idToAmt)) {
326
+ const res = yield tx
327
+ .updateTable(TRANSFER)
328
+ .set({
329
+ payed_at: payedAt,
330
+ sol_tx: solTx,
331
+ amount_payed: amt,
332
+ })
333
+ .where("id", "=", id.toString())
334
+ .executeTakeFirstOrThrow();
335
+ log.info(`marked ${res.numUpdatedRows} transfer payed out`);
336
+ }
337
+ }));
338
+ });
339
+ },
340
+ payoutTransfer(id, payedAt, solTx, amtPayed) {
341
+ return __awaiter(this, void 0, void 0, function* () {
342
+ const res = yield db
343
+ .updateTable(TRANSFER)
344
+ .set({
345
+ payed_at: payedAt,
346
+ sol_tx: solTx,
347
+ amount_payed: amtPayed,
348
+ })
349
+ .where("id", "=", id.toString())
350
+ .executeTakeFirst();
351
+ log.info(`marked ${res.numUpdatedRows} transfer payed out`);
352
+ return;
353
+ });
354
+ },
355
+ payoutTransferSq(id, payedAt, solTx, amtPayed, sqTx) {
356
+ return __awaiter(this, void 0, void 0, function* () {
357
+ const { id: sqTxId } = (yield db
358
+ .insertInto(SQUADS_TX)
359
+ .values({ sq_tx: sqTx, tx_status: "executed" })
360
+ .onConflict((oc) => oc.column("sq_tx").doNothing())
361
+ .returning((eb) => ["id as id"])
362
+ .executeTakeFirst());
363
+ const res = yield db
364
+ .updateTable(TRANSFER)
365
+ .set({
366
+ payed_at: payedAt,
367
+ sol_tx: solTx,
368
+ amount_payed: amtPayed,
369
+ sq_tx_id: sqTxId,
370
+ })
371
+ .where("id", "=", id.toString())
372
+ .executeTakeFirst();
373
+ log.info(`marked ${res.numUpdatedRows} transfer payed out`);
374
+ return;
375
+ });
376
+ },
377
+ createTransfers(transfers) {
378
+ return __awaiter(this, void 0, void 0, function* () {
379
+ yield createTransfers(db, transfers);
380
+ });
381
+ },
382
+ fetchInfoForEpoch(epochId) {
383
+ return __awaiter(this, void 0, void 0, function* () {
384
+ const res = yield db
385
+ .selectFrom(JOB_ID)
386
+ .innerJoin(NODE_OPERATOR_EPOCH, "node_operator_epoch.id", "job_id.epoch_id")
387
+ .where("job_id.epoch_id", "=", epochId.toString())
388
+ .selectAll()
389
+ .execute();
390
+ const out = [];
391
+ let totalRndr = BigInt(0);
392
+ for (const r of res) {
393
+ totalRndr = BigInt(r.total_rndr);
394
+ out.push(Number(r.id));
395
+ }
396
+ return { jobIds: out, totalRndr };
397
+ });
398
+ },
399
+ fetchTransfersByWallet(f) {
400
+ return __awaiter(this, void 0, void 0, function* () {
401
+ let base = db
402
+ .selectFrom(TRANSFER)
403
+ .selectAll(TRANSFER)
404
+ .where("sol_key", "=", f.address);
405
+ if (f.payed != undefined) {
406
+ base = base.where("payed_at", f.payed ? "is not" : "is", null);
407
+ }
408
+ const res = yield base.execute();
409
+ if (f.typ === "node_operator_rewards") {
410
+ base = base.innerJoin(NODE_OPERATOR_REWARDS_TRANSFER, "node_operator_rewards_transfer.transfer_id", "transfer.id");
411
+ if (f.epochId) {
412
+ // @ts-ignore
413
+ base = base.where("node_operator_rewards_transfer.epoch_id", "=", BigInt(f.epochId));
414
+ }
415
+ }
416
+ if (f.typ === "open_compute_rewards") {
417
+ base = base.innerJoin(COMPUTE_CLIENT_REWARDS_TRANSFER, "open_compute_rewards_transfer.transfer_id", "transfer.id");
418
+ if (f.epochId) {
419
+ // @ts-ignore
420
+ base = base.where("open_compute_rewards_transfer.epoch_id", "=", BigInt(f.epochId));
421
+ }
422
+ }
423
+ return res.map((r) => transferFromDB(r));
424
+ });
425
+ },
426
+ };
427
+ };
428
+ exports.pgClient = pgClient;
429
+ //# sourceMappingURL=pgClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pgClient.js","sourceRoot":"","sources":["../../src/pgClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.coinGeckoClient = void 0;
16
+ const coingecko_api_v3_1 = require("coingecko-api-v3");
17
+ const dateformat_1 = __importDefault(require("dateformat"));
18
+ const coinGeckoClient = () => {
19
+ const client = new coingecko_api_v3_1.CoinGeckoClient({
20
+ timeout: 10000,
21
+ autoRetry: true,
22
+ });
23
+ return {
24
+ getRenderPriceAtDate(d) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const res = yield client.coinIdHistory({ id: 'render-token', date: (0, dateformat_1.default)(d, 'dd-mm-yyyy') });
27
+ return res.market_data.current_price['usd'];
28
+ });
29
+ }
30
+ };
31
+ };
32
+ exports.coinGeckoClient = coinGeckoClient;
33
+ //# sourceMappingURL=priceClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priceClient.js","sourceRoot":"","sources":["../../src/priceClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uDAAiD;AACjD,4DAAoC;AAM7B,MAAM,eAAe,GAAG,GAAgB,EAAE;IAE/C,MAAM,MAAM,GAAG,IAAI,kCAAe,CAAC;QACjC,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,OAAO;QACC,oBAAoB,CAAC,CAAO;;gBAChC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,IAAA,oBAAU,EAAC,CAAC,EAAE,YAAY,CAAC,EAAC,CAAC,CAAA;gBAC/F,OAAO,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAC7C,CAAC;SAAA;KACF,CAAA;AAEH,CAAC,CAAA;AAdY,QAAA,eAAe,mBAc3B"}