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