From dd0f48b7b66847613bf17486cd865a9b5a17b2ef Mon Sep 17 00:00:00 2001 From: Michael FIG Date: Sun, 23 Jan 2022 15:13:17 -0600 Subject: [PATCH] feat(eventual-send): harden eventual-send arguments, like SwingSet --- packages/eventual-send/src/E.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/eventual-send/src/E.js b/packages/eventual-send/src/E.js index e10495e0780..685aa837d4e 100644 --- a/packages/eventual-send/src/E.js +++ b/packages/eventual-send/src/E.js @@ -35,10 +35,11 @@ function EProxyHandler(x, HandledPromise) { // allow the handler to synchronously influence the promise returned // by the handled methods, so we must freeze it from the outside. See // #95 for details. - return (...args) => harden(HandledPromise.applyMethod(x, p, args)); + return (...args) => + harden(HandledPromise.applyMethod(x, p, harden(args))); }, apply(_target, _thisArg, argArray = []) { - return harden(HandledPromise.applyFunction(x, argArray)); + return harden(HandledPromise.applyFunction(x, harden(argArray))); }, has(_target, _p) { // We just pretend everything exists. @@ -60,12 +61,12 @@ function EsendOnlyProxyHandler(x, HandledPromise) { ...baseFreezableProxyHandler, get(_target, p, _receiver) { return (...args) => { - HandledPromise.applyMethodSendOnly(x, p, args); + HandledPromise.applyMethodSendOnly(x, p, harden(args)); return undefined; }; }, apply(_target, _thisArg, argsArray = []) { - HandledPromise.applyFunctionSendOnly(x, argsArray); + HandledPromise.applyFunctionSendOnly(x, harden(argsArray)); return undefined; }, has(_target, _p) {