diff --git a/packages/spawner/src/contractHost.js b/packages/spawner/src/contractHost.js index fbfa1b2012d..cee4d2d1ec0 100644 --- a/packages/spawner/src/contractHost.js +++ b/packages/spawner/src/contractHost.js @@ -59,6 +59,7 @@ function makeContractHost(E, evaluate, additionalEndowments = {}) { sameStructure, mustBeSameStructure, }; + const fullEndowments = Object.create(null, { ...Object.getOwnPropertyDescriptors(defaultEndowments), ...Object.getOwnPropertyDescriptors(additionalEndowments), @@ -71,6 +72,12 @@ function makeContractHost(E, evaluate, additionalEndowments = {}) { `"${functionSrcString}" must be a string, but was ${typeof functionSrcString}`, ); + // FIXME: Defeat ESM! + functionSrcString = functionSrcString.replace( + /sameStructure\.((mustBeS|s)ameStructure)/g, + '$1', + ); + // Refill a meter each crank. const { meter, refillFacet } = makeMeter(); const doRefill = () => { @@ -172,7 +179,7 @@ function makeContractHost(E, evaluate, additionalEndowments = {}) { function spawn(termsP) { let startFn; if (moduleFormat === 'object') { - startFn = evaluateStringToFn(contractSrcs.start, ); + startFn = evaluateStringToFn(contractSrcs.start); } else if ( moduleFormat === 'getExport' || moduleFormat === 'nestedEvaluate'