From 8c9413bef9b6f071db1db8c867a42b258ad910d1 Mon Sep 17 00:00:00 2001 From: Dan Connolly Date: Mon, 24 Jan 2022 16:51:12 -0600 Subject: [PATCH] chore(vats): don't treat connectVattpWithMailbox as bootstrap action Connecting vattp / mailbox is more part of the SwingSet API. --- packages/vats/src/core/basic-behaviors.js | 17 ----------------- packages/vats/src/core/boot.js | 11 ++++++++--- packages/vats/src/core/manifest.js | 13 +------------ 3 files changed, 9 insertions(+), 32 deletions(-) diff --git a/packages/vats/src/core/basic-behaviors.js b/packages/vats/src/core/basic-behaviors.js index 8a40f473c2f0..1b99b3bf0cd2 100644 --- a/packages/vats/src/core/basic-behaviors.js +++ b/packages/vats/src/core/basic-behaviors.js @@ -16,23 +16,6 @@ const { keys } = Object; * since we may want/need them later. */ -/** - * @param {{ - * vatPowers: { D: DProxy }, // D type is approximate - * vats: { vattp: VattpVat }, - * devices: { mailbox: MailboxDevice }, - * }} powers - */ -export const connectVattpWithMailbox = ({ - vatPowers: { D }, - vats: { vattp }, - devices: { mailbox }, -}) => { - D(mailbox).registerInboundHandler(vattp); - return E(vattp).registerMailboxDevice(mailbox); -}; -harden(connectVattpWithMailbox); - /** * @param {{ * vats: { vatAdmin: VatAdminVat }, diff --git a/packages/vats/src/core/boot.js b/packages/vats/src/core/boot.js index d891f4e222a9..1381d8daee9d 100644 --- a/packages/vats/src/core/boot.js +++ b/packages/vats/src/core/boot.js @@ -1,5 +1,5 @@ // @ts-check -import { Far } from '@agoric/far'; +import { E, Far } from '@agoric/far'; import { makePromiseKit } from '@agoric/promise-kit'; import { CHAIN_BOOTSTRAP_MANIFEST, @@ -116,7 +116,7 @@ const extract = (template, specimen) => { * Build root object of the bootstrap vat. * * @param {{ - * D: EProxy // approximately + * D: DProxy * }} vatPowers * @param {{ * argv: { ROLE: string }, @@ -142,7 +142,12 @@ const buildRootObject = (vatPowers, vatParameters) => { * @param {SwingsetVats} vats * @param {SwingsetDevices} devices */ - bootstrap: (vats, devices) => { + bootstrap: async (vats, devices) => { + // Complete SwingSet wiring. + const { D } = vatPowers; + D(devices.mailbox).registerInboundHandler(vats.vattp); + await E(vats.vattp).registerMailboxDevice(devices.mailbox); + /** @param { Record> } manifest */ const runBehaviors = manifest => { const powers = { diff --git a/packages/vats/src/core/manifest.js b/packages/vats/src/core/manifest.js index cb4e928629c7..d26f1f1c8b6f 100644 --- a/packages/vats/src/core/manifest.js +++ b/packages/vats/src/core/manifest.js @@ -1,16 +1,5 @@ // @ts-check export const CHAIN_BOOTSTRAP_MANIFEST = harden({ - connectVattpWithMailbox: { - vatPowers: { - D: true, - }, - vats: { - vattp: true, - }, - devices: { - mailbox: true, - }, - }, makeVatsFromBundles: { vats: { vatAdmin: true, @@ -152,7 +141,7 @@ export const GOVERNANCE_ACTIONS_MANIFEST = harden({ }, produce: { priceAuthorityAdmin: true, - } + }, }, installEconomicGovernance: { consume: {