@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 +85 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +85 -14
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
-
`[
|
|
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
|
-
`[
|
|
44878
|
+
`[DIAG][p0] swbProgram.provider.publicKey: ${swbProgram.provider?.publicKey?.toBase58() || "null"}`
|
|
44870
44879
|
);
|
|
44871
|
-
|
|
44872
|
-
|
|
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
|
|
44877
|
-
|
|
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
|
|
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()}
|
|
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
|
|
44920
|
+
console.log(`[DIAG][p0] feed ${feed.pubkey.toBase58()} loadData FAILED: ${e.message}`);
|
|
44903
44921
|
}
|
|
44904
44922
|
}
|
|
44905
|
-
|
|
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
|
|
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}`
|