43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { Connection, PublicKey } from '@solana/web3.js';
|
|
import { insertSignatures } from './signatures';
|
|
import { Pool } from 'pg';
|
|
|
|
|
|
const pgp = require('pg-promise')({
|
|
capSQL: true,
|
|
});
|
|
|
|
const mangoProgramId =
|
|
process.env.MANGO_PROGRAM_ID ||
|
|
'5fNfvyp5czQVX77yoACa3JJVEhdRaWjPuazuWgjhTqEH';
|
|
|
|
async function initTransactions() {
|
|
const clusterUrl =
|
|
process.env.CLUSTER_URL || 'https://api.mainnet-beta.solana.com';
|
|
const rawConnectionString = process.env.CONNECTION_STRING_RAW;
|
|
|
|
let schema = 'transactions_v3';
|
|
|
|
console.log(clusterUrl);
|
|
let clusterConnection = new Connection(clusterUrl, 'finalized');
|
|
const rawTransactionsPool = new Pool({
|
|
connectionString: rawConnectionString,
|
|
ssl: {
|
|
rejectUnauthorized: false,
|
|
},
|
|
});
|
|
|
|
let signaturesInfo = await clusterConnection.getConfirmedSignaturesForAddress2(new PublicKey(mangoProgramId));
|
|
|
|
await insertSignatures(
|
|
mangoProgramId,
|
|
rawTransactionsPool,
|
|
schema,
|
|
signaturesInfo
|
|
)
|
|
|
|
console.log('transactions table sucessfully initialised')
|
|
}
|
|
|
|
initTransactions();
|
|
|