{"version":3,"file":"getPythFeedAddress.cjs","sources":["../../../src/utils/getPythFeedAddress.ts"],"sourcesContent":["import { getProgramDerivedAddress } from \"@solana/kit\";\r\n\r\nimport { PYTH_PROGRAM_ID } from \"../constants/pythFeeds\";\r\n\r\n/**\r\n * Parameters for deriving a Pyth feed address.\r\n *\r\n * @example\r\n * ```ts\r\n * const params: GetPythFeedAddressParams = { shard: 0, priceFeed };\r\n * ```\r\n */\r\nexport interface GetPythFeedAddressParams {\r\n  /** Pyth feed shard number. */\r\n  shard: number;\r\n  /** Pyth price feed ID bytes. */\r\n  priceFeed: number[];\r\n}\r\n\r\n/**\r\n * Derives the Pyth feed PDA for a shard and price feed.\r\n *\r\n * @param params Pyth feed derivation parameters\r\n * @param params.shard Shard number associated with the Pyth feed\r\n * @param params.priceFeed Feed ID bytes\r\n * @returns The Pyth feed address.\r\n *\r\n * @example\r\n * ```ts\r\n * const address = await getPythFeedAddress({ shard: 0, priceFeed });\r\n * ```\r\n */\r\nexport const getPythFeedAddress = async ({\r\n  shard,\r\n  priceFeed,\r\n}: GetPythFeedAddressParams) => {\r\n  const uint8Array = new Uint8Array(2);\r\n  const view = new DataView(uint8Array.buffer);\r\n  view.setUint16(0, shard, true);\r\n\r\n  const [pda] = await getProgramDerivedAddress({\r\n    programAddress: PYTH_PROGRAM_ID,\r\n    seeds: [uint8Array, Uint8Array.from(priceFeed)],\r\n  });\r\n\r\n  return pda;\r\n};\r\n"],"names":["getProgramDerivedAddress","PYTH_PROGRAM_ID"],"mappings":";;;;;;;AAmBA;;;;;;;;;;;;AAYG;AACI,MAAM,kBAAkB,GAAG,OAAO,EACvC,KAAK,EACL,SAAS,GACgB,KAAI;AAC7B,IAAA,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;IAC5C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;AAE9B,IAAA,MAAM,CAAC,GAAG,CAAC,GAAG,MAAMA,4BAAwB,CAAC;AAC3C,QAAA,cAAc,EAAEC,yBAAe;QAC/B,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChD,KAAA,CAAC;AAEF,IAAA,OAAO,GAAG;AACZ;;;;"}