1

I'm working on trying to replicate the payload returned by Raydium from their liquidity pool data, but using python.

{
  "id": "EP2ib6dYdEeqD8MfE2ezHCxX3kP3K2eLKkirfPm5eyMx",
  "baseMint": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm",
  "quoteMint": "So11111111111111111111111111111111111111112",
  "lpMint": "CQurpF3WS3yEqFEt1Bu8s5zmZqznQG3EJkcYvsyg3sLc",
  "baseDecimals": "6",
  "quoteDecimals": "9",
  "lpDecimals": "6",
  "version": "4",
  "programId": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",
  "authority": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1",
  "openOrders": "6jeayPbLeJq9o6zXbCtLsEJuPyPFyojWoH55xrksfsoL",
  "targetOrders": "2yBDs44FDGZeXbnx1MdmAMYx9ndFFVWTbcrjJB1JMLSR",
  "baseVault": "7UYZ4vX13mmGiopayLZAduo8aie77yZ3o8FMzTeAX8uJ",
  "quoteVault": "7e9ExBAvDvuJP3GE6eKL5aSMi4RfXv3LkQaiNZBPmffR",
  "withdrawQueue": "11111111111111111111111111111111",
  "lpVault": "11111111111111111111111111111111",
  "marketVersion": "4",
  "marketProgramId": "srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX",
  "marketId": "EzMCG3oJpXu2enNAh2A18iSg6Giq3Bt1wPDFDDiYgxeY",
  "marketAuthority": "Bo9ofFBTrT7GjrjZCseQuB7Hd91d9Ya5G3srhUEDBLD2",
  "marketBaseVault": "58LQCd9EXd4npbyaPAYztwKr54fHyXkGGUB6zt4GXTLA",
  "marketQuoteVault": "H9uqrbTrpZCVRv2sZah2kf6NfNdV7ZhUJrku1TCfnrsT",
  "marketBids": "34bsaKr4CH6YPNJQqXnxp1BGygvqBYKz4RTndbFFrVYe",
  "marketAsks": "C2DK9zXcy2XaMUFDCgtCEkovrYpf1dxB4P1JFEakp9gf",
  "marketEventQueue": "6gpR7brnKCPqPwSRCU2PRGGNLEsoqsjudYfMNub5DEYd",
  "lookupTableAccount": "A9F1oBqaAFFJqjmevgeWEDQdhahgkNupsowrWjc5Fwp9"
}

I have been able to figure out all of the properties except marketAuthority. My guess is that I have to use the find_program_address function of solders.Pubkey but I cannot for the life of me figure out which parameters to pass in.

Does anyone have any experience with this specific scenario for raydium and python?

1
  • Sparrow, Could you share how you get merge all this info? I am trying to do the same and I think that this information is spread in several different events like initialize2, addliquidity...
    – andmart
    Commented May 24 at 0:38

2 Answers 2

0

You need to use create_program_address with seed.

Try converting this function type script to python

https://github.com/raydium-io/raydium-sdk/blob/master/src/serum/serum.ts#L41

0

Just following up on this to close this out. The part I was missing was using the nonce that game back as part of the market data with the create_program_address function. Once I did that, I was able to get the market authority value that I needed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.