viem 0.3.48 → 0.3.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.3.48';
4
+ exports.version = '0.3.49';
5
5
  //# sourceMappingURL=version.js.map
@@ -16,7 +16,15 @@ function parseUnits(value, decimals) {
16
16
  fraction.slice(0, decimals),
17
17
  fraction.slice(decimals),
18
18
  ];
19
- fraction = `${before.slice(0, before.length - 1)}${Math.round(Number(`${before.slice(-1)}.${after}`))}`;
19
+ const zeros = before.match(/^0+/)?.[0].length ?? 0;
20
+ const rounded = Math.round(Number(`.${after}`));
21
+ fraction = `${zeros > 0 ? before.slice(0, zeros - (rounded > 0 ? 1 : 0)) : ''}${Math.round(Number(`${before}.${after}`)) === 0
22
+ ? ''
23
+ : Math.round(Number(`${before}.${after}`))}`;
24
+ if (fraction.replace(/^0+/, '').length > decimals) {
25
+ integer = `${BigInt(integer) + 1n}`;
26
+ fraction = fraction.slice(1);
27
+ }
20
28
  }
21
29
  else {
22
30
  fraction = fraction.padEnd(decimals, '0');
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QACD,QAAQ,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAC3D,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CACvC,EAAE,CAAA;KACJ;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC;AA1BD,gCA0BC"}
1
+ {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,QAAQ,GAAG,GACT,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/D,GACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAC7C,EAAE,CAAA;QACF,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,QAAQ,EAAE;YACjD,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAA;YACnC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SAC7B;KACF;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC;AArCD,gCAqCC"}
@@ -1,2 +1,2 @@
1
- export const version = '0.3.48';
1
+ export const version = '0.3.49';
2
2
  //# sourceMappingURL=version.js.map
@@ -13,7 +13,15 @@ export function parseUnits(value, decimals) {
13
13
  fraction.slice(0, decimals),
14
14
  fraction.slice(decimals),
15
15
  ];
16
- fraction = `${before.slice(0, before.length - 1)}${Math.round(Number(`${before.slice(-1)}.${after}`))}`;
16
+ const zeros = before.match(/^0+/)?.[0].length ?? 0;
17
+ const rounded = Math.round(Number(`.${after}`));
18
+ fraction = `${zeros > 0 ? before.slice(0, zeros - (rounded > 0 ? 1 : 0)) : ''}${Math.round(Number(`${before}.${after}`)) === 0
19
+ ? ''
20
+ : Math.round(Number(`${before}.${after}`))}`;
21
+ if (fraction.replace(/^0+/, '').length > decimals) {
22
+ integer = `${BigInt(integer) + 1n}`;
23
+ fraction = fraction.slice(1);
24
+ }
17
25
  }
18
26
  else {
19
27
  fraction = fraction.padEnd(decimals, '0');
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QACD,QAAQ,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAC3D,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CACvC,EAAE,CAAA;KACJ;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC"}
1
+ {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,QAAQ,GAAG,GACT,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/D,GACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAC7C,EAAE,CAAA;QACF,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,QAAQ,EAAE;YACjD,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAA;YACnC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SAC7B;KACF;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.3.48";
1
+ export declare const version = "0.3.49";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnits.d.ts","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,UA0B9D"}
1
+ {"version":3,"file":"parseUnits.d.ts","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,UAqC9D"}
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "isomorphic-ws": "5.0.0",
13
13
  "ws": "8.12.0"
14
14
  },
15
- "version": "0.3.48",
15
+ "version": "0.3.49",
16
16
  "files": [
17
17
  "dist",
18
18
  "!dist/**/*.tsbuildinfo",
@@ -1 +1 @@
1
- export const version = '0.3.48'
1
+ export const version = '0.3.49'
@@ -16,9 +16,20 @@ export function parseUnits(value: `${number}`, decimals: number) {
16
16
  fraction.slice(0, decimals),
17
17
  fraction.slice(decimals),
18
18
  ]
19
- fraction = `${before.slice(0, before.length - 1)}${Math.round(
20
- Number(`${before.slice(-1)}.${after}`),
21
- )}`
19
+ // count number of starting zeros in before
20
+ const zeros = before.match(/^0+/)?.[0].length ?? 0
21
+ const rounded = Math.round(Number(`.${after}`))
22
+ fraction = `${
23
+ zeros > 0 ? before.slice(0, zeros - (rounded > 0 ? 1 : 0)) : ''
24
+ }${
25
+ Math.round(Number(`${before}.${after}`)) === 0
26
+ ? ''
27
+ : Math.round(Number(`${before}.${after}`))
28
+ }`
29
+ if (fraction.replace(/^0+/, '').length > decimals) {
30
+ integer = `${BigInt(integer) + 1n}`
31
+ fraction = fraction.slice(1)
32
+ }
22
33
  } else {
23
34
  fraction = fraction.padEnd(decimals, '0')
24
35
  }