Skip to content

Commit 35e59a7

Browse files
committed
Update mint tokens & place orders in script
1 parent 8149024 commit 35e59a7

1 file changed

Lines changed: 75 additions & 16 deletions

File tree

scripts/autocratV0.ts

Lines changed: 75 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -342,12 +342,14 @@ async function placeOrdersOnBothSides(twapMarket: any) {
342342
};
343343

344344
const storedMarket = await openbook.getMarketAccount(market);
345-
let openOrdersAccount = await openbook.createOpenOrders(
346-
payer,
347-
market,
348-
new BN(5),
349-
"oo"
350-
);
345+
let openOrdersAccount = new anchor.web3.PublicKey("CxDQ5RSYebF6mRLDrXYn1An7bawe6S3iyaU5rZBjz4Xs");
346+
// let openOrdersAccount = await openbook.createOpenOrders(
347+
// payer,
348+
// market,
349+
// new BN(1),
350+
// "oo"
351+
// );
352+
// console.log(openOrdersAccount);
351353
// let openOrdersAccount = await openbook.createOpenOrders(market, new BN(4), "oo2");
352354

353355
const userBaseAccount = await token.getOrCreateAssociatedTokenAccount(
@@ -490,6 +492,47 @@ async function placeTakeOrder(twapMarket: any) {
490492
);
491493
}
492494

495+
export async function mintConditionalTokens(
496+
amount: number,
497+
vault: anchor.web3.PublicKey,
498+
) {
499+
const storedVault = await vaultProgram.account.conditionalVault.fetch(vault);
500+
501+
502+
// Setting default values for optional parameters
503+
const userUnderlyingTokenAccount = await getOrCreateAccount(storedVault.underlyingTokenMint);
504+
const userConditionalOnFinalizeTokenAccount = await getOrCreateAccount(storedVault.conditionalOnFinalizeTokenMint);
505+
const userConditionalOnRevertTokenAccount = await getOrCreateAccount(storedVault.conditionalOnRevertTokenMint);
506+
const vaultUnderlyingTokenAccount = storedVault.underlyingTokenAccount;
507+
508+
const bnAmount = new anchor.BN(amount);
509+
510+
// Mint conditional tokens
511+
await vaultProgram.methods
512+
.mintConditionalTokens(bnAmount)
513+
.accounts({
514+
authority: payer.publicKey,
515+
vault,
516+
vaultUnderlyingTokenAccount,
517+
userUnderlyingTokenAccount,
518+
userConditionalOnFinalizeTokenAccount,
519+
userConditionalOnRevertTokenAccount,
520+
conditionalOnFinalizeTokenMint: storedVault.conditionalOnFinalizeTokenMint,
521+
conditionalOnRevertTokenMint: storedVault.conditionalOnRevertTokenMint,
522+
})
523+
.signers([payer])
524+
.rpc();
525+
}
526+
527+
async function getOrCreateAccount(mint: anchor.web3.PublicKey) {
528+
return (await token.getOrCreateAssociatedTokenAccount(
529+
provider.connection,
530+
payer,
531+
mint,
532+
payer.publicKey
533+
)).address;
534+
}
535+
493536
// async function oldMain() {
494537
// let USDC = await createMint(provider.publicKey, provider.publicKey, 6);
495538
// let META = await createMint(provider.publicKey, provider.publicKey, 9);
@@ -571,23 +614,39 @@ const hotWallet = new PublicKey("65U66fcYuNfqN12vzateJhZ4bgDuxFWN9gMwraeQKByg")
571614
async function main() {
572615
const storedDAO = await autocratProgram.account.dao.fetch(dao);
573616

574-
console.log(storedDAO);
617+
// console.log(storedDAO);
575618

576-
const senderMetaAcc = await token.getOrCreateAssociatedTokenAccount(
619+
const usdcAcc = await token.getOrCreateAssociatedTokenAccount(
577620
provider.connection,
578621
payer,
579-
storedDAO.metaMint,
622+
storedDAO.usdcMint,
580623
payer.publicKey
581624
);
625+
let proposal = (await autocratProgram.account.proposal.all())[0];
582626

583-
const receiverMetaAcc = await token.getOrCreateAssociatedTokenAccount(
584-
provider.connection,
585-
payer,
586-
storedDAO.metaMint,
587-
hotWallet
588-
);
589627

590-
await token.transfer(provider.connection, payer, senderMetaAcc.address, receiverMetaAcc.address, payer, 10_000_000_000n);
628+
// await mintConditionalTokens(100 * 1_000_000_000, proposal.account.baseVault);
629+
// await mintConditionalTokens(1000 * 1_000_000, proposal.account.quoteVault);
630+
631+
// console.log(proposal.account);
632+
633+
await placeOrdersOnBothSides(proposal.account.openbookTwapPassMarket);
634+
635+
// const senderMetaAcc = await token.getOrCreateAssociatedTokenAccount(
636+
// provider.connection,
637+
// payer,
638+
// storedDAO.metaMint,
639+
// payer.publicKey
640+
// );
641+
642+
// const receiverMetaAcc = await token.getOrCreateAssociatedTokenAccount(
643+
// provider.connection,
644+
// payer,
645+
// storedDAO.metaMint,
646+
// hotWallet
647+
// );
648+
649+
// await token.transfer(provider.connection, payer, senderMetaAcc.address, receiverMetaAcc.address, payer, 10_000_000_000n);
591650

592651

593652
// await initializeProposal();

0 commit comments

Comments
 (0)