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:
parent
37942a4c15
commit
662c6f8aaa
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
export { Bank, getBankForGroupAndMint } from './accounts/types/bank';
|
||||
export { Group } from './accounts/types/group';
|
||||
export * from './accounts/types/I80F48';
|
||||
export {
|
||||
|
|
Loading…
Reference in New Issue