@ledgerhq/coin-algorand
Version:
Ledger Algorand Coin integration
24 lines • 967 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ALGORAND_MIN_ACCOUNT_BALANCE = void 0;
exports.computeMinimumBalance = computeMinimumBalance;
exports.computeMaxSpendable = computeMaxSpendable;
exports.ALGORAND_MIN_ACCOUNT_BALANCE = 100000n; // 0.1 ALGO in microAlgos
/**
* Compute minimum balance required for an Algorand account
* Base: 0.1 ALGO + 0.1 ALGO per asset
*/
function computeMinimumBalance(nbAssets, isOptingIn = false) {
const base = 100000n; // 0.1 algo = 100000 microalgos
const newAsset = isOptingIn ? 1n : 0n;
return base * (1n + BigInt(nbAssets) + newAsset);
}
/**
* Compute max spendable balance for an Algorand account
*/
function computeMaxSpendable(balance, nbAssets, isOptingIn = false) {
const minBalance = computeMinimumBalance(nbAssets, isOptingIn);
const maxSpendable = balance - minBalance;
return maxSpendable > 0n ? maxSpendable : 0n;
}
//# sourceMappingURL=common.js.map