@render-foundation/utils 0.0.230 → 0.0.232-beta.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/lib/cjs/assertSecrets.js +2 -1
- package/lib/cjs/assertSecrets.js.map +1 -1
- package/lib/cjs/backfiller.js +16 -16
- package/lib/cjs/backfiller.js.map +1 -1
- package/lib/cjs/client/dispersed.js +123 -0
- package/lib/cjs/client/dispersed.js.map +1 -0
- package/lib/cjs/client/onchain.js +3 -3
- package/lib/cjs/client/onchain.js.map +1 -1
- package/lib/cjs/client/pg/base.js +7 -7
- package/lib/cjs/client/pg/base.js.map +1 -1
- package/lib/cjs/client/pg/v1.js +31 -31
- package/lib/cjs/client/pg/v1.js.map +1 -1
- package/lib/cjs/client/pg/v2Client.js +216 -244
- package/lib/cjs/client/pg/v2Client.js.map +1 -1
- package/lib/cjs/client/pg/viewClient.js +6 -6
- package/lib/cjs/client/pg/viewClient.js.map +1 -1
- package/lib/cjs/client/price.js +3 -3
- package/lib/cjs/client/price.js.map +1 -1
- package/lib/cjs/client/render.js +10 -10
- package/lib/cjs/client/render.js.map +1 -1
- package/lib/cjs/client/squads.js +10 -20
- package/lib/cjs/client/squads.js.map +1 -1
- package/lib/cjs/client/trade.js +12 -15
- package/lib/cjs/client/trade.js.map +1 -1
- package/lib/cjs/client/wormhole.js +9 -19
- package/lib/cjs/client/wormhole.js.map +1 -1
- package/lib/cjs/errorReporter.js +1 -1
- package/lib/cjs/errorReporter.js.map +1 -1
- package/lib/cjs/index.js +12 -19
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/src/assertSecrets.js.map +1 -1
- package/lib/esm/src/backfiller.js.map +1 -1
- package/lib/esm/src/client/dispersed.js +108 -0
- package/lib/esm/src/client/dispersed.js.map +1 -0
- package/lib/esm/src/client/onchain.js.map +1 -1
- package/lib/esm/src/client/pg/base.js.map +1 -1
- package/lib/esm/src/client/pg/v1.js.map +1 -1
- package/lib/esm/src/client/pg/v2Client.js +107 -133
- package/lib/esm/src/client/pg/v2Client.js.map +1 -1
- package/lib/esm/src/client/pg/viewClient.js.map +1 -1
- package/lib/esm/src/client/price.js.map +1 -1
- package/lib/esm/src/client/render.js.map +1 -1
- package/lib/esm/src/client/squads.js.map +1 -1
- package/lib/esm/src/client/trade.js +2 -2
- package/lib/esm/src/client/trade.js.map +1 -1
- package/lib/esm/src/client/wormhole.js.map +1 -1
- package/lib/esm/src/errorReporter.js.map +1 -1
- package/lib/esm/src/index.js +5 -2
- package/lib/esm/src/index.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/backfiller.d.ts.map +1 -1
- package/lib/types/src/client/dispersed.d.ts +91 -0
- package/lib/types/src/client/dispersed.d.ts.map +1 -0
- package/lib/types/src/client/onchain.d.ts +1 -2
- package/lib/types/src/client/onchain.d.ts.map +1 -1
- package/lib/types/src/client/pg/base.d.ts.map +1 -1
- package/lib/types/src/client/pg/v1.d.ts.map +1 -1
- package/lib/types/src/client/pg/v2Client.d.ts +31 -23
- package/lib/types/src/client/pg/v2Client.d.ts.map +1 -1
- package/lib/types/src/client/pg/viewClient.d.ts.map +1 -1
- package/lib/types/src/client/render.d.ts.map +1 -1
- package/lib/types/src/client/squads.d.ts.map +1 -1
- package/lib/types/src/client/trade.d.ts.map +1 -1
- package/lib/types/src/client/wormhole.d.ts +1 -1
- package/lib/types/src/client/wormhole.d.ts.map +1 -1
- package/lib/types/src/dbTypesV2.d.ts +17 -13
- package/lib/types/src/dbTypesV2.d.ts.map +1 -1
- package/lib/types/src/errorReporter.d.ts.map +1 -1
- package/lib/types/src/index.d.ts +2 -2
- package/lib/types/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/cjs/burn/burnAnalysis.js +0 -101
- package/lib/cjs/burn/burnAnalysis.js.map +0 -1
- package/lib/cjs/burn/burnCalculations.js +0 -140
- package/lib/cjs/burn/burnCalculations.js.map +0 -1
- package/lib/esm/src/burn/burnAnalysis.js +0 -90
- package/lib/esm/src/burn/burnAnalysis.js.map +0 -1
- package/lib/esm/src/burn/burnCalculations.js +0 -124
- package/lib/esm/src/burn/burnCalculations.js.map +0 -1
- package/lib/types/src/burn/burnAnalysis.d.ts +0 -51
- package/lib/types/src/burn/burnAnalysis.d.ts.map +0 -1
- package/lib/types/src/burn/burnCalculations.d.ts +0 -52
- package/lib/types/src/burn/burnCalculations.d.ts.map +0 -1
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
35
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -45,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
45
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
36
|
};
|
|
47
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.pgClient = exports.batchFinishedAtMedian = exports.GRANT_BURN_TABLE = exports.GRANT_BURN_ID_TABLE = exports.USER_GRANT_SPEND_TABLE = exports.CURRENT_USER_GRANT_SPEND_TABLE = exports.POLYGON_UPGRADE_TABLE = exports.ENTITY_EPOCH_INFO_TABLE = exports.
|
|
38
|
+
exports.pgClient = exports.batchFinishedAtMedian = exports.DISPERSED_SETTLEMENT_TABLE = exports.GRANT_BURN_TABLE = exports.GRANT_BURN_ID_TABLE = exports.USER_GRANT_SPEND_TABLE = exports.CURRENT_USER_GRANT_SPEND_TABLE = exports.POLYGON_UPGRADE_TABLE = exports.ENTITY_EPOCH_INFO_TABLE = exports.BURN_ADJUSTMENT_TABLE = exports.NETWORK_REVENUE_TABLE = exports.BRIDGE_TRANSFER_TABLE = exports.BURN_TABLE = exports.JOB_TABLE = exports.JOB_ID_TABLE = exports.LIABILITY_TABLE = exports.SOL_TRANSFER_TABLE = exports.ENTITY_TABLE = exports.MANUAL_BURN_TABLE = exports.EPOCH_TABLE = exports.SOL_TX_TABLE = void 0;
|
|
49
39
|
const kysely_1 = require("kysely");
|
|
50
40
|
const logger_1 = require("../../logger");
|
|
51
41
|
const pg_1 = require("pg");
|
|
@@ -62,14 +52,14 @@ exports.JOB_TABLE = 'job';
|
|
|
62
52
|
exports.BURN_TABLE = 'burn';
|
|
63
53
|
exports.BRIDGE_TRANSFER_TABLE = 'bridge_transfer';
|
|
64
54
|
exports.NETWORK_REVENUE_TABLE = 'network_revenue';
|
|
65
|
-
exports.
|
|
66
|
-
exports.TX_BURN_ADJUSTMENT_TABLE = 'tx_burn_adjustment';
|
|
55
|
+
exports.BURN_ADJUSTMENT_TABLE = 'burn_adjustment';
|
|
67
56
|
exports.ENTITY_EPOCH_INFO_TABLE = 'entity_epoch_info';
|
|
68
57
|
exports.POLYGON_UPGRADE_TABLE = 'polygon_upgrade';
|
|
69
58
|
exports.CURRENT_USER_GRANT_SPEND_TABLE = 'current_user_grant_spend';
|
|
70
59
|
exports.USER_GRANT_SPEND_TABLE = 'user_grant_spend';
|
|
71
60
|
exports.GRANT_BURN_ID_TABLE = 'grant_burn_id';
|
|
72
61
|
exports.GRANT_BURN_TABLE = 'grant_burn';
|
|
62
|
+
exports.DISPERSED_SETTLEMENT_TABLE = 'dispersed_settlement';
|
|
73
63
|
BigInt.prototype.toJSON = function () {
|
|
74
64
|
return this.toString();
|
|
75
65
|
};
|
|
@@ -103,7 +93,7 @@ const pgClient = (config) => {
|
|
|
103
93
|
const db = new kysely_1.Kysely({
|
|
104
94
|
dialect,
|
|
105
95
|
});
|
|
106
|
-
const getOrInsertEntity = (
|
|
96
|
+
const getOrInsertEntity = (db, p, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
97
|
const res = (yield db
|
|
108
98
|
.selectFrom(exports.ENTITY_TABLE)
|
|
109
99
|
.select('id')
|
|
@@ -124,7 +114,7 @@ const pgClient = (config) => {
|
|
|
124
114
|
log.debug(`inserted entity ${id}`);
|
|
125
115
|
return id;
|
|
126
116
|
});
|
|
127
|
-
const getOrInsertTx = (
|
|
117
|
+
const getOrInsertTx = (db, p, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
128
118
|
const res = yield db
|
|
129
119
|
.selectFrom(exports.SOL_TX_TABLE)
|
|
130
120
|
.select('id')
|
|
@@ -146,7 +136,7 @@ const pgClient = (config) => {
|
|
|
146
136
|
log.debug(`inserted tx ${id}`);
|
|
147
137
|
return id;
|
|
148
138
|
});
|
|
149
|
-
const getOrInsertEpoch = (
|
|
139
|
+
const getOrInsertEpoch = (db, p, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
150
140
|
const res = yield db
|
|
151
141
|
.selectFrom(exports.EPOCH_TABLE)
|
|
152
142
|
.select('id')
|
|
@@ -174,7 +164,7 @@ const pgClient = (config) => {
|
|
|
174
164
|
log.debug(`inserted epoch ${id}`);
|
|
175
165
|
return id;
|
|
176
166
|
});
|
|
177
|
-
const getCurrentUserGrantSpend = (
|
|
167
|
+
const getCurrentUserGrantSpend = (db, p, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
178
168
|
var _a;
|
|
179
169
|
const res = yield db
|
|
180
170
|
.selectFrom(exports.CURRENT_USER_GRANT_SPEND_TABLE)
|
|
@@ -204,7 +194,7 @@ const pgClient = (config) => {
|
|
|
204
194
|
.executeTakeFirst());
|
|
205
195
|
log.info(`set ${res.numUpdatedRows} rows. channel: ${p.channel}, ui: ${p.uiEpochId} -> totalRndr ${totalRndr} `);
|
|
206
196
|
});
|
|
207
|
-
const fetchJobs1 = (
|
|
197
|
+
const fetchJobs1 = (db, f, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
208
198
|
let q = db.selectFrom('job').selectAll();
|
|
209
199
|
//.where('job.burn_id', 'is not', null)
|
|
210
200
|
if (f.completedAtAfter) {
|
|
@@ -234,7 +224,7 @@ const pgClient = (config) => {
|
|
|
234
224
|
insertedAt: r.inserted_at,
|
|
235
225
|
}));
|
|
236
226
|
});
|
|
237
|
-
const fetchJobs2 = (
|
|
227
|
+
const fetchJobs2 = (db, f, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
238
228
|
let q = db.selectFrom('job').selectAll();
|
|
239
229
|
//.where('job.burn_id', 'is not', null)
|
|
240
230
|
if (f.completedAtAfter) {
|
|
@@ -268,7 +258,7 @@ const pgClient = (config) => {
|
|
|
268
258
|
});
|
|
269
259
|
});
|
|
270
260
|
});
|
|
271
|
-
const createBridgeTransfers = (
|
|
261
|
+
const createBridgeTransfers = (db, bts, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
272
262
|
const sequenceNumbers = [];
|
|
273
263
|
const dbEpochIds = [];
|
|
274
264
|
for (const bt of bts) {
|
|
@@ -312,7 +302,7 @@ const pgClient = (config) => {
|
|
|
312
302
|
}
|
|
313
303
|
return { sequenceNumbers: sequenceNumbers };
|
|
314
304
|
});
|
|
315
|
-
const createPayments = (
|
|
305
|
+
const createPayments = (db, ps, log = logger_1.consoleLogger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
316
306
|
const ids = [];
|
|
317
307
|
const epochDbIds = [];
|
|
318
308
|
for (const p of ps) {
|
|
@@ -366,11 +356,7 @@ const pgClient = (config) => {
|
|
|
366
356
|
sig: solTx,
|
|
367
357
|
executedAt,
|
|
368
358
|
}, log);
|
|
369
|
-
|
|
370
|
-
// to_entity_id, symbol). Without ON CONFLICT a retry of the record step
|
|
371
|
-
// throws a unique violation and wedges the BullMQ job; make it an
|
|
372
|
-
// idempotent no-op and re-fetch the existing id instead.
|
|
373
|
-
let transferRow = yield db
|
|
359
|
+
const { id } = yield db
|
|
374
360
|
.insertInto(exports.SOL_TRANSFER_TABLE)
|
|
375
361
|
.values({
|
|
376
362
|
id: dbId,
|
|
@@ -381,23 +367,9 @@ const pgClient = (config) => {
|
|
|
381
367
|
symbol,
|
|
382
368
|
amount_payed: amountPayed,
|
|
383
369
|
})
|
|
384
|
-
.onConflict((oc) => oc
|
|
385
|
-
.columns(['sol_tx_id', 'from_entity_id', 'to_entity_id', 'symbol'])
|
|
386
|
-
.doNothing())
|
|
387
370
|
.returning((eb) => ['id as id'])
|
|
388
|
-
.
|
|
389
|
-
|
|
390
|
-
log.warn(`sol_transfer for sol_tx_id ${solTxId} ${fromEntityId}->${toEntityId} ${symbol} already exists; reusing existing id (idempotent retry)`);
|
|
391
|
-
transferRow = yield db
|
|
392
|
-
.selectFrom(exports.SOL_TRANSFER_TABLE)
|
|
393
|
-
.select((eb) => ['id as id'])
|
|
394
|
-
.where('sol_tx_id', '=', solTxId)
|
|
395
|
-
.where('from_entity_id', '=', fromEntityId)
|
|
396
|
-
.where('to_entity_id', '=', toEntityId)
|
|
397
|
-
.where('symbol', '=', symbol)
|
|
398
|
-
.executeTakeFirstOrThrow();
|
|
399
|
-
}
|
|
400
|
-
transferId = BigInt(transferRow.id);
|
|
371
|
+
.executeTakeFirstOrThrow();
|
|
372
|
+
transferId = BigInt(id);
|
|
401
373
|
}
|
|
402
374
|
ids.push({ transferId, liabilityId });
|
|
403
375
|
}
|
|
@@ -409,18 +381,18 @@ const pgClient = (config) => {
|
|
|
409
381
|
rollback: () => { },
|
|
410
382
|
trx: db,
|
|
411
383
|
},
|
|
412
|
-
startTransaction() {
|
|
413
|
-
return __awaiter(this,
|
|
384
|
+
startTransaction(log = logger_1.consoleLogger) {
|
|
385
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
414
386
|
return (0, base_2.begin)(db, log);
|
|
415
387
|
});
|
|
416
388
|
},
|
|
417
|
-
createPayments(
|
|
418
|
-
return __awaiter(this,
|
|
389
|
+
createPayments(db, ps, log = logger_1.consoleLogger) {
|
|
390
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
419
391
|
return createPayments(db.trx, ps, log);
|
|
420
392
|
});
|
|
421
393
|
},
|
|
422
|
-
fetchTransfers(
|
|
423
|
-
return __awaiter(this,
|
|
394
|
+
fetchTransfers(db, f, log = logger_1.consoleLogger) {
|
|
395
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
424
396
|
let lastId = undefined;
|
|
425
397
|
if (f.cursor) {
|
|
426
398
|
lastId = atob(f.cursor);
|
|
@@ -476,8 +448,8 @@ const pgClient = (config) => {
|
|
|
476
448
|
};
|
|
477
449
|
});
|
|
478
450
|
},
|
|
479
|
-
fetchEpochs(
|
|
480
|
-
return __awaiter(this,
|
|
451
|
+
fetchEpochs(db, f, log = logger_1.consoleLogger) {
|
|
452
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
481
453
|
let q = db.trx.selectFrom(exports.EPOCH_TABLE).selectAll();
|
|
482
454
|
if (f.channels) {
|
|
483
455
|
q = q.where('channel', 'in', f.channels);
|
|
@@ -500,9 +472,9 @@ const pgClient = (config) => {
|
|
|
500
472
|
}));
|
|
501
473
|
});
|
|
502
474
|
},
|
|
503
|
-
fetchLiabilities(
|
|
504
|
-
|
|
505
|
-
|
|
475
|
+
fetchLiabilities(db, f, log = logger_1.consoleLogger) {
|
|
476
|
+
var _a;
|
|
477
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
506
478
|
let offset = 0;
|
|
507
479
|
let orderBy = (_a = f.orderBy) !== null && _a !== void 0 ? _a : 'epoch.ui,liability.id';
|
|
508
480
|
if (f.cursor) {
|
|
@@ -569,8 +541,8 @@ const pgClient = (config) => {
|
|
|
569
541
|
};
|
|
570
542
|
});
|
|
571
543
|
},
|
|
572
|
-
getLiabilitiesAndTransfers(
|
|
573
|
-
return __awaiter(this,
|
|
544
|
+
getLiabilitiesAndTransfers(f, log = logger_1.consoleLogger) {
|
|
545
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
574
546
|
let lq = db
|
|
575
547
|
.selectFrom(exports.LIABILITY_TABLE)
|
|
576
548
|
.selectAll()
|
|
@@ -631,9 +603,9 @@ const pgClient = (config) => {
|
|
|
631
603
|
return { transfers, liabilities, epochs: Object.values(epochs) };
|
|
632
604
|
});
|
|
633
605
|
},
|
|
634
|
-
getOutstanding(
|
|
635
|
-
|
|
636
|
-
|
|
606
|
+
getOutstanding(f, log = logger_1.consoleLogger) {
|
|
607
|
+
var _a, _b, _c, _d, _e;
|
|
608
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
637
609
|
log.info(`getting outstanding balances for ${(_a = f.channels) !== null && _a !== void 0 ? _a : '(no channels specified)'} epoch: ${(_b = f.startEpochId.id) !== null && _b !== void 0 ? _b : '(no epoch specified)'}`);
|
|
638
610
|
let epochUi;
|
|
639
611
|
let epochEndTime;
|
|
@@ -742,9 +714,9 @@ const pgClient = (config) => {
|
|
|
742
714
|
return out;
|
|
743
715
|
});
|
|
744
716
|
},
|
|
745
|
-
fetchNodeOperatorEpoch(
|
|
746
|
-
|
|
747
|
-
|
|
717
|
+
fetchNodeOperatorEpoch(epochId, log = logger_1.consoleLogger) {
|
|
718
|
+
var _a;
|
|
719
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
748
720
|
const q = db
|
|
749
721
|
.selectFrom(exports.JOB_ID_TABLE)
|
|
750
722
|
.innerJoin(exports.EPOCH_TABLE, 'epoch.id', 'job_id.epoch_id')
|
|
@@ -794,14 +766,14 @@ const pgClient = (config) => {
|
|
|
794
766
|
};
|
|
795
767
|
});
|
|
796
768
|
},
|
|
797
|
-
insertEpoch(
|
|
798
|
-
return __awaiter(this,
|
|
769
|
+
insertEpoch(db, epoch, log = logger_1.consoleLogger) {
|
|
770
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
799
771
|
yield getOrInsertEpoch(db.trx, Object.assign(Object.assign({}, epoch), { uiEpochId: epoch.ui }), log);
|
|
800
772
|
});
|
|
801
773
|
},
|
|
802
|
-
getEpoch(
|
|
803
|
-
|
|
804
|
-
|
|
774
|
+
getEpoch(f, log = logger_1.consoleLogger) {
|
|
775
|
+
var _a;
|
|
776
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
805
777
|
const now = new Date(Date.now());
|
|
806
778
|
try {
|
|
807
779
|
let q = db
|
|
@@ -839,9 +811,9 @@ const pgClient = (config) => {
|
|
|
839
811
|
}
|
|
840
812
|
});
|
|
841
813
|
},
|
|
842
|
-
getLatestNodeOperatorEpoch(
|
|
843
|
-
|
|
844
|
-
|
|
814
|
+
getLatestNodeOperatorEpoch(f, log = logger_1.consoleLogger) {
|
|
815
|
+
var _a;
|
|
816
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
845
817
|
const now = new Date(Date.now());
|
|
846
818
|
try {
|
|
847
819
|
let q = db
|
|
@@ -881,8 +853,8 @@ const pgClient = (config) => {
|
|
|
881
853
|
}
|
|
882
854
|
});
|
|
883
855
|
},
|
|
884
|
-
saveNodeOperatorEpoch(
|
|
885
|
-
return __awaiter(this,
|
|
856
|
+
saveNodeOperatorEpoch(epochId, liabilities, jobIds, totalRndr, log = logger_1.consoleLogger) {
|
|
857
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
886
858
|
yield db
|
|
887
859
|
.transaction()
|
|
888
860
|
.setIsolationLevel('repeatable read')
|
|
@@ -918,8 +890,8 @@ const pgClient = (config) => {
|
|
|
918
890
|
return;
|
|
919
891
|
});
|
|
920
892
|
},
|
|
921
|
-
produceBurnedJobs(
|
|
922
|
-
return __awaiter(this,
|
|
893
|
+
produceBurnedJobs(jobs, log = logger_1.consoleLogger) {
|
|
894
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
923
895
|
yield db.transaction().execute((trx) => __awaiter(this, void 0, void 0, function* () {
|
|
924
896
|
var _a;
|
|
925
897
|
let num = BigInt(0);
|
|
@@ -942,9 +914,9 @@ const pgClient = (config) => {
|
|
|
942
914
|
}));
|
|
943
915
|
});
|
|
944
916
|
},
|
|
945
|
-
markJobsBurntWithGrant(
|
|
946
|
-
|
|
947
|
-
|
|
917
|
+
markJobsBurntWithGrant(db, p, log = logger_1.consoleLogger) {
|
|
918
|
+
var _a;
|
|
919
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
948
920
|
const solTxId = yield getOrInsertTx(db.trx, { sig: p.tx.sig, executedAt: p.tx.executedAt }, log);
|
|
949
921
|
const { id } = yield db.trx
|
|
950
922
|
.insertInto(exports.GRANT_BURN_TABLE)
|
|
@@ -975,9 +947,9 @@ const pgClient = (config) => {
|
|
|
975
947
|
return;
|
|
976
948
|
});
|
|
977
949
|
},
|
|
978
|
-
insertGrantSpend(
|
|
979
|
-
|
|
980
|
-
|
|
950
|
+
insertGrantSpend(db, p, log = logger_1.consoleLogger) {
|
|
951
|
+
var _a, _b, _c;
|
|
952
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
981
953
|
const existing = yield getCurrentUserGrantSpend(db.trx, { userId: p.userId }, log);
|
|
982
954
|
const diff = {
|
|
983
955
|
render_spent: ((_a = existing === null || existing === void 0 ? void 0 : existing.renderSpent) !== null && _a !== void 0 ? _a : BigInt(0)) + p.renderSpentDelta,
|
|
@@ -1042,9 +1014,9 @@ const pgClient = (config) => {
|
|
|
1042
1014
|
}
|
|
1043
1015
|
});
|
|
1044
1016
|
},
|
|
1045
|
-
markJobsBurnt(
|
|
1046
|
-
|
|
1047
|
-
|
|
1017
|
+
markJobsBurnt(trx, p, log = logger_1.consoleLogger) {
|
|
1018
|
+
var _a, _b;
|
|
1019
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1048
1020
|
if (!p.buyBurn && !p.grantBurn) {
|
|
1049
1021
|
throw new Error('no buyBurn or grantBurn');
|
|
1050
1022
|
}
|
|
@@ -1052,7 +1024,7 @@ const pgClient = (config) => {
|
|
|
1052
1024
|
let buyBurnId;
|
|
1053
1025
|
let grantBurnId;
|
|
1054
1026
|
if (p.buyBurn) {
|
|
1055
|
-
const { burned, usdcSpent, eurToUsdc, renderToUsdc, quoteAmt, tags,
|
|
1027
|
+
const { burned, usdcSpent, eurToUsdc, renderToUsdc, quoteAmt, tags, burnAdjustmentId, toBurn, } = p.buyBurn;
|
|
1056
1028
|
let pricedAt = p.buyBurn.pricedAt;
|
|
1057
1029
|
if (!pricedAt) {
|
|
1058
1030
|
const jobs = yield fetchJobs1(trx.trx, { ids: p.jobs.map((j) => String(j.id)) }, log);
|
|
@@ -1071,30 +1043,17 @@ const pgClient = (config) => {
|
|
|
1071
1043
|
quote_amt: quoteAmt,
|
|
1072
1044
|
burned: burned,
|
|
1073
1045
|
tags: tags.join(','),
|
|
1074
|
-
|
|
1075
|
-
tx_burn_adjustment_id: txBurnAdjustmentId,
|
|
1046
|
+
burn_adjustment_id: burnAdjustmentId,
|
|
1076
1047
|
to_burn: toBurn,
|
|
1077
|
-
from_escrow_credit: fromEscrowCredit !== null && fromEscrowCredit !== void 0 ? fromEscrowCredit : 0,
|
|
1078
1048
|
};
|
|
1079
1049
|
log.debug(`inserting burn ${JSON.stringify(v)}`);
|
|
1080
|
-
|
|
1081
|
-
// the record step for the same on-chain burn is a safe no-op. On conflict
|
|
1082
|
-
// executeTakeFirst() returns undefined, so re-fetch the existing id.
|
|
1083
|
-
let burnRow = yield trx.trx
|
|
1050
|
+
const { id } = yield trx.trx
|
|
1084
1051
|
.insertInto(exports.BURN_TABLE)
|
|
1085
1052
|
.values(v)
|
|
1086
|
-
|
|
1053
|
+
//.onConflict((oc) => oc.column('sol_tx').doNothing())
|
|
1087
1054
|
.returning((eb) => ['id as id'])
|
|
1088
|
-
.
|
|
1089
|
-
|
|
1090
|
-
log.warn(`burn for sol_tx_id ${solTxId} already exists; reusing existing id (idempotent retry)`);
|
|
1091
|
-
burnRow = yield trx.trx
|
|
1092
|
-
.selectFrom(exports.BURN_TABLE)
|
|
1093
|
-
.select((eb) => ['id as id'])
|
|
1094
|
-
.where('sol_tx_id', '=', solTxId)
|
|
1095
|
-
.executeTakeFirstOrThrow();
|
|
1096
|
-
}
|
|
1097
|
-
buyBurnId = Number(burnRow.id);
|
|
1055
|
+
.executeTakeFirstOrThrow();
|
|
1056
|
+
buyBurnId = Number(id);
|
|
1098
1057
|
}
|
|
1099
1058
|
if (p.grantBurn) {
|
|
1100
1059
|
const { burned, tags } = p.grantBurn;
|
|
@@ -1104,22 +1063,12 @@ const pgClient = (config) => {
|
|
|
1104
1063
|
tags: tags === null || tags === void 0 ? void 0 : tags.join(','),
|
|
1105
1064
|
};
|
|
1106
1065
|
log.debug(`inserting grant burn ${JSON.stringify(v)}`);
|
|
1107
|
-
|
|
1108
|
-
let grantBurnRow = yield trx.trx
|
|
1066
|
+
const { id } = yield trx.trx
|
|
1109
1067
|
.insertInto(exports.GRANT_BURN_TABLE)
|
|
1110
1068
|
.values(v)
|
|
1111
|
-
.onConflict((oc) => oc.column('sol_tx_id').doNothing())
|
|
1112
1069
|
.returning((eb) => ['id as id'])
|
|
1113
|
-
.
|
|
1114
|
-
|
|
1115
|
-
log.warn(`grant_burn for sol_tx_id ${solTxId} already exists; reusing existing id (idempotent retry)`);
|
|
1116
|
-
grantBurnRow = yield trx.trx
|
|
1117
|
-
.selectFrom(exports.GRANT_BURN_TABLE)
|
|
1118
|
-
.select((eb) => ['id as id'])
|
|
1119
|
-
.where('sol_tx_id', '=', solTxId)
|
|
1120
|
-
.executeTakeFirstOrThrow();
|
|
1121
|
-
}
|
|
1122
|
-
grantBurnId = Number(grantBurnRow.id);
|
|
1070
|
+
.executeTakeFirstOrThrow();
|
|
1071
|
+
grantBurnId = Number(id);
|
|
1123
1072
|
}
|
|
1124
1073
|
const burnId = buyBurnId;
|
|
1125
1074
|
const grantId = grantBurnId !== null && grantBurnId !== void 0 ? grantBurnId : buyBurnId;
|
|
@@ -1145,8 +1094,8 @@ const pgClient = (config) => {
|
|
|
1145
1094
|
return { grantBurnId, buyBurnId };
|
|
1146
1095
|
});
|
|
1147
1096
|
},
|
|
1148
|
-
markJobsBurned(
|
|
1149
|
-
return __awaiter(this,
|
|
1097
|
+
markJobsBurned(trx, p, log = logger_1.consoleLogger) {
|
|
1098
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1150
1099
|
let { markedAt, solTx } = p;
|
|
1151
1100
|
let res = yield trx.trx
|
|
1152
1101
|
.updateTable(exports.BURN_TABLE)
|
|
@@ -1170,8 +1119,8 @@ const pgClient = (config) => {
|
|
|
1170
1119
|
}
|
|
1171
1120
|
});
|
|
1172
1121
|
},
|
|
1173
|
-
consumeAndLockBurnJobs(
|
|
1174
|
-
return __awaiter(this,
|
|
1122
|
+
consumeAndLockBurnJobs(limit, lowerRndrThreshold, upperRndrThreshold, log = logger_1.consoleLogger) {
|
|
1123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1175
1124
|
const trx = yield (0, base_2.begin)(db, log);
|
|
1176
1125
|
const q = trx.trx
|
|
1177
1126
|
.selectFrom(trx.trx
|
|
@@ -1278,9 +1227,9 @@ const pgClient = (config) => {
|
|
|
1278
1227
|
};
|
|
1279
1228
|
});
|
|
1280
1229
|
},
|
|
1281
|
-
incrBuyBurnMetrics() {
|
|
1282
|
-
|
|
1283
|
-
|
|
1230
|
+
incrBuyBurnMetrics(log = logger_1.consoleLogger) {
|
|
1231
|
+
var _a;
|
|
1232
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1284
1233
|
const res = yield db
|
|
1285
1234
|
.selectFrom(exports.JOB_TABLE)
|
|
1286
1235
|
.select('inserted_at')
|
|
@@ -1297,9 +1246,9 @@ const pgClient = (config) => {
|
|
|
1297
1246
|
};
|
|
1298
1247
|
});
|
|
1299
1248
|
},
|
|
1300
|
-
fetchBurns(
|
|
1301
|
-
|
|
1302
|
-
|
|
1249
|
+
fetchBurns(db, f, log = logger_1.consoleLogger) {
|
|
1250
|
+
var _a, _b;
|
|
1251
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1303
1252
|
let q = db.trx
|
|
1304
1253
|
.selectFrom('burn')
|
|
1305
1254
|
.selectAll('burn')
|
|
@@ -1368,9 +1317,9 @@ const pgClient = (config) => {
|
|
|
1368
1317
|
return burns;
|
|
1369
1318
|
});
|
|
1370
1319
|
},
|
|
1371
|
-
fetchBurnsAndGrants(
|
|
1372
|
-
|
|
1373
|
-
|
|
1320
|
+
fetchBurnsAndGrants(db, f, log = logger_1.consoleLogger) {
|
|
1321
|
+
var _a, _b;
|
|
1322
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1374
1323
|
// Build a unified query to get all transactions with both buy burns and grant burns
|
|
1375
1324
|
let baseQuery = db.trx
|
|
1376
1325
|
.selectFrom('sol_tx')
|
|
@@ -1508,13 +1457,13 @@ const pgClient = (config) => {
|
|
|
1508
1457
|
return groupedBurns;
|
|
1509
1458
|
});
|
|
1510
1459
|
},
|
|
1511
|
-
createBridgeTransfers(
|
|
1512
|
-
return __awaiter(this,
|
|
1460
|
+
createBridgeTransfers(db, bts, log = logger_1.consoleLogger) {
|
|
1461
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1513
1462
|
return createBridgeTransfers(db.trx, bts, log);
|
|
1514
1463
|
});
|
|
1515
1464
|
},
|
|
1516
|
-
getBridgeTransfers(
|
|
1517
|
-
return __awaiter(this,
|
|
1465
|
+
getBridgeTransfers({ solKey, page, }, log = logger_1.consoleLogger) {
|
|
1466
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1518
1467
|
let q = db
|
|
1519
1468
|
.selectFrom(exports.BRIDGE_TRANSFER_TABLE)
|
|
1520
1469
|
.innerJoin(exports.EPOCH_TABLE, 'epoch.id', 'bridge_transfer.epoch_id')
|
|
@@ -1591,8 +1540,8 @@ const pgClient = (config) => {
|
|
|
1591
1540
|
});
|
|
1592
1541
|
},
|
|
1593
1542
|
getTotalBurned(db) {
|
|
1543
|
+
var _a, _b;
|
|
1594
1544
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1595
|
-
var _a, _b;
|
|
1596
1545
|
const total = yield db.trx
|
|
1597
1546
|
.selectFrom('burn')
|
|
1598
1547
|
.select(({ fn }) => fn.sum('burned').as('total_burned'))
|
|
@@ -1600,8 +1549,8 @@ const pgClient = (config) => {
|
|
|
1600
1549
|
return BigInt((_b = (_a = total[0]) === null || _a === void 0 ? void 0 : _a.total_burned) !== null && _b !== void 0 ? _b : 0);
|
|
1601
1550
|
});
|
|
1602
1551
|
},
|
|
1603
|
-
insertBurn(
|
|
1604
|
-
return __awaiter(this,
|
|
1552
|
+
insertBurn(p, log = logger_1.consoleLogger) {
|
|
1553
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1605
1554
|
yield db.transaction().execute((trx) => __awaiter(this, void 0, void 0, function* () {
|
|
1606
1555
|
var _a;
|
|
1607
1556
|
const solTxId = yield getOrInsertTx(trx, { sig: p.solTx, executedAt: p.executedAt }, log);
|
|
@@ -1638,18 +1587,85 @@ const pgClient = (config) => {
|
|
|
1638
1587
|
}));
|
|
1639
1588
|
});
|
|
1640
1589
|
},
|
|
1641
|
-
|
|
1642
|
-
|
|
1590
|
+
insertDispersedOutbox(p, log = logger_1.consoleLogger) {
|
|
1591
|
+
var _a, _b;
|
|
1592
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1593
|
+
const res = yield db
|
|
1594
|
+
.insertInto(exports.DISPERSED_SETTLEMENT_TABLE)
|
|
1595
|
+
.values({
|
|
1596
|
+
tx_signature: p.txSignature,
|
|
1597
|
+
claim_uuid: p.claimUuid,
|
|
1598
|
+
obligation_uuids: p.obligationUuids,
|
|
1599
|
+
settled_amount: p.settledAmount,
|
|
1600
|
+
burned_amount: p.burnedAmount,
|
|
1601
|
+
executed_at: p.executedAt,
|
|
1602
|
+
eur_render: (_a = p.eurRender) !== null && _a !== void 0 ? _a : null,
|
|
1603
|
+
last_valid_block_height: (_b = p.lastValidBlockHeight) !== null && _b !== void 0 ? _b : null,
|
|
1604
|
+
})
|
|
1605
|
+
.onConflict((oc) => oc.column('tx_signature').doNothing())
|
|
1606
|
+
.executeTakeFirst();
|
|
1607
|
+
log.debug(`dispersed outbox tx ${p.txSignature}: ${res.numInsertedOrUpdatedRows} row(s)`);
|
|
1608
|
+
});
|
|
1609
|
+
},
|
|
1610
|
+
markDispersedSettled(txSignature, p, log = logger_1.consoleLogger) {
|
|
1611
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1612
|
+
yield db
|
|
1613
|
+
.updateTable(exports.DISPERSED_SETTLEMENT_TABLE)
|
|
1614
|
+
.set({ settled_at: new Date(), idempotent_replay: p.idempotentReplay })
|
|
1615
|
+
.where('tx_signature', '=', txSignature)
|
|
1616
|
+
.execute();
|
|
1617
|
+
log.debug(`dispersed settled tx ${txSignature}`);
|
|
1618
|
+
});
|
|
1619
|
+
},
|
|
1620
|
+
getUnsettledDispersed(log = logger_1.consoleLogger) {
|
|
1621
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1622
|
+
const rows = yield db
|
|
1623
|
+
.selectFrom(exports.DISPERSED_SETTLEMENT_TABLE)
|
|
1624
|
+
.selectAll()
|
|
1625
|
+
.where('settled_at', 'is', null)
|
|
1626
|
+
.execute();
|
|
1627
|
+
log.debug(`dispersed outbox: ${rows.length} unsettled`);
|
|
1628
|
+
return rows.map((r) => {
|
|
1629
|
+
var _a;
|
|
1630
|
+
return ({
|
|
1631
|
+
txSignature: r.tx_signature,
|
|
1632
|
+
claimUuid: r.claim_uuid,
|
|
1633
|
+
obligationUuids: r.obligation_uuids,
|
|
1634
|
+
settledAmount: r.settled_amount,
|
|
1635
|
+
burnedAmount: r.burned_amount,
|
|
1636
|
+
executedAt: r.executed_at,
|
|
1637
|
+
eurRender: (_a = r.eur_render) !== null && _a !== void 0 ? _a : undefined,
|
|
1638
|
+
// int8 comes back as a string from pg; block heights are well within JS safe-integer range.
|
|
1639
|
+
lastValidBlockHeight: r.last_valid_block_height != null
|
|
1640
|
+
? Number(r.last_valid_block_height)
|
|
1641
|
+
: undefined,
|
|
1642
|
+
});
|
|
1643
|
+
});
|
|
1644
|
+
});
|
|
1645
|
+
},
|
|
1646
|
+
voidDispersedOutbox(txSignature, log = logger_1.consoleLogger) {
|
|
1647
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1648
|
+
const res = yield db
|
|
1649
|
+
.deleteFrom(exports.DISPERSED_SETTLEMENT_TABLE)
|
|
1650
|
+
.where('tx_signature', '=', txSignature)
|
|
1651
|
+
// Never delete a row we already settled — void only applies to pending (un-landed) rows.
|
|
1652
|
+
.where('settled_at', 'is', null)
|
|
1653
|
+
.executeTakeFirst();
|
|
1654
|
+
log.debug(`dispersed outbox void tx ${txSignature}: ${res.numDeletedRows} row(s)`);
|
|
1655
|
+
});
|
|
1656
|
+
},
|
|
1657
|
+
fetchJobs(db, f, log = logger_1.consoleLogger) {
|
|
1658
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1643
1659
|
return yield fetchJobs1(db.trx, f, log);
|
|
1644
1660
|
});
|
|
1645
1661
|
},
|
|
1646
|
-
fetchJobsWithGrantValues(
|
|
1647
|
-
return __awaiter(this,
|
|
1662
|
+
fetchJobsWithGrantValues(db, f, log = logger_1.consoleLogger) {
|
|
1663
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1648
1664
|
return yield fetchJobs2(db.trx, f, log);
|
|
1649
1665
|
});
|
|
1650
1666
|
},
|
|
1651
|
-
fetchLiabilityEpochs(
|
|
1652
|
-
return __awaiter(this,
|
|
1667
|
+
fetchLiabilityEpochs(db, log = logger_1.consoleLogger) {
|
|
1668
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1653
1669
|
const q = db.trx
|
|
1654
1670
|
.selectFrom(exports.LIABILITY_TABLE)
|
|
1655
1671
|
.select(({ fn }) => [
|
|
@@ -1707,94 +1723,50 @@ const pgClient = (config) => {
|
|
|
1707
1723
|
}));
|
|
1708
1724
|
});
|
|
1709
1725
|
},
|
|
1710
|
-
|
|
1711
|
-
return __awaiter(this,
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
+
getBurnAdjustments(trx, ps, log = logger_1.consoleLogger) {
|
|
1727
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1728
|
+
if (ps.toFill) {
|
|
1729
|
+
const q = trx.trx
|
|
1730
|
+
.selectFrom(exports.BURN_ADJUSTMENT_TABLE)
|
|
1731
|
+
.selectAll(exports.BURN_ADJUSTMENT_TABLE)
|
|
1732
|
+
.innerJoin(exports.JOB_TABLE, `${exports.JOB_TABLE}.id`, `${exports.BURN_ADJUSTMENT_TABLE}.job_id`)
|
|
1733
|
+
.select([`${exports.JOB_TABLE}.completed_at`, `${exports.JOB_TABLE}.render_amt`])
|
|
1734
|
+
.leftJoin(exports.BURN_TABLE, `${exports.BURN_TABLE}.burn_adjustment_id`, `${exports.BURN_ADJUSTMENT_TABLE}.id`)
|
|
1735
|
+
.select(({ fn, lit }) => [
|
|
1736
|
+
fn
|
|
1737
|
+
.sum(fn.coalesce(`${exports.BURN_TABLE}.to_burn`, lit(0)))
|
|
1738
|
+
.as('tot_to_burn'),
|
|
1739
|
+
fn
|
|
1740
|
+
.sum(fn.coalesce(`${exports.BURN_TABLE}.burned`, lit(0)))
|
|
1741
|
+
.as('tot_burned'),
|
|
1742
|
+
])
|
|
1743
|
+
.groupBy([
|
|
1744
|
+
`${exports.BURN_ADJUSTMENT_TABLE}.id`,
|
|
1745
|
+
`${exports.JOB_TABLE}.completed_at`,
|
|
1746
|
+
`${exports.JOB_TABLE}.render_amt`,
|
|
1747
|
+
])
|
|
1748
|
+
.havingRef((0, kysely_1.sql) `SUM(COALESCE("burn"."to_burn", 0)) - SUM(COALESCE("burn"."burned", 0))`, '<', `${exports.BURN_ADJUSTMENT_TABLE}.down_adj_to_burn`);
|
|
1749
|
+
log.info(`getBurnAdjustments ${q.compile().sql}`);
|
|
1750
|
+
const res = yield q.execute();
|
|
1751
|
+
return res.map((r) => ({
|
|
1752
|
+
id: Number(r.id),
|
|
1753
|
+
createdAt: r.created_at,
|
|
1754
|
+
jobId: Number(r.job_id),
|
|
1755
|
+
downAdjRndrUsed: Number(r.down_adj_rndr_used),
|
|
1756
|
+
downAdjToBurn: Number(r.down_adj_to_burn),
|
|
1757
|
+
adjusted: Number(r.tot_to_burn) - Number(r.tot_burned),
|
|
1758
|
+
job: {
|
|
1759
|
+
id: Number(r.job_id),
|
|
1760
|
+
completedAt: r.completed_at,
|
|
1761
|
+
rndrUsed: BigInt(r.render_amt),
|
|
1762
|
+
},
|
|
1763
|
+
}));
|
|
1726
1764
|
}
|
|
1727
|
-
|
|
1728
|
-
return Number(row.id);
|
|
1729
|
-
});
|
|
1730
|
-
},
|
|
1731
|
-
getJobBurnAdjustments(trx_1, ps_1) {
|
|
1732
|
-
return __awaiter(this, arguments, void 0, function* (trx, ps, log = logger_1.consoleLogger) {
|
|
1733
|
-
if (!ps.toFill)
|
|
1734
|
-
return [];
|
|
1735
|
-
const q = trx.trx
|
|
1736
|
-
.selectFrom(exports.JOB_BURN_ADJUSTMENT_TABLE)
|
|
1737
|
-
.selectAll(exports.JOB_BURN_ADJUSTMENT_TABLE)
|
|
1738
|
-
.innerJoin(exports.JOB_TABLE, `${exports.JOB_TABLE}.id`, `${exports.JOB_BURN_ADJUSTMENT_TABLE}.job_id`)
|
|
1739
|
-
.select([`${exports.JOB_TABLE}.completed_at`, `${exports.JOB_TABLE}.render_amt`])
|
|
1740
|
-
.leftJoin(exports.BURN_TABLE, `${exports.BURN_TABLE}.job_burn_adjustment_id`, `${exports.JOB_BURN_ADJUSTMENT_TABLE}.id`)
|
|
1741
|
-
.select(({ fn, lit }) => [
|
|
1742
|
-
fn.sum(fn.coalesce(`${exports.BURN_TABLE}.to_burn`, lit(0))).as('tot_to_burn'),
|
|
1743
|
-
fn.sum(fn.coalesce(`${exports.BURN_TABLE}.burned`, lit(0))).as('tot_burned'),
|
|
1744
|
-
])
|
|
1745
|
-
.groupBy([
|
|
1746
|
-
`${exports.JOB_BURN_ADJUSTMENT_TABLE}.id`,
|
|
1747
|
-
`${exports.JOB_TABLE}.completed_at`,
|
|
1748
|
-
`${exports.JOB_TABLE}.render_amt`,
|
|
1749
|
-
]);
|
|
1750
|
-
log.info(`getJobBurnAdjustments ${q.compile().sql}`);
|
|
1751
|
-
const res = yield q.execute();
|
|
1752
|
-
return res
|
|
1753
|
-
.map((r) => ({
|
|
1754
|
-
id: Number(r.id),
|
|
1755
|
-
createdAt: r.created_at,
|
|
1756
|
-
jobId: Number(r.job_id),
|
|
1757
|
-
downAdjRndrUsed: Number(r.down_adj_rndr_used),
|
|
1758
|
-
downAdjToBurn: Number(r.down_adj_to_burn),
|
|
1759
|
-
adjusted: Number(r.tot_to_burn) - Number(r.tot_burned),
|
|
1760
|
-
job: {
|
|
1761
|
-
id: Number(r.job_id),
|
|
1762
|
-
completedAt: r.completed_at,
|
|
1763
|
-
rndrUsed: BigInt(r.render_amt),
|
|
1764
|
-
},
|
|
1765
|
-
}))
|
|
1766
|
-
.filter((a) => a.adjusted < a.downAdjToBurn);
|
|
1765
|
+
return [];
|
|
1767
1766
|
});
|
|
1768
1767
|
},
|
|
1769
|
-
|
|
1770
|
-
return __awaiter(this,
|
|
1771
|
-
if (!ps.toFill)
|
|
1772
|
-
return [];
|
|
1773
|
-
const q = trx.trx
|
|
1774
|
-
.selectFrom(exports.TX_BURN_ADJUSTMENT_TABLE)
|
|
1775
|
-
.selectAll(exports.TX_BURN_ADJUSTMENT_TABLE)
|
|
1776
|
-
.leftJoin(exports.BURN_TABLE, `${exports.BURN_TABLE}.tx_burn_adjustment_id`, `${exports.TX_BURN_ADJUSTMENT_TABLE}.id`)
|
|
1777
|
-
.select(({ fn, lit }) => [
|
|
1778
|
-
fn
|
|
1779
|
-
.sum(fn.coalesce(`${exports.BURN_TABLE}.from_escrow_credit`, lit(0)))
|
|
1780
|
-
.as('tot_from_escrow'),
|
|
1781
|
-
])
|
|
1782
|
-
.groupBy(`${exports.TX_BURN_ADJUSTMENT_TABLE}.id`);
|
|
1783
|
-
log.info(`getTxBurnAdjustments ${q.compile().sql}`);
|
|
1784
|
-
const res = yield q.execute();
|
|
1785
|
-
return res
|
|
1786
|
-
.map((r) => ({
|
|
1787
|
-
id: Number(r.id),
|
|
1788
|
-
createdAt: r.created_at,
|
|
1789
|
-
solTxId: Number(r.sol_tx_id),
|
|
1790
|
-
surplusRender: Number(r.surplus_render),
|
|
1791
|
-
consumed: Number(r.tot_from_escrow),
|
|
1792
|
-
}))
|
|
1793
|
-
.filter((a) => a.consumed < a.surplusRender);
|
|
1794
|
-
});
|
|
1795
|
-
},
|
|
1796
|
-
insertPolygonUpgrade(db_1, p_1) {
|
|
1797
|
-
return __awaiter(this, arguments, void 0, function* (db, p, log = logger_1.consoleLogger) {
|
|
1768
|
+
insertPolygonUpgrade(db, p, log = logger_1.consoleLogger) {
|
|
1769
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1798
1770
|
const solTxId = yield getOrInsertTx(db.trx, {
|
|
1799
1771
|
sig: p.solTx.sig,
|
|
1800
1772
|
executedAt: p.solTx.executedAt,
|
|
@@ -1812,8 +1784,8 @@ const pgClient = (config) => {
|
|
|
1812
1784
|
return;
|
|
1813
1785
|
});
|
|
1814
1786
|
},
|
|
1815
|
-
fetchPolygonUpgrades(
|
|
1816
|
-
return __awaiter(this,
|
|
1787
|
+
fetchPolygonUpgrades(db, f, log = logger_1.consoleLogger) {
|
|
1788
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1817
1789
|
let query = db.trx
|
|
1818
1790
|
.selectFrom('polygon_upgrade')
|
|
1819
1791
|
.selectAll('polygon_upgrade')
|
|
@@ -1839,13 +1811,13 @@ const pgClient = (config) => {
|
|
|
1839
1811
|
}));
|
|
1840
1812
|
});
|
|
1841
1813
|
},
|
|
1842
|
-
getCurrentUserGrantSpend(
|
|
1843
|
-
return __awaiter(this,
|
|
1814
|
+
getCurrentUserGrantSpend(db, f, log = logger_1.consoleLogger) {
|
|
1815
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1844
1816
|
return yield getCurrentUserGrantSpend(db.trx, f, log);
|
|
1845
1817
|
});
|
|
1846
1818
|
},
|
|
1847
|
-
deleteAll() {
|
|
1848
|
-
return __awaiter(this,
|
|
1819
|
+
deleteAll(log = logger_1.consoleLogger) {
|
|
1820
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1849
1821
|
if (config.database.includes('render')) {
|
|
1850
1822
|
throw new Error('cannot nuke from deployed database. call from tests only');
|
|
1851
1823
|
}
|
|
@@ -1891,8 +1863,8 @@ const pgClient = (config) => {
|
|
|
1891
1863
|
}
|
|
1892
1864
|
});
|
|
1893
1865
|
},
|
|
1894
|
-
checkPaymentsForDate(
|
|
1895
|
-
return __awaiter(this,
|
|
1866
|
+
checkPaymentsForDate(targetDate, channel = 'both', log = logger_1.consoleLogger) {
|
|
1867
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1896
1868
|
const startOfDay = new Date(targetDate);
|
|
1897
1869
|
startOfDay.setHours(0, 0, 0, 0);
|
|
1898
1870
|
const endOfDay = new Date(targetDate);
|
|
@@ -1943,8 +1915,8 @@ const pgClient = (config) => {
|
|
|
1943
1915
|
}
|
|
1944
1916
|
});
|
|
1945
1917
|
},
|
|
1946
|
-
checkEpochProcessed(
|
|
1947
|
-
return __awaiter(this,
|
|
1918
|
+
checkEpochProcessed(epochId, channel, log = logger_1.consoleLogger) {
|
|
1919
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1948
1920
|
try {
|
|
1949
1921
|
const result = yield db
|
|
1950
1922
|
.selectFrom('epoch')
|
|
@@ -1964,8 +1936,8 @@ const pgClient = (config) => {
|
|
|
1964
1936
|
}
|
|
1965
1937
|
});
|
|
1966
1938
|
},
|
|
1967
|
-
checkRecentPaymentActivity() {
|
|
1968
|
-
return __awaiter(this,
|
|
1939
|
+
checkRecentPaymentActivity(lookbackHours = 2, channel = 'both', log = logger_1.consoleLogger) {
|
|
1940
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1969
1941
|
const lookbackTime = new Date(Date.now() - lookbackHours * 60 * 60 * 1000);
|
|
1970
1942
|
const now = new Date();
|
|
1971
1943
|
try {
|