Name | Arguments | Accounts |
---|---|---|
initialize | clearingHouseNonce:`u8` collateralVaultNonce:`u8` insuranceVaultNonce:`u8` adminControlsPrices:`bool` | admin isSigner state isMut collateralMint collateralVault isMut collateralVaultAuthority insuranceVault isMut insuranceVaultAuthority markets isMut rent systemProgram tokenProgram |
initializeHistory | admin isSigner state isMut fundingPaymentHistory isMut tradeHistory isMut liquidationHistory isMut depositHistory isMut fundingRateHistory isMut curveHistory isMut | |
initializeMarket | marketIndex:`u64` ammBaseAssetAmount:`u128` ammQuoteAssetAmount:`u128` ammPeriodicity:`i64` ammPegMultiplier:`u128` | admin isSigner state markets isMut oracle |
depositCollateral | amount:`u64` | state isMut user isMut authority isSigner collateralVault isMut userCollateralAccount isMut tokenProgram markets userPositions isMut fundingPaymentHistory isMut depositHistory isMut |
withdrawCollateral | amount:`u64` | state isMut user isMut authority isSigner collateralVault isMut collateralVaultAuthority insuranceVault isMut insuranceVaultAuthority userCollateralAccount isMut tokenProgram markets userPositions isMut fundingPaymentHistory isMut depositHistory isMut |
openPosition | direction:`PositionDirection` quoteAssetAmount:`u128` marketIndex:`u64` limitPrice:`u128` optionalAccounts:`ManagePositionOptionalAccounts` | state isMut user isMut authority isSigner markets isMut userPositions isMut tradeHistory isMut fundingPaymentHistory isMut fundingRateHistory isMut oracle |
closePosition | marketIndex:`u64` optionalAccounts:`ManagePositionOptionalAccounts` | state isMut user isMut authority isSigner markets isMut userPositions isMut tradeHistory isMut fundingPaymentHistory isMut fundingRateHistory isMut oracle |
liquidate | state authority isSigner liquidator isMut user isMut collateralVault isMut collateralVaultAuthority insuranceVault isMut insuranceVaultAuthority tokenProgram markets isMut userPositions isMut tradeHistory isMut liquidationHistory isMut fundingPaymentHistory isMut | |
moveAmmPrice | baseAssetReserve:`u128` quoteAssetReserve:`u128` marketIndex:`u64` | state admin isSigner markets isMut |
withdrawFees | marketIndex:`u64` amount:`u64` | state admin isSigner collateralVault isMut collateralVaultAuthority markets isMut recipient isMut tokenProgram |
withdrawFromInsuranceVault | amount:`u64` | state admin isSigner insuranceVault isMut insuranceVaultAuthority recipient isMut tokenProgram |
withdrawFromInsuranceVaultToMarket | marketIndex:`u64` amount:`u64` | state isMut markets isMut admin isSigner insuranceVault isMut insuranceVaultAuthority collateralVault isMut tokenProgram |
repegAmmCurve | newPegCandidate:`u128` marketIndex:`u64` | state markets isMut oracle admin isSigner curveHistory isMut |
initializeUser | userNonce:`u8` optionalAccounts:`InitializeUserOptionalAccounts` | user isMut state userPositions isSignerisMut authority isSigner rent systemProgram |
deleteUser | user isMut userPositions isMut authority isSigner | |
settleFundingPayment | state user isMut markets userPositions isMut fundingPaymentHistory isMut | |
updateFundingRate | marketIndex:`u64` | state markets isMut oracle fundingRateHistory isMut |
updateK | sqrtK:`u128` marketIndex:`u64` | admin isSigner state markets isMut curveHistory isMut |
updateMarginRatio | marginRatioInitial:`u128` marginRatioPartial:`u128` marginRatioMaintenance:`u128` | admin isSigner state isMut |
updatePartialLiquidationClosePercentage | numerator:`u128` denominator:`u128` | admin isSigner state isMut |
updatePartialLiquidationPenaltyPercentage | numerator:`u128` denominator:`u128` | admin isSigner state isMut |
updateFullLiquidationPenaltyPercentage | numerator:`u128` denominator:`u128` | admin isSigner state isMut |
updatePartialLiquidationLiquidatorShareDenominator | denominator:`u64` | admin isSigner state isMut |
updateFullLiquidationLiquidatorShareDenominator | denominator:`u64` | admin isSigner state isMut |
updateFee | fees:`FeeStructure` | admin isSigner state isMut |
updateOracleGuardRails | oracleGuardRails:`OracleGuardRails` | admin isSigner state isMut |
updateMarketOracle | marketIndex:`u64` oracle:`publicKey` oracleSource:`OracleSource` | admin isSigner state markets isMut |
updateMarketMinimumTradeSize | marketIndex:`u64` minimumTradeSize:`u128` | admin isSigner state markets isMut |
updateAdmin | admin:`publicKey` | admin isSigner state isMut |
updateWhitelistMint | whitelistMint:`publicKey` | admin isSigner state isMut |
updateDiscountMint | discountMint:`publicKey` | admin isSigner state isMut |
updateMaxDeposit | maxDeposit:`u128` | admin isSigner state isMut |
updateExchangePaused | exchangePaused:`bool` | admin isSigner state isMut |
disableAdminControlsPrices | admin isSigner state isMut | |
updateFundingPaused | fundingPaused:`bool` | admin isSigner state isMut |