remove more low level code, users of client could just use raw anchor client with idl to do these things

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
This commit is contained in:
microwavedcola1 2022-04-08 17:25:34 +02:00
parent 37942a4c15
commit 662c6f8aaa
4 changed files with 2 additions and 126 deletions

View File

@ -76,29 +76,6 @@ export class Bank {
}
}
export async function getBankForGroupAndMint(
client: MangoClient,
groupPk: PublicKey,
mintPk: PublicKey,
): Promise<Bank[]> {
return (
await client.program.account.bank.all([
{
memcmp: {
bytes: groupPk.toBase58(),
offset: 8,
},
},
{
memcmp: {
bytes: mintPk.toBase58(),
offset: 40,
},
},
])
).map((tuple) => Bank.from(tuple.publicKey, tuple.account));
}
export class MintInfo {
static from(
publicKey: PublicKey,

View File

@ -1,9 +1,4 @@
import {
PublicKey,
Transaction,
TransactionInstruction,
TransactionSignature,
} from '@solana/web3.js';
import { PublicKey } from '@solana/web3.js';
import { MangoClient } from '../../client';
import {
DEVNET_MINTS_REVERSE,

View File

@ -1,6 +1,4 @@
import { AccountMeta, PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
import { MangoClient } from '../../client';
import { PublicKey } from '@solana/web3.js';
export class Serum3Market {
static from(
@ -38,28 +36,6 @@ export class Serum3Market {
) {}
}
export async function serum3CreateOpenOrders(
client: MangoClient,
groupPk: PublicKey,
accountPk: PublicKey,
serumMarketPk: PublicKey,
serumProgramPk: PublicKey,
serumMarketExternalPk: PublicKey,
ownerPk: PublicKey,
): Promise<void> {
return await client.program.methods
.serum3CreateOpenOrders()
.accounts({
group: groupPk,
account: accountPk,
serumMarket: serumMarketPk,
serumProgram: serumProgramPk,
serumMarketExternal: serumMarketExternalPk,
owner: ownerPk,
payer: ownerPk,
})
.rpc();
}
export class Serum3SelfTradeBehavior {
static decrementTake = { decrementTake: {} };
static cancelProvide = { cancelProvide: {} };
@ -76,74 +52,3 @@ export class Serum3Side {
static bid = { bid: {} };
static ask = { ask: {} };
}
export async function serum3PlaceOrder(
client: MangoClient,
groupPk: PublicKey,
accountPk: PublicKey,
ownerPk: PublicKey,
openOrdersPk: PublicKey,
serumMarketPk: PublicKey,
serumProgramPk: PublicKey,
serumMarketExternalPk: PublicKey,
marketBidsPk: PublicKey,
marketAsksPk: PublicKey,
marketEventQueuePk: PublicKey,
marketRequestQueuePk: PublicKey,
marketBaseVaultPk: PublicKey,
marketQuoteVaultPk: PublicKey,
marketVaultSignerPk: PublicKey,
quoteBankPk: PublicKey,
quoteVaultPk: PublicKey,
baseBankPk: PublicKey,
baseVaultPk: PublicKey,
healthRemainingAccounts: PublicKey[],
side: Serum3Side,
limitPrice: number,
maxBaseQty: number,
maxNativeQuoteQtyIncludingFees: number,
selfTradeBehavior: Serum3SelfTradeBehavior,
orderType: Serum3OrderType,
clientOrderId: number,
limit: number,
): Promise<void> {
return await client.program.methods
.serum3PlaceOrder(
side,
new BN(limitPrice),
new BN(maxBaseQty),
new BN(maxNativeQuoteQtyIncludingFees),
selfTradeBehavior,
orderType,
new BN(clientOrderId),
limit,
)
.accounts({
group: groupPk,
account: accountPk,
owner: ownerPk,
openOrders: openOrdersPk,
serumMarket: serumMarketPk,
serumProgram: serumProgramPk,
serumMarketExternal: serumMarketExternalPk,
marketBids: marketBidsPk,
marketAsks: marketAsksPk,
marketEventQueue: marketEventQueuePk,
marketRequestQueue: marketRequestQueuePk,
marketBaseVault: marketBaseVaultPk,
marketQuoteVault: marketQuoteVaultPk,
marketVaultSigner: marketVaultSignerPk,
quoteBank: quoteBankPk,
quoteVault: quoteVaultPk,
baseBank: baseBankPk,
baseVault: baseVaultPk,
})
.remainingAccounts(
healthRemainingAccounts.map(
(pk) =>
({ pubkey: pk, isWritable: false, isSigner: false } as AccountMeta),
),
)
.rpc();
}

View File

@ -1,4 +1,3 @@
export { Bank, getBankForGroupAndMint } from './accounts/types/bank';
export { Group } from './accounts/types/group';
export * from './accounts/types/I80F48';
export {