2022-06-11 04:49:45 -07:00
|
|
|
import { AnchorProvider, Wallet } from '@project-serum/anchor';
|
|
|
|
import { Connection, Keypair } from '@solana/web3.js';
|
|
|
|
import fs from 'fs';
|
|
|
|
import { MangoClient } from '../client';
|
|
|
|
|
2022-07-04 06:52:32 -07:00
|
|
|
//
|
|
|
|
// script which shows example usage of ids json (saves having to do gpa)
|
|
|
|
//
|
2022-06-11 04:49:45 -07:00
|
|
|
async function main() {
|
|
|
|
const options = AnchorProvider.defaultOptions();
|
|
|
|
const connection = new Connection(
|
|
|
|
'https://mango.devnet.rpcpool.com',
|
|
|
|
options,
|
|
|
|
);
|
|
|
|
|
|
|
|
const user = Keypair.fromSecretKey(
|
|
|
|
Buffer.from(
|
|
|
|
JSON.parse(fs.readFileSync(process.env.USER_KEYPAIR!, 'utf-8')),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
const userWallet = new Wallet(user);
|
|
|
|
const userProvider = new AnchorProvider(connection, userWallet, options);
|
2022-06-21 11:04:21 -07:00
|
|
|
const client = await MangoClient.connectForGroupName(
|
2022-06-11 04:49:45 -07:00
|
|
|
userProvider,
|
2022-06-21 11:04:21 -07:00
|
|
|
'devnet.microwavedcola' /* Use ids json instead of getProgramAccounts */,
|
2022-06-11 04:49:45 -07:00
|
|
|
);
|
|
|
|
console.log(`User ${userWallet.publicKey.toBase58()}`);
|
|
|
|
|
|
|
|
const admin = Keypair.fromSecretKey(
|
|
|
|
Buffer.from(
|
|
|
|
JSON.parse(fs.readFileSync(process.env.ADMIN_KEYPAIR!, 'utf-8')),
|
|
|
|
),
|
|
|
|
);
|
2022-08-04 00:53:38 -07:00
|
|
|
const group = await client.getGroupForCreator(admin.publicKey, 0);
|
2022-06-11 04:49:45 -07:00
|
|
|
console.log(`Found group ${group.publicKey.toBase58()}`);
|
|
|
|
process.exit();
|
|
|
|
}
|
|
|
|
|
|
|
|
main();
|