UNPKG

@ledgerhq/coin-canton

Version:
19 lines 1.08 kB
import BigNumber from "bignumber.js"; import { getMainAccount } from "@ledgerhq/coin-framework/account/index"; import { getAbandonSeedAddress } from "@ledgerhq/cryptoassets/abandonseed"; import { getTransactionStatus } from "./getTransactionStatus"; import { prepareTransaction } from "./prepareTransaction"; import { createTransaction } from "./createTransaction"; export const estimateMaxSpendable = async ({ account, parentAccount, transaction, }) => { const mainAccount = getMainAccount(account, parentAccount); const newTransaction = await prepareTransaction(mainAccount, { ...createTransaction(account), ...transaction, // fee estimation might require a recipient to work, in that case, we use a dummy one recipient: transaction?.recipient || getAbandonSeedAddress("boilerplate"), amount: new BigNumber(0), }); const status = await getTransactionStatus(mainAccount, newTransaction); return BigNumber.max(0, account.spendableBalance.minus(status.estimatedFees)); }; //# sourceMappingURL=estimateMaxSpendable.js.map