@liberfi.io/react-predict 0.1.39 → 0.1.40

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.
package/dist/index.js CHANGED
@@ -1862,9 +1862,10 @@ function decimalPlaces(n, d) {
1862
1862
  function toMicroUsdc(amount) {
1863
1863
  return BigInt(Math.round(amount * 1e6));
1864
1864
  }
1865
- function truncateMicro(raw, maxDecimals) {
1865
+ function roundMicro(raw, maxDecimals) {
1866
1866
  const factor = BigInt(10 ** (6 - maxDecimals));
1867
- return raw / factor * factor;
1867
+ const half = factor / 2n;
1868
+ return (raw + half) / factor * factor;
1868
1869
  }
1869
1870
  function normalizeTokenId(tokenId) {
1870
1871
  if (tokenId.startsWith("0x") || tokenId.startsWith("0X")) {
@@ -1880,8 +1881,8 @@ function buildOrderMessage(input) {
1880
1881
  const rawAmount = decimalPlaces(rawSize * rawPrice, rc.amount);
1881
1882
  const sizeInMicro = toMicroUsdc(rawSize);
1882
1883
  const amountInMicro = toMicroUsdc(rawAmount);
1883
- const usdcMicro = truncateMicro(amountInMicro, 2);
1884
- const sharesMicro = truncateMicro(sizeInMicro, 4);
1884
+ const usdcMicro = roundMicro(amountInMicro, 2);
1885
+ const sharesMicro = roundMicro(sizeInMicro, 4);
1885
1886
  const makerAmount = side === SIDE.BUY ? usdcMicro.toString() : sharesMicro.toString();
1886
1887
  const takerAmount = side === SIDE.BUY ? sharesMicro.toString() : usdcMicro.toString();
1887
1888
  const maker = input.funderAddress ?? input.signerAddress;