pyth-crosschain/target_chains/sui/scripts/pyth/pyth_get_vaas.ts

37 lines
3.2 KiB
TypeScript

/// Fetch price feed VAAs of interest from the Pyth
/// price feed service.
import { PriceServiceConnection } from "@pythnetwork/price-service-client";
import axios from "axios";
async function main() {
const connection = new PriceServiceConnection(
"https://xc-mainnet.pyth.network",
{
priceFeedRequestConfig: {
binary: true,
},
}
);
// Fetch all price IDs
//let {data} = await axios.get("https://xc-mainnet.pyth.network/api/price_feed_ids")
//console.log("number of all price feed ids: ", data.length)
let data = [
"0x2a01deaec9e51a579277b34b122399984d0bbf57e2458a7e42fecd2829867a0d",
]; // BTC/USD
const priceFeedVAAs = await connection.getLatestVaas(data);
//console.log("number of VAAs: ", priceFeedVAAs.length)
console.log(priceFeedVAAs);
}
main();
// Step 1: batch price attestation VAA
const vaa =
"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";
// Step 2: sui shared object id
const object_id =
"0x9a6d328a6ebd906ed842e6e874e14bea69efa1c421fbfe7f689c33412a43c41c";