@liberfi.io/react-predict 0.1.40 → 0.1.42

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