diff --git a/ts/client/src/accounts/serum3.ts b/ts/client/src/accounts/serum3.ts index 0b1e14ec0..f888bc4fd 100644 --- a/ts/client/src/accounts/serum3.ts +++ b/ts/client/src/accounts/serum3.ts @@ -81,7 +81,7 @@ export class Serum3Market { this.name === 'USDT/USDC' ? { maker: -0.5, taker: 1 } : { maker: -2, taker: 4 }; - return taker ? ratesBps.maker * 0.0001 : ratesBps.taker * 0.0001; + return taker ? ratesBps.taker * 0.0001 : ratesBps.maker * 0.0001; } /** diff --git a/ts/client/src/client.ts b/ts/client/src/client.ts index 0c1346185..c0866732a 100644 --- a/ts/client/src/client.ts +++ b/ts/client/src/client.ts @@ -1612,12 +1612,12 @@ export class MangoClient { const limitPrice = serum3MarketExternal.priceNumberToLots(price); const maxBaseQuantity = serum3MarketExternal.baseSizeNumberToLots(size); const isTaker = orderType !== Serum3OrderType.postOnly; - const maxQuoteQuantity = new BN( + const maxQuoteQuantity = new BN(Math.ceil( serum3MarketExternal.decoded.quoteLotSize.toNumber() * (1 + Math.max(serum3Market.getFeeRates(isTaker), 0)) * serum3MarketExternal.baseSizeNumberToLots(size).toNumber() * serum3MarketExternal.priceNumberToLots(price).toNumber(), - ); + )); const payerTokenIndex = ((): TokenIndex => { if (side == Serum3Side.bid) {