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