@calimero-network/mero-js 22.2.0 → 22.3.0
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.browser.mjs +2 -2
- package/dist/index.browser.mjs.map +3 -3
- package/dist/index.cjs +29 -4
- package/dist/index.cjs.map +2 -2
- package/dist/index.mjs +29 -4
- package/dist/index.mjs.map +2 -2
- package/dist/sealed/release.d.ts +16 -4
- package/dist/sealed/release.js +35 -5
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -7842,8 +7842,24 @@ function nodeReleaseVersionFromImage(osImage) {
|
|
|
7842
7842
|
return `${Number(match[1])}.${Number(match[2])}.${Number(match[3])}`;
|
|
7843
7843
|
}
|
|
7844
7844
|
async function fetchNodeReleaseVersion(baseUrl, options = {}) {
|
|
7845
|
-
const
|
|
7846
|
-
|
|
7845
|
+
const version = await readNodeReleaseVersion(baseUrl, options.fetch ?? fetch);
|
|
7846
|
+
if (version === void 0) {
|
|
7847
|
+
throw new Error(
|
|
7848
|
+
`${infoUrl(baseUrl)} was refused unsealed: the node requires sealing and is too old to name its release before a session exists. Name the release it runs yourself (createSignedReleaseSealedFetch's \`releaseVersion\`), or upgrade the node`
|
|
7849
|
+
);
|
|
7850
|
+
}
|
|
7851
|
+
return version;
|
|
7852
|
+
}
|
|
7853
|
+
function infoUrl(baseUrl) {
|
|
7854
|
+
return `${baseUrl.replace(/\/+$/, "")}/admin-api/tee/info`;
|
|
7855
|
+
}
|
|
7856
|
+
async function readNodeReleaseVersion(baseUrl, givenFetch) {
|
|
7857
|
+
const url = infoUrl(baseUrl);
|
|
7858
|
+
const response = await givenFetch(url, { headers: { accept: "application/json" } });
|
|
7859
|
+
if (response.status === 403) {
|
|
7860
|
+
const code = await response.json().then((body) => body?.error?.code).catch(() => void 0);
|
|
7861
|
+
if (code === "sealed_required") return void 0;
|
|
7862
|
+
}
|
|
7847
7863
|
if (!response.ok) throw new Error(`Fetching ${url} failed: HTTP ${response.status}`);
|
|
7848
7864
|
let osImage;
|
|
7849
7865
|
try {
|
|
@@ -7890,10 +7906,19 @@ function createSignedReleaseVerifier(options) {
|
|
|
7890
7906
|
return Object.assign(verifier, { includeCollateral: true });
|
|
7891
7907
|
}
|
|
7892
7908
|
function createSignedReleaseSealedFetch(options) {
|
|
7893
|
-
const {
|
|
7909
|
+
const {
|
|
7910
|
+
baseUrl,
|
|
7911
|
+
releaseSource,
|
|
7912
|
+
releaseVersion: fallbackVersion,
|
|
7913
|
+
applicationId,
|
|
7914
|
+
applicationHash,
|
|
7915
|
+
fetch: givenFetch,
|
|
7916
|
+
...verifierOptions
|
|
7917
|
+
} = options;
|
|
7918
|
+
if (fallbackVersion !== void 0) releaseVersion(fallbackVersion, "releaseVersion");
|
|
7894
7919
|
const baseFetch = givenFetch ?? ((input, init) => fetch(input, init));
|
|
7895
7920
|
const release = async () => {
|
|
7896
|
-
const version = await fetchNodeReleaseVersion(baseUrl, { fetch: baseFetch });
|
|
7921
|
+
const version = fallbackVersion === void 0 ? await fetchNodeReleaseVersion(baseUrl, { fetch: baseFetch }) : await readNodeReleaseVersion(baseUrl, baseFetch) ?? fallbackVersion;
|
|
7897
7922
|
return typeof releaseSource === "function" ? releaseSource({ baseUrl, version, fetch: baseFetch }) : fetchNodeRelease(cloudNodeReleaseUrl(releaseSource ?? DEFAULT_RELEASE_MIRROR, version), { fetch: baseFetch });
|
|
7898
7923
|
};
|
|
7899
7924
|
return createAttestedSealedFetch({
|