mamam-sdk
Version:
TypeScript interfaces for MamaM
597 lines (596 loc) • 15.2 kB
TypeScript
export declare type MamamIDL = {
"version": "0.0.0";
"name": "mamam";
"instructions": [{
"name": "initializeExchange";
"accounts": [{
"name": "exchange";
"isMut": true;
"isSigner": false;
}, {
"name": "payer";
"isMut": true;
"isSigner": true;
}, {
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "rent";
"isMut": false;
"isSigner": false;
}];
"args": [{
"name": "bump";
"type": "u8";
}];
}, {
"name": "initializeMarket";
"accounts": [{
"name": "exchange";
"isMut": true;
"isSigner": false;
}, {
"name": "market";
"isMut": true;
"isSigner": false;
}, {
"name": "coinMintPk";
"isMut": false;
"isSigner": false;
}, {
"name": "pcMintPk";
"isMut": false;
"isSigner": false;
}, {
"name": "coinVaultPk";
"isMut": true;
"isSigner": false;
}, {
"name": "pcVaultPk";
"isMut": true;
"isSigner": false;
}, {
"name": "bidsPk";
"isMut": true;
"isSigner": false;
}, {
"name": "asksPk";
"isMut": true;
"isSigner": false;
}, {
"name": "reqQPk";
"isMut": true;
"isSigner": false;
}, {
"name": "eventQPk";
"isMut": true;
"isSigner": false;
}, {
"name": "serumMarketAuthority";
"isMut": false;
"isSigner": false;
}, {
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "rent";
"isMut": false;
"isSigner": false;
}, {
"name": "serumDexProgram";
"isMut": false;
"isSigner": false;
}];
"args": [{
"name": "vaultSignerNonce";
"type": "u64";
}];
}, {
"name": "initUserOnMarket";
"accounts": [{
"name": "exchange";
"isMut": false;
"isSigner": false;
}, {
"name": "serumOpenOrders";
"isMut": true;
"isSigner": false;
}, {
"name": "serumMarket";
"isMut": false;
"isSigner": false;
}, {
"name": "serumMarketAuthority";
"isMut": false;
"isSigner": false;
}, {
"name": "serumDexProgramId";
"isMut": false;
"isSigner": false;
}, {
"name": "user";
"isMut": true;
"isSigner": true;
}, {
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "rent";
"isMut": false;
"isSigner": false;
}];
"args": [{
"name": "bump";
"type": "u8";
}];
}, {
"name": "placeOrder";
"accounts": [{
"name": "exchange";
"isMut": false;
"isSigner": false;
}, {
"name": "user";
"isMut": false;
"isSigner": true;
}, {
"name": "orderPayer";
"isMut": true;
"isSigner": false;
}, {
"name": "market";
"isMut": true;
"isSigner": false;
}, {
"name": "openOrders";
"isMut": true;
"isSigner": false;
}, {
"name": "requestQueue";
"isMut": true;
"isSigner": false;
}, {
"name": "eventQueue";
"isMut": true;
"isSigner": false;
}, {
"name": "bids";
"isMut": true;
"isSigner": false;
}, {
"name": "asks";
"isMut": true;
"isSigner": false;
}, {
"name": "coinVault";
"isMut": true;
"isSigner": false;
}, {
"name": "pcVault";
"isMut": true;
"isSigner": false;
}, {
"name": "serumDexProgramId";
"isMut": false;
"isSigner": false;
}, {
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "rent";
"isMut": false;
"isSigner": false;
}];
"args": [{
"name": "side";
"type": "u8";
}, {
"name": "limit";
"type": "u64";
}, {
"name": "maxCoinQty";
"type": "u64";
}, {
"name": "maxPcQty";
"type": "u64";
}];
}, {
"name": "initializeAmm";
"accounts": [{
"name": "exchange";
"isMut": true;
"isSigner": false;
}, {
"name": "amm";
"isMut": true;
"isSigner": false;
}, {
"name": "vault1";
"isMut": false;
"isSigner": false;
}, {
"name": "vault2";
"isMut": false;
"isSigner": false;
}, {
"name": "market";
"isMut": false;
"isSigner": false;
}, {
"name": "oracle1";
"isMut": false;
"isSigner": false;
}, {
"name": "oracle2";
"isMut": false;
"isSigner": false;
}, {
"name": "payer";
"isMut": true;
"isSigner": true;
}, {
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "rent";
"isMut": false;
"isSigner": false;
}];
"args": [{
"name": "bump";
"type": "u8";
}, {
"name": "length";
"type": "u64";
}, {
"name": "timeGranularity";
"type": "u64";
}, {
"name": "range";
"type": "u64";
}];
}, {
"name": "initAmmOnMarket";
"accounts": [{
"name": "exchange";
"isMut": false;
"isSigner": false;
}, {
"name": "serumOpenOrders";
"isMut": true;
"isSigner": false;
}, {
"name": "serumMarket";
"isMut": false;
"isSigner": false;
}, {
"name": "serumMarketAuthority";
"isMut": false;
"isSigner": false;
}, {
"name": "serumDexProgramId";
"isMut": false;
"isSigner": false;
}, {
"name": "amm";
"isMut": false;
"isSigner": false;
}, {
"name": "payer";
"isMut": true;
"isSigner": true;
}, {
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "rent";
"isMut": false;
"isSigner": false;
}];
"args": [{
"name": "bump";
"type": "u8";
}];
}, {
"name": "depositAmm";
"accounts": [{
"name": "exchange";
"isMut": true;
"isSigner": false;
}, {
"name": "amm";
"isMut": true;
"isSigner": false;
}, {
"name": "vault1";
"isMut": true;
"isSigner": false;
}, {
"name": "vault2";
"isMut": true;
"isSigner": false;
}, {
"name": "userToken1";
"isMut": true;
"isSigner": false;
}, {
"name": "userToken2";
"isMut": true;
"isSigner": false;
}, {
"name": "user";
"isMut": true;
"isSigner": true;
}, {
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}];
"args": [{
"name": "value1";
"type": "u64";
}, {
"name": "value2";
"type": "u64";
}];
}, {
"name": "updatePrice";
"accounts": [{
"name": "exchange";
"isMut": true;
"isSigner": false;
}, {
"name": "amm";
"isMut": true;
"isSigner": false;
}, {
"name": "oracle1";
"isMut": false;
"isSigner": false;
}, {
"name": "oracle2";
"isMut": false;
"isSigner": false;
}, {
"name": "vault1";
"isMut": true;
"isSigner": false;
}, {
"name": "vault2";
"isMut": true;
"isSigner": false;
}, {
"name": "market";
"isMut": true;
"isSigner": false;
}, {
"name": "openOrders";
"isMut": true;
"isSigner": false;
}, {
"name": "requestQueue";
"isMut": true;
"isSigner": false;
}, {
"name": "eventQueue";
"isMut": true;
"isSigner": false;
}, {
"name": "bids";
"isMut": true;
"isSigner": false;
}, {
"name": "asks";
"isMut": true;
"isSigner": false;
}, {
"name": "coinVault";
"isMut": true;
"isSigner": false;
}, {
"name": "pcVault";
"isMut": true;
"isSigner": false;
}, {
"name": "pruneAuthority";
"isMut": false;
"isSigner": false;
}, {
"name": "serumDexProgramId";
"isMut": false;
"isSigner": false;
}, {
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
}, {
"name": "rent";
"isMut": false;
"isSigner": false;
}];
"args": [];
}];
"accounts": [{
"name": "exchange";
"type": {
"kind": "struct";
"fields": [{
"name": "authority";
"type": "publicKey";
}, {
"name": "markets";
"type": {
"vec": {
"defined": "MarketData";
};
};
}, {
"name": "amms";
"type": {
"vec": {
"defined": "AmmData";
};
};
}];
};
}, {
"name": "amm";
"type": {
"kind": "struct";
"fields": [{
"name": "market";
"type": {
"defined": "MarketData";
};
}, {
"name": "marketAddress";
"type": "publicKey";
}, {
"name": "vault1";
"type": "publicKey";
}, {
"name": "vault2";
"type": "publicKey";
}, {
"name": "ema";
"type": "u64";
}, {
"name": "timestamp";
"type": "u64";
}, {
"name": "length";
"type": "u64";
}, {
"name": "timeGranularity";
"type": "u64";
}, {
"name": "range";
"type": "u64";
}];
};
}];
"types": [{
"name": "SerumData";
"type": {
"kind": "struct";
"fields": [{
"name": "coinLotSize";
"type": "u64";
}, {
"name": "pcLotSize";
"type": "u64";
}, {
"name": "vaultSignerNonce";
"type": "u64";
}, {
"name": "pcDustThreshold";
"type": "u64";
}];
};
}, {
"name": "AmmData";
"type": {
"kind": "struct";
"fields": [{
"name": "address";
"type": "publicKey";
}, {
"name": "marketAddress";
"type": "publicKey";
}];
};
}, {
"name": "MarketData";
"type": {
"kind": "struct";
"fields": [{
"name": "address";
"type": "publicKey";
}, {
"name": "pairName";
"type": "string";
}, {
"name": "asset1";
"type": {
"defined": "AssetData";
};
}, {
"name": "asset2";
"type": {
"defined": "AssetData";
};
}];
};
}, {
"name": "AssetData";
"type": {
"kind": "struct";
"fields": [{
"name": "symbol";
"type": {
"defined": "Symbol";
};
}, {
"name": "tokenMint";
"type": "publicKey";
}, {
"name": "spotOracle";
"type": "publicKey";
}];
};
}, {
"name": "ErrorCode";
"type": {
"kind": "enum";
"variants": [{
"name": "SampleError";
}];
};
}, {
"name": "Symbol";
"type": {
"kind": "enum";
"variants": [{
"name": "BTC";
}, {
"name": "ETH";
}, {
"name": "USDC";
}];
};
}];
"metadata": {
"address": "3HGwuAEzU8vtqZasvKsYWF34cdw7j4y3AbtWJo1BrN19";
};
};
import { IdlAccounts } from '@project-serum/anchor';
export declare type ErrorCode = Record<string, Record<string, any>>;
export declare const ErrorCode: {
SampleError: {
sampleerror: {};
};
};
export declare type Symbol = Record<string, Record<string, any>>;
export declare const Symbol: {
BTC: {
btc: {};
};
ETH: {
eth: {};
};
USDC: {
usdc: {};
};
};
export declare type Exchange = IdlAccounts<MamamIDL>["exchange"];
export declare type Amm = IdlAccounts<MamamIDL>["amm"];