@0dotxyz/p0-ts-sdk 1.2.4-alpha.5 → 1.2.4-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -44855,8 +44855,13 @@ async function makeCrankSwbFeedIx(marginfiAccount, bankMap, newBanksPk, provider
44855
44855
  }
44856
44856
  }
44857
44857
  async function makeUpdateSwbFeedIx(props) {
44858
+ console.log(`[DIAG][p0] ====== makeUpdateSwbFeedIx START ======`);
44859
+ console.log(`[DIAG][p0] oracles count: ${props.swbPullOracles.length}`);
44860
+ console.log(`[DIAG][p0] feePayer: ${props.feePayer.toBase58()}`);
44861
+ const rpcEndpoint = props.connection._rpcEndpoint || props.connection._rpcWsEndpoint || "unknown";
44862
+ console.log(`[DIAG][p0] connection rpcEndpoint: ${rpcEndpoint}`);
44858
44863
  console.log(
44859
- `[makeUpdateSwbFeedIx] Called with ${props.swbPullOracles.length} oracles, feePayer: ${props.feePayer.toBase58()}`
44864
+ `[DIAG][p0] connection commitment: ${props.connection._commitment || "default"}`
44860
44865
  );
44861
44866
  const seen = /* @__PURE__ */ new Set();
44862
44867
  const uniqueOracles = props.swbPullOracles.filter((oracle) => {
@@ -44865,21 +44870,24 @@ async function makeUpdateSwbFeedIx(props) {
44865
44870
  seen.add(key);
44866
44871
  return true;
44867
44872
  });
44873
+ console.log(`[DIAG][p0] ${uniqueOracles.length} unique oracles after dedup`);
44874
+ uniqueOracles.forEach((o) => console.log(`[DIAG][p0] oracle: ${o.key.toBase58()}`));
44875
+ const swbProgram = await onDemand.AnchorUtils.loadProgramFromConnection(props.connection);
44876
+ console.log(`[DIAG][p0] swbProgram.programId: ${swbProgram.programId.toBase58()}`);
44868
44877
  console.log(
44869
- `[makeUpdateSwbFeedIx] ${uniqueOracles.length} unique oracles after dedup (removed ${props.swbPullOracles.length - uniqueOracles.length})`
44878
+ `[DIAG][p0] swbProgram.provider.publicKey: ${swbProgram.provider?.publicKey?.toBase58() || "null"}`
44870
44879
  );
44871
- uniqueOracles.forEach(
44872
- (o) => console.log(
44873
- `[makeUpdateSwbFeedIx] - ${o.key.toBase58()} (hasSwitchboardData: ${!!o.price?.switchboardData})`
44874
- )
44880
+ console.log(
44881
+ `[DIAG][p0] swbProgram.provider type: ${swbProgram.provider?.constructor?.name || "unknown"}`
44875
44882
  );
44876
- const swbProgram = await onDemand.AnchorUtils.loadProgramFromConnection(props.connection);
44877
- console.log(`[DIAG][p0] swbProgram.programId: ${swbProgram.programId.toBase58()}`);
44883
+ const providerConnection = swbProgram.provider?.connection;
44884
+ const providerRpc = providerConnection?._rpcEndpoint || "unknown";
44885
+ console.log(`[DIAG][p0] swbProgram.provider.connection rpc: ${providerRpc}`);
44878
44886
  const pullFeedInstances = uniqueOracles.map((oracle) => {
44879
44887
  const pullFeed = new onDemand.PullFeed(swbProgram, oracle.key);
44880
44888
  return pullFeed;
44881
44889
  });
44882
- console.log(`[DIAG][p0] ${pullFeedInstances.length} PullFeed instances after filtering`);
44890
+ console.log(`[DIAG][p0] ${pullFeedInstances.length} PullFeed instances`);
44883
44891
  if (pullFeedInstances.length === 0) {
44884
44892
  console.log(`[DIAG][p0] No pull feed instances, returning early`);
44885
44893
  return { instructions: [], luts: [] };
@@ -44887,29 +44895,92 @@ async function makeUpdateSwbFeedIx(props) {
44887
44895
  const crossbarUrl = process.env.NEXT_PUBLIC_SWITCHBOARD_CROSSSBAR_API || "https://integrator-crossbar.prod.mrgn.app";
44888
44896
  console.log(`[DIAG][p0] crossbarUrl: ${crossbarUrl}`);
44889
44897
  const crossbarClient = new common.CrossbarClient(crossbarUrl);
44898
+ console.log(`[DIAG][p0] crossbarClient type: ${crossbarClient.constructor.name}`);
44899
+ console.log(
44900
+ `[DIAG][p0] crossbarClient methods: ${Object.getOwnPropertyNames(Object.getPrototypeOf(crossbarClient)).join(", ")}`
44901
+ );
44902
+ console.log(
44903
+ `[DIAG][p0] crossbarClient url: ${crossbarClient.url || crossbarClient.baseUrl || crossbarClient._url || "unknown"}`
44904
+ );
44905
+ console.log(`[DIAG][p0] calling fetchGatewayUrl...`);
44890
44906
  const gateway = await pullFeedInstances[0].fetchGatewayUrl(crossbarClient);
44891
44907
  console.log(`[DIAG][p0] gateway: ${gateway}`);
44908
+ console.log(`[DIAG][p0] gateway type: ${typeof gateway}`);
44892
44909
  for (const feed of pullFeedInstances) {
44893
44910
  try {
44894
44911
  const data = await feed.loadData();
44895
44912
  const feedHashHex = Buffer.from(data.feedHash).toString("hex");
44896
- console.log(`[DIAG][p0] feed ${feed.pubkey.toBase58()} on-chain feedHash: ${feedHashHex}`);
44913
+ console.log(`[DIAG][p0] feed ${feed.pubkey.toBase58()} feedHash: ${feedHashHex}`);
44897
44914
  console.log(`[DIAG][p0] feed ${feed.pubkey.toBase58()} queue: ${data.queue.toBase58()}`);
44898
44915
  console.log(
44899
44916
  `[DIAG][p0] feed ${feed.pubkey.toBase58()} maxVariance: ${data.maxVariance}, minResponses: ${data.minResponses}`
44900
44917
  );
44918
+ console.log(`[DIAG][p0] feed ${feed.pubkey.toBase58()} feed.data set: ${!!feed.data}`);
44901
44919
  } catch (e) {
44902
- console.log(`[DIAG][p0] feed ${feed.pubkey.toBase58()} loadData failed: ${e.message}`);
44920
+ console.log(`[DIAG][p0] feed ${feed.pubkey.toBase58()} loadData FAILED: ${e.message}`);
44903
44921
  }
44904
44922
  }
44905
- const [pullIx, luts] = await onDemand.PullFeed.fetchUpdateManyIx(swbProgram, {
44923
+ console.log(`[DIAG][p0] swbProgram.account types: ${Object.keys(swbProgram.account).join(", ")}`);
44924
+ const queuePubkey = pullFeedInstances[0].data?.queue;
44925
+ if (queuePubkey) {
44926
+ console.log(`[DIAG][p0] testing manual queue fetch: ${queuePubkey.toBase58()}`);
44927
+ try {
44928
+ const rawQueueInfo = await props.connection.getAccountInfo(queuePubkey);
44929
+ if (rawQueueInfo) {
44930
+ console.log(`[DIAG][p0] queue raw data length: ${rawQueueInfo.data.length}`);
44931
+ console.log(
44932
+ `[DIAG][p0] queue raw discriminator (first 8 bytes): ${Buffer.from(rawQueueInfo.data.slice(0, 8)).toString("hex")}`
44933
+ );
44934
+ console.log(`[DIAG][p0] queue owner: ${rawQueueInfo.owner.toBase58()}`);
44935
+ }
44936
+ const queueData = await swbProgram.account["queueAccountData"].fetch(queuePubkey);
44937
+ console.log(`[DIAG][p0] queue fetch via Anchor OK`);
44938
+ } catch (e) {
44939
+ console.error(`[DIAG][p0] queue fetch via Anchor FAILED: ${e.message}`);
44940
+ }
44941
+ }
44942
+ const fetchParams = {
44906
44943
  feeds: pullFeedInstances,
44907
44944
  gateway,
44908
44945
  numSignatures: 1,
44909
44946
  payer: props.feePayer,
44910
44947
  crossbarClient
44911
- });
44912
- console.log(`[DIAG][p0] fetchUpdateManyIx returned ${pullIx.length} ixs, ${luts.length} LUTs`);
44948
+ };
44949
+ console.log(`[DIAG][p0] fetchUpdateManyIx params:`);
44950
+ console.log(`[DIAG][p0] feeds count: ${fetchParams.feeds.length}`);
44951
+ console.log(
44952
+ `[DIAG][p0] feeds pubkeys: ${fetchParams.feeds.map((f) => f.pubkey.toBase58()).join(", ")}`
44953
+ );
44954
+ console.log(`[DIAG][p0] feeds[0].data cached: ${!!fetchParams.feeds[0].data}`);
44955
+ console.log(`[DIAG][p0] gateway: "${fetchParams.gateway}"`);
44956
+ console.log(`[DIAG][p0] numSignatures: ${fetchParams.numSignatures}`);
44957
+ console.log(`[DIAG][p0] payer: ${fetchParams.payer.toBase58()}`);
44958
+ console.log(`[DIAG][p0] crossbarClient present: ${!!fetchParams.crossbarClient}`);
44959
+ console.log(`[DIAG][p0] calling PullFeed.fetchUpdateManyIx NOW...`);
44960
+ let pullIx;
44961
+ let luts;
44962
+ try {
44963
+ [pullIx, luts] = await onDemand.PullFeed.fetchUpdateManyIx(swbProgram, fetchParams);
44964
+ } catch (e) {
44965
+ console.error(`[DIAG][p0] ====== fetchUpdateManyIx THREW ======`);
44966
+ console.error(`[DIAG][p0] error type: ${e?.constructor?.name}`);
44967
+ console.error(`[DIAG][p0] error name: ${e?.name}`);
44968
+ console.error(`[DIAG][p0] error message: ${e?.message}`);
44969
+ console.error(`[DIAG][p0] error code: ${e?.code}`);
44970
+ console.error(`[DIAG][p0] error cause: ${e?.cause}`);
44971
+ console.error(`[DIAG][p0] error stack: ${e?.stack}`);
44972
+ console.error(`[DIAG][p0] full error object:`, e);
44973
+ if (e?.response) {
44974
+ console.error(`[DIAG][p0] error response status: ${e.response.status}`);
44975
+ console.error(`[DIAG][p0] error response data:`, e.response.data);
44976
+ }
44977
+ if (e?.logs) {
44978
+ console.error(`[DIAG][p0] error logs:`, e.logs);
44979
+ }
44980
+ throw e;
44981
+ }
44982
+ console.log(`[DIAG][p0] ====== fetchUpdateManyIx SUCCESS ======`);
44983
+ console.log(`[DIAG][p0] returned ${pullIx.length} ixs, ${luts.length} LUTs`);
44913
44984
  pullIx.forEach((ix, i) => {
44914
44985
  console.log(
44915
44986
  `[DIAG][p0] ix[${i}] programId: ${ix.programId.toBase58()}, keys: ${ix.keys.length}, data.length: ${ix.data.length}`