From 61a174fcde102a2bb0922d4857ea10d1ecfd46c0 Mon Sep 17 00:00:00 2001 From: guanbinrui Date: Wed, 23 Mar 2022 16:37:27 +0800 Subject: [PATCH 01/10] chore: add scale10 --- packages/web3-shared/base/src/utils/number.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index cae948297267..a6b6823e5321 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -48,6 +48,11 @@ export function pow10(n: BigNumber.Value) { return new BigNumber(10).pow(n) } +/** scale 10 ** n * m */ +export function scale10(m: BigNumber.Value, n: BigNumber.Value) { + return pow10(n).multipliedBy(m) +} + /** n * (10 ** m) */ export function rightShift(n: BigNumber.Value, m: number | undefined | null) { return new BigNumber(n).shiftedBy(+(m ?? 0)) From 26f939ab09737f386885579f968c7b85a220989d Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 16:43:18 +0800 Subject: [PATCH 02/10] refactor: code review Co-authored-by: septs --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index a6b6823e5321..5d253a18b05d 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -50,7 +50,7 @@ export function pow10(n: BigNumber.Value) { /** scale 10 ** n * m */ export function scale10(m: BigNumber.Value, n: BigNumber.Value) { - return pow10(n).multipliedBy(m) + return rightShift(10, n).multipliedBy(m) } /** n * (10 ** m) */ From d896fae19c051a9b2ec1ed2aa6802a828076bf00 Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 16:45:05 +0800 Subject: [PATCH 03/10] refactor: code review --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index 5d253a18b05d..6b9c7333c525 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -50,7 +50,7 @@ export function pow10(n: BigNumber.Value) { /** scale 10 ** n * m */ export function scale10(m: BigNumber.Value, n: BigNumber.Value) { - return rightShift(10, n).multipliedBy(m) + return shiftBy(10, n).multipliedBy(m) } /** n * (10 ** m) */ From 4bb3b2d9909db27f27129431dee67a710f2fe772 Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 16:58:26 +0800 Subject: [PATCH 04/10] refactor: code review --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index 6b9c7333c525..e19d57c0ee59 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -49,7 +49,7 @@ export function pow10(n: BigNumber.Value) { } /** scale 10 ** n * m */ -export function scale10(m: BigNumber.Value, n: BigNumber.Value) { +export function scale10(m: BigNumber.Value, n: BigNumber.Value = 1) { return shiftBy(10, n).multipliedBy(m) } From b95706481bec4e143988a23ba84f24ba190d5079 Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 16:59:22 +0800 Subject: [PATCH 05/10] refactor: code review --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index e19d57c0ee59..461c5016abee 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -50,7 +50,7 @@ export function pow10(n: BigNumber.Value) { /** scale 10 ** n * m */ export function scale10(m: BigNumber.Value, n: BigNumber.Value = 1) { - return shiftBy(10, n).multipliedBy(m) + return BigNumber(10).shiftBy(n).multipliedBy(m) } /** n * (10 ** m) */ From 8be51a9ffed1bd3bf27bcb453d043ca38ec6de3d Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 17:00:29 +0800 Subject: [PATCH 06/10] refactor: code review --- packages/web3-shared/base/src/utils/number.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index 461c5016abee..7c5e6745c822 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -50,7 +50,8 @@ export function pow10(n: BigNumber.Value) { /** scale 10 ** n * m */ export function scale10(m: BigNumber.Value, n: BigNumber.Value = 1) { - return BigNumber(10).shiftBy(n).multipliedBy(m) + const x = BigNumber(10).shiftBy(n) + return n === 1 ? x : x.multipliedBy(m) } /** n * (10 ** m) */ From e65a4035462f772513d752b50b8a18e97a508108 Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 17:07:18 +0800 Subject: [PATCH 07/10] fix: ts error --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index 7c5e6745c822..007f12f62589 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -50,7 +50,7 @@ export function pow10(n: BigNumber.Value) { /** scale 10 ** n * m */ export function scale10(m: BigNumber.Value, n: BigNumber.Value = 1) { - const x = BigNumber(10).shiftBy(n) + const x = new BigNumber(10).shiftBy(n) return n === 1 ? x : x.multipliedBy(m) } From 0236e138f0f142e04c1b57491d9d63df1effb80d Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 17:10:26 +0800 Subject: [PATCH 08/10] fix: ts error --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index 007f12f62589..aa78a406d675 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -50,7 +50,7 @@ export function pow10(n: BigNumber.Value) { /** scale 10 ** n * m */ export function scale10(m: BigNumber.Value, n: BigNumber.Value = 1) { - const x = new BigNumber(10).shiftBy(n) + const x = new BigNumber(10).shiftedBy(n) return n === 1 ? x : x.multipliedBy(m) } From 355bdf26880f149a9683d8d6c1462900123da5c1 Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 17:12:45 +0800 Subject: [PATCH 09/10] fix: ts error --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index aa78a406d675..73b8428034a5 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -49,7 +49,7 @@ export function pow10(n: BigNumber.Value) { } /** scale 10 ** n * m */ -export function scale10(m: BigNumber.Value, n: BigNumber.Value = 1) { +export function scale10(m: number, n: BigNumber.Value = 1) { const x = new BigNumber(10).shiftedBy(n) return n === 1 ? x : x.multipliedBy(m) } From d2fd28386e2461521f3f604ad9f92bb200b7db57 Mon Sep 17 00:00:00 2001 From: guanbinrui <52657989+guanbinrui@users.noreply.github.com> Date: Wed, 23 Mar 2022 17:13:38 +0800 Subject: [PATCH 10/10] fix: ts error --- packages/web3-shared/base/src/utils/number.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/base/src/utils/number.ts b/packages/web3-shared/base/src/utils/number.ts index 73b8428034a5..042a5b0b6deb 100644 --- a/packages/web3-shared/base/src/utils/number.ts +++ b/packages/web3-shared/base/src/utils/number.ts @@ -49,7 +49,7 @@ export function pow10(n: BigNumber.Value) { } /** scale 10 ** n * m */ -export function scale10(m: number, n: BigNumber.Value = 1) { +export function scale10(m: BigNumber.Value, n = 1) { const x = new BigNumber(10).shiftedBy(n) return n === 1 ? x : x.multipliedBy(m) }