diff --git a/staking/app/pythBalance.ts b/staking/app/pythBalance.ts index f08b2299..8a9ed7f9 100644 --- a/staking/app/pythBalance.ts +++ b/staking/app/pythBalance.ts @@ -49,8 +49,9 @@ export class PythBalance { const padded = this.toBN() .toString() .padStart(PYTH_DECIMALS + 1, "0"); + return ( - padded.slice(0, padded.length - PYTH_DECIMALS) + + addCommas(padded.slice(0, padded.length - PYTH_DECIMALS)) + ("." + padded.slice(padded.length - PYTH_DECIMALS)).replace( TRAILING_ZEROS, "" @@ -90,3 +91,7 @@ export class PythBalance { return this.eq(PythBalance.zero()); } } + +const addCommas = (x: string) => { + return x.replace(/\B(?=(\d{3})+(?!\d))/g, ","); +}; diff --git a/staking/tests/pyth_balance.ts b/staking/tests/pyth_balance.ts index a376a3a4..86914220 100644 --- a/staking/tests/pyth_balance.ts +++ b/staking/tests/pyth_balance.ts @@ -96,17 +96,17 @@ describe("pyth balance tests", async () => { it("Tests on 60969.430243", async () => { let amount = PythBalance.fromString("60969.430243"); - assert.equal(amount.toString(), "60969.430243"); + assert.equal(amount.toString(), "60,969.430243"); assert(amount.eq(new PythBalance(new BN(60_969_430_243)))); assert(!amount.isZero()); amount = PythBalance.fromString("060969.430243"); - assert.equal(amount.toString(), "60969.430243"); + assert.equal(amount.toString(), "60,969.430243"); assert(amount.eq(new PythBalance(new BN(60_969_430_243)))); assert(!amount.isZero()); amount = new PythBalance(new BN(60_969_430_243)); - assert.equal(amount.toString(), "60969.430243"); + assert.equal(amount.toString(), "60,969.430243"); assert(amount.eq(new PythBalance(new BN(60_969_430_243)))); assert(amount.toBN().eq(new BN(60_969_430_243))); assert(!amount.isZero());