added USDT spot markets and new dex program id

This commit is contained in:
dd 2021-02-26 12:33:45 -05:00
parent 8f51b00efb
commit 4139de80d0
3 changed files with 17 additions and 16 deletions

View File

@ -1,7 +1,10 @@
CLUSTER=devnet
KEYPAIR=~/.config/solana/id.json
BTC_WALLET=HLoPtihB8oETm1kkTpx17FEnXm7afQdS4hojTNvbg3Rg
ETH_WALLET=8ASVNBAo94RnJCABYybnkJnXGpBHan2svW3pRsKdbn7s
USDC_WALLET=GBBtcVE7WA8qdrHyhWTZkYDaz71EVHsg7wVaca9iq9xs
USDT_WALLET=Fy2bjbGpUfXK7jwsNwsnFvXkJfLVUzbWNqFwzMQ9vDFC
BTC=C6kYXcaRUMqeBF5fhg165RWU7AnpT9z92fvKNoMqjmz6
ETH=8p968u9m7jZzKSsqxFDqki69MjqdFkwPM9FN4AN8hvHR
USDC=Fq939Y5hycK62ZGwBjftLY2VyxqAQ8f1MxRqBMdAaBS7
USDC=Fq939Y5hycK62ZGwBjftLY2VyxqAQ8f1MxRqBMdAaBS7
USDT=7tSPGVhneTBWZjLGJGZb9V2UntC7T98cwtSLtgcXjeSs

View File

@ -27,13 +27,13 @@ import {
uiToNative,
zeroKey,
} from './utils';
import { Market, OpenOrders, Orderbook } from '@project-serum/serum';
import { getFeeRates, getFeeTier, Market, OpenOrders, Orderbook } from '@project-serum/serum';
import { SRM_DECIMALS } from '@project-serum/serum/lib/token-instructions';
import { Order } from '@project-serum/serum/lib/market';
import Wallet from '@project-serum/sol-wallet-adapter';
import { makeCancelOrderInstruction, makeSettleFundsInstruction } from './instruction';
import { Aggregator } from './schema'
import { AccountLayout, TOKEN_PROGRAM_ID } from '@solana/spl-token';
import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
export class MangoGroup {
@ -601,9 +601,6 @@ export class MangoClient {
],
spotMarket.programId
)
const keys = [
{ isSigner: false, isWritable: true, pubkey: mangoGroup.publicKey},
{ isSigner: true, isWritable: false, pubkey: owner.publicKey },
@ -770,17 +767,16 @@ export class MangoClient {
): Promise<TransactionSignature> {
// TODO allow wrapped SOL wallets
// TODO allow fee discounts
orderType = orderType == undefined ? 'limit' : orderType
// orderType = orderType ?? 'limit'
orderType = orderType || 'limit'
const limitPrice = spotMarket.priceNumberToLots(price)
const maxBaseQuantity = spotMarket.baseSizeNumberToLots(size)
// TODO verify if multiplying by highest fee tier is appropriate
const maxQuoteQuantity = new BN(spotMarket['_decoded'].quoteLotSize.toNumber()).mul(
maxBaseQuantity.mul(limitPrice),
)
const feeTier = getFeeTier(0, nativeToUi(mangoGroup.nativeSrm || 0, SRM_DECIMALS));
const rates = getFeeRates(feeTier);
const maxQuoteQuantity = new BN(spotMarket['_decoded'].quoteLotSize.toNumber() * rates.taker).mul(
spotMarket.baseSizeNumberToLots(size).mul(spotMarket.priceNumberToLots(price)),
);
if (maxBaseQuantity.lte(new BN(0))) {
throw new Error('size too small')

View File

@ -6,7 +6,7 @@
"testnet": "https://testnet.solana.com"
},
"devnet": {
"dex_program_id": "6XffKSLZRxmQcRinmb4K32AegYnmkoTm6TLR2Ezp9FBR",
"dex_program_id": "DESVgJVGajEgKGXhb6XmqDHGz3VjdgP7rEVESBgxmroY",
"fee_symbol": "SRM",
"mango_groups": {
"BTC_ETH_USDC": {
@ -43,8 +43,10 @@
"ETH/USDC": "5qxMJFJXB42j3kKo3FbTughREjziottXHcgLnjCNwjEs"
},
"spot_markets": {
"BTC/USDC": "DY6X83vWk5VdHQEtVxFdecmEsGXHyLskkeQeo8BHn75s",
"ETH/USDC": "CQwr1dHHPeoUpzGcQHLtEYE1LdXkszxha8oG6Y7v5KWZ"
"BTC/USDC": "FKysSZkCCh41G1SCxpE7Cb7eaLofYBhEneLzHFz6JvjH",
"ETH/USDC": "BYz5dJegg11x94jS2R7ZTCgaJwimvupmkjeYDm9Y3UwP",
"BTC/USDT": "ELXP9wTE4apvK9sxAqtCtMidbAvJJDrNVg4wL6jqQEBA",
"ETH/USDT": "97mbLfi4S56y5Vg2LCF4Z7ru8jD1QjHa5SH3eyFYrMdg"
},
"symbols": {
"BTC": "C6kYXcaRUMqeBF5fhg165RWU7AnpT9z92fvKNoMqjmz6",