From 5a44fb065ed0dd0e20c810cfcf4e8b734d20b3f3 Mon Sep 17 00:00:00 2001 From: M <44983729+swaggymarie@users.noreply.github.com> Date: Thu, 6 Jun 2024 08:34:19 +0400 Subject: [PATCH] add crank ix to finalize (#144) * add crank ix to finalize * same tx --- lib/client/rpc/proposals/finalizeProposal.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/client/rpc/proposals/finalizeProposal.ts b/lib/client/rpc/proposals/finalizeProposal.ts index 64870df..56cb13a 100644 --- a/lib/client/rpc/proposals/finalizeProposal.ts +++ b/lib/client/rpc/proposals/finalizeProposal.ts @@ -14,6 +14,7 @@ import { ConditionalVault } from "@/idl/conditional_vault_v0.2"; import { TransactionSender } from "@/transactions"; import { AutocratClient, + InstructionUtils, getAmmAddr, getAmmLpMintAddr, getDaoTreasuryAddr, @@ -22,6 +23,7 @@ import { getVaultRevertMintAddr } from "@metadaoproject/futarchy"; import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import { Transaction } from "@solana/web3.js"; export class FinalizeProposalClient implements FinalizeProposal { private proposalsClient: FutarchyProposalsClient; @@ -129,6 +131,7 @@ export class FinalizeProposalClient implements FinalizeProposal { const proposalAccount = await this.autocratClient.getProposal( proposal.publicKey ); + const dao = await this.autocratClient.getDao(proposalAccount.dao); const finalizeProposalTx = await this.autocratClient .finalizeProposalIx( @@ -139,13 +142,20 @@ export class FinalizeProposalClient implements FinalizeProposal { dao.usdcMint, proposalAccount.proposer ) + .preInstructions( + await InstructionUtils.getInstructions( + this.autocratClient.ammClient.crankThatTwapIx(proposal.failMarket), + this.autocratClient.ammClient.crankThatTwapIx(proposal.passMarket)) + ) .transaction(); return await this.transactionSender?.send( [finalizeProposalTx], this.rpcProvider.connection, { - customErrors: [this.autocratClient.autocrat.idl.errors] + customErrors: [ + this.autocratClient.autocrat.idl.errors + ] }, { title: "Finalizing Proposal" } );