@liberfi.io/react-predict 0.1.39 → 0.1.41

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,7 +1862,11 @@ 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 ceilMicro(raw, maxDecimals) {
1866
+ const factor = BigInt(10 ** (6 - maxDecimals));
1867
+ return (raw + factor - 1n) / factor * factor;
1868
+ }
1869
+ function floorMicro(raw, maxDecimals) {
1866
1870
  const factor = BigInt(10 ** (6 - maxDecimals));
1867
1871
  return raw / factor * factor;
1868
1872
  }
@@ -1880,8 +1884,8 @@ function buildOrderMessage(input) {
1880
1884
  const rawAmount = decimalPlaces(rawSize * rawPrice, rc.amount);
1881
1885
  const sizeInMicro = toMicroUsdc(rawSize);
1882
1886
  const amountInMicro = toMicroUsdc(rawAmount);
1883
- const usdcMicro = truncateMicro(amountInMicro, 2);
1884
- const sharesMicro = truncateMicro(sizeInMicro, 4);
1887
+ const usdcMicro = side === SIDE.BUY ? ceilMicro(amountInMicro, 2) : floorMicro(amountInMicro, 2);
1888
+ const sharesMicro = floorMicro(sizeInMicro, 4);
1885
1889
  const makerAmount = side === SIDE.BUY ? usdcMicro.toString() : sharesMicro.toString();
1886
1890
  const takerAmount = side === SIDE.BUY ? sharesMicro.toString() : usdcMicro.toString();
1887
1891
  const maker = input.funderAddress ?? input.signerAddress;