From 9f04c3be4b636d7acbf3d40f00bbcb04a8f85dd3 Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Tue, 13 Feb 2024 10:20:59 -0800 Subject: [PATCH] refactor(daemon): Make least-authority formula numbered Converts the `least-authority` formula to a numbered, id512 equivalent. The formula number used will always be the zero id512, but this can be changed in the future. --- packages/daemon/src/daemon.js | 4 +++- packages/daemon/src/formula-identifier.js | 6 +----- packages/daemon/src/host.js | 4 +++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/daemon/src/daemon.js b/packages/daemon/src/daemon.js index 1c9e1abf94..3af3d6e066 100644 --- a/packages/daemon/src/daemon.js +++ b/packages/daemon/src/daemon.js @@ -413,7 +413,7 @@ const makeEndoBootstrap = ( // Behold, self-referentiality: // eslint-disable-next-line no-use-before-define return { external: endoBootstrap, internal: undefined }; - } else if (formulaIdentifier === 'least-authority') { + } else if (formulaType === 'least-authority-id512') { return { external: leastAuthority, internal: undefined }; } else if (formulaIdentifier === 'web-page-js') { if (persistencePowers.webPageBundlerFormula === undefined) { @@ -449,6 +449,7 @@ const makeEndoBootstrap = ( const storeFormulaIdentifier = `pet-store-id512:${formulaNumber}`; const inspectorFormulaIdentifier = `pet-inspector-id512:${formulaNumber}`; const workerFormulaIdentifier = `worker-id512:${formulaNumber}`; + const leastAuthorityFormulaIdentifier = `least-authority-id512:${zero512}`; // Behold, recursion: // eslint-disable-next-line no-use-before-define @@ -457,6 +458,7 @@ const makeEndoBootstrap = ( storeFormulaIdentifier, inspectorFormulaIdentifier, workerFormulaIdentifier, + leastAuthorityFormulaIdentifier, terminator, ); } else if ( diff --git a/packages/daemon/src/formula-identifier.js b/packages/daemon/src/formula-identifier.js index e1ec46326b..af42d6dd10 100644 --- a/packages/daemon/src/formula-identifier.js +++ b/packages/daemon/src/formula-identifier.js @@ -1,10 +1,6 @@ const { quote: q } = assert; -const numberlessFormulasIdentifiers = new Set([ - 'endo', - 'least-authority', - 'web-page-js', -]); +const numberlessFormulasIdentifiers = new Set(['endo', 'web-page-js']); /** * @param {string} formulaIdentifier diff --git a/packages/daemon/src/host.js b/packages/daemon/src/host.js index 545d6345e2..d79df16c15 100644 --- a/packages/daemon/src/host.js +++ b/packages/daemon/src/host.js @@ -20,6 +20,7 @@ export const makeHostMaker = ({ * @param {string} storeFormulaIdentifier * @param {string} inspectorFormulaIdentifier * @param {string} mainWorkerFormulaIdentifier + * @param {string} leastAuthorityFormulaIdentifier * @param {import('./types.js').Terminator} terminator */ const makeIdentifiedHost = async ( @@ -27,6 +28,7 @@ export const makeHostMaker = ({ storeFormulaIdentifier, inspectorFormulaIdentifier, mainWorkerFormulaIdentifier, + leastAuthorityFormulaIdentifier, terminator, ) => { terminator.thisDiesIfThatDies(storeFormulaIdentifier); @@ -62,7 +64,7 @@ export const makeHostMaker = ({ specialNames: { SELF: hostFormulaIdentifier, INFO: inspectorFormulaIdentifier, - NONE: 'least-authority', + NONE: leastAuthorityFormulaIdentifier, ENDO: 'endo', }, terminator,