Untitled
unknown
plain_text
a year ago
2.3 kB
7
Indexable
export const withdrawVaultLiquidity = async () => {
console.log(process.env.ADMIN_KEY);
const secretKeyArray = JSON.parse(process.env.ADMIN_KEY || "[]");
const signerKeyPair = Keypair.fromSecretKey(Uint8Array.from(secretKeyArray));
const publicKey = signerKeyPair.publicKey;
const yesterdayDate = (() => {
const currentDate = new Date();
const dateOnly = new Date(
Date.UTC(
currentDate.getUTCFullYear(),
currentDate.getUTCMonth(),
currentDate.getUTCDate()
)
);
dateOnly.setDate(dateOnly.getDate() - 1);
const day = String(dateOnly.getDate()).padStart(2, "0");
const month = String(dateOnly.getMonth() + 1).padStart(2, "0");
const year = dateOnly.getFullYear();
return `${day}/${month}/${year}`;
})();
const vaultPda = await getVaultPDA(yesterdayDate);
try {
console.log("Derived Vault PDA:", vaultPda.toString());
console.log("Public Key:", publicKey);
const tx = await program.methods
.withdrawVaultLiquidity()
.accounts({
// @ts-ignore
vault: vaultPda,
user: publicKey,
systemProgram: SystemProgram.programId,
})
.transaction();
const { blockhash } = await connection.getLatestBlockhash();
tx.recentBlockhash = blockhash;
tx.feePayer = new PublicKey(publicKey);
const legacyMessage = tx.compileMessage();
const message = new TransactionMessage({
payerKey: new PublicKey(publicKey),
recentBlockhash: legacyMessage.recentBlockhash,
instructions: tx.instructions,
}).compileToV0Message();
const versionedTx = new VersionedTransaction(message);
// const signedTx = await wallet2[0].signTransaction(versionedTx);
console.log("Not Signed transaction:", versionedTx);
const signedTx = versionedTx.sign([signerKeyPair]);
console.log("Signed transaction:", versionedTx);
const txSignature = await connection.sendTransaction(versionedTx);
console.log(
"Transaction signature for withdrawing liquidity:",
txSignature
);
const result = await connection.confirmTransaction(txSignature);
return result;
} catch (error) {
console.error("Error withdrawing vault liquidity:", error);
throw error;
}
};Editor is loading...
Leave a Comment