mamam-sdk
Version:
TypeScript interfaces for MamaM
745 lines (744 loc) • 21.4 kB
TypeScript
export declare type Mamam = {
"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";
}
];
};
}
];
};
export declare const IDL: Mamam;