From 408cc78c7a2059538cfd4177912f62a578f1e94b Mon Sep 17 00:00:00 2001 From: "Sebastian.Bor" Date: Tue, 6 Apr 2021 20:44:13 +0100 Subject: [PATCH] fix: use source mint decimals for voting mints --- .../proposals/src/actions/createProposal.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/proposals/src/actions/createProposal.ts b/packages/proposals/src/actions/createProposal.ts index dd0aeec..793eb5e 100644 --- a/packages/proposals/src/actions/createProposal.ts +++ b/packages/proposals/src/actions/createProposal.ts @@ -15,6 +15,7 @@ import { TimelockStateLayout, } from '../models/timelock'; +const { cache } = contexts.Accounts; const { sendTransactions } = contexts.Connection; const { createMint, createTokenAccount } = actions; const { notify } = utils; @@ -39,6 +40,15 @@ export const createProposal = async ( AccountLayout.span, ); + const sourceMintDecimals = ( + await cache.queryMint( + connection, + useGovernance + ? timelockConfig.info.governanceMint + : timelockConfig.info.councilMint, + ) + ).decimals; + const { sigMint, voteMint, @@ -62,6 +72,7 @@ export const createProposal = async ( mintRentExempt, timelockConfig, useGovernance, + sourceMintDecimals, ); let createTimelockAccountsSigners: Account[] = []; @@ -186,6 +197,7 @@ async function getAssociatedAccountsAndInstructions( mintRentExempt: number, timelockConfig: ParsedAccount, useGovernance: boolean, + sourceMintDecimals: number, ): Promise { const PROGRAM_IDS = utils.programIds(); @@ -224,7 +236,7 @@ async function getAssociatedAccountsAndInstructions( voteMintInstructions, wallet.publicKey, mintRentExempt, - 0, + sourceMintDecimals, authority, authority, voteMintSigners, @@ -234,7 +246,7 @@ async function getAssociatedAccountsAndInstructions( voteMintInstructions, wallet.publicKey, mintRentExempt, - 0, + sourceMintDecimals, authority, authority, voteMintSigners, @@ -244,7 +256,7 @@ async function getAssociatedAccountsAndInstructions( voteMintInstructions, wallet.publicKey, mintRentExempt, - 0, + sourceMintDecimals, authority, authority, voteMintSigners,