Skip to main content

createModifyMarketInstruction

Builds a raw instruction that updates optional market configuration fields.

Usage

import { createModifyMarketInstruction } from "@exponent-labs/exponent-sdk/client/tranching";

const ix = createModifyMarketInstruction(
  {
    authority: admin.publicKey,
    market: marketAddress,
    returnModelStorage,
    addressLookupTable,
    syProgram,
    adminState,
    systemProgram,
  },
  {
    riskConfig: null,
    protocolFeeConfig: null,
    returnModel: null,
    syCpiAccounts: null,
    addressLookupTable: null,
    roles: null,
    maxSeniorLpSupply: null,
    maxJuniorLpSupply: null,
    seniorLpMetadata: null,
    juniorLpMetadata: null,
  }
);

Accounts

NameTypeSignerWritableDescription
authorityPublicKeyYesYesMarket admin authority
marketPublicKeyNoYesTranching market account
returnModelStoragePublicKeyNoYesReturn model storage account
addressLookupTablePublicKeyNoNoCurrent or new address lookup table
syProgramPublicKeyNoNoLinked SY program
adminStatePublicKeyNoNoExponent admin state
systemProgramPublicKeyNoNoSystem program

Args

All args are optional. Pass null to leave a field unchanged.
NameTypeDescription
riskConfigTranchingRiskConfig | nullNew risk config
protocolFeeConfigTranchingProtocolFeeConfig | nullNew protocol fee config
returnModelTrancheReturnModelUpdate | nullNew return model or curve point updates
syCpiAccountsCpiAccounts | nullNew SY CPI account indexes
addressLookupTablePublicKey | nullNew address lookup table
rolesTranchingMarketRoles | nullNew admin and sentinel role lists
maxSeniorLpSupplyu64 | nullNew Senior LP supply cap
maxJuniorLpSupplyu64 | nullNew Junior LP supply cap
seniorLpMetadataLpTokenMetadata | nullSenior LP token metadata update
juniorLpMetadataLpTokenMetadata | nullJunior LP token metadata update

Returns

TransactionInstruction - a transaction instruction ready to be added to a transaction.