update close all script

This commit is contained in:
tjs 2022-08-18 17:54:41 -04:00
parent f40f33f3b3
commit 82ec90f9a0
1 changed files with 18 additions and 9 deletions

View File

@ -9,17 +9,20 @@ import { MANGO_V4_ID } from '../constants';
// by MANGO_MAINNET_PAYER_KEYPAIR in the group. // by MANGO_MAINNET_PAYER_KEYPAIR in the group.
// //
const GROUP_NUM = Number(process.env.GROUP_NUM || 1); const GROUP_NUM = Number(process.env.GROUP_NUM || 2);
const CLUSTER_URL =
process.env.CLUSTER_URL ||
'https://mango.rpcpool.com/946ef7337da3f5b8d3e4a34e7f88';
const MANGO_MAINNET_PAYER_KEYPAIR =
process.env.MANGO_MAINNET_PAYER_KEYPAIR || '';
async function main() { async function main() {
const options = AnchorProvider.defaultOptions(); const options = AnchorProvider.defaultOptions();
const connection = new Connection(process.env.CLUSTER_URL, options); const connection = new Connection(CLUSTER_URL, options);
const admin = Keypair.fromSecretKey( const admin = Keypair.fromSecretKey(
Buffer.from( Buffer.from(
JSON.parse( JSON.parse(fs.readFileSync(MANGO_MAINNET_PAYER_KEYPAIR, 'utf-8')),
fs.readFileSync(process.env.MANGO_MAINNET_PAYER_KEYPAIR!, 'utf-8'),
),
), ),
); );
const userWallet = new Wallet(admin); const userWallet = new Wallet(admin);
@ -31,6 +34,12 @@ async function main() {
); );
console.log(`User ${userWallet.publicKey.toBase58()}`); console.log(`User ${userWallet.publicKey.toBase58()}`);
// const groups = await client.getGroupsForCreator(admin.publicKey);
// console.log(
// 'groups: ',
// groups.map((g) => g.publicKey.toString() + ' ' + g.groupNum.toString()),
// );
const group = await client.getGroupForCreator(admin.publicKey, GROUP_NUM); const group = await client.getGroupForCreator(admin.publicKey, GROUP_NUM);
console.log(group.toString()); console.log(group.toString());
@ -40,14 +49,14 @@ async function main() {
// first, settle all borrows // first, settle all borrows
for (let token of account.tokensActive()) { for (let token of account.tokensActive()) {
const bank = group.findBank(token.tokenIndex); const bank = group.getFirstBankByTokenIndex(token.tokenIndex);
const amount = token.native(bank).toNumber(); const amount = token.native(bank).toNumber();
if (amount < 0) { if (amount < 0) {
try { try {
await client.tokenDepositNative( await client.tokenDepositNative(
group, group,
account, account,
bank.name, bank.mint,
Math.ceil(-amount), Math.ceil(-amount),
); );
await account.reload(client, group); await account.reload(client, group);
@ -66,7 +75,7 @@ async function main() {
// withdraw all funds // withdraw all funds
for (let token of account.tokensActive()) { for (let token of account.tokensActive()) {
const bank = group.findBank(token.tokenIndex); const bank = group.getFirstBankByTokenIndex(token.tokenIndex);
const amount = token.native(bank).toNumber(); const amount = token.native(bank).toNumber();
if (amount > 0) { if (amount > 0) {
try { try {
@ -74,7 +83,7 @@ async function main() {
await client.tokenWithdrawNative( await client.tokenWithdrawNative(
group, group,
account, account,
bank.name, bank.mint,
amount, amount,
allowBorrow, allowBorrow,
); );