@render-foundation/utils 0.0.182 → 0.0.184
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 +134 -97
- package/lib/cjs/backfiller.js.map +1 -1
- package/lib/cjs/client/pg/v2Client.js +5 -4
- package/lib/cjs/client/pg/v2Client.js.map +1 -1
- package/lib/cjs/constants.js +3 -1
- package/lib/cjs/constants.js.map +1 -1
- package/lib/esm/src/backfiller.js +138 -102
- package/lib/esm/src/backfiller.js.map +1 -1
- package/lib/esm/src/client/pg/v2Client.js +5 -4
- package/lib/esm/src/client/pg/v2Client.js.map +1 -1
- package/lib/esm/src/constants.js +2 -0
- package/lib/esm/src/constants.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/backfiller.d.ts +7 -5
- package/lib/types/src/backfiller.d.ts.map +1 -1
- package/lib/types/src/client/pg/v2Client.d.ts.map +1 -1
- package/lib/types/src/constants.d.ts +2 -0
- package/lib/types/src/constants.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { PublicKey } from
|
|
2
|
-
import { renderMint, buyAndBurnEscrow, passthruEscrow, v3SquadsVault, upgradeRewardsEscrow, upgradeRewardsCircuitBreaker, usdcMint, devsSquadsVault, masterSquadsVault, bridgeEscrow, polyBridgeEscrow, } from
|
|
3
|
-
import { pgClient } from
|
|
4
|
-
import { emissionDistributorKey, emissionDistributorV1Key
|
|
5
|
-
import { Helius } from
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import { renderMint, buyAndBurnEscrow, passthruEscrow, v3SquadsVault, upgradeRewardsEscrow, upgradeRewardsCircuitBreaker, usdcMint, devsSquadsVault, masterSquadsVault, bridgeEscrow, polyBridgeEscrow, renderComputeNetworkEscrow, } from "./constants";
|
|
3
|
+
import { pgClient } from "./client/pg/v2Client";
|
|
4
|
+
import { emissionDistributorKey, emissionDistributorV1Key } from "@render-foundation/emission-distributor-sdk";
|
|
5
|
+
import { Helius } from "helius-sdk";
|
|
6
6
|
export const solscanProClient = (apiKey) => {
|
|
7
7
|
const headers = {
|
|
8
8
|
token: apiKey,
|
|
9
9
|
};
|
|
10
|
-
const baseUrl =
|
|
10
|
+
const baseUrl = "https://pro-api.solscan.io/v2.0";
|
|
11
11
|
return {
|
|
12
12
|
async getSignaturesForAddress(addr, options) {
|
|
13
13
|
const allSignatures = [];
|
|
@@ -19,7 +19,7 @@ export const solscanProClient = (apiKey) => {
|
|
|
19
19
|
limit: limit.toString(),
|
|
20
20
|
});
|
|
21
21
|
if (before) {
|
|
22
|
-
params.append(
|
|
22
|
+
params.append("before", before);
|
|
23
23
|
}
|
|
24
24
|
const endpoint = `${baseUrl}/account/transactions?${params}`;
|
|
25
25
|
const response = await fetch(endpoint, { headers });
|
|
@@ -31,18 +31,15 @@ export const solscanProClient = (apiKey) => {
|
|
|
31
31
|
const transformedSigs = signatures.map((tx) => ({
|
|
32
32
|
signature: tx.txHash || tx.signature,
|
|
33
33
|
blockTime: tx.blockTime || tx.block_time || 0,
|
|
34
|
-
err: tx.status !==
|
|
34
|
+
err: tx.status !== "Success" ? { err: tx.status } : null,
|
|
35
35
|
}));
|
|
36
36
|
allSignatures.push(...transformedSigs);
|
|
37
|
-
if (signatures.length < limit ||
|
|
38
|
-
(options?.limit && allSignatures.length >= options.limit)) {
|
|
37
|
+
if (signatures.length < limit || (options?.limit && allSignatures.length >= options.limit)) {
|
|
39
38
|
break;
|
|
40
39
|
}
|
|
41
40
|
// Set before to the last signature for next page
|
|
42
41
|
if (signatures.length > 0) {
|
|
43
|
-
before =
|
|
44
|
-
signatures[signatures.length - 1].txHash ||
|
|
45
|
-
signatures[signatures.length - 1].signature;
|
|
42
|
+
before = signatures[signatures.length - 1].txHash || signatures[signatures.length - 1].signature;
|
|
46
43
|
}
|
|
47
44
|
}
|
|
48
45
|
return allSignatures.slice(0, options?.limit);
|
|
@@ -56,14 +53,14 @@ export const solscanProClient = (apiKey) => {
|
|
|
56
53
|
const data = await response.json();
|
|
57
54
|
return {
|
|
58
55
|
meta: {
|
|
59
|
-
err: data.status !==
|
|
56
|
+
err: data.status !== "Success" ? { err: data.status } : null,
|
|
60
57
|
logMessages: data.logMessages || [],
|
|
61
58
|
preTokenBalances: data.inputAccount || [],
|
|
62
59
|
postTokenBalances: data.outputAccount || [],
|
|
63
60
|
},
|
|
64
61
|
blockTime: data.blockTime || data.block_time || 0,
|
|
65
62
|
status: data.status,
|
|
66
|
-
err: data.status !==
|
|
63
|
+
err: data.status !== "Success" ? { err: data.status } : null,
|
|
67
64
|
tokenBalances: data.tokenBalances || [],
|
|
68
65
|
preTokenBalances: data.inputAccount || [],
|
|
69
66
|
postTokenBalances: data.outputAccount || [],
|
|
@@ -81,18 +78,18 @@ export const solscanProClient = (apiKey) => {
|
|
|
81
78
|
page_size: pageSize.toString(),
|
|
82
79
|
});
|
|
83
80
|
if (f.mint) {
|
|
84
|
-
params.append(
|
|
81
|
+
params.append("token", f.mint.toString());
|
|
85
82
|
}
|
|
86
83
|
if (f.flow) {
|
|
87
|
-
params.append(
|
|
84
|
+
params.append("flow", f.flow);
|
|
88
85
|
}
|
|
89
86
|
if (f.tokenAccount) {
|
|
90
|
-
params.append(
|
|
87
|
+
params.append("token_account", f.tokenAccount.toString());
|
|
91
88
|
}
|
|
92
89
|
const endpoint = `${baseUrl}/account/balance_change?${params}`;
|
|
93
90
|
const response = await fetch(endpoint, { headers });
|
|
94
91
|
if (f.tokenAccount.toString() === polyBridgeEscrow) {
|
|
95
|
-
console.log(
|
|
92
|
+
console.log("Poly solscan response: ", JSON.stringify(response));
|
|
96
93
|
}
|
|
97
94
|
if (!response.ok) {
|
|
98
95
|
console.error(`Failed to fetch balance changes: ${response.statusText}`);
|
|
@@ -101,10 +98,10 @@ export const solscanProClient = (apiKey) => {
|
|
|
101
98
|
const body = await response.json();
|
|
102
99
|
const transfers = [];
|
|
103
100
|
if (f.tokenAccount.toString() === polyBridgeEscrow) {
|
|
104
|
-
console.log(
|
|
101
|
+
console.log("poly solscan data: ", JSON.stringify(body));
|
|
105
102
|
}
|
|
106
103
|
for (const item of body.data || []) {
|
|
107
|
-
if (item.change_type === (f.flow ===
|
|
104
|
+
if (item.change_type === (f.flow === "in" ? "inc" : "dec")) {
|
|
108
105
|
transfers.push({
|
|
109
106
|
amount: Math.abs(item.amount || 0),
|
|
110
107
|
tokenDecimals: item.token_decimals || 0,
|
|
@@ -122,7 +119,7 @@ export const solscanProClient = (apiKey) => {
|
|
|
122
119
|
return allTransfers.filter((t) => t.amount !== 0);
|
|
123
120
|
}
|
|
124
121
|
catch (error) {
|
|
125
|
-
console.error(
|
|
122
|
+
console.error("Error in getBalanceChange:", error);
|
|
126
123
|
return [];
|
|
127
124
|
}
|
|
128
125
|
},
|
|
@@ -150,12 +147,8 @@ export const solscanProClient = (apiKey) => {
|
|
|
150
147
|
transfers.push({
|
|
151
148
|
amount: item.amount || 0,
|
|
152
149
|
tokenDecimals: item.token_decimals || 0,
|
|
153
|
-
fromAddress: item.from_address
|
|
154
|
-
|
|
155
|
-
: undefined,
|
|
156
|
-
toAddress: item.to_address
|
|
157
|
-
? new PublicKey(item.to_address)
|
|
158
|
-
: undefined,
|
|
150
|
+
fromAddress: item.from_address ? new PublicKey(item.from_address) : undefined,
|
|
151
|
+
toAddress: item.to_address ? new PublicKey(item.to_address) : undefined,
|
|
159
152
|
sig: item.trans_id,
|
|
160
153
|
blockTime: item.block_time || 0,
|
|
161
154
|
});
|
|
@@ -169,14 +162,14 @@ export const solscanProClient = (apiKey) => {
|
|
|
169
162
|
return allTransfers.filter((t) => t.amount !== 0);
|
|
170
163
|
}
|
|
171
164
|
catch (error) {
|
|
172
|
-
console.error(
|
|
165
|
+
console.error("Error in getTransfers:", error);
|
|
173
166
|
throw new Error(`Failed to get transfers: ${error}`);
|
|
174
167
|
}
|
|
175
168
|
},
|
|
176
169
|
};
|
|
177
170
|
};
|
|
178
171
|
export const heliusClient = (apiKey) => {
|
|
179
|
-
const helius = new Helius(apiKey,
|
|
172
|
+
const helius = new Helius(apiKey, "mainnet-beta");
|
|
180
173
|
return {
|
|
181
174
|
async getSignaturesForAddress(addr, options) {
|
|
182
175
|
return helius.connection.getSignaturesForAddress(addr, {
|
|
@@ -218,8 +211,7 @@ export const heliusClient = (apiKey) => {
|
|
|
218
211
|
const change = postAmount - preAmount;
|
|
219
212
|
if (change !== 0) {
|
|
220
213
|
const isInflow = change > 0;
|
|
221
|
-
if ((f.flow ===
|
|
222
|
-
(f.flow === 'out' && !isInflow)) {
|
|
214
|
+
if ((f.flow === "in" && isInflow) || (f.flow === "out" && !isInflow)) {
|
|
223
215
|
transfers.push({
|
|
224
216
|
amount: Math.abs(change),
|
|
225
217
|
tokenDecimals: postBalance.uiTokenAmount?.decimals || 0,
|
|
@@ -237,7 +229,7 @@ export const heliusClient = (apiKey) => {
|
|
|
237
229
|
return transfers.filter((t) => t.amount !== 0);
|
|
238
230
|
}
|
|
239
231
|
catch (error) {
|
|
240
|
-
console.error(
|
|
232
|
+
console.error("Error in getBalanceChange:", error);
|
|
241
233
|
return [];
|
|
242
234
|
}
|
|
243
235
|
},
|
|
@@ -278,12 +270,9 @@ export const heliusClient = (apiKey) => {
|
|
|
278
270
|
}
|
|
279
271
|
// Find transfers involving the target address
|
|
280
272
|
for (const [accountIndex, balanceChange] of balanceChanges) {
|
|
281
|
-
const isFromTarget = balanceChange.owner === f.addr.toString() &&
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
balanceChange.change > 0;
|
|
285
|
-
if ((f.flow === 'out' && isFromTarget) ||
|
|
286
|
-
(f.flow === 'in' && isToTarget)) {
|
|
273
|
+
const isFromTarget = balanceChange.owner === f.addr.toString() && balanceChange.change < 0;
|
|
274
|
+
const isToTarget = balanceChange.owner === f.addr.toString() && balanceChange.change > 0;
|
|
275
|
+
if ((f.flow === "out" && isFromTarget) || (f.flow === "in" && isToTarget)) {
|
|
287
276
|
// Find the counterpart transfer
|
|
288
277
|
let fromAddress;
|
|
289
278
|
let toAddress;
|
|
@@ -291,8 +280,7 @@ export const heliusClient = (apiKey) => {
|
|
|
291
280
|
fromAddress = f.addr;
|
|
292
281
|
// Find who received the tokens
|
|
293
282
|
for (const [_, otherChange] of balanceChanges) {
|
|
294
|
-
if (otherChange.owner !== f.addr.toString() &&
|
|
295
|
-
otherChange.change > 0) {
|
|
283
|
+
if (otherChange.owner !== f.addr.toString() && otherChange.change > 0) {
|
|
296
284
|
toAddress = new PublicKey(otherChange.owner);
|
|
297
285
|
break;
|
|
298
286
|
}
|
|
@@ -302,8 +290,7 @@ export const heliusClient = (apiKey) => {
|
|
|
302
290
|
toAddress = f.addr;
|
|
303
291
|
// Find who sent the tokens
|
|
304
292
|
for (const [_, otherChange] of balanceChanges) {
|
|
305
|
-
if (otherChange.owner !== f.addr.toString() &&
|
|
306
|
-
otherChange.change < 0) {
|
|
293
|
+
if (otherChange.owner !== f.addr.toString() && otherChange.change < 0) {
|
|
307
294
|
fromAddress = new PublicKey(otherChange.owner);
|
|
308
295
|
break;
|
|
309
296
|
}
|
|
@@ -327,7 +314,7 @@ export const heliusClient = (apiKey) => {
|
|
|
327
314
|
return transfers.filter((t) => t.amount !== 0);
|
|
328
315
|
}
|
|
329
316
|
catch (error) {
|
|
330
|
-
console.error(
|
|
317
|
+
console.error("Error in getTransfers:", error);
|
|
331
318
|
throw new Error(`Failed to get transfers: ${error}`);
|
|
332
319
|
}
|
|
333
320
|
},
|
|
@@ -349,23 +336,31 @@ export class Backfiller {
|
|
|
349
336
|
this.isDryRun = isDryRun;
|
|
350
337
|
}
|
|
351
338
|
emit() {
|
|
352
|
-
this._types[
|
|
339
|
+
this._types["emit"] = {};
|
|
353
340
|
return this;
|
|
354
341
|
}
|
|
355
342
|
loans() {
|
|
356
|
-
this._types[
|
|
343
|
+
this._types["loan"] = {};
|
|
357
344
|
return this;
|
|
358
345
|
}
|
|
359
346
|
buyBurnUSDCInflow() {
|
|
360
|
-
this._types[
|
|
347
|
+
this._types["buyBurnUSDCInflow"] = {};
|
|
361
348
|
return this;
|
|
362
349
|
}
|
|
363
350
|
manualMint() {
|
|
364
|
-
this._types[
|
|
351
|
+
this._types["manualMint"] = {};
|
|
352
|
+
return this;
|
|
353
|
+
}
|
|
354
|
+
renderComputeNetwork() {
|
|
355
|
+
this._types["renderComputeNetwork"] = {};
|
|
356
|
+
return this;
|
|
357
|
+
}
|
|
358
|
+
burnRENDERInflow() {
|
|
359
|
+
this._types["burnRENDERInflow"] = {};
|
|
365
360
|
return this;
|
|
366
361
|
}
|
|
367
362
|
vaultOutflows(p) {
|
|
368
|
-
this._types[
|
|
363
|
+
this._types["vaultOutflows"] = {};
|
|
369
364
|
this.solscan.pageSize = p.pageSize || 100;
|
|
370
365
|
return this;
|
|
371
366
|
}
|
|
@@ -373,7 +368,7 @@ export class Backfiller {
|
|
|
373
368
|
this._txs.push(...sigs);
|
|
374
369
|
}
|
|
375
370
|
formatAmount(amount, decimals = 8) {
|
|
376
|
-
const amt = typeof amount ===
|
|
371
|
+
const amt = typeof amount === "bigint" ? Number(amount) : amount;
|
|
377
372
|
return (amt / Math.pow(10, decimals)).toLocaleString(undefined, {
|
|
378
373
|
maximumFractionDigits: 8,
|
|
379
374
|
minimumFractionDigits: 0,
|
|
@@ -386,67 +381,67 @@ export class Backfiller {
|
|
|
386
381
|
const trs = [
|
|
387
382
|
{
|
|
388
383
|
transfer: {
|
|
389
|
-
toSolKey:
|
|
384
|
+
toSolKey: "2P2gisXpbsYEUsTDQKdcDKSg1UZvx7qxfLTkvJGZdeJC",
|
|
390
385
|
fromSolKey: v3SquadsVault,
|
|
391
|
-
solTx:
|
|
392
|
-
executedAt: new Date(
|
|
393
|
-
symbol:
|
|
394
|
-
channel:
|
|
386
|
+
solTx: "3oC8BybX5YrkfPyvV8rAE1tnJr6egtZFHLghqHuLi3eaT4aWm87qZPJFrjFRn6nwVemd2ponsew85tBs6VVQzTJv",
|
|
387
|
+
executedAt: new Date("December 22, 2023 04:13:58 UTC"),
|
|
388
|
+
symbol: "RENDER",
|
|
389
|
+
channel: "loan",
|
|
395
390
|
amountPayed: BigInt(44999 * Math.pow(10, 8)),
|
|
396
391
|
},
|
|
397
392
|
},
|
|
398
393
|
{
|
|
399
394
|
transfer: {
|
|
400
|
-
toSolKey:
|
|
395
|
+
toSolKey: "2P2gisXpbsYEUsTDQKdcDKSg1UZvx7qxfLTkvJGZdeJC",
|
|
401
396
|
fromSolKey: v3SquadsVault,
|
|
402
|
-
channel:
|
|
403
|
-
solTx:
|
|
404
|
-
executedAt: new Date(
|
|
405
|
-
symbol:
|
|
397
|
+
channel: "loan",
|
|
398
|
+
solTx: "2f5sEBHcP8wpF79voUEUiP8pryDt7FvqrTXQrEpXzAxbzyFYPkavZGtJc5N8CXhfbJav8hQTr9YcENKseiouaWzc",
|
|
399
|
+
executedAt: new Date("December 22, 2023 02:39:53 UTC"),
|
|
400
|
+
symbol: "RENDER",
|
|
406
401
|
amountPayed: BigInt(1 * Math.pow(10, 8)),
|
|
407
402
|
},
|
|
408
403
|
},
|
|
409
404
|
{
|
|
410
405
|
transfer: {
|
|
411
|
-
toSolKey:
|
|
406
|
+
toSolKey: "5DGbogKUo8haEYC9Tt4FTHE5ue55bjLC4DpSgE1g6yT1",
|
|
412
407
|
fromSolKey: v3SquadsVault,
|
|
413
|
-
channel:
|
|
414
|
-
solTx:
|
|
415
|
-
executedAt: new Date(
|
|
416
|
-
symbol:
|
|
408
|
+
channel: "loan",
|
|
409
|
+
solTx: "42n55BZcKVBCSZQoaneBQLn57v7zZGZorGe3uBLheGu4BQtpaTChdT1z3vHwgU4MHghJw3wJ72rFLkib761ewJCj",
|
|
410
|
+
executedAt: new Date("January 12, 2024 00:17:02 UTC"),
|
|
411
|
+
symbol: "RENDER",
|
|
417
412
|
amountPayed: BigInt(1 * Math.pow(10, 8)),
|
|
418
413
|
},
|
|
419
414
|
},
|
|
420
415
|
{
|
|
421
416
|
transfer: {
|
|
422
|
-
toSolKey:
|
|
417
|
+
toSolKey: "5DGbogKUo8haEYC9Tt4FTHE5ue55bjLC4DpSgE1g6yT1",
|
|
423
418
|
fromSolKey: v3SquadsVault,
|
|
424
|
-
channel:
|
|
425
|
-
solTx:
|
|
426
|
-
executedAt: new Date(
|
|
427
|
-
symbol:
|
|
419
|
+
channel: "loan",
|
|
420
|
+
solTx: "THJLvA1UTqH22hNP7Ecnfn4iY736VJAZ8scgSUjrDDaGpSQJmGYKJYXGtDu6TB96fKo6mJBtUBZvLb4ors17JUR",
|
|
421
|
+
executedAt: new Date("January 17, 2024 22:09:58 UTC"),
|
|
422
|
+
symbol: "RENDER",
|
|
428
423
|
amountPayed: BigInt(49999 * Math.pow(10, 8)),
|
|
429
424
|
},
|
|
430
425
|
},
|
|
431
426
|
{
|
|
432
427
|
transfer: {
|
|
433
|
-
toSolKey:
|
|
428
|
+
toSolKey: "5DGbogKUo8haEYC9Tt4FTHE5ue55bjLC4DpSgE1g6yT1",
|
|
434
429
|
fromSolKey: devsSquadsVault,
|
|
435
|
-
channel:
|
|
436
|
-
solTx:
|
|
437
|
-
executedAt: new Date(
|
|
438
|
-
symbol:
|
|
430
|
+
channel: "loan",
|
|
431
|
+
solTx: "5BcxrMExq34jtMB5c3bH3A8TN4pCp9sxjC5HMcS7Mh8pig3r2eQhvRnJeE1RBTyQ4JDXyANWmDU9SKdYFyT2wDoq",
|
|
432
|
+
executedAt: new Date("February 28, 2024 22:43:21 UTC"),
|
|
433
|
+
symbol: "RENDER",
|
|
439
434
|
amountPayed: BigInt(1 * Math.pow(10, 8)),
|
|
440
435
|
},
|
|
441
436
|
},
|
|
442
437
|
{
|
|
443
438
|
transfer: {
|
|
444
|
-
toSolKey:
|
|
439
|
+
toSolKey: "5DGbogKUo8haEYC9Tt4FTHE5ue55bjLC4DpSgE1g6yT1",
|
|
445
440
|
fromSolKey: devsSquadsVault,
|
|
446
|
-
channel:
|
|
447
|
-
solTx:
|
|
448
|
-
executedAt: new Date(
|
|
449
|
-
symbol:
|
|
441
|
+
channel: "loan",
|
|
442
|
+
solTx: "5E4E35CT4e3fhbMAwcKdfAvJL4uUHR8hHE8REmKnDCEsFZ6mxaE1YyeYK8Sbg5AJqBJxsZkcYSohY8T14YLC5pXs",
|
|
443
|
+
executedAt: new Date("February 29, 2024 01:17:51 UTC"),
|
|
444
|
+
symbol: "RENDER",
|
|
450
445
|
amountPayed: BigInt(199999 * Math.pow(10, 8)),
|
|
451
446
|
},
|
|
452
447
|
},
|
|
@@ -778,9 +773,44 @@ export class Backfiller {
|
|
|
778
773
|
}
|
|
779
774
|
}
|
|
780
775
|
}
|
|
781
|
-
else if (t ==
|
|
776
|
+
else if (t == "loan") {
|
|
782
777
|
await this.indexLoans();
|
|
783
778
|
}
|
|
779
|
+
else if (t == "renderComputeNetwork") {
|
|
780
|
+
const trs = await this.solscanClient.getTransfers({
|
|
781
|
+
mint: new PublicKey(renderMint),
|
|
782
|
+
flow: "in",
|
|
783
|
+
addr: new PublicKey(renderComputeNetworkEscrow),
|
|
784
|
+
});
|
|
785
|
+
for (const t of trs) {
|
|
786
|
+
if (!this.isDryRun) {
|
|
787
|
+
console.log(`renderComputeNetwork: ${JSON.stringify(t)}`);
|
|
788
|
+
}
|
|
789
|
+
const { stop } = await this.indexTransfers({ [renderComputeNetworkEscrow]: { mint: renderMint, amt: t.amount } }, { blockTime: t.blockTime, sig: t.sig }, t.fromAddress.toString(), "internal");
|
|
790
|
+
if (stop) {
|
|
791
|
+
break;
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
else if (t == "burnRENDERInflow") {
|
|
796
|
+
const trs = await this.solscanClient.getTransfers({
|
|
797
|
+
mint: new PublicKey(renderMint),
|
|
798
|
+
flow: "out",
|
|
799
|
+
addr: new PublicKey(devsSquadsVault),
|
|
800
|
+
});
|
|
801
|
+
for (const t of trs) {
|
|
802
|
+
if (t.toAddress?.toString() !== buyAndBurnEscrow) {
|
|
803
|
+
continue;
|
|
804
|
+
}
|
|
805
|
+
if (!this.isDryRun) {
|
|
806
|
+
console.log(`burnRENDERInflow: ${JSON.stringify(t)}`);
|
|
807
|
+
}
|
|
808
|
+
const { stop } = await this.indexTransfers({ [buyAndBurnEscrow]: { mint: renderMint, amt: t.amount } }, { blockTime: t.blockTime, sig: t.sig }, t.fromAddress.toString(), "internal");
|
|
809
|
+
if (stop) {
|
|
810
|
+
break;
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
}
|
|
784
814
|
}
|
|
785
815
|
}
|
|
786
816
|
}
|
|
@@ -788,29 +818,27 @@ async function main() {
|
|
|
788
818
|
const args = process.argv.slice(2);
|
|
789
819
|
const getArgValue = (argName) => {
|
|
790
820
|
const argIndex = args.indexOf(`--${argName}`);
|
|
791
|
-
return argIndex !== -1 && argIndex + 1 < args.length
|
|
792
|
-
? args[argIndex + 1]
|
|
793
|
-
: undefined;
|
|
821
|
+
return argIndex !== -1 && argIndex + 1 < args.length ? args[argIndex + 1] : undefined;
|
|
794
822
|
};
|
|
795
823
|
const hasFlag = (flagName) => {
|
|
796
824
|
return args.includes(`--${flagName}`);
|
|
797
825
|
};
|
|
798
|
-
const solscanApiKey = getArgValue(
|
|
826
|
+
const solscanApiKey = getArgValue("solscanApiKey");
|
|
799
827
|
if (!solscanApiKey) {
|
|
800
|
-
console.error(
|
|
828
|
+
console.error("Error: --solscanApiKey is required");
|
|
801
829
|
process.exit(1);
|
|
802
830
|
}
|
|
803
|
-
const heliusApiKey = getArgValue(
|
|
831
|
+
const heliusApiKey = getArgValue("heliusApiKey");
|
|
804
832
|
if (!heliusApiKey) {
|
|
805
|
-
console.error(
|
|
833
|
+
console.error("Error: --heliusApiKey is required");
|
|
806
834
|
process.exit(1);
|
|
807
835
|
}
|
|
808
|
-
const isDryRun = hasFlag(
|
|
836
|
+
const isDryRun = hasFlag("dryRun");
|
|
809
837
|
let pg;
|
|
810
838
|
if (!isDryRun) {
|
|
811
|
-
const pgUrl = getArgValue(
|
|
839
|
+
const pgUrl = getArgValue("pgUrl");
|
|
812
840
|
if (!pgUrl) {
|
|
813
|
-
console.error(
|
|
841
|
+
console.error("Error: --pgUrl is required (unless using --dryRun)");
|
|
814
842
|
process.exit(1);
|
|
815
843
|
}
|
|
816
844
|
pg = pgClient({
|
|
@@ -818,30 +846,38 @@ async function main() {
|
|
|
818
846
|
});
|
|
819
847
|
}
|
|
820
848
|
const backfiller = new Backfiller(solscanApiKey, heliusApiKey, pg, isDryRun);
|
|
821
|
-
if (hasFlag(
|
|
849
|
+
if (hasFlag("loans")) {
|
|
822
850
|
backfiller.loans();
|
|
823
851
|
}
|
|
824
|
-
if (hasFlag(
|
|
852
|
+
if (hasFlag("vaultOutflows")) {
|
|
825
853
|
backfiller.vaultOutflows({});
|
|
826
854
|
}
|
|
827
|
-
if (hasFlag(
|
|
855
|
+
if (hasFlag("emissions")) {
|
|
828
856
|
backfiller.emit();
|
|
829
857
|
}
|
|
830
|
-
if (hasFlag(
|
|
858
|
+
if (hasFlag("buyBurnUSDCInflow")) {
|
|
831
859
|
backfiller.buyBurnUSDCInflow();
|
|
832
860
|
}
|
|
833
|
-
if (hasFlag(
|
|
861
|
+
if (hasFlag("manualMints")) {
|
|
834
862
|
backfiller.manualMint();
|
|
835
863
|
}
|
|
836
|
-
if (hasFlag(
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
864
|
+
if (hasFlag("renderComputeNetwork")) {
|
|
865
|
+
backfiller.renderComputeNetwork();
|
|
866
|
+
}
|
|
867
|
+
if (hasFlag("burnRENDERInflow")) {
|
|
868
|
+
backfiller.burnRENDERInflow();
|
|
869
|
+
}
|
|
870
|
+
if (hasFlag("loans") ||
|
|
871
|
+
hasFlag("vaultOutflows") ||
|
|
872
|
+
hasFlag("emissions") ||
|
|
873
|
+
hasFlag("buyBurnUSDCInflow") ||
|
|
874
|
+
hasFlag("manualMints") ||
|
|
875
|
+
hasFlag("renderComputeNetwork") ||
|
|
876
|
+
hasFlag("burnRENDERInflow")) {
|
|
841
877
|
await backfiller.run();
|
|
842
878
|
}
|
|
843
879
|
else {
|
|
844
|
-
console.log(
|
|
880
|
+
console.log("No operations specified. Available flags: --loans, --vaultOutflows, --emissions, --buyBurnUSDCInflow, --manualMints, --renderComputeNetwork, --burnRENDERInflow, --dryRun");
|
|
845
881
|
}
|
|
846
882
|
}
|
|
847
883
|
if (require.main === module) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backfiller.js","sourceRoot":"","sources":["../../../src/backfiller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backfiller.js","sourceRoot":"","sources":["../../../src/backfiller.ts"],"names":[],"mappings":"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"}
|