{"version":3,"file":"amount.mjs","sources":["../src/amount.ts"],"sourcesContent":["import { AlgoAmount } from './types/amount'\n\ndeclare global {\n  interface Number {\n    /**\n     * Returns an `AlgoAmount` using this number of microAlgo.\n     */\n    microAlgos(this: number): AlgoAmount\n    /**\n     * Returns an `AlgoAmount` using this number of Algo.\n     */\n    algos(this: number): AlgoAmount\n    /**\n     * Returns an `AlgoAmount` using this number of microAlgo.\n     */\n    microAlgo(this: number): AlgoAmount\n    /**\n     * Returns an `AlgoAmount` using this number of Algo.\n     */\n    algo(this: number): AlgoAmount\n  }\n  interface BigInt {\n    /**\n     * Returns an `AlgoAmount` using this number of microAlgo.\n     */\n    microAlgo(this: bigint): AlgoAmount\n    /**\n     * Returns an `AlgoAmount` using this number of Algo.\n     */\n    algo(this: bigint): AlgoAmount\n  }\n}\n\nNumber.prototype.microAlgos = function () {\n  return AlgoAmount.MicroAlgo(this)\n}\n\nNumber.prototype.algos = function () {\n  return AlgoAmount.Algo(this)\n}\n\nNumber.prototype.microAlgo = function () {\n  return AlgoAmount.MicroAlgo(this)\n}\n\nNumber.prototype.algo = function () {\n  return AlgoAmount.Algo(this)\n}\n\nBigInt.prototype.microAlgo = function () {\n  return AlgoAmount.MicroAlgo(this)\n}\n\nBigInt.prototype.algo = function () {\n  return AlgoAmount.Algo(this)\n}\n\n/** Returns an amount of Algo using AlgoAmount\n * @param algos The amount of Algo\n */\nexport const algos = (algos: number | bigint) => {\n  return AlgoAmount.Algo(algos)\n}\n\n/** Returns an amount of Algo using AlgoAmount\n * @param algos The amount of Algo\n */\nexport const algo = (algos: number | bigint) => {\n  return AlgoAmount.Algo(algos)\n}\n\n/** Returns an amount of µAlgo using AlgoAmount\n * @param microAlgos The amount of µAlgo\n */\nexport const microAlgos = (microAlgos: number | bigint) => {\n  return AlgoAmount.MicroAlgo(microAlgos)\n}\n\n/** Returns an amount of µAlgo using AlgoAmount\n * @param microAlgos The amount of µAlgo\n */\nexport const microAlgo = (microAlgos: number | bigint) => {\n  return AlgoAmount.MicroAlgo(microAlgos)\n}\n\n/** Returns an amount of µAlgo to cover standard fees for the given number of transactions using AlgoAmount\n * @param numberOfTransactions The of standard transaction fees to return the amount of Algo\n */\nexport const transactionFees = (numberOfTransactions: number) => {\n  return AlgoAmount.MicroAlgo(BigInt(numberOfTransactions) * ALGORAND_MIN_TX_FEE.microAlgo)\n}\n\nexport const ALGORAND_MIN_TX_FEE = AlgoAmount.MicroAlgo(1_000)\n"],"names":[],"mappings":";;AAiCA,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,YAAA;AAC5B,IAAA,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,YAAA;AACvB,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,YAAA;AAC3B,IAAA,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,YAAA;AACtB,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,YAAA;AAC3B,IAAA,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,YAAA;AACtB,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED;;AAEG;AACU,MAAA,KAAK,GAAG,CAAC,KAAsB,KAAI;AAC9C,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/B;AAEA;;AAEG;AACU,MAAA,IAAI,GAAG,CAAC,KAAsB,KAAI;AAC7C,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/B;AAEA;;AAEG;AACU,MAAA,UAAU,GAAG,CAAC,UAA2B,KAAI;AACxD,IAAA,OAAO,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;AACzC;AAEA;;AAEG;AACU,MAAA,SAAS,GAAG,CAAC,UAA2B,KAAI;AACvD,IAAA,OAAO,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;AACzC;AAEA;;AAEG;AACU,MAAA,eAAe,GAAG,CAAC,oBAA4B,KAAI;AAC9D,IAAA,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC;AAC3F;AAEa,MAAA,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,IAAK;;;;"}