Fix BN creation (#342)

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
This commit is contained in:
microwavedcola1 2022-12-19 15:40:14 +01:00 committed by GitHub
parent edd0633489
commit 31f56d0e41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 10 deletions

View File

@ -1,8 +1,8 @@
import { AnchorProvider, BN, Program, Provider } from '@project-serum/anchor'; import { AnchorProvider, BN, Program, Provider } from '@project-serum/anchor';
import { import {
WRAPPED_SOL_MINT,
closeAccount, closeAccount,
initializeAccount, initializeAccount,
WRAPPED_SOL_MINT,
} from '@project-serum/serum/lib/token-instructions'; } from '@project-serum/serum/lib/token-instructions';
import { TOKEN_PROGRAM_ID } from '@solana/spl-token'; import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
import { import {
@ -12,10 +12,10 @@ import {
Keypair, Keypair,
MemcmpFilter, MemcmpFilter,
PublicKey, PublicKey,
Signer,
SystemProgram,
SYSVAR_INSTRUCTIONS_PUBKEY, SYSVAR_INSTRUCTIONS_PUBKEY,
SYSVAR_RENT_PUBKEY, SYSVAR_RENT_PUBKEY,
Signer,
SystemProgram,
TransactionInstruction, TransactionInstruction,
TransactionSignature, TransactionSignature,
} from '@solana/web3.js'; } from '@solana/web3.js';
@ -38,11 +38,11 @@ import {
PerpOrderType, PerpOrderType,
} from './accounts/perp'; } from './accounts/perp';
import { import {
generateSerum3MarketExternalVaultSignerAddress,
Serum3Market, Serum3Market,
Serum3OrderType, Serum3OrderType,
Serum3SelfTradeBehavior, Serum3SelfTradeBehavior,
Serum3Side, Serum3Side,
generateSerum3MarketExternalVaultSignerAddress,
} from './accounts/serum3'; } from './accounts/serum3';
import { OPENBOOK_PROGRAM_ID } from './constants'; import { OPENBOOK_PROGRAM_ID } from './constants';
import { Id } from './ids'; import { Id } from './ids';
@ -50,9 +50,9 @@ import { IDL, MangoV4 } from './mango_v4';
import { I80F48 } from './numbers/I80F48'; import { I80F48 } from './numbers/I80F48';
import { FlashLoanType, InterestRateParams, OracleConfigParams } from './types'; import { FlashLoanType, InterestRateParams, OracleConfigParams } from './types';
import { import {
I64_MAX_BN,
createAssociatedTokenAccountIdempotentInstruction, createAssociatedTokenAccountIdempotentInstruction,
getAssociatedTokenAddress, getAssociatedTokenAddress,
I64_MAX_BN,
toNative, toNative,
} from './utils'; } from './utils';
import { sendTransaction } from './utils/rpc'; import { sendTransaction } from './utils/rpc';
@ -1180,11 +1180,9 @@ export class MangoClient {
const maxBaseQuantity = serum3MarketExternal.baseSizeNumberToLots(size); const maxBaseQuantity = serum3MarketExternal.baseSizeNumberToLots(size);
const maxQuoteQuantity = new BN( const maxQuoteQuantity = new BN(
serum3MarketExternal.decoded.quoteLotSize.toNumber() * serum3MarketExternal.decoded.quoteLotSize.toNumber() *
(1 + group.getSerum3FeeRates(false)), (1 + group.getSerum3FeeRates(orderType === Serum3OrderType.postOnly)) *
).mul( serum3MarketExternal.baseSizeNumberToLots(size).toNumber() *
serum3MarketExternal serum3MarketExternal.priceNumberToLots(price).toNumber(),
.baseSizeNumberToLots(size)
.mul(serum3MarketExternal.priceNumberToLots(price)),
); );
const payerTokenIndex = ((): TokenIndex => { const payerTokenIndex = ((): TokenIndex => {