From c597a2fc60d0752ceb30970af5c79a2fcfb8f599 Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Fri, 28 Jan 2022 09:29:37 -0800 Subject: [PATCH 1/4] chore: update Prettier to latest (2.5.1) --- package.json | 3 ++- packages/eslint-config/package.json | 2 +- packages/xsnap/.prettierignore | 3 +++ yarn.lock | 8 ++++---- 4 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 packages/xsnap/.prettierignore diff --git a/package.json b/package.json index 9641ddf8475..e76d4dcc48c 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "eslint-plugin-prettier": "^3.2.0", "lerna": "^3.20.2", "npm-run-all": "^4.1.5", - "prettier": "^1.19.1", + "prettier": "^2.5.1", "typescript": "~4.5.5" }, "engines": { @@ -72,6 +72,7 @@ "root": true }, "prettier": { + "arrowParens": "avoid", "trailingComma": "all", "singleQuote": true }, diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index a5cf2b277a7..0cb01621edf 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -38,6 +38,6 @@ "eslint-plugin-prettier": "^3.2.0", "eslint-plugin-react": "^7.28.0", "eslint-plugin-react-hooks": "^4.3.0", - "prettier": "^1.13.0" + "prettier": "^2.5.1" } } diff --git a/packages/xsnap/.prettierignore b/packages/xsnap/.prettierignore new file mode 100644 index 00000000000..f1a3d5fd222 --- /dev/null +++ b/packages/xsnap/.prettierignore @@ -0,0 +1,3 @@ +# Proposal Realms +/moddable +/xsnap-native diff --git a/yarn.lock b/yarn.lock index 3a2fac792a1..27a429a05c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15227,10 +15227,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^1.13.0, prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== +prettier@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== pretty-bytes@^5.3.0: version "5.6.0" From 6ec84e78b49dc3563cd2dbb72fe7741815b7fd10 Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Wed, 2 Feb 2022 14:17:49 -0800 Subject: [PATCH 2/4] chore: prettierignore maintenance --- .prettierignore | 6 ++++-- package.json | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.prettierignore b/.prettierignore index c88849a41c3..c2d5fce4172 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,10 @@ +## Uses .gitignore syntax and should mostly match that file +## so that we don't format what never ends up in SCM. + # artifacts build bundles +bundle-*.js compiled dist lcov-report @@ -18,5 +22,3 @@ public # copied from upstream /packages/xsnap/lib/object-inspect.js -# XXX unsupported syntax; will be addressed in https://github.com/Agoric/agoric-sdk/issues/4329 -/packages/captp/src/ts-types.d.ts diff --git a/package.json b/package.json index e76d4dcc48c..4b9d4a18c7f 100644 --- a/package.json +++ b/package.json @@ -82,8 +82,8 @@ "lerna": "lerna", "link-cli": "yarn run create-agoric-cli", "create-agoric-cli": "node ./scripts/create-agoric-cli.cjs", - "format": "yarn prettier --write '{.github,golang,packages}/**/*.{js,jsx,ts,tsx,yml,yaml}'", - "lint:format": "yarn prettier --check '{.github,golang,packages}/**/*.{js,jsx,ts,tsx,yml,yaml}'", + "format": "yarn prettier --write .github golang packages", + "lint:format": "yarn prettier --check .github golang packages", "lint-fix": "yarn workspaces run lint-fix", "lint": "run-s --continue-on-error lint:*", "lint:packages": "yarn workspaces run lint", From 0b8d0338f881dbbb8f4c97621c3854deb734c0b0 Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Fri, 4 Feb 2022 07:36:36 -0800 Subject: [PATCH 3/4] chore(web-components): disable eslint-plugin-prettier due to integration bug in demo/index.html --- packages/web-components/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/web-components/package.json b/packages/web-components/package.json index ac4510d022e..e92801a39ae 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -51,7 +51,8 @@ "@endo" ], "rules": { - "import/no-extraneous-dependencies": "off" + "import/no-extraneous-dependencies": "off", + "prettier/prettier": "off" } }, "publishConfig": { From b7c2a9b3205ccf348959cc22fc474f40137e416d Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Fri, 4 Feb 2022 07:45:46 -0800 Subject: [PATCH 4/4] style: format with Prettier 2.5.1 --- packages/ERTP/src/purse.js | 6 +- .../mathHelpers/test-copyBagMathHelpers.js | 10 +- .../mathHelpers/test-copySetMathHelpers.js | 10 +- .../mathHelpers/test-natMathHelpers.js | 3 +- .../test/unitTests/test-inputValidation.js | 3 +- .../ERTP/test/unitTests/test-issuerObj.js | 47 +- .../demo/encouragementBotComms/bootstrap.js | 12 +- packages/SwingSet/src/devices/command-src.js | 7 +- packages/SwingSet/src/devices/loopbox-src.js | 9 +- .../SwingSet/src/kernel/collectionManager.js | 11 +- .../src/kernel/json-stable-stringify.js | 10 +- packages/SwingSet/src/kernel/kernel.js | 5 +- packages/SwingSet/src/kernel/kernelSyscall.js | 9 +- packages/SwingSet/src/kernel/slogger.js | 18 +- .../SwingSet/src/kernel/state/kernelKeeper.js | 14 +- .../SwingSet/src/kernel/state/vatKeeper.js | 5 +- .../src/kernel/vatManager/manager-local.js | 9 +- .../kernel/vatManager/manager-nodeworker.js | 6 +- .../vatManager/manager-subprocess-node.js | 6 +- .../src/kernel/vatManager/vat-warehouse.js | 6 +- .../src/kernel/virtualObjectManager.js | 7 +- packages/SwingSet/src/vats/comms/delivery.js | 10 +- packages/SwingSet/src/vats/comms/state.js | 7 +- packages/SwingSet/src/vats/network/network.js | 28 +- packages/SwingSet/src/vats/vat-tp.js | 6 +- .../test/device-plugin/test-device.js | 9 +- .../SwingSet/test/stores/test-collections.js | 145 +--- packages/SwingSet/test/stores/test-storeGC.js | 32 +- packages/SwingSet/test/test-controller.js | 3 +- packages/SwingSet/test/test-exomessages.js | 3 +- packages/SwingSet/test/test-kernel.js | 10 +- packages/SwingSet/test/test-marshal.js | 6 +- .../SwingSet/test/test-message-patterns.js | 5 +- packages/SwingSet/test/test-state.js | 9 +- packages/SwingSet/test/util.js | 6 +- .../virtualObjects/test-virtualObjectGC.js | 32 +- .../test-virtualObjectManager.js | 7 +- packages/agoric-cli/src/chain-config.js | 11 +- packages/agoric-cli/src/deploy.js | 27 +- packages/agoric-cli/src/start.js | 4 +- packages/cosmic-swingset/calc-gci.js | 4 +- packages/cosmic-swingset/src/chain-main.js | 6 +- packages/cosmic-swingset/src/kernel-stats.js | 5 +- packages/cosmic-swingset/src/launch-chain.js | 21 +- packages/cosmic-swingset/src/params.js | 6 +- .../test/unitTests/test-startInstance.js | 8 +- packages/deployment/scripts/crunch.mjs | 11 +- packages/deployment/src/init.js | 735 +++++++++--------- packages/deployment/src/main.js | 137 ++-- packages/eventual-send/src/handled-promise.js | 9 +- packages/eventual-send/src/index.d.ts | 8 +- .../src/paramGovernance/governParam.js | 2 +- .../src/paramGovernance/paramManager.js | 4 +- packages/governance/src/validators.js | 6 +- .../committeeBinary/bootstrap.js | 12 +- .../committeeBinary/vat-voter.js | 6 +- .../contractGovernor/bootstrap.js | 72 +- .../contractGovernor/governedContract.js | 7 +- .../test/unitTests/test-buildParamManager.js | 4 +- .../test/unitTests/test-paramGovernance.js | 21 +- .../test/unitTests/test-shareHolders.js | 14 +- .../test/test-compartment-wrapper.js | 3 +- packages/run-protocol/src/econ-behaviors.js | 33 +- .../src/vaultFactory/liquidateMinimum.js | 18 +- .../run-protocol/src/vaultFactory/vault.js | 6 +- .../src/vaultFactory/vaultFactory.js | 11 +- .../src/vaultFactory/vaultManager.js | 12 +- .../src/vpool-xyk-amm/multipoolMarketMaker.js | 18 +- .../run-protocol/src/vpool-xyk-amm/pool.js | 6 +- .../amm/vpool-xyk-amm/test-amm-governance.js | 20 +- .../swingsetTests/governance/bootstrap.js | 8 +- .../test/vaultFactory/swingsetTests/setup.js | 43 +- .../vaultFactory/test-bootstrapPayment.js | 22 +- .../test/vaultFactory/test-vaultFactory.js | 6 +- packages/solo/src/add-chain.js | 5 +- packages/solo/src/captp.js | 6 +- packages/solo/src/chain-cosmos-sdk.js | 6 +- packages/solo/src/set-gci-ingress.js | 5 +- packages/solo/src/start.js | 10 +- packages/solo/src/vat-http.js | 6 +- .../store/src/patterns/patternMatchers.js | 12 +- packages/store/src/patterns/rankOrder.js | 12 +- packages/store/src/stores/scalarMapStore.js | 19 +- packages/store/src/stores/scalarSetStore.js | 19 +- .../demo/encouragementBotComms/bootstrap.js | 12 +- .../demo/zoeTests/vat-alice.js | 5 +- .../src/components/NatAmountInput.jsx | 144 ++-- .../src/components/NatPurseSelector.jsx | 172 ++-- packages/vats/src/bootstrap.js | 74 +- packages/vats/src/core/basic-behaviors.js | 12 +- packages/vats/src/core/utils.js | 6 +- packages/vats/src/ibc.js | 5 +- packages/vats/src/nameHub.js | 9 +- packages/vats/src/vat-bank.js | 6 +- packages/vats/src/virtual-purse.js | 6 +- packages/vats/test/test-repl.js | 8 +- packages/vats/test/test-vat-bank.js | 6 +- packages/vats/test/test-vpurse.js | 40 +- packages/wallet/api/src/date-now.js | 16 +- packages/wallet/api/src/lib-wallet.js | 47 +- packages/wallet/api/src/wallet.js | 5 +- .../wallet/api/test/test-getPursesNotifier.js | 22 +- .../wallet/api/test/test-lib-dehydrate.js | 21 +- packages/wallet/api/test/test-lib-wallet.js | 36 +- .../ui/src/components/tests/AppBar.test.jsx | 8 +- .../components/tests/ChainConnector.test.jsx | 7 +- .../ui/src/components/tests/Dapp.test.jsx | 8 +- .../components/tests/ImportContact.test.jsx | 24 +- .../components/tests/ImportIssuer.test.jsx | 24 +- .../src/components/tests/MakePurse.test.jsx | 28 +- .../src/components/tests/NavDrawer.test.jsx | 7 +- .../ui/src/components/tests/Offer.test.jsx | 120 +-- .../ui/src/components/tests/Purses.test.jsx | 16 +- .../ui/src/components/tests/Requests.test.jsx | 30 +- .../ui/src/components/tests/Transfer.test.jsx | 22 +- .../tests/WalletConnection.test.jsx | 22 +- packages/wallet/ui/src/tests/App.test.jsx | 8 +- packages/wallet/ui/src/views/Contacts.jsx | 8 +- packages/wallet/ui/src/views/Issuers.jsx | 8 +- .../ui/src/views/tests/Contacts.test.jsx | 26 +- .../wallet/ui/src/views/tests/Dapps.test.jsx | 15 +- .../ui/src/views/tests/Issuers.test.jsx | 28 +- .../src/AgoricWalletConnection.js | 5 +- .../test/agoric-petimage.test.js | 12 +- .../test/agoric-petname.test.js | 12 +- .../test/agoric-wallet-connection.test.js | 8 +- packages/xsnap/src/avaXS.js | 10 +- packages/xsnap/test/test-xs-limits.js | 5 +- packages/xsnap/test/test-xsnap.js | 3 +- packages/zoe/src/contractFacet/zcfZygote.js | 16 +- .../zoe/src/contractSupport/zoeHelpers.js | 4 +- .../attestation/returnable/returnableNFT.js | 11 +- packages/zoe/src/contracts/autoswap.js | 6 +- .../contracts/callSpread/fundedCallSpread.js | 8 +- .../contracts/callSpread/pricedCallSpread.js | 8 +- packages/zoe/src/contracts/loan/borrow.js | 7 +- packages/zoe/src/contracts/loan/updateDebt.js | 6 +- packages/zoe/src/contracts/sellItems.js | 6 +- .../zoe/src/zoeService/invitationQueries.js | 7 +- .../src/zoeService/offer/burnInvitation.js | 5 +- packages/zoe/src/zoeService/zoe.js | 7 +- .../zoe/src/zoeService/zoeStorageManager.js | 5 +- .../zoe/test/swingsetTests/zoe/vat-alice.js | 5 +- .../unitTests/contractSupport/test-offerTo.js | 10 +- .../returnableNFT/test-userFlow.js | 63 +- .../unitTests/contracts/loan/test-borrow.js | 52 +- .../unitTests/contracts/loan/test-close.js | 6 +- .../contracts/loan/test-liquidate.js | 28 +- .../test/unitTests/contracts/test-auction.js | 11 +- .../contracts/test-automaticRefund.js | 18 +- .../test/unitTests/contracts/test-autoswap.js | 22 +- .../test/unitTests/contracts/test-barter.js | 12 +- .../unitTests/contracts/test-callSpread.js | 30 +- .../unitTests/contracts/test-coveredCall.js | 11 +- .../test/unitTests/contracts/test-otcDesk.js | 20 +- .../unitTests/contracts/test-sellTickets.js | 10 +- .../contracts/test-simpleExchange.js | 30 +- .../contracts/test-throwInOfferHandler.js | 10 +- .../zoe/test/unitTests/test-issuerStorage.js | 20 +- packages/zoe/test/unitTests/test-zoe.js | 6 +- packages/zoe/test/unitTests/zcf/test-zcf.js | 9 +- .../test/unitTests/zcf/test-zoeHelpersWZcf.js | 36 +- .../test/unitTests/zoe/test-escrowStorage.js | 8 +- packages/zoe/tools/manualTimer.js | 4 +- 164 files changed, 1484 insertions(+), 2126 deletions(-) diff --git a/packages/ERTP/src/purse.js b/packages/ERTP/src/purse.js index 10b7c7bdd94..ae51e1dd533 100644 --- a/packages/ERTP/src/purse.js +++ b/packages/ERTP/src/purse.js @@ -6,10 +6,8 @@ export const makePurse = (allegedName, assetKind, brand, purseMethods) => { let currentBalance = AmountMath.makeEmpty(brand, assetKind); /** @type {NotifierRecord} */ - const { - notifier: balanceNotifier, - updater: balanceUpdater, - } = makeNotifierKit(currentBalance); + const { notifier: balanceNotifier, updater: balanceUpdater } = + makeNotifierKit(currentBalance); const updatePurseBalance = newPurseBalance => { currentBalance = newPurseBalance; diff --git a/packages/ERTP/test/unitTests/mathHelpers/test-copyBagMathHelpers.js b/packages/ERTP/test/unitTests/mathHelpers/test-copyBagMathHelpers.js index 6ac1c42798a..8a048719ae5 100644 --- a/packages/ERTP/test/unitTests/mathHelpers/test-copyBagMathHelpers.js +++ b/packages/ERTP/test/unitTests/mathHelpers/test-copyBagMathHelpers.js @@ -66,10 +66,12 @@ test('copyBag with strings getValue', t => { ); t.deepEqual( getCopyBagEntries( - /** @type {CopyBag} */ (m.getValue( - mockBrand, - harden({ brand: mockBrand, value: makeBag(['1']) }), - )), + /** @type {CopyBag} */ ( + m.getValue( + mockBrand, + harden({ brand: mockBrand, value: makeBag(['1']) }), + ) + ), ), [['1', 1n]], ); diff --git a/packages/ERTP/test/unitTests/mathHelpers/test-copySetMathHelpers.js b/packages/ERTP/test/unitTests/mathHelpers/test-copySetMathHelpers.js index 50d84c147b9..e8c76019bce 100644 --- a/packages/ERTP/test/unitTests/mathHelpers/test-copySetMathHelpers.js +++ b/packages/ERTP/test/unitTests/mathHelpers/test-copySetMathHelpers.js @@ -81,10 +81,12 @@ test('copySet with strings getValue', t => { ); t.deepEqual( getCopySetKeys( - /** @type {CopySet} */ (m.getValue( - mockBrand, - harden({ brand: mockBrand, value: makeCopySet(['1']) }), - )), + /** @type {CopySet} */ ( + m.getValue( + mockBrand, + harden({ brand: mockBrand, value: makeCopySet(['1']) }), + ) + ), ), ['1'], ); diff --git a/packages/ERTP/test/unitTests/mathHelpers/test-natMathHelpers.js b/packages/ERTP/test/unitTests/mathHelpers/test-natMathHelpers.js index 200468397c4..d062d280cc9 100644 --- a/packages/ERTP/test/unitTests/mathHelpers/test-natMathHelpers.js +++ b/packages/ERTP/test/unitTests/mathHelpers/test-natMathHelpers.js @@ -71,7 +71,8 @@ test('natMathHelpers coerce', t => { }), ), { - message: /The brand in the allegedAmount .* in 'coerce' didn't match the specified brand/, + message: + /The brand in the allegedAmount .* in 'coerce' didn't match the specified brand/, }, `coerce can't take the wrong brand`, ); diff --git a/packages/ERTP/test/unitTests/test-inputValidation.js b/packages/ERTP/test/unitTests/test-inputValidation.js index 2030ae37231..e1a5d09e929 100644 --- a/packages/ERTP/test/unitTests/test-inputValidation.js +++ b/packages/ERTP/test/unitTests/test-inputValidation.js @@ -14,7 +14,8 @@ test('makeIssuerKit bad allegedName', async t => { test('makeIssuerKit bad assetKind', async t => { // @ts-ignore Intentional wrong type for testing t.throws(() => makeIssuerKit('myTokens', 'somethingWrong'), { - message: /The assetKind "somethingWrong" must be one of \["copyBag","copySet","nat","set"\]/, + message: + /The assetKind "somethingWrong" must be one of \["copyBag","copySet","nat","set"\]/, }); }); diff --git a/packages/ERTP/test/unitTests/test-issuerObj.js b/packages/ERTP/test/unitTests/test-issuerObj.js index a5d8d471611..e2982ae1b53 100644 --- a/packages/ERTP/test/unitTests/test-issuerObj.js +++ b/packages/ERTP/test/unitTests/test-issuerObj.js @@ -44,7 +44,8 @@ test('bad display info', t => { const displayInfo = harden({ somethingUnexpected: 3 }); // @ts-ignore deliberate invalid arguments for testing t.throws(() => makeIssuerKit('fungible', AssetKind.NAT, displayInfo), { - message: /key "somethingUnexpected" was not one of the expected keys \["decimalPlaces","assetKind"\]/, + message: + /key "somethingUnexpected" was not one of the expected keys \["decimalPlaces","assetKind"\]/, }); }); @@ -163,21 +164,19 @@ test('purse.deposit', async t => { nextUpdate = notifier.getUpdateSince(updateCount); }; - const checkDeposit = ( - expectedOldBalance, - expectedNewBalance, - ) => async depositResult => { - const delta = AmountMath.subtract(expectedNewBalance, expectedOldBalance); - t.assert( - AmountMath.isEqual(depositResult, delta), - `the balance changes by the deposited amount: ${delta.value}`, - ); - t.assert( - AmountMath.isEqual(purse.getCurrentAmount(), expectedNewBalance), - `the new purse balance ${depositResult.value} is the expected amount: ${expectedNewBalance.value}`, - ); - await checkNotifier(); - }; + const checkDeposit = + (expectedOldBalance, expectedNewBalance) => async depositResult => { + const delta = AmountMath.subtract(expectedNewBalance, expectedOldBalance); + t.assert( + AmountMath.isEqual(depositResult, delta), + `the balance changes by the deposited amount: ${delta.value}`, + ); + t.assert( + AmountMath.isEqual(purse.getCurrentAmount(), expectedNewBalance), + `the new purse balance ${depositResult.value} is the expected amount: ${expectedNewBalance.value}`, + ); + await checkNotifier(); + }; await checkNotifier(); await E(purse) @@ -333,7 +332,8 @@ test('issuer.split bad amount', async t => { await t.throwsAsync( _ => E(issuer).split(payment, AmountMath.make(otherBrand, 10n)), { - message: /The brand in the allegedAmount .* in 'coerce' didn't match the specified brand/, + message: + /The brand in the allegedAmount .* in 'coerce' didn't match the specified brand/, }, 'throws for bad amount', ); @@ -396,9 +396,7 @@ test('issuer.combine good payments', async t => { ), ); }; - await E(issuer) - .combine(payments) - .then(checkCombinedPayment); + await E(issuer).combine(payments).then(checkCombinedPayment); }); test('issuer.combine array of promises', async t => { @@ -418,16 +416,13 @@ test('issuer.combine array of promises', async t => { }); }; - await E(issuer) - .combine(paymentsP) - .then(checkCombinedResult); + await E(issuer).combine(paymentsP).then(checkCombinedResult); }); test('issuer.combine bad payments', async t => { const { mint, issuer, brand } = makeIssuerKit('fungible'); - const { mint: otherMint, brand: otherBrand } = makeIssuerKit( - 'other fungible', - ); + const { mint: otherMint, brand: otherBrand } = + makeIssuerKit('other fungible'); const payments = []; for (let i = 0; i < 100; i += 1) { payments.push(mint.mintPayment(AmountMath.make(brand, 1n))); diff --git a/packages/SwingSet/demo/encouragementBotComms/bootstrap.js b/packages/SwingSet/demo/encouragementBotComms/bootstrap.js index d712c5d0fa9..b705018df92 100644 --- a/packages/SwingSet/demo/encouragementBotComms/bootstrap.js +++ b/packages/SwingSet/demo/encouragementBotComms/bootstrap.js @@ -16,10 +16,8 @@ export function buildRootObject(vatPowers) { D(devices.loopbox).registerInboundHandler(USER, vats.uservattp); const usersender = D(devices.loopbox).getSender(USER); await E(vats.uservattp).registerMailboxDevice(usersender); - const { - transmitter: txToBotForUser, - setReceiver: setRxFromBotForUser, - } = await E(vats.uservattp).addRemote(BOT); + const { transmitter: txToBotForUser, setReceiver: setRxFromBotForUser } = + await E(vats.uservattp).addRemote(BOT); await E(vats.usercomms).addRemote( BOT, txToBotForUser, @@ -29,10 +27,8 @@ export function buildRootObject(vatPowers) { D(devices.loopbox).registerInboundHandler(BOT, vats.botvattp); const botsender = D(devices.loopbox).getSender(BOT); await E(vats.botvattp).registerMailboxDevice(botsender); - const { - transmitter: txToUserForBot, - setReceiver: setRxFromUserForBot, - } = await E(vats.botvattp).addRemote(USER); + const { transmitter: txToUserForBot, setReceiver: setRxFromUserForBot } = + await E(vats.botvattp).addRemote(USER); await E(vats.botcomms).addRemote( USER, txToUserForBot, diff --git a/packages/SwingSet/src/devices/command-src.js b/packages/SwingSet/src/devices/command-src.js index 6c346c795d8..674367564bf 100644 --- a/packages/SwingSet/src/devices/command-src.js +++ b/packages/SwingSet/src/devices/command-src.js @@ -5,11 +5,8 @@ import { assert, details as X } from '@agoric/assert'; export function buildRootDeviceNode(tools) { const { SO, getDeviceState, setDeviceState, endowments } = tools; - const { - registerInboundCallback, - deliverResponse, - sendBroadcast, - } = endowments; + const { registerInboundCallback, deliverResponse, sendBroadcast } = + endowments; let { inboundHandler } = getDeviceState() || {}; registerInboundCallback((count, bodyString) => { diff --git a/packages/SwingSet/src/devices/loopbox-src.js b/packages/SwingSet/src/devices/loopbox-src.js index 4bd02676eac..0283a665c9c 100644 --- a/packages/SwingSet/src/devices/loopbox-src.js +++ b/packages/SwingSet/src/devices/loopbox-src.js @@ -2,13 +2,8 @@ import { assert, details as X } from '@agoric/assert'; import { Far } from '@endo/marshal'; export function buildRootDeviceNode(tools) { - const { - SO, - endowments, - deviceParameters, - getDeviceState, - setDeviceState, - } = tools; + const { SO, endowments, deviceParameters, getDeviceState, setDeviceState } = + tools; const { registerPassOneMessage, deliverMode } = endowments; function makeSender(sender) { diff --git a/packages/SwingSet/src/kernel/collectionManager.js b/packages/SwingSet/src/kernel/collectionManager.js index 5f5500afa2b..2dfc396b5e5 100644 --- a/packages/SwingSet/src/kernel/collectionManager.js +++ b/packages/SwingSet/src/kernel/collectionManager.js @@ -646,15 +646,8 @@ export function makeCollectionManager( if (hasWeakKeys) { collection = weakMethods; } else { - const { - keys, - values, - entries, - sizeInternal, - getSize, - snapshot, - clear, - } = raw; + const { keys, values, entries, sizeInternal, getSize, snapshot, clear } = + raw; collection = { ...weakMethods, keys, diff --git a/packages/SwingSet/src/kernel/json-stable-stringify.js b/packages/SwingSet/src/kernel/json-stable-stringify.js index 43eae915734..f2f183caa17 100644 --- a/packages/SwingSet/src/kernel/json-stable-stringify.js +++ b/packages/SwingSet/src/kernel/json-stable-stringify.js @@ -13,10 +13,10 @@ const isArray = const objectKeys = Object.keys || - function(obj) { + function (obj) { const has = Object.prototype.hasOwnProperty || - function() { + function () { return true; }; const keys = []; @@ -36,9 +36,9 @@ export default function stableStringify(obj, opts) { const cmp = opts.cmp && - (function(f) { - return function(node) { - return function(a, b) { + (function (f) { + return function (node) { + return function (a, b) { const aobj = { key: a, value: node[a] }; const bobj = { key: b, value: node[b] }; return f(aobj, bobj); diff --git a/packages/SwingSet/src/kernel/kernel.js b/packages/SwingSet/src/kernel/kernel.js index c23709589a2..45ecb1bb2eb 100644 --- a/packages/SwingSet/src/kernel/kernel.js +++ b/packages/SwingSet/src/kernel/kernel.js @@ -1066,9 +1066,8 @@ export default function buildKernel( if (deviceEndowments[name] || unendowed) { const translators = makeDeviceTranslators(deviceID, name, kernelKeeper); function deviceSyscallHandler(deviceSyscallObject) { - const ksc = translators.deviceSyscallToKernelSyscall( - deviceSyscallObject, - ); + const ksc = + translators.deviceSyscallToKernelSyscall(deviceSyscallObject); const kres = kernelSyscallHandler.doKernelSyscall(ksc); const dres = translators.kernelResultToDeviceResult(ksc[0], kres); assert.equal(dres[0], 'ok'); diff --git a/packages/SwingSet/src/kernel/kernelSyscall.js b/packages/SwingSet/src/kernel/kernelSyscall.js index 7c189a59640..737b31eaf4d 100644 --- a/packages/SwingSet/src/kernel/kernelSyscall.js +++ b/packages/SwingSet/src/kernel/kernelSyscall.js @@ -29,13 +29,8 @@ export function doSend(kernelKeeper, target, msg) { } export function makeKernelSyscallHandler(tools) { - const { - kernelKeeper, - ephemeral, - notify, - doResolve, - setTerminationTrigger, - } = tools; + const { kernelKeeper, ephemeral, notify, doResolve, setTerminationTrigger } = + tools; const { kvStore } = kernelKeeper; diff --git a/packages/SwingSet/src/kernel/slogger.js b/packages/SwingSet/src/kernel/slogger.js index 6c26fd746a9..af7fe3d3219 100644 --- a/packages/SwingSet/src/kernel/slogger.js +++ b/packages/SwingSet/src/kernel/slogger.js @@ -66,13 +66,7 @@ function makeCallbackRegistry(callbacks) { if (!cbNames.length) { return; } - console.warn( - errorUnusedMsg, - cbNames - .map(quote) - .sort() - .join(', '), - ); + console.warn(errorUnusedMsg, cbNames.map(quote).sort().join(', ')); }, }); } @@ -84,9 +78,8 @@ function makeCallbackRegistry(callbacks) { * @returns { KernelSlog } */ export function makeDummySlogger(slogCallbacks, makeConsole) { - const { registerCallback: reg, doneRegistering } = makeCallbackRegistry( - slogCallbacks, - ); + const { registerCallback: reg, doneRegistering } = + makeCallbackRegistry(slogCallbacks); const dummySlogger = harden({ provideVatSlogger: reg('provideVatSlogger', () => harden({ @@ -249,9 +242,8 @@ export function makeSlogger(slogCallbacks, writeObj) { // write({ type: 'annotate-vat', vatID, data }); // } - const { registerCallback: reg, doneRegistering } = makeCallbackRegistry( - slogCallbacks, - ); + const { registerCallback: reg, doneRegistering } = + makeCallbackRegistry(slogCallbacks); const slogger = harden({ provideVatSlogger: reg('provideVatSlogger', provideVatSlogger), vatConsole: reg('vatConsole', (vatID, ...args) => diff --git a/packages/SwingSet/src/kernel/state/kernelKeeper.js b/packages/SwingSet/src/kernel/state/kernelKeeper.js index 682b7a580b1..07fe9568d12 100644 --- a/packages/SwingSet/src/kernel/state/kernelKeeper.js +++ b/packages/SwingSet/src/kernel/state/kernelKeeper.js @@ -164,11 +164,11 @@ export default function makeKernelKeeper( return true; } - const { abortCrank, commitCrank, enhancedCrankBuffer: kvStore } = wrapStorage( - rawKVStore, - createSHA256, - isConsensusKey, - ); + const { + abortCrank, + commitCrank, + enhancedCrankBuffer: kvStore, + } = wrapStorage(rawKVStore, createSHA256, isConsensusKey); insistEnhancedStorageAPI(kvStore); const { streamStore, snapStore } = hostStorage; @@ -770,9 +770,7 @@ export default function makeKernelKeeper( const p = getKernelPromise(kernelSlot); const s = new Set(p.subscribers); s.add(vatID); - const v = Array.from(s) - .sort() - .join(','); + const v = Array.from(s).sort().join(','); kvStore.set(`${kernelSlot}.subscribers`, v); } diff --git a/packages/SwingSet/src/kernel/state/vatKeeper.js b/packages/SwingSet/src/kernel/state/vatKeeper.js index 322eae77ef4..7d4ac77b92b 100644 --- a/packages/SwingSet/src/kernel/state/vatKeeper.js +++ b/packages/SwingSet/src/kernel/state/vatKeeper.js @@ -566,8 +566,9 @@ export function makeVatKeeper( const objectCount = getCount(`${vatID}.o.nextID`, FIRST_OBJECT_ID); const promiseCount = getCount(`${vatID}.p.nextID`, FIRST_PROMISE_ID); const deviceCount = getCount(`${vatID}.d.nextID`, FIRST_DEVICE_ID); - const transcriptCount = JSON.parse(getRequired(`${vatID}.t.endPosition`)) - .itemCount; + const transcriptCount = JSON.parse( + getRequired(`${vatID}.t.endPosition`), + ).itemCount; // TODO: Fix the downstream JSON.stringify to allow the counts to be BigInts return harden({ diff --git a/packages/SwingSet/src/kernel/vatManager/manager-local.js b/packages/SwingSet/src/kernel/vatManager/manager-local.js index fad72730c99..bb713549358 100644 --- a/packages/SwingSet/src/kernel/vatManager/manager-local.js +++ b/packages/SwingSet/src/kernel/vatManager/manager-local.js @@ -12,13 +12,8 @@ import { } from './supervisor-helper.js'; export function makeLocalVatManagerFactory(tools) { - const { - allVatPowers, - kernelKeeper, - vatEndowments, - gcTools, - kernelSlog, - } = tools; + const { allVatPowers, kernelKeeper, vatEndowments, gcTools, kernelSlog } = + tools; const baseVP = { makeMarshal: allVatPowers.makeMarshal, diff --git a/packages/SwingSet/src/kernel/vatManager/manager-nodeworker.js b/packages/SwingSet/src/kernel/vatManager/manager-nodeworker.js index 94ee758ae88..275a8f44897 100644 --- a/packages/SwingSet/src/kernel/vatManager/manager-nodeworker.js +++ b/packages/SwingSet/src/kernel/vatManager/manager-nodeworker.js @@ -69,10 +69,8 @@ export function makeNodeWorkerVatManagerFactory(tools) { workerP.then(worker => worker.postMessage(msg)); } - const { - promise: dispatchReadyP, - resolve: dispatchIsReady, - } = makePromiseKit(); + const { promise: dispatchReadyP, resolve: dispatchIsReady } = + makePromiseKit(); let waiting; function handleUpstream([type, ...args]) { diff --git a/packages/SwingSet/src/kernel/vatManager/manager-subprocess-node.js b/packages/SwingSet/src/kernel/vatManager/manager-subprocess-node.js index 40f1147fee9..beb82719cd8 100644 --- a/packages/SwingSet/src/kernel/vatManager/manager-subprocess-node.js +++ b/packages/SwingSet/src/kernel/vatManager/manager-subprocess-node.js @@ -52,10 +52,8 @@ export function makeNodeSubprocessFactory(tools) { // worker and eventually get back an "ok" or an error. When we do // that, doSyscall won't even see replayed syscalls from the worker. - const { - promise: dispatchReadyP, - resolve: dispatchIsReady, - } = makePromiseKit(); + const { promise: dispatchReadyP, resolve: dispatchIsReady } = + makePromiseKit(); let waiting; /** diff --git a/packages/SwingSet/src/kernel/vatManager/vat-warehouse.js b/packages/SwingSet/src/kernel/vatManager/vat-warehouse.js index 69ef0320dbc..b8d1998bc55 100644 --- a/packages/SwingSet/src/kernel/vatManager/vat-warehouse.js +++ b/packages/SwingSet/src/kernel/vatManager/vat-warehouse.js @@ -300,10 +300,8 @@ export function makeVatWarehouse(kernelKeeper, vatLoader, policyOptions) { const vatKeeper = kernelKeeper.provideVatKeeper(lastVatID); let reason; - const { - totalEntries, - snapshottedEntries, - } = vatKeeper.transcriptSnapshotStats(); + const { totalEntries, snapshottedEntries } = + vatKeeper.transcriptSnapshotStats(); if (snapshotInitial === totalEntries) { reason = { snapshotInitial }; } else if (totalEntries - snapshottedEntries >= snapshotInterval) { diff --git a/packages/SwingSet/src/kernel/virtualObjectManager.js b/packages/SwingSet/src/kernel/virtualObjectManager.js index 80b0af7c8df..ee615f4cdaf 100644 --- a/packages/SwingSet/src/kernel/virtualObjectManager.js +++ b/packages/SwingSet/src/kernel/virtualObjectManager.js @@ -510,8 +510,11 @@ export function makeVirtualObjectManager( function reanimate(vobjID, proForma) { // kdebug(`vo reanimate ${vobjID}`); const innerSelf = cache.lookup(vobjID, false); - const representative = makeRepresentative(innerSelf, false, proForma) - .self; + const representative = makeRepresentative( + innerSelf, + false, + proForma, + ).self; if (proForma) { return null; } else { diff --git a/packages/SwingSet/src/vats/comms/delivery.js b/packages/SwingSet/src/vats/comms/delivery.js index e276878f72f..087bbda92a8 100644 --- a/packages/SwingSet/src/vats/comms/delivery.js +++ b/packages/SwingSet/src/vats/comms/delivery.js @@ -182,10 +182,7 @@ export function makeDeliveryKit( // deliver:$target:$method:[$result][:$slots..];body const sci = message.indexOf(';'); assert(sci !== -1, X`missing semicolon in deliver ${message}`); - const fields = message - .slice(0, sci) - .split(':') - .slice(1); + const fields = message.slice(0, sci).split(':').slice(1); // fields: [$target, $method, $result, $slots..] const remoteTarget = fields[0]; const target = getLocalForRemote(remoteID, remoteTarget); @@ -437,9 +434,8 @@ export function makeDeliveryKit( // unresolved promises, because we haven't marked them as resolved quite // yet. const [[primaryLpid]] = resolutions; - const { subscribers, kernelIsSubscribed } = state.getPromiseSubscribers( - primaryLpid, - ); + const { subscribers, kernelIsSubscribed } = + state.getPromiseSubscribers(primaryLpid); // Run the collector *before* we change the state of our promise table. const collector = resolutionCollector(); diff --git a/packages/SwingSet/src/vats/comms/state.js b/packages/SwingSet/src/vats/comms/state.js index 3e8b78a8375..f6b5248e54d 100644 --- a/packages/SwingSet/src/vats/comms/state.js +++ b/packages/SwingSet/src/vats/comms/state.js @@ -383,10 +383,9 @@ export function makeState(syscall, identifierBase = 0) { if (!reachable) { // the object is unreachable - // eslint-disable-next-line no-use-before-define - const { owner, isReachable, isRecognizable } = getOwnerAndStatus( - lref, - ); + const { owner, isReachable, isRecognizable } = + // eslint-disable-next-line no-use-before-define + getOwnerAndStatus(lref); if (isReachable) { // but the exporter doesn't realize it yet, so schedule a // dropExport to them, which will clear the isReachable flag at diff --git a/packages/SwingSet/src/vats/network/network.js b/packages/SwingSet/src/vats/network/network.js index e1ee11ff54a..69d5df874c3 100644 --- a/packages/SwingSet/src/vats/network/network.js +++ b/packages/SwingSet/src/vats/network/network.js @@ -151,9 +151,11 @@ export function crossoverConnection( } const ack = /** @type {Bytes} */ - (await E(handlers[r]) - .onReceive(conns[r], toBytes(packetBytes), handlers[r]) - .catch(rethrowUnlessMissing)); + ( + await E(handlers[r]) + .onReceive(conns[r], toBytes(packetBytes), handlers[r]) + .catch(rethrowUnlessMissing) + ); return toBytes(ack); }, async close() { @@ -287,9 +289,7 @@ export function makeNetworkProtocol(protocolHandler) { return; } listening.set(localAddr, [port, listenHandler]); - E(lhandler) - .onRemove(lport, lhandler) - .catch(rethrowUnlessMissing); + E(lhandler).onRemove(lport, lhandler).catch(rethrowUnlessMissing); } else { listening.init(localAddr, [port, listenHandler]); } @@ -469,13 +469,15 @@ export function makeNetworkProtocol(protocolHandler) { const [connectedAddress, rchandler] = /** @type {[Endpoint, ConnectionHandler]} */ - (await E(protocolHandler).onConnect( - port, - la, - remoteAddr, - lchandler, - protocolHandler, - )); + ( + await E(protocolHandler).onConnect( + port, + la, + remoteAddr, + lchandler, + protocolHandler, + ) + ); if (!rchandler) { throw lastFailure; diff --git a/packages/SwingSet/src/vats/vat-tp.js b/packages/SwingSet/src/vats/vat-tp.js index a7e303d9b36..c42857b06a8 100644 --- a/packages/SwingSet/src/vats/vat-tp.js +++ b/packages/SwingSet/src/vats/vat-tp.js @@ -76,10 +76,8 @@ export function buildRootObject(vatPowers) { return exportedObjects.get(address); }, }); - const { - promise: theirLocatorUnum, - resolve: gotTheirLocatorUnum, - } = makePromiseKit(); + const { promise: theirLocatorUnum, resolve: gotTheirLocatorUnum } = + makePromiseKit(); const name = makeConnectionName(); let openCalled = false; assert(!connectionNames.has(name), X`already have host for ${name}`); diff --git a/packages/SwingSet/test/device-plugin/test-device.js b/packages/SwingSet/test/device-plugin/test-device.js index 20c2ef8b3cc..ea004cb40f4 100644 --- a/packages/SwingSet/test/device-plugin/test-device.js +++ b/packages/SwingSet/test/device-plugin/test-device.js @@ -90,13 +90,8 @@ test.serial('plugin first time', async t => { }); test.serial('plugin after restart', async t => { - const { - bridge, - cycle, - dump, - plugin, - queueThunkForKernel, - } = await setupVatController(t); + const { bridge, cycle, dump, plugin, queueThunkForKernel } = + await setupVatController(t); plugin.reset(); queueThunkForKernel(() => bridge.deliverInbound('pingpong')); diff --git a/packages/SwingSet/test/stores/test-collections.js b/packages/SwingSet/test/stores/test-collections.js index 41645d5588a..bf5813d3925 100644 --- a/packages/SwingSet/test/stores/test-collections.js +++ b/packages/SwingSet/test/stores/test-collections.js @@ -882,120 +882,37 @@ test('complex set queries', t => { }); primes.forEach(v => primeStore.add(v)); - t.deepEqual(Array.from(primeStore.values()), [ - 2, - 3, - 5, - 7, - 11, - 13, - 17, - 19, - 23, - 29, - 31, - 37, - 41, - 43, - 47, - 53, - 59, - 61, - 67, - 71, - 73, - 79, - 83, - 89, - 97, - ]); - t.deepEqual(Array.from(primeStore.values(M.gt(53))), [ - 59, - 61, - 67, - 71, - 73, - 79, - 83, - 89, - 97, - ]); - t.deepEqual(Array.from(primeStore.values(M.gte(53))), [ - 53, - 59, - 61, - 67, - 71, - 73, - 79, - 83, - 89, - 97, - ]); - t.deepEqual(Array.from(primeStore.values(M.lt(53))), [ - 2, - 3, - 5, - 7, - 11, - 13, - 17, - 19, - 23, - 29, - 31, - 37, - 41, - 43, - 47, - ]); - t.deepEqual(Array.from(primeStore.values(M.lte(53))), [ - 2, - 3, - 5, - 7, - 11, - 13, - 17, - 19, - 23, - 29, - 31, - 37, - 41, - 43, - 47, - 53, - ]); - t.deepEqual(Array.from(primeStore.values(M.and(M.gt(25), M.lt(75)))), [ - 29, - 31, - 37, - 41, - 43, - 47, - 53, - 59, - 61, - 67, - 71, - 73, - ]); - t.deepEqual(Array.from(primeStore.values(M.or(M.lt(25), M.gt(75)))), [ - 2, - 3, - 5, - 7, - 11, - 13, - 17, - 19, - 23, - 79, - 83, - 89, - 97, - ]); + t.deepEqual( + Array.from(primeStore.values()), + [ + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, + 71, 73, 79, 83, 89, 97, + ], + ); + t.deepEqual( + Array.from(primeStore.values(M.gt(53))), + [59, 61, 67, 71, 73, 79, 83, 89, 97], + ); + t.deepEqual( + Array.from(primeStore.values(M.gte(53))), + [53, 59, 61, 67, 71, 73, 79, 83, 89, 97], + ); + t.deepEqual( + Array.from(primeStore.values(M.lt(53))), + [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47], + ); + t.deepEqual( + Array.from(primeStore.values(M.lte(53))), + [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53], + ); + t.deepEqual( + Array.from(primeStore.values(M.and(M.gt(25), M.lt(75)))), + [29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73], + ); + t.deepEqual( + Array.from(primeStore.values(M.or(M.lt(25), M.gt(75)))), + [2, 3, 5, 7, 11, 13, 17, 19, 23, 79, 83, 89, 97], + ); t.deepEqual( Array.from( primeStore.values( diff --git a/packages/SwingSet/test/stores/test-storeGC.js b/packages/SwingSet/test/stores/test-storeGC.js index 49d6edc5cdd..ab16dd0c631 100644 --- a/packages/SwingSet/test/stores/test-storeGC.js +++ b/packages/SwingSet/test/stores/test-storeGC.js @@ -617,12 +617,8 @@ test.serial('store lifecycle 1', async t => { // test 2: lerv -> Lerv -> LerV -> lerV -> LerV -> LERV -> lERV -> LERV -> // lERV -> LERV -> lERV -> leRV -> LeRV -> leRV -> LeRV -> LerV test.serial('store lifecycle 2', async t => { - const { - v, - dispatchMessage, - dispatchDropExports, - dispatchRetireExports, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchDropExports, dispatchRetireExports } = + setupLifecycleTest(t); // lerv -> Lerv Create store let rp = await dispatchMessage('makeAndHold'); @@ -688,12 +684,8 @@ test.serial('store lifecycle 2', async t => { // test 3: lerv -> Lerv -> LerV -> LERV -> LeRV -> leRV -> lerV -> lerv test.serial('store lifecycle 3', async t => { - const { - v, - dispatchMessage, - dispatchDropExports, - dispatchRetireExports, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchDropExports, dispatchRetireExports } = + setupLifecycleTest(t); // lerv -> Lerv Create store let rp = await dispatchMessage('makeAndHold'); @@ -749,12 +741,8 @@ test.serial('store lifecycle 4', async t => { // test 5: lerv -> Lerv -> LERv -> LeRv -> Lerv -> lerv test.serial('store lifecycle 5', async t => { - const { - v, - dispatchMessage, - dispatchDropExports, - dispatchRetireExports, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchDropExports, dispatchRetireExports } = + setupLifecycleTest(t); // lerv -> Lerv Create store let rp = await dispatchMessage('makeAndHold'); @@ -1210,12 +1198,8 @@ test.serial('verify store weak key GC', async t => { }); test.serial('verify presence weak key GC', async t => { - const { - v, - dispatchMessage, - dispatchRetireImports, - testHooks, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchRetireImports, testHooks } = + setupLifecycleTest(t); // Import a presence to use as a key and hold onto it weakly let rp = await dispatchMessage('importAndHoldAndKey', thingArg('o-5')); diff --git a/packages/SwingSet/test/test-controller.js b/packages/SwingSet/test/test-controller.js index 518c5bc6a80..dfdcc400538 100644 --- a/packages/SwingSet/test/test-controller.js +++ b/packages/SwingSet/test/test-controller.js @@ -220,8 +220,7 @@ test.serial('bootstrap export', async t => { result: 'kp40', method: 'bootstrap', args: { - body: - '[{"bootstrap":{"@qclass":"slot","iface":"Alleged: vref","index":0},"comms":{"@qclass":"slot","iface":"Alleged: vref","index":1},"left":{"@qclass":"slot","iface":"Alleged: vref","index":2},"right":{"@qclass":"slot","iface":"Alleged: vref","index":3},"timer":{"@qclass":"slot","iface":"Alleged: vref","index":4},"vatAdmin":{"@qclass":"slot","iface":"Alleged: vref","index":5},"vattp":{"@qclass":"slot","iface":"Alleged: vref","index":6}},{"vatAdmin":{"@qclass":"slot","iface":"Alleged: device","index":7}}]', + body: '[{"bootstrap":{"@qclass":"slot","iface":"Alleged: vref","index":0},"comms":{"@qclass":"slot","iface":"Alleged: vref","index":1},"left":{"@qclass":"slot","iface":"Alleged: vref","index":2},"right":{"@qclass":"slot","iface":"Alleged: vref","index":3},"timer":{"@qclass":"slot","iface":"Alleged: vref","index":4},"vatAdmin":{"@qclass":"slot","iface":"Alleged: vref","index":5},"vattp":{"@qclass":"slot","iface":"Alleged: vref","index":6}},{"vatAdmin":{"@qclass":"slot","iface":"Alleged: device","index":7}}]', slots: [ boot0, comms0, diff --git a/packages/SwingSet/test/test-exomessages.js b/packages/SwingSet/test/test-exomessages.js index c785d92cbca..1797bb087d0 100644 --- a/packages/SwingSet/test/test-exomessages.js +++ b/packages/SwingSet/test/test-exomessages.js @@ -64,8 +64,7 @@ async function testFailure(t) { t.truthy(failureHappened); t.is(controller.kpStatus(controller.bootstrapResult), 'rejected'); t.deepEqual(controller.kpResolution(controller.bootstrapResult), { - body: - '{"@qclass":"error","errorId":"error:liveSlots:v1#70001","message":"gratuitous error","name":"Error"}', + body: '{"@qclass":"error","errorId":"error:liveSlots:v1#70001","message":"gratuitous error","name":"Error"}', slots: [], }); } diff --git a/packages/SwingSet/test/test-kernel.js b/packages/SwingSet/test/test-kernel.js index 535b6468c49..9aedb4653e1 100644 --- a/packages/SwingSet/test/test-kernel.js +++ b/packages/SwingSet/test/test-kernel.js @@ -1004,9 +1004,8 @@ test('non-pipelined promise queueing', async t => { function setupB(_s) { function dispatch(vatDeliverObject) { - const { facetID, method, args, result } = extractMessage( - vatDeliverObject, - ); + const { facetID, method, args, result } = + extractMessage(vatDeliverObject); log.push([facetID, method, args, result]); } return dispatch; @@ -1129,9 +1128,8 @@ test('pipelined promise queueing', async t => { function setupB(_s) { function dispatch(vatDeliverObject) { - const { facetID, method, args, result } = extractMessage( - vatDeliverObject, - ); + const { facetID, method, args, result } = + extractMessage(vatDeliverObject); log.push([facetID, method, args, result]); } return dispatch; diff --git a/packages/SwingSet/test/test-marshal.js b/packages/SwingSet/test/test-marshal.js index 6224014ebc0..33d7c5b5dde 100644 --- a/packages/SwingSet/test/test-marshal.js +++ b/packages/SwingSet/test/test-marshal.js @@ -36,13 +36,11 @@ test('serialize exports', t => { }); // m now remembers that o1 is exported as 1 t.deepEqual(ser(harden([o1, o1])), { - body: - '[{"@qclass":"slot","iface":"Alleged: o1","index":0},{"@qclass":"slot","index":0}]', + body: '[{"@qclass":"slot","iface":"Alleged: o1","index":0},{"@qclass":"slot","index":0}]', slots: ['o+1'], }); t.deepEqual(ser(harden([o2, o1])), { - body: - '[{"@qclass":"slot","iface":"Alleged: o2","index":0},{"@qclass":"slot","iface":"Alleged: o1","index":1}]', + body: '[{"@qclass":"slot","iface":"Alleged: o2","index":0},{"@qclass":"slot","iface":"Alleged: o1","index":1}]', slots: ['o+2', 'o+1'], }); }); diff --git a/packages/SwingSet/test/test-message-patterns.js b/packages/SwingSet/test/test-message-patterns.js index 74870db435c..d6f08053023 100644 --- a/packages/SwingSet/test/test-message-patterns.js +++ b/packages/SwingSet/test/test-message-patterns.js @@ -128,9 +128,8 @@ for (const name of Array.from(bp.patterns.keys()).sort()) { export async function runVatsInComms(t, name) { const { commsConfig, kernelBundles } = t.context.data; - const { passOneMessage, loopboxSrcPath, loopboxEndowments } = buildLoopbox( - 'queued', - ); + const { passOneMessage, loopboxSrcPath, loopboxEndowments } = + buildLoopbox('queued'); const devices = { loopbox: { sourceSpec: loopboxSrcPath, diff --git a/packages/SwingSet/test/test-state.js b/packages/SwingSet/test/test-state.js index a1ee1ad601e..70ac202a01b 100644 --- a/packages/SwingSet/test/test-state.js +++ b/packages/SwingSet/test/test-state.js @@ -129,10 +129,11 @@ test('crankBuffer can abortCrank', t => { const store = initSwingStore(null); const getState = () => getAllState(store).kvStuff; - const { crankBuffer: s, commitCrank, abortCrank } = buildCrankBuffer( - store.kvStore, - createSHA256, - ); + const { + crankBuffer: s, + commitCrank, + abortCrank, + } = buildCrankBuffer(store.kvStore, createSHA256); s.set('foo', 'f'); t.truthy(s.has('foo')); diff --git a/packages/SwingSet/test/util.js b/packages/SwingSet/test/util.js index d55e2bc846c..2c1e14749c9 100644 --- a/packages/SwingSet/test/util.js +++ b/packages/SwingSet/test/util.js @@ -34,9 +34,9 @@ export function checkKT(t, kernel, expected) { } export function dumpKT(kernel) { - const got = Array.from( - kernel.dump().kernelTable, - ).map(([kid, vatdev, vid]) => [vatdev, vid, kid]); + const got = Array.from(kernel.dump().kernelTable).map( + ([kid, vatdev, vid]) => [vatdev, vid, kid], + ); got.sort(compareArraysOfStrings); for (const [vatdev, vid, kid] of got) { console.log(`${vatdev}:${vid} <-> ${kid}`); diff --git a/packages/SwingSet/test/virtualObjects/test-virtualObjectGC.js b/packages/SwingSet/test/virtualObjects/test-virtualObjectGC.js index 1b157f641b7..6616b801eac 100644 --- a/packages/SwingSet/test/virtualObjects/test-virtualObjectGC.js +++ b/packages/SwingSet/test/virtualObjects/test-virtualObjectGC.js @@ -565,12 +565,8 @@ test.serial('VO lifecycle 1', async t => { // test 2: lerv -> Lerv -> LerV -> lerV -> LerV -> LERV -> lERV -> LERV -> // lERV -> LERV -> lERV -> leRV -> LeRV -> leRV -> LeRV -> LerV test.serial('VO lifecycle 2', async t => { - const { - v, - dispatchMessage, - dispatchDropExports, - dispatchRetireExports, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchDropExports, dispatchRetireExports } = + setupLifecycleTest(t); // lerv -> Lerv Create VO let rp = await dispatchMessage('makeAndHold'); @@ -635,12 +631,8 @@ test.serial('VO lifecycle 2', async t => { // test 3: lerv -> Lerv -> LerV -> LERV -> LeRV -> leRV -> lerV -> lerv test.serial('VO lifecycle 3', async t => { - const { - v, - dispatchMessage, - dispatchDropExports, - dispatchRetireExports, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchDropExports, dispatchRetireExports } = + setupLifecycleTest(t); // lerv -> Lerv Create VO let rp = await dispatchMessage('makeAndHold'); @@ -694,12 +686,8 @@ test.serial('VO lifecycle 4', async t => { // test 5: lerv -> Lerv -> LERv -> LeRv -> Lerv -> lerv test.serial('VO lifecycle 5', async t => { - const { - v, - dispatchMessage, - dispatchDropExports, - dispatchRetireExports, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchDropExports, dispatchRetireExports } = + setupLifecycleTest(t); // lerv -> Lerv Create VO let rp = await dispatchMessage('makeAndHold'); @@ -1126,12 +1114,8 @@ test.serial('verify VO weak key GC', async t => { }); test.serial('verify presence weak key GC', async t => { - const { - v, - dispatchMessage, - dispatchRetireImports, - testHooks, - } = setupLifecycleTest(t); + const { v, dispatchMessage, dispatchRetireImports, testHooks } = + setupLifecycleTest(t); validate(v, matchVatstoreSet('vom.o+1/1', cacheObjValue)); validateDone(v); diff --git a/packages/SwingSet/test/virtualObjects/test-virtualObjectManager.js b/packages/SwingSet/test/virtualObjects/test-virtualObjectManager.js index c50568b1559..08871e03430 100644 --- a/packages/SwingSet/test/virtualObjects/test-virtualObjectManager.js +++ b/packages/SwingSet/test/virtualObjects/test-virtualObjectManager.js @@ -604,11 +604,8 @@ test('virtualized weak collection operations', t => { // TODO: don't yet have a way to test the weakness of the virtualized weak // collections - const { - VirtualObjectAwareWeakMap, - VirtualObjectAwareWeakSet, - makeKind, - } = makeFakeVirtualObjectManager({ cacheSize: 3 }); + const { VirtualObjectAwareWeakMap, VirtualObjectAwareWeakSet, makeKind } = + makeFakeVirtualObjectManager({ cacheSize: 3 }); const makeThing = makeKind(makeThingInnards); const makeZot = makeKind(makeZotInnards); diff --git a/packages/agoric-cli/src/chain-config.js b/packages/agoric-cli/src/chain-config.js index 49bb11bf426..043d2eddb26 100644 --- a/packages/agoric-cli/src/chain-config.js +++ b/packages/agoric-cli/src/chain-config.js @@ -92,9 +92,9 @@ export function finishCosmosApp({ } // Offset the GRPC listener from our rpc port. - app.grpc.address = `0.0.0.0:${rpcPort + - DEFAULT_GRPC_PORT - - DEFAULT_RPC_PORT}`; + app.grpc.address = `0.0.0.0:${ + rpcPort + DEFAULT_GRPC_PORT - DEFAULT_RPC_PORT + }`; // Lengthen the pruning span. app.pruning = 'custom'; @@ -185,9 +185,8 @@ export function finishCosmosGenesis({ genesisJson, exportedGenesisJson }) { genesis.app_state.staking.params.bond_denom = STAKING_DENOM; genesis.app_state.staking.params.max_validators = STAKING_MAX_VALIDATORS; - const { - historical_entries: existingHistoricalEntries = 0, - } = genesis.app_state.staking.params; + const { historical_entries: existingHistoricalEntries = 0 } = + genesis.app_state.staking.params; genesis.app_state.staking.params.historical_entries = Math.max( existingHistoricalEntries, STAKING_MIN_HISTORICAL_ENTRIES, diff --git a/packages/agoric-cli/src/deploy.js b/packages/agoric-cli/src/deploy.js index e91210a58b2..fbe0918b8ff 100644 --- a/packages/agoric-cli/src/deploy.js +++ b/packages/agoric-cli/src/deploy.js @@ -166,9 +166,9 @@ export default async function deployMain(progname, rawArgs, powers, opts) { // Take a new copy, since the chain objects have been added to bootstrap. bootP = getBootstrap(); - const pluginManager = await E.get( - E.get(bootP).local, - ).plugin.catch(_ => {}); + const pluginManager = await E.get(E.get(bootP).local).plugin.catch( + _ => {}, + ); const pluginDir = await E(pluginManager) .getPluginDir() .catch(_ => {}); @@ -232,17 +232,16 @@ export { bootPlugin } from ${JSON.stringify(absPath)}; // Use Node.js ESM support if package.json of template says "type": // "module". const read = async url => fs.readFile(new URL(url).pathname); - const { - packageDescriptorText, - } = await readContainingPackageDescriptor( - read, - `file://${moduleFile}`, - ).catch(cause => { - throw new Error( - `Expected a package.json beside deploy script ${moduleFile}, ${cause}`, - { cause }, - ); - }); + const { packageDescriptorText } = + await readContainingPackageDescriptor( + read, + `file://${moduleFile}`, + ).catch(cause => { + throw new Error( + `Expected a package.json beside deploy script ${moduleFile}, ${cause}`, + { cause }, + ); + }); const packageDescriptor = JSON.parse(packageDescriptorText); const nativeEsm = packageDescriptor.type === 'module'; console.log( diff --git a/packages/agoric-cli/src/start.js b/packages/agoric-cli/src/start.js index 08af0ada5e5..54981e37cba 100644 --- a/packages/agoric-cli/src/start.js +++ b/packages/agoric-cli/src/start.js @@ -383,9 +383,7 @@ export default async function startMain(progname, rawArgs, powers, opts) { // Calculate the GCI for the updated genesis.json. const hashFile = `${genesisFile}.sha256`; - const gci = createHash('sha256') - .update(newGenesisJson) - .digest('hex'); + const gci = createHash('sha256').update(newGenesisJson).digest('hex'); // Save all the files to disk. await Promise.all([ diff --git a/packages/cosmic-swingset/calc-gci.js b/packages/cosmic-swingset/calc-gci.js index dae51c9c014..13c3ed24fec 100755 --- a/packages/cosmic-swingset/calc-gci.js +++ b/packages/cosmic-swingset/calc-gci.js @@ -7,7 +7,5 @@ import process from 'process'; const g = fs.readFileSync(process.argv[2]).toString(); const s = djson.stringify(JSON.parse(g)); -const gci = createHash('sha256') - .update(s) - .digest('hex'); +const gci = createHash('sha256').update(s).digest('hex'); console.log(gci); diff --git a/packages/cosmic-swingset/src/chain-main.js b/packages/cosmic-swingset/src/chain-main.js index f50e0bce73c..ea4ecc96937 100644 --- a/packages/cosmic-swingset/src/chain-main.js +++ b/packages/cosmic-swingset/src/chain-main.js @@ -288,10 +288,8 @@ export default async function main(progname, args, { env, homedir, agcc }) { } if (!blockManager) { - const { - savedChainSends: scs, - ...fns - } = await launchAndInitializeSwingSet(action); + const { savedChainSends: scs, ...fns } = + await launchAndInitializeSwingSet(action); savedChainSends = scs; blockManager = makeBlockManager({ ...fns, diff --git a/packages/cosmic-swingset/src/kernel-stats.js b/packages/cosmic-swingset/src/kernel-stats.js index 290df2627b5..858a08912b9 100644 --- a/packages/cosmic-swingset/src/kernel-stats.js +++ b/packages/cosmic-swingset/src/kernel-stats.js @@ -33,9 +33,8 @@ export const HISTOGRAM_MS_LATENCY_BOUNDARIES = [ 10000, Infinity, ]; -export const HISTOGRAM_SECONDS_LATENCY_BOUNDARIES = HISTOGRAM_MS_LATENCY_BOUNDARIES.map( - ms => ms / 1000, -); +export const HISTOGRAM_SECONDS_LATENCY_BOUNDARIES = + HISTOGRAM_MS_LATENCY_BOUNDARIES.map(ms => ms / 1000); const wrapDeltaMS = (finisher, useDeltaMS) => { const startMS = Date.now(); diff --git a/packages/cosmic-swingset/src/launch-chain.js b/packages/cosmic-swingset/src/launch-chain.js index be9b386c11a..e7f24ab7cfd 100644 --- a/packages/cosmic-swingset/src/launch-chain.js +++ b/packages/cosmic-swingset/src/launch-chain.js @@ -144,9 +144,8 @@ export async function launch( ) { console.info('Launching SwingSet kernel'); - const { kvStore, streamStore, snapStore, commit } = openSwingStore( - kernelStateDBDir, - ); + const { kvStore, streamStore, snapStore, commit } = + openSwingStore(kernelStateDBDir); const hostStorage = { kvStore, streamStore, @@ -177,15 +176,13 @@ export async function launch( }, ); - const { - schedulerCrankTimeHistogram, - schedulerBlockTimeHistogram, - } = exportKernelStats({ - controller, - metricMeter, - log: console, - labels: METRIC_LABELS, - }); + const { schedulerCrankTimeHistogram, schedulerBlockTimeHistogram } = + exportKernelStats({ + controller, + metricMeter, + log: console, + labels: METRIC_LABELS, + }); async function crankScheduler(policy, clock = () => Date.now()) { let now = clock(); diff --git a/packages/cosmic-swingset/src/params.js b/packages/cosmic-swingset/src/params.js index 4c0276e4b4e..29b691927ff 100644 --- a/packages/cosmic-swingset/src/params.js +++ b/packages/cosmic-swingset/src/params.js @@ -16,10 +16,8 @@ export const stringToNat = s => { // Map the SwingSet parameters to a deterministic data structure. export const parseParams = params => { - const { - beans_per_unit: rawBeansPerUnit, - fee_unit_price: rawFeeUnitPrice, - } = params; + const { beans_per_unit: rawBeansPerUnit, fee_unit_price: rawFeeUnitPrice } = + params; assert( Array.isArray(rawBeansPerUnit), X`beansPerUnit must be an array, not ${rawBeansPerUnit}`, diff --git a/packages/deploy-script-support/test/unitTests/test-startInstance.js b/packages/deploy-script-support/test/unitTests/test-startInstance.js index d7bb2c256f0..900932867e6 100644 --- a/packages/deploy-script-support/test/unitTests/test-startInstance.js +++ b/packages/deploy-script-support/test/unitTests/test-startInstance.js @@ -69,12 +69,8 @@ test('startInstance', async t => { }, }; - const { - creatorFacet, - publicFacet, - instance, - creatorInvitationDetails, - } = await startInstance(startInstanceConfig); + const { creatorFacet, publicFacet, instance, creatorInvitationDetails } = + await startInstance(startInstanceConfig); t.is(addedPetname, 'automaticRefund'); t.truthy(creatorFacet); diff --git a/packages/deployment/scripts/crunch.mjs b/packages/deployment/scripts/crunch.mjs index 632cfe2ba0c..75eacd33a83 100755 --- a/packages/deployment/scripts/crunch.mjs +++ b/packages/deployment/scripts/crunch.mjs @@ -8,11 +8,8 @@ import fs from 'fs'; // eslint-disable-next-line import/no-extraneous-dependencies import ReadlineTransform from 'readline-transform'; -const [ - TRACE_FILE, - FIRST_BLOCK_HEIGHT = 0, - LAST_BLOCK_HEIGHT = Infinity, -] = process.argv.slice(2); +const [TRACE_FILE, FIRST_BLOCK_HEIGHT = 0, LAST_BLOCK_HEIGHT = Infinity] = + process.argv.slice(2); if (!TRACE_FILE) { console.error( 'usage: crunch trace-file [first-block-height [last-block-height]]', @@ -44,9 +41,7 @@ const escapeCharCode = c => { const decode = b64 => { const b = Buffer.from(b64, 'base64'); - return Array.from(b) - .map(escapeCharCode) - .join(''); + return Array.from(b).map(escapeCharCode).join(''); }; const main = async () => { diff --git a/packages/deployment/src/init.js b/packages/deployment/src/init.js index e1855f2c318..c7d0bc56218 100644 --- a/packages/deployment/src/init.js +++ b/packages/deployment/src/init.js @@ -47,64 +47,66 @@ const tfStringify = obj => { return ret; }; -const genericAskApiKey = ({ env, inquirer }) => async (provider, myDetails) => { - const questions = [ - { - name: 'API_KEYS', - type: 'input', - message: `API Key for ${provider.name}?`, - default: myDetails.API_KEYS || env.DO_API_TOKEN, - filter: key => key.trim(), - }, - ]; - const ret = await inquirer.prompt(questions); - if (!ret.API_KEYS) { - return { CANCEL: true }; - } - return ret; -}; +const genericAskApiKey = + ({ env, inquirer }) => + async (provider, myDetails) => { + const questions = [ + { + name: 'API_KEYS', + type: 'input', + message: `API Key for ${provider.name}?`, + default: myDetails.API_KEYS || env.DO_API_TOKEN, + filter: key => key.trim(), + }, + ]; + const ret = await inquirer.prompt(questions); + if (!ret.API_KEYS) { + return { CANCEL: true }; + } + return ret; + }; -const genericAskDatacenter = ({ inquirer }) => async ( - provider, - PLACEMENT, - dcs, - placement, -) => { - const questions = []; - const count = nodeCount(calculateTotal(placement), true); - const DONE = { name: `Done with ${PLACEMENT} placement${count}`, value: '' }; - if (dcs) { - questions.push({ - name: 'DATACENTER', - type: 'list', - message: `Which ${PLACEMENT} datacenter${count}?`, - choices: [DONE, ...dcs], - }); - } else { - questions.push({ - name: 'DATACENTER', - type: 'input', - message: `Which ${PLACEMENT} datacenter${count}?`, - filter: dc => dc.trim(), - }); - } +const genericAskDatacenter = + ({ inquirer }) => + async (provider, PLACEMENT, dcs, placement) => { + const questions = []; + const count = nodeCount(calculateTotal(placement), true); + const DONE = { + name: `Done with ${PLACEMENT} placement${count}`, + value: '', + }; + if (dcs) { + questions.push({ + name: 'DATACENTER', + type: 'list', + message: `Which ${PLACEMENT} datacenter${count}?`, + choices: [DONE, ...dcs], + }); + } else { + questions.push({ + name: 'DATACENTER', + type: 'input', + message: `Which ${PLACEMENT} datacenter${count}?`, + filter: dc => dc.trim(), + }); + } - const { DATACENTER } = await inquirer.prompt(questions); - if (!DATACENTER) { - return { MORE: false }; - } + const { DATACENTER } = await inquirer.prompt(questions); + if (!DATACENTER) { + return { MORE: false }; + } - const { NUM_NODES } = await inquirer.prompt([ - { - name: 'NUM_NODES', - type: 'number', - message: `Number of nodes for ${PLACEMENT} ${DATACENTER} (0 or more)?`, - default: placement[DATACENTER] || 0, - validate: num => Math.floor(num) === num && num >= 0, - }, - ]); - return { DATACENTER, NUM_NODES, MORE: true }; -}; + const { NUM_NODES } = await inquirer.prompt([ + { + name: 'NUM_NODES', + type: 'number', + message: `Number of nodes for ${PLACEMENT} ${DATACENTER} (0 or more)?`, + default: placement[DATACENTER] || 0, + validate: num => Math.floor(num) === num && num >= 0, + }, + ]); + return { DATACENTER, NUM_NODES, MORE: true }; + }; const DOCKER_DATACENTER = 'default'; @@ -209,308 +211,305 @@ module "${PLACEMENT}" { }, }); -const askPlacement = ({ inquirer }) => async (PLACEMENTS, ROLES) => { - let total = 0; - PLACEMENTS.forEach( - ([_PLACEMENT, placement]) => (total += calculateTotal(placement)), - ); - const count = nodeCount(total, true); - const DONE = { name: `Done with allocation${count}`, value: '' }; - const NEW = { name: `Initialize new placement`, value: 'NEW' }; - - const questions = [ - { - name: 'PLACEMENT', - type: 'list', - message: `Where would you like to allocate nodes${count}?`, - choices: [ - DONE, - NEW, - ...PLACEMENTS.map(([place, placement]) => ({ - name: `${ROLES[place]} - ${place}${nodeCount( - calculateTotal(placement), - )}`, - value: place, - })), - ], - }, - ]; - - const first = await inquirer.prompt(questions); - - const roleQuestions = [ - { - name: 'ROLE', - type: 'list', - message: `Role for the ${first.PLACEMENT} placement?`, - choices: AVAILABLE_ROLES, - }, - ]; - const second = first.PLACEMENT ? await inquirer.prompt(roleQuestions) : {}; +const askPlacement = + ({ inquirer }) => + async (PLACEMENTS, ROLES) => { + let total = 0; + PLACEMENTS.forEach( + ([_PLACEMENT, placement]) => (total += calculateTotal(placement)), + ); + const count = nodeCount(total, true); + const DONE = { name: `Done with allocation${count}`, value: '' }; + const NEW = { name: `Initialize new placement`, value: 'NEW' }; + + const questions = [ + { + name: 'PLACEMENT', + type: 'list', + message: `Where would you like to allocate nodes${count}?`, + choices: [ + DONE, + NEW, + ...PLACEMENTS.map(([place, placement]) => ({ + name: `${ROLES[place]} - ${place}${nodeCount( + calculateTotal(placement), + )}`, + value: place, + })), + ], + }, + ]; + + const first = await inquirer.prompt(questions); + + const roleQuestions = [ + { + name: 'ROLE', + type: 'list', + message: `Role for the ${first.PLACEMENT} placement?`, + choices: AVAILABLE_ROLES, + }, + ]; + const second = first.PLACEMENT ? await inquirer.prompt(roleQuestions) : {}; + + return { ...first, ...second }; + }; - return { ...first, ...second }; -}; +const askProvider = + ({ inquirer }) => + PROVIDERS => { + const DONE = { name: `Return to allocation menu`, value: '' }; + const questions = [ + { + name: 'PROVIDER', + type: 'list', + message: `For what provider would you like to create a new placement?`, + choices: [ + DONE, + ...Object.values(PROVIDERS).sort((nva, nvb) => { + if (nva.name < nvb.name) { + return -1; + } + if (nva.name === nvb.name) { + return 0; + } + return 1; + }), + ], + }, + ]; + return inquirer.prompt(questions); + }; -const askProvider = ({ inquirer }) => PROVIDERS => { - const DONE = { name: `Return to allocation menu`, value: '' }; - const questions = [ - { - name: 'PROVIDER', - type: 'list', - message: `For what provider would you like to create a new placement?`, - choices: [ - DONE, - ...Object.values(PROVIDERS).sort((nva, nvb) => { - if (nva.name < nvb.name) { - return -1; - } - if (nva.name === nvb.name) { - return 0; - } - return 1; - }), - ], - }, - ]; - return inquirer.prompt(questions); -}; +const doInit = + ({ env, rd, wr, running, setup, inquirer, fetch, parseArgs }) => + async (progname, args) => { + const { needDoRun, needBacktick, cwd, chdir } = running; + const PROVIDERS = makeProviders({ + env, + inquirer, + wr, + setup, + fetch, + needBacktick, + }); -const doInit = ({ - env, - rd, - wr, - running, - setup, - inquirer, - fetch, - parseArgs, -}) => async (progname, args) => { - const { needDoRun, needBacktick, cwd, chdir } = running; - const PROVIDERS = makeProviders({ - env, - inquirer, - wr, - setup, - fetch, - needBacktick, - }); - - const { _: parsedArgs, noninteractive } = parseArgs(args.slice(1), { - boolean: ['noninteractive'], - }); - let [dir, overrideNetworkName] = parsedArgs; - - if (!dir) { - dir = setup.SETUP_HOME; - } - assert(dir, X`Need: [dir] [[network name]]`); - await wr.mkdir(dir, { recursive: true }); - await chdir(dir); + const { _: parsedArgs, noninteractive } = parseArgs(args.slice(1), { + boolean: ['noninteractive'], + }); + let [dir, overrideNetworkName] = parsedArgs; - const networkTxt = `network.txt`; - if (await rd.exists(networkTxt)) { - overrideNetworkName = (await rd.readFile(networkTxt, 'utf-8')).trimEnd(); - } + if (!dir) { + dir = setup.SETUP_HOME; + } + assert(dir, X`Need: [dir] [[network name]]`); + await wr.mkdir(dir, { recursive: true }); + await chdir(dir); - if (!overrideNetworkName) { - overrideNetworkName = env.NETWORK_NAME; - } - if (!overrideNetworkName) { - overrideNetworkName = rd.basename(dir); - } + const networkTxt = `network.txt`; + if (await rd.exists(networkTxt)) { + overrideNetworkName = (await rd.readFile(networkTxt, 'utf-8')).trimEnd(); + } - // Gather saved information. - const deploymentJson = `deployment.json`; - const config = (await rd.exists(deploymentJson)) - ? JSON.parse(await rd.readFile(deploymentJson, 'utf-8')) - : {}; - - const defaultConfigs = { - PLACEMENTS: [], - PLACEMENT_PROVIDER: {}, - SSH_PRIVATE_KEY_FILE: `id_${SSH_TYPE}`, - DETAILS: {}, - OFFSETS: {}, - ROLES: {}, - DATACENTERS: {}, - PROVIDER_NEXT_INDEX: {}, - }; - Object.entries(defaultConfigs).forEach(([key, dflt]) => { - if (!(key in config)) { - config[key] = dflt; + if (!overrideNetworkName) { + overrideNetworkName = env.NETWORK_NAME; } - }); - config.NETWORK_NAME = overrideNetworkName; - - while (!noninteractive) { - // eslint-disable-next-line no-await-in-loop - const { ROLE, ...rest } = await askPlacement({ inquirer })( - config.PLACEMENTS, - config.ROLES, - ); - let { PLACEMENT } = rest; - if (!PLACEMENT) { - break; + if (!overrideNetworkName) { + overrideNetworkName = rd.basename(dir); } - let provider; - let myDetails = {}; - if (PLACEMENT !== 'NEW') { - config.ROLES[PLACEMENT] = ROLE; - const PROVIDER = config.PLACEMENT_PROVIDER[PLACEMENT]; - provider = PROVIDERS[PROVIDER]; - } else { - // eslint-disable-next-line no-await-in-loop - const { PROVIDER } = await askProvider({ inquirer })(PROVIDERS); - if (!PROVIDER) { - // eslint-disable-next-line no-continue - continue; - } - provider = PROVIDERS[PROVIDER]; - const setPlacement = () => { - if (config.PLACEMENT_PROVIDER[PLACEMENT]) { - // Already present. - return; - } + // Gather saved information. + const deploymentJson = `deployment.json`; + const config = (await rd.exists(deploymentJson)) + ? JSON.parse(await rd.readFile(deploymentJson, 'utf-8')) + : {}; + + const defaultConfigs = { + PLACEMENTS: [], + PLACEMENT_PROVIDER: {}, + SSH_PRIVATE_KEY_FILE: `id_${SSH_TYPE}`, + DETAILS: {}, + OFFSETS: {}, + ROLES: {}, + DATACENTERS: {}, + PROVIDER_NEXT_INDEX: {}, + }; + Object.entries(defaultConfigs).forEach(([key, dflt]) => { + if (!(key in config)) { + config[key] = dflt; + } + }); + config.NETWORK_NAME = overrideNetworkName; - const idx = config.PROVIDER_NEXT_INDEX; - if (!idx[PROVIDER]) { - idx[PROVIDER] = 0; - } - idx[PROVIDER] += 1; - PLACEMENT = `${PROVIDER}${idx[PROVIDER]}`; + while (!noninteractive) { + // eslint-disable-next-line no-await-in-loop + const { ROLE, ...rest } = await askPlacement({ inquirer })( + config.PLACEMENTS, + config.ROLES, + ); + let { PLACEMENT } = rest; + if (!PLACEMENT) { + break; + } + let provider; + let myDetails = {}; + if (PLACEMENT !== 'NEW') { config.ROLES[PLACEMENT] = ROLE; - config.PLACEMENT_PROVIDER[PLACEMENT] = PROVIDER; - }; - - if (provider.askDetails) { + const PROVIDER = config.PLACEMENT_PROVIDER[PLACEMENT]; + provider = PROVIDERS[PROVIDER]; + } else { // eslint-disable-next-line no-await-in-loop - const { CANCEL, ...PLACEMENT_DETAILS } = await provider.askDetails( - provider, - myDetails, - ); - if (CANCEL) { + const { PROVIDER } = await askProvider({ inquirer })(PROVIDERS); + if (!PROVIDER) { // eslint-disable-next-line no-continue continue; } - // Out with the old, in with the new. - setPlacement(); - for (const vname of Object.keys(myDetails)) { - delete config.DETAILS[vname][PLACEMENT]; - } - myDetails = PLACEMENT_DETAILS; - for (const vname of Object.keys(myDetails)) { - if (!config.DETAILS[vname]) { - config.DETAILS[vname] = {}; + provider = PROVIDERS[PROVIDER]; + + const setPlacement = () => { + if (config.PLACEMENT_PROVIDER[PLACEMENT]) { + // Already present. + return; } - config.DETAILS[vname][PLACEMENT] = PLACEMENT_DETAILS[vname]; - } - } else { - setPlacement(); - } - } - const dcs = - provider.datacenters && - // eslint-disable-next-line no-await-in-loop - (await provider.datacenters(provider, PLACEMENT, myDetails)); - config.ROLES; - const [_p, placement] = config.PLACEMENTS.find( - ([p]) => p === PLACEMENT, - ) || [PLACEMENT, {}]; - if (dcs) { - // Add our choices to the list. - const already = { ...placement }; - dcs.forEach(nv => delete already[nv.value]); - Object.entries(already).forEach(([dc]) => { - dcs.push({ name: dc, value: dc }); - }); - dcs.sort((nva, nvb) => { - if (nva.name < nvb.name) { - return -1; - } - if (nva.name === nvb.name) { - return 0; + const idx = config.PROVIDER_NEXT_INDEX; + if (!idx[PROVIDER]) { + idx[PROVIDER] = 0; + } + idx[PROVIDER] += 1; + PLACEMENT = `${PROVIDER}${idx[PROVIDER]}`; + config.ROLES[PLACEMENT] = ROLE; + config.PLACEMENT_PROVIDER[PLACEMENT] = PROVIDER; + }; + + if (provider.askDetails) { + // eslint-disable-next-line no-await-in-loop + const { CANCEL, ...PLACEMENT_DETAILS } = await provider.askDetails( + provider, + myDetails, + ); + if (CANCEL) { + // eslint-disable-next-line no-continue + continue; + } + // Out with the old, in with the new. + setPlacement(); + for (const vname of Object.keys(myDetails)) { + delete config.DETAILS[vname][PLACEMENT]; + } + myDetails = PLACEMENT_DETAILS; + for (const vname of Object.keys(myDetails)) { + if (!config.DETAILS[vname]) { + config.DETAILS[vname] = {}; + } + config.DETAILS[vname][PLACEMENT] = PLACEMENT_DETAILS[vname]; + } + } else { + setPlacement(); } - return 1; - }); - } + } - // Allocate the datacenters. - // eslint-disable-next-line no-constant-condition - while (true) { - const dcsWithNodeCount = - dcs && - dcs.map(nv => { - const ret = { ...nv }; - const num = placement[nv.value] || 0; - if (num === 1) { - ret.name += ` (${num} node)`; - } else if (num) { - ret.name += ` (${num} nodes)`; + const dcs = + provider.datacenters && + // eslint-disable-next-line no-await-in-loop + (await provider.datacenters(provider, PLACEMENT, myDetails)); + config.ROLES; + const [_p, placement] = config.PLACEMENTS.find( + ([p]) => p === PLACEMENT, + ) || [PLACEMENT, {}]; + if (dcs) { + // Add our choices to the list. + const already = { ...placement }; + dcs.forEach(nv => delete already[nv.value]); + Object.entries(already).forEach(([dc]) => { + dcs.push({ name: dc, value: dc }); + }); + dcs.sort((nva, nvb) => { + if (nva.name < nvb.name) { + return -1; } - return ret; + if (nva.name === nvb.name) { + return 0; + } + return 1; }); - // eslint-disable-next-line no-await-in-loop - const { DATACENTER, NUM_NODES, MORE } = await provider.askDatacenter( - provider, - PLACEMENT, - dcsWithNodeCount, - placement, - ); - if (NUM_NODES) { - placement[DATACENTER] = NUM_NODES; - } else { - delete placement[DATACENTER]; } - if (!MORE) { - break; + + // Allocate the datacenters. + // eslint-disable-next-line no-constant-condition + while (true) { + const dcsWithNodeCount = + dcs && + dcs.map(nv => { + const ret = { ...nv }; + const num = placement[nv.value] || 0; + if (num === 1) { + ret.name += ` (${num} node)`; + } else if (num) { + ret.name += ` (${num} nodes)`; + } + return ret; + }); + // eslint-disable-next-line no-await-in-loop + const { DATACENTER, NUM_NODES, MORE } = await provider.askDatacenter( + provider, + PLACEMENT, + dcsWithNodeCount, + placement, + ); + if (NUM_NODES) { + placement[DATACENTER] = NUM_NODES; + } else { + delete placement[DATACENTER]; + } + if (!MORE) { + break; + } + } + if (!config.PLACEMENTS.find(([place]) => place === PLACEMENT)) { + config.PLACEMENTS.push([PLACEMENT, placement]); } } - if (!config.PLACEMENTS.find(([place]) => place === PLACEMENT)) { - config.PLACEMENTS.push([PLACEMENT, placement]); - } - } - // Collate the placement information. - const ROLE_INSTANCE = {}; - Object.values(config.ROLES).forEach(role => { - ROLE_INSTANCE[role] = 0; - }); - for (const [PLACEMENT, placement] of config.PLACEMENTS) { - let instance = ROLE_INSTANCE[config.ROLES[PLACEMENT]]; - const offset = instance; - config.DATACENTERS[PLACEMENT] = []; - for (const dc of Object.keys(placement).sort()) { - const nodes = []; - for (let i = 0; i < placement[dc]; i += 1) { - instance += 1; - nodes.push(dc); + // Collate the placement information. + const ROLE_INSTANCE = {}; + Object.values(config.ROLES).forEach(role => { + ROLE_INSTANCE[role] = 0; + }); + for (const [PLACEMENT, placement] of config.PLACEMENTS) { + let instance = ROLE_INSTANCE[config.ROLES[PLACEMENT]]; + const offset = instance; + config.DATACENTERS[PLACEMENT] = []; + for (const dc of Object.keys(placement).sort()) { + const nodes = []; + for (let i = 0; i < placement[dc]; i += 1) { + instance += 1; + nodes.push(dc); + } + if (nodes.length !== 0) { + config.DATACENTERS[PLACEMENT].push(...nodes); + } } - if (nodes.length !== 0) { - config.DATACENTERS[PLACEMENT].push(...nodes); + + if (instance === offset) { + // No nodes added. + // eslint-disable-next-line no-continue + continue; } - } - if (instance === offset) { - // No nodes added. - // eslint-disable-next-line no-continue - continue; + // Commit the final details. + ROLE_INSTANCE[config.ROLES[PLACEMENT]] = instance; + config.OFFSETS[PLACEMENT] = offset; } - // Commit the final details. - ROLE_INSTANCE[config.ROLES[PLACEMENT]] = instance; - config.OFFSETS[PLACEMENT] = offset; - } - - assert( - Object.values(ROLE_INSTANCE).some(i => i > 0), - X`Aborting due to no nodes configured!`, - ); + assert( + Object.values(ROLE_INSTANCE).some(i => i > 0), + X`Aborting due to no nodes configured!`, + ); - await wr.createFile( - `vars.tf`, - `\ + await wr.createFile( + `vars.tf`, + `\ # Terraform configuration generated by "${progname} init" variable "NETWORK_NAME" { @@ -544,30 +543,38 @@ variable ${JSON.stringify(vname)} { ) .join('\n')} `, - ); + ); - // Go and create the specific files. - const clusterPrefix = 'ag-'; - for (const PLACEMENT of Object.keys(config.PLACEMENT_PROVIDER).sort()) { - const PROVIDER = config.PLACEMENT_PROVIDER[PLACEMENT]; - const provider = PROVIDERS[PROVIDER]; + // Go and create the specific files. + const clusterPrefix = 'ag-'; + for (const PLACEMENT of Object.keys(config.PLACEMENT_PROVIDER).sort()) { + const PROVIDER = config.PLACEMENT_PROVIDER[PLACEMENT]; + const provider = PROVIDERS[PROVIDER]; - // Create a placement-specific key file. - const keyFile = `${PLACEMENT}-${config.SSH_PRIVATE_KEY_FILE}`; - // eslint-disable-next-line no-await-in-loop - if (!(await rd.exists(keyFile))) { - // Set empty password. + // Create a placement-specific key file. + const keyFile = `${PLACEMENT}-${config.SSH_PRIVATE_KEY_FILE}`; // eslint-disable-next-line no-await-in-loop - await needDoRun(['ssh-keygen', '-N', '', '-t', SSH_TYPE, '-f', keyFile]); - } + if (!(await rd.exists(keyFile))) { + // Set empty password. + // eslint-disable-next-line no-await-in-loop + await needDoRun([ + 'ssh-keygen', + '-N', + '', + '-t', + SSH_TYPE, + '-f', + keyFile, + ]); + } - // eslint-disable-next-line no-await-in-loop - await provider.createPlacementFiles(provider, PLACEMENT, clusterPrefix); - } + // eslint-disable-next-line no-await-in-loop + await provider.createPlacementFiles(provider, PLACEMENT, clusterPrefix); + } - await wr.createFile( - `outputs.tf`, - `\ + await wr.createFile( + `outputs.tf`, + `\ output "public_ips" { value = { ${Object.keys(config.DATACENTERS) @@ -585,17 +592,17 @@ output "offsets" { value = "\${var.OFFSETS}" } `, - ); + ); - const keyFile = config.SSH_PRIVATE_KEY_FILE; - if (!(await rd.exists(keyFile))) { - // Set empty password. - await needDoRun(['ssh-keygen', '-N', '', '-t', SSH_TYPE, '-f', keyFile]); - } + const keyFile = config.SSH_PRIVATE_KEY_FILE; + if (!(await rd.exists(keyFile))) { + // Set empty password. + await needDoRun(['ssh-keygen', '-N', '', '-t', SSH_TYPE, '-f', keyFile]); + } - await wr.createFile( - PLAYBOOK_WRAPPER, - `\ + await wr.createFile( + PLAYBOOK_WRAPPER, + `\ #! /bin/sh exec ansible-playbook -f10 \\ -eSETUP_HOME=${shellEscape(cwd())} \\ @@ -603,12 +610,12 @@ exec ansible-playbook -f10 \\ -eNETWORK_NAME=\`cat ${shellEscape(rd.resolve('network.txt'))}\` \\ \${1+"$@"} `, - ); - await wr.chmod(PLAYBOOK_WRAPPER, '0755'); + ); + await wr.chmod(PLAYBOOK_WRAPPER, '0755'); - await wr.createFile( - `ansible.cfg`, - `\ + await wr.createFile( + `ansible.cfg`, + `\ [defaults] inventory = ./provision/hosts deprecation_warnings = False @@ -617,11 +624,11 @@ deprecation_warnings = False ssh_args = -oForwardAgent=yes -oUserKnownHostsFile=provision/ssh_known_hosts -oControlMaster=auto -oControlPersist=30m pipelining = True `, - ); + ); - // Persist data for later. - await wr.createFile(deploymentJson, JSON.stringify(config, undefined, 2)); - await wr.createFile(networkTxt, config.NETWORK_NAME); -}; + // Persist data for later. + await wr.createFile(deploymentJson, JSON.stringify(config, undefined, 2)); + await wr.createFile(networkTxt, config.NETWORK_NAME); + }; export { doInit }; diff --git a/packages/deployment/src/main.js b/packages/deployment/src/main.js index 1f9074efa3e..4e4e8731f4b 100644 --- a/packages/deployment/src/main.js +++ b/packages/deployment/src/main.js @@ -30,59 +30,57 @@ const isPersistentPeer = isPublicRpc; const dirname = new URL('./', import.meta.url).pathname; -const makeGuardFile = ({ rd, wr }) => async (file, maker) => { - if (await rd.exists(file)) { - return 0; - } - const parent = rd.dirname(file); - await wr.mkdir(parent, { recursive: true }); - let made = false; - const ret = await maker(async contents => { - await wr.createFile(file, contents); - made = true; - }); - if (!made) { - if (!ret) { - // Create a timestamp by default. - await wr.createFile(file, String(new Date())); - } else { - // They failed. - throw ret; +const makeGuardFile = + ({ rd, wr }) => + async (file, maker) => { + if (await rd.exists(file)) { + return 0; } - } - return ret; -}; + const parent = rd.dirname(file); + await wr.mkdir(parent, { recursive: true }); + let made = false; + const ret = await maker(async contents => { + await wr.createFile(file, contents); + made = true; + }); + if (!made) { + if (!ret) { + // Create a timestamp by default. + await wr.createFile(file, String(new Date())); + } else { + // They failed. + throw ret; + } + } + return ret; + }; -const waitForStatus = ({ setup, running }) => async ( - user, - host, - service, - doRetry, - acceptFn, -) => { - const hostArgs = host ? [`-l${host}`] : []; - const serviceArgs = service ? [`-eservice=${service}`] : []; - let retryNum = 0; - for (;;) { - // eslint-disable-next-line no-await-in-loop - await doRetry(retryNum); - let buf = ''; - // eslint-disable-next-line no-await-in-loop - const code = await running.doRun( - setup.playbook('status', `-euser=${user}`, ...hostArgs, ...serviceArgs), - undefined, - chunk => { - running.stdout.write(chunk); - buf += String(chunk); - }, - ); - const accepted = acceptFn(buf, code); - if (accepted !== undefined) { - return accepted; +const waitForStatus = + ({ setup, running }) => + async (user, host, service, doRetry, acceptFn) => { + const hostArgs = host ? [`-l${host}`] : []; + const serviceArgs = service ? [`-eservice=${service}`] : []; + let retryNum = 0; + for (;;) { + // eslint-disable-next-line no-await-in-loop + await doRetry(retryNum); + let buf = ''; + // eslint-disable-next-line no-await-in-loop + const code = await running.doRun( + setup.playbook('status', `-euser=${user}`, ...hostArgs, ...serviceArgs), + undefined, + chunk => { + running.stdout.write(chunk); + buf += String(chunk); + }, + ); + const accepted = acceptFn(buf, code); + if (accepted !== undefined) { + return accepted; + } + retryNum += 1; } - retryNum += 1; - } -}; + }; const provisionOutput = async ({ rd, wr, running }) => { const jsonFile = `${PROVISION_DIR}/terraform-output.json`; @@ -107,15 +105,8 @@ const main = async (progname, rawArgs, powers) => { const trimReadFile = async file => String(await rd.readFile(file)).trimRight(); const guardFile = makeGuardFile({ rd, wr }); - const { - doRun, - needDoRun, - needBacktick, - setSilent, - cwd, - chdir, - stdout, - } = running; + const { doRun, needDoRun, needBacktick, setSilent, cwd, chdir, stdout } = + running; const reMain = async reArgs => { const displayArgs = [progname, ...args]; @@ -195,16 +186,17 @@ show-config display the client connection parameters break; } case 'bootstrap': { - const { _: subArgs, 'boot-tokens': bootTokens, ...subOpts } = parseArgs( - args.slice(1), - { - default: { - 'boot-tokens': DEFAULT_BOOT_TOKENS, - }, - string: ['bump', 'import-from', 'genesis'], - stopEarly: true, + const { + _: subArgs, + 'boot-tokens': bootTokens, + ...subOpts + } = parseArgs(args.slice(1), { + default: { + 'boot-tokens': DEFAULT_BOOT_TOKENS, }, - ); + string: ['bump', 'import-from', 'genesis'], + stopEarly: true, + }); const dir = setup.SETUP_HOME; if (await rd.exists(`${dir}/network.txt`)) { @@ -479,8 +471,9 @@ show-config display the client connection parameters 'play', 'install', `-eexecline=${shellEscape( - `/usr/local/bin/ag-chain-cosmos start ${env.AG_COSMOS_START_ARGS ?? - '--log_level=warn'}`, + `/usr/local/bin/ag-chain-cosmos start ${ + env.AG_COSMOS_START_ARGS ?? '--log_level=warn' + }`, )}`, ...agChainCosmosEnvironment, ]), @@ -813,9 +806,7 @@ ${chalk.yellow.bold(`ag-setup-solo --netconfig='${dwebHost}/network-config'`)} case 'show-gci': { const genesis = await rd.readFile(`${COSMOS_DIR}/data/genesis.json`); const s = djson.stringify(JSON.parse(String(genesis))); - const gci = createHash('sha256') - .update(s) - .digest('hex'); + const gci = createHash('sha256').update(s).digest('hex'); stdout.write(gci); break; } diff --git a/packages/eventual-send/src/handled-promise.js b/packages/eventual-send/src/handled-promise.js index ae1af54e1b0..1c767c33f92 100644 --- a/packages/eventual-send/src/handled-promise.js +++ b/packages/eventual-send/src/handled-promise.js @@ -279,9 +279,8 @@ export const makeHandledPromise = () => { // This is insufficient for actual remote handled Promises // (too many round-trips), but is an easy way to create a // local handled Promise. - [pendingHandler, continueForwarding] = makePostponedHandler( - HandledPromise, - ); + [pendingHandler, continueForwarding] = + makePostponedHandler(HandledPromise); } const validateHandler = h => { @@ -562,7 +561,9 @@ export const makeHandledPromise = () => { // once we use Promise.delegated and don't have any [[Constructor]] behaviours. /** @type {unknown} */ const unknownBaseHandledPromise = baseHandledPromise; - HandledPromise = /** @type {typeof HandledPromise} */ (unknownBaseHandledPromise); + HandledPromise = /** @type {typeof HandledPromise} */ ( + unknownBaseHandledPromise + ); // We cannot harden(HandledPromise) because we're a vetted shim which // runs before lockdown() allows harden to function. In that case, diff --git a/packages/eventual-send/src/index.d.ts b/packages/eventual-send/src/index.d.ts index 00a1e3068b5..4bcd56af17d 100644 --- a/packages/eventual-send/src/index.d.ts +++ b/packages/eventual-send/src/index.d.ts @@ -11,11 +11,9 @@ type ERef = PromiseLike | T; export type EOnly = T extends (...args: infer P) => infer R ? (...args: P) => ERef | EOnly : T extends Record - ? ERef< - { - [K in keyof T]: EOnly; - } - > + ? ERef<{ + [K in keyof T]: EOnly; + }> : ERef; type Unpromise = T extends ERef ? U : T; diff --git a/packages/governance/src/paramGovernance/governParam.js b/packages/governance/src/paramGovernance/governParam.js index 1428a09c66b..2692dc7a6e7 100644 --- a/packages/governance/src/paramGovernance/governParam.js +++ b/packages/governance/src/paramGovernance/governParam.js @@ -144,7 +144,7 @@ const setupGovernance = async ( .then(outcome => { if (keyEQ(positive, outcome)) { E(paramMgr) - [`update${(paramSpec.parameterName)}`](proposedValue) + [`update${paramSpec.parameterName}`](proposedValue) .then(newValue => outcomeOfUpdateP.resolve(newValue)) .catch(e => { outcomeOfUpdateP.reject(e); diff --git a/packages/governance/src/paramGovernance/paramManager.js b/packages/governance/src/paramGovernance/paramManager.js index 34766e31061..77a8fd05689 100644 --- a/packages/governance/src/paramGovernance/paramManager.js +++ b/packages/governance/src/paramGovernance/paramManager.js @@ -198,10 +198,10 @@ const makeParamManagerBuilder = zoe => { await setInvitation(invitation); const makeDescription = () => { - return ({ name, type: ParamType.INVITATION, value: currentAmount }); + return { name, type: ParamType.INVITATION, value: currentAmount }; }; const makeShortDescription = () => { - return ({ type: ParamType.INVITATION, value: currentAmount }); + return { type: ParamType.INVITATION, value: currentAmount }; }; const getVisibleValue = async allegedInvitation => diff --git a/packages/governance/src/validators.js b/packages/governance/src/validators.js index 17a6f8fee77..18a3590eff6 100644 --- a/packages/governance/src/validators.js +++ b/packages/governance/src/validators.js @@ -22,10 +22,8 @@ const assertContractGovernance = async ( const realGovernedP = E(allegedGovernorPF).getGovernedContract(); const allegedGovernedTermsP = E(zoe).getTerms(allegedGoverned); - const [ - { electionManager: realGovernorInstance }, - realGovernedInstance, - ] = await Promise.all([allegedGovernedTermsP, realGovernedP]); + const [{ electionManager: realGovernorInstance }, realGovernedInstance] = + await Promise.all([allegedGovernedTermsP, realGovernedP]); assert( allegedGovernor === realGovernorInstance, diff --git a/packages/governance/test/swingsetTests/committeeBinary/bootstrap.js b/packages/governance/test/swingsetTests/committeeBinary/bootstrap.js index 1060d7ec7e3..e7ddf97b11c 100644 --- a/packages/governance/test/swingsetTests/committeeBinary/bootstrap.js +++ b/packages/governance/test/swingsetTests/committeeBinary/bootstrap.js @@ -55,10 +55,8 @@ const committeeBinaryStart = async ( installations, ) => { const electorateTerms = { committeeName: 'TheCommittee', committeeSize: 5 }; - const { - creatorFacet: electorateFacet, - instance: electorateInstance, - } = await E(zoe).startInstance(installations.committee, {}, electorateTerms); + const { creatorFacet: electorateFacet, instance: electorateInstance } = + await E(zoe).startInstance(installations.committee, {}, electorateTerms); const choose = { text: 'Choose' }; const electionType = ElectionType.SURVEY; @@ -117,10 +115,8 @@ const committeeBinaryTwoQuestions = async ( log('starting TWO questions test'); const electorateTerms = { committeeName: 'TheCommittee', committeeSize: 5 }; - const { - creatorFacet: electorateFacet, - instance: electorateInstance, - } = await E(zoe).startInstance(installations.committee, {}, electorateTerms); + const { creatorFacet: electorateFacet, instance: electorateInstance } = + await E(zoe).startInstance(installations.committee, {}, electorateTerms); const invitations = await E(electorateFacet).getVoterInvitations(); const details2 = await E(zoe).getInvitationDetails(invitations[2]); diff --git a/packages/governance/test/swingsetTests/committeeBinary/vat-voter.js b/packages/governance/test/swingsetTests/committeeBinary/vat-voter.js index 051ff8f6a1e..ebb24f5b1f9 100644 --- a/packages/governance/test/swingsetTests/committeeBinary/vat-voter.js +++ b/packages/governance/test/swingsetTests/committeeBinary/vat-voter.js @@ -22,9 +22,9 @@ const verify = async (log, issue, electoratePublicFacet, instances) => { log(`Verify: q: ${q(iss)}, max: ${maxChoices}, committee: ${c}`); const electorateInstance = await E(electoratePublicFacet).getInstance(); log( - `Verify instances: electorate: ${electorateInstance === - instances.electorateInstance}, counter: ${details.counterInstance === - instances.counterInstance}`, + `Verify instances: electorate: ${ + electorateInstance === instances.electorateInstance + }, counter: ${details.counterInstance === instances.counterInstance}`, ); }; diff --git a/packages/governance/test/swingsetTests/contractGovernor/bootstrap.js b/packages/governance/test/swingsetTests/contractGovernor/bootstrap.js index fb2ddf5c103..99f4a3a25be 100644 --- a/packages/governance/test/swingsetTests/contractGovernor/bootstrap.js +++ b/packages/governance/test/swingsetTests/contractGovernor/bootstrap.js @@ -46,17 +46,13 @@ const voteToChangeParameter = async ( }; const installContracts = async (zoe, cb) => { - const [ - committee, - binaryVoteCounter, - contractGovernor, - governedContract, - ] = await Promise.all([ - E(zoe).install(cb.committee), - E(zoe).install(cb.binaryVoteCounter), - E(zoe).install(cb.contractGovernor), - E(zoe).install(cb.governedContract), - ]); + const [committee, binaryVoteCounter, contractGovernor, governedContract] = + await Promise.all([ + E(zoe).install(cb.committee), + E(zoe).install(cb.binaryVoteCounter), + E(zoe).install(cb.contractGovernor), + E(zoe).install(cb.governedContract), + ]); const installations = { committee, binaryVoteCounter, @@ -67,10 +63,8 @@ const installContracts = async (zoe, cb) => { }; const startElectorate = async (zoe, installations, electorateTerms) => { - const { - creatorFacet: electorateCreatorFacet, - instance: electorateInstance, - } = await E(zoe).startInstance(installations.committee, {}, electorateTerms); + const { creatorFacet: electorateCreatorFacet, instance: electorateInstance } = + await E(zoe).startInstance(installations.committee, {}, electorateTerms); return { electorateCreatorFacet, electorateInstance }; }; @@ -105,17 +99,13 @@ const oneVoterValidate = async ( installations, timer, ) => { - const [ - voters, - details, - governedInstance, - governorInstance, - ] = await Promise.all([ - votersP, - detailsP, - governedInstanceP, - governorInstanceP, - ]); + const [voters, details, governedInstance, governorInstance] = + await Promise.all([ + votersP, + detailsP, + governedInstanceP, + governorInstanceP, + ]); const { counterInstance } = details; E(voters[0]).validate( @@ -244,10 +234,8 @@ const makeBootstrap = (argv, cb, vatPowers) => async (vats, devices) => { switch (testName) { case 'contractGovernorStart': { const votersP = createVoters(firstElectorateCreatorFacet, voterCreator); - const { - details: detailsP, - outcomeOfUpdate: outcome1, - } = await voteToChangeParameter(zoe, log, installations, governor, 3n); + const { details: detailsP, outcomeOfUpdate: outcome1 } = + await voteToChangeParameter(zoe, log, installations, governor, 3n); await votersVote(detailsP, votersP, [0, 1, 1, 0, 0]); await oneVoterValidate( @@ -286,16 +274,14 @@ const makeBootstrap = (argv, cb, vatPowers) => async (vats, devices) => { ).getPoserInvitation(); const [newPoserInvitation] = await Promise.all([newPoserInvitationP]); - const { - details: details1, - outcomeOfUpdate: electorateOutcome, - } = await setupElectorateChange( - zoe, - log, - governor, - installations, - newPoserInvitation, - ); + const { details: details1, outcomeOfUpdate: electorateOutcome } = + await setupElectorateChange( + zoe, + log, + governor, + installations, + newPoserInvitation, + ); await votersVote(details1, voters1, [1, 0, 0, 0, 1]); await E(timer).tick(); @@ -312,10 +298,8 @@ const makeBootstrap = (argv, cb, vatPowers) => async (vats, devices) => { E(zoe).getPublicFacet(governorInstance), ); - const { - details: details2, - outcomeOfUpdate: outcome2, - } = await voteToChangeParameter(zoe, log, installations, governor, 4n); + const { details: details2, outcomeOfUpdate: outcome2 } = + await voteToChangeParameter(zoe, log, installations, governor, 4n); await votersVote(details2, voters2, [0, 0, 1, 0, 1]); await E(timer).tick(); await E(timer).tick(); diff --git a/packages/governance/test/swingsetTests/contractGovernor/governedContract.js b/packages/governance/test/swingsetTests/contractGovernor/governedContract.js index d7a77eda0f3..981f903255d 100644 --- a/packages/governance/test/swingsetTests/contractGovernor/governedContract.js +++ b/packages/governance/test/swingsetTests/contractGovernor/governedContract.js @@ -43,11 +43,8 @@ const start = async (zcf, privateArgs) => { initialPoserInvitation, ); - const { - wrapPublicFacet, - wrapCreatorFacet, - getInvitationAmount, - } = handleParamGovernance(zcf, paramManager); + const { wrapPublicFacet, wrapCreatorFacet, getInvitationAmount } = + handleParamGovernance(zcf, paramManager); const invitationAmount = getInvitationAmount(CONTRACT_ELECTORATE); assert( diff --git a/packages/governance/test/unitTests/test-buildParamManager.js b/packages/governance/test/unitTests/test-buildParamManager.js index fb8f3938c75..97e71613da2 100644 --- a/packages/governance/test/unitTests/test-buildParamManager.js +++ b/packages/governance/test/unitTests/test-buildParamManager.js @@ -236,8 +236,8 @@ test('Invitation', async t => { t.is(paramManager.getBrand('Currency'), drachmaBrand); t.is(paramManager.getAmount('Amt'), drachmaAmount); - const invitationActualAmount = paramManager.getInvitationAmount('Invite') - .value; + const invitationActualAmount = + paramManager.getInvitationAmount('Invite').value; t.is(invitationActualAmount, invitationAmount.value); // @ts-ignore invitationActualAmount's type is unknown t.is(invitationActualAmount[0].description, 'simple'); diff --git a/packages/governance/test/unitTests/test-paramGovernance.js b/packages/governance/test/unitTests/test-paramGovernance.js index d21bff3e5ae..ebadfbb097f 100644 --- a/packages/governance/test/unitTests/test-paramGovernance.js +++ b/packages/governance/test/unitTests/test-paramGovernance.js @@ -83,10 +83,8 @@ const setUpGovernedContract = async (zoe, electorateTerms, timer) => { ]); const installs = { governor, electorate, counter, governed }; - const { - creatorFacet: committeeCreator, - instance: electorateInstance, - } = await E(zoe).startInstance(electorate, harden({}), electorateTerms); + const { creatorFacet: committeeCreator, instance: electorateInstance } = + await E(zoe).startInstance(electorate, harden({}), electorateTerms); // TODO (cth) three awaits? @@ -124,15 +122,12 @@ const setUpGovernedContract = async (zoe, electorateTerms, timer) => { test('governParam no votes', async t => { const { zoe } = await setUpZoeForTest(() => {}); const timer = buildManualTimer(console.log); - const { - governorFacets, - installs, - invitationAmount, - } = await setUpGovernedContract( - zoe, - { committeeName: 'Demos', committeeSize: 1 }, - timer, - ); + const { governorFacets, installs, invitationAmount } = + await setUpGovernedContract( + zoe, + { committeeName: 'Demos', committeeSize: 1 }, + timer, + ); const paramSpec = { key: 'contractParams', parameterName: MALLEABLE_NUMBER }; diff --git a/packages/governance/test/unitTests/test-shareHolders.js b/packages/governance/test/unitTests/test-shareHolders.js index 4f57d11817d..993ffb844a9 100644 --- a/packages/governance/test/unitTests/test-shareHolders.js +++ b/packages/governance/test/unitTests/test-shareHolders.js @@ -171,11 +171,8 @@ test('shareHolders attestation to vote', async t => { const attest1 = AmountMath.make(brand, attest('a', 37n, 5n)); const voteSeat = voterFacet(mint, publicFacet, attest1); - const { - deposePositions, - deposeCounter, - questionHandle, - } = await addDeposeQuestion(timer, creatorFacet); + const { deposePositions, deposeCounter, questionHandle } = + await addDeposeQuestion(timer, creatorFacet); await E(voteSeat).castBallotFor(questionHandle, [deposePositions[1]]); @@ -364,11 +361,8 @@ test('shareHolders bundle/split attestations', async t => { const attestUpdate = AmountMath.make(brand, harden([claim7Later, claim14])); const voteFacetUpdate = await voterFacet(mint, publicFacet, attestUpdate); - const { - deposePositions, - deposeCounter, - questionHandle, - } = await addDeposeQuestion(timer, creatorFacet); + const { deposePositions, deposeCounter, questionHandle } = + await addDeposeQuestion(timer, creatorFacet); const deposeBallot0 = [deposePositions[0]]; const deposeBallot1 = [deposePositions[1]]; diff --git a/packages/import-bundle/test/test-compartment-wrapper.js b/packages/import-bundle/test/test-compartment-wrapper.js index 31c763b82e8..5479ec516ed 100644 --- a/packages/import-bundle/test/test-compartment-wrapper.js +++ b/packages/import-bundle/test/test-compartment-wrapper.js @@ -124,7 +124,8 @@ function check(t, c, odometer, n) { // Temporarily tolerate Endo behavior before and after // https://github.com/endojs/endo/pull/822 // TODO Simplify once depending on SES post #822 - message: /Not available|Function\.prototype\.constructor is not a valid constructor\./, + message: + /Not available|Function\.prototype\.constructor is not a valid constructor\./, }, `${n} .constructor is tamed`, ); diff --git a/packages/run-protocol/src/econ-behaviors.js b/packages/run-protocol/src/econ-behaviors.js index 972c32462d5..e1bca9ac38e 100644 --- a/packages/run-protocol/src/econ-behaviors.js +++ b/packages/run-protocol/src/econ-behaviors.js @@ -246,16 +246,13 @@ export const startVaultFactory = async ( loanFee: makeRatio(200n, centralBrand, BASIS_POINTS), }; - const [ - ammInstance, - electorateInstance, - contractGovernorInstall, - ] = await Promise.all([ - // TODO: manifest constants for these strings - E(agoricNames).lookup('instance', 'amm'), - E(agoricNames).lookup('instance', 'economicCommittee'), - E(agoricNames).lookup('installation', 'contractGovernor'), - ]); + const [ammInstance, electorateInstance, contractGovernorInstall] = + await Promise.all([ + // TODO: manifest constants for these strings + E(agoricNames).lookup('instance', 'amm'), + E(agoricNames).lookup('instance', 'economicCommittee'), + E(agoricNames).lookup('installation', 'contractGovernor'), + ]); const ammPublicFacet = await E(zoe).getPublicFacet(ammInstance); const feeMintAccess = await feeMintAccessP; @@ -279,15 +276,13 @@ export const startVaultFactory = async ( }, }); - const { - creatorFacet: governorCreatorFacet, - instance: governorInstance, - } = await E(zoe).startInstance( - contractGovernorInstall, - undefined, - governorTerms, - harden({ electorateCreatorFacet }), - ); + const { creatorFacet: governorCreatorFacet, instance: governorInstance } = + await E(zoe).startInstance( + contractGovernorInstall, + undefined, + governorTerms, + harden({ electorateCreatorFacet }), + ); const vaultFactoryInstance = await E(governorCreatorFacet).getInstance(); const [vaultFactoryCreator] = await Promise.all([ diff --git a/packages/run-protocol/src/vaultFactory/liquidateMinimum.js b/packages/run-protocol/src/vaultFactory/liquidateMinimum.js index 421fd14ad57..7252e378653 100644 --- a/packages/run-protocol/src/vaultFactory/liquidateMinimum.js +++ b/packages/run-protocol/src/vaultFactory/liquidateMinimum.js @@ -63,16 +63,14 @@ const start = async zcf => { trace('liquidating all collateral because swapIn did not succeed'); const strategy = makeDefaultLiquidationStrategy(amm); - const { - deposited: sellAllDeposited, - userSeatPromise: sellAllSeat, - } = await offerTo( - zcf, - strategy.makeInvitation(runDebt), - undefined, // The keywords were mapped already - strategy.makeProposal(amountIn, AmountMath.makeEmpty(runBrand)), - debtorSeat, - ); + const { deposited: sellAllDeposited, userSeatPromise: sellAllSeat } = + await offerTo( + zcf, + strategy.makeInvitation(runDebt), + undefined, // The keywords were mapped already + strategy.makeProposal(amountIn, AmountMath.makeEmpty(runBrand)), + debtorSeat, + ); // await sellAllDeposited, but don't need the value await Promise.all([ E(sellAllSeat).getOfferResult(), diff --git a/packages/run-protocol/src/vaultFactory/vault.js b/packages/run-protocol/src/vaultFactory/vault.js index 8b541593685..fe553fbaf2a 100644 --- a/packages/run-protocol/src/vaultFactory/vault.js +++ b/packages/run-protocol/src/vaultFactory/vault.js @@ -52,10 +52,8 @@ export const makeVaultKit = ( startTimeStamp, ) => { const { updater: uiUpdater, notifier } = makeNotifierKit(); - const { - zcfSeat: liquidationZcfSeat, - userSeat: liquidationSeat, - } = zcf.makeEmptySeatKit(undefined); + const { zcfSeat: liquidationZcfSeat, userSeat: liquidationSeat } = + zcf.makeEmptySeatKit(undefined); const liquidationPromiseKit = makePromiseKit(); /** @type {VAULT_STATE} */ diff --git a/packages/run-protocol/src/vaultFactory/vaultFactory.js b/packages/run-protocol/src/vaultFactory/vaultFactory.js index 38357af503f..e2d0f1f2529 100644 --- a/packages/run-protocol/src/vaultFactory/vaultFactory.js +++ b/packages/run-protocol/src/vaultFactory/vaultFactory.js @@ -68,9 +68,8 @@ export const start = async (zcf, privateArgs) => { initialPoserInvitation, ); - const electorateInvAmt = electorateParamManager.getInvitationAmount( - CONTRACT_ELECTORATE, - ); + const electorateInvAmt = + electorateParamManager.getInvitationAmount(CONTRACT_ELECTORATE); assert( keyEQ(electorateInvAmt, electorateParam.value), X`electorate amount (${electorateParam.value} didn't match ${electorateInvAmt}`, @@ -195,10 +194,8 @@ export const start = async (zcf, privateArgs) => { // TODO(#4021) remove this method const mintBootstrapPayment = () => { - const { - zcfSeat: bootstrapZCFSeat, - userSeat: bootstrapUserSeat, - } = zcf.makeEmptySeatKit(); + const { zcfSeat: bootstrapZCFSeat, userSeat: bootstrapUserSeat } = + zcf.makeEmptySeatKit(); const bootstrapAmount = AmountMath.make(runBrand, bootstrapPaymentValue); runMint.mintGains( harden({ diff --git a/packages/run-protocol/src/vaultFactory/vaultManager.js b/packages/run-protocol/src/vaultFactory/vaultManager.js index c5bbbe9d200..117f26e69da 100644 --- a/packages/run-protocol/src/vaultFactory/vaultManager.js +++ b/packages/run-protocol/src/vaultFactory/vaultManager.js @@ -68,13 +68,13 @@ export const makeVaultManager = ( /** @type {GetVaultParams} */ const shared = { // loans below this margin may be liquidated - getLiquidationMargin: () => (getLoanParams()[LIQUIDATION_MARGIN_KEY].value), + getLiquidationMargin: () => getLoanParams()[LIQUIDATION_MARGIN_KEY].value, // loans must initially have at least 1.2x collateralization - getInitialMargin: () => (getLoanParams()[INITIAL_MARGIN_KEY].value), - getLoanFee: () => (getLoanParams()[LOAN_FEE_KEY].value), - getInterestRate: () => (getLoanParams()[INTEREST_RATE_KEY].value), - getChargingPeriod: () => (timingParams[CHARGING_PERIOD_KEY].value), - getRecordingPeriod: () => (timingParams[RECORDING_PERIOD_KEY].value), + getInitialMargin: () => getLoanParams()[INITIAL_MARGIN_KEY].value, + getLoanFee: () => getLoanParams()[LOAN_FEE_KEY].value, + getInterestRate: () => getLoanParams()[INTEREST_RATE_KEY].value, + getChargingPeriod: () => timingParams[CHARGING_PERIOD_KEY].value, + getRecordingPeriod: () => timingParams[RECORDING_PERIOD_KEY].value, async getCollateralQuote() { // get a quote for one unit of the collateral const displayInfo = await E(collateralBrand).getDisplayInfo(); diff --git a/packages/run-protocol/src/vpool-xyk-amm/multipoolMarketMaker.js b/packages/run-protocol/src/vpool-xyk-amm/multipoolMarketMaker.js index f95769d002f..e6f87bf6c1c 100644 --- a/packages/run-protocol/src/vpool-xyk-amm/multipoolMarketMaker.js +++ b/packages/run-protocol/src/vpool-xyk-amm/multipoolMarketMaker.js @@ -123,12 +123,8 @@ const start = async (zcf, privateArgs) => { protocolFeeParam.value, initialPoserInvitation, ); - const { - wrapPublicFacet, - wrapCreatorFacet, - getNat, - getInvitationAmount, - } = handleParamGovernance(zcf, paramManager); + const { wrapPublicFacet, wrapCreatorFacet, getNat, getInvitationAmount } = + handleParamGovernance(zcf, paramManager); const electorateInvAmt = getInvitationAmount(CONTRACT_ELECTORATE); assert( @@ -166,9 +162,7 @@ const start = async (zcf, privateArgs) => { protocolSeat, ); const getPoolAllocation = brand => { - return getPool(brand) - .getPoolSeat() - .getCurrentAllocation(); + return getPool(brand).getPoolSeat().getCurrentAllocation(); }; const getPriceAuthorities = brand => { @@ -209,10 +203,8 @@ const start = async (zcf, privateArgs) => { return pool.getOutputPrice(amountIn, amountOut); }; - const { - makeSwapInInvitation, - makeSwapOutInvitation, - } = makeMakeSwapInvitation(zcf, provideVPool); + const { makeSwapInInvitation, makeSwapOutInvitation } = + makeMakeSwapInvitation(zcf, provideVPool); const makeAddLiquidityInvitation = makeMakeAddLiquidityInvitation( zcf, getPool, diff --git a/packages/run-protocol/src/vpool-xyk-amm/pool.js b/packages/run-protocol/src/vpool-xyk-amm/pool.js index 8a972aa636a..d68a79a3b36 100644 --- a/packages/run-protocol/src/vpool-xyk-amm/pool.js +++ b/packages/run-protocol/src/vpool-xyk-amm/pool.js @@ -46,10 +46,8 @@ export const makeAddPool = ( const makePool = (liquidityZcfMint, poolSeat, secondaryBrand) => { let liqTokenSupply = 0n; - const { - brand: liquidityBrand, - issuer: liquidityIssuer, - } = liquidityZcfMint.getIssuerRecord(); + const { brand: liquidityBrand, issuer: liquidityIssuer } = + liquidityZcfMint.getIssuerRecord(); const { notifier, updater } = makeNotifierKit(); const updateState = pool => diff --git a/packages/run-protocol/test/amm/vpool-xyk-amm/test-amm-governance.js b/packages/run-protocol/test/amm/vpool-xyk-amm/test-amm-governance.js index 91ee42b1e22..7d8a78a21fa 100644 --- a/packages/run-protocol/test/amm/vpool-xyk-amm/test-amm-governance.js +++ b/packages/run-protocol/test/amm/vpool-xyk-amm/test-amm-governance.js @@ -33,14 +33,8 @@ test('amm change param via Governance', async t => { const electorateTerms = { committeeName: 'EnBancPanel', committeeSize: 3 }; const timer = buildManualTimer(console.log); - const { - zoe, - amm, - committeeCreator, - governor, - installs, - invitationAmount, - } = await setupAmmServices(electorateTerms, centralR, timer); + const { zoe, amm, committeeCreator, governor, installs, invitationAmount } = + await setupAmmServices(electorateTerms, centralR, timer); t.deepEqual( await E(amm.ammPublicFacet).getGovernedParams(), @@ -95,14 +89,8 @@ test('price check after Governance param change', async t => { const electorateTerms = { committeeName: 'EnBancPanel', committeeSize: 3 }; const timer = buildManualTimer(console.log); - const { - zoe, - amm, - committeeCreator, - governor, - installs, - invitationAmount, - } = await setupAmmServices(electorateTerms, centralR, timer); + const { zoe, amm, committeeCreator, governor, installs, invitationAmount } = + await setupAmmServices(electorateTerms, centralR, timer); // Setup Alice const aliceMoolaPayment = moolaR.mint.mintPayment(moola(100000n)); diff --git a/packages/run-protocol/test/vaultFactory/swingsetTests/governance/bootstrap.js b/packages/run-protocol/test/vaultFactory/swingsetTests/governance/bootstrap.js index 59a111ac385..24a605c638e 100644 --- a/packages/run-protocol/test/vaultFactory/swingsetTests/governance/bootstrap.js +++ b/packages/run-protocol/test/vaultFactory/swingsetTests/governance/bootstrap.js @@ -57,12 +57,8 @@ const setUpVote = async ( paramDesc, contracts, ) => { - const { - vaultFactory, - installations, - electorateInstance, - governor, - } = contracts; + const { vaultFactory, installations, electorateInstance, governor } = + contracts; const { details: feeDetails } = await E( vaultFactory.voteCreator, diff --git a/packages/run-protocol/test/vaultFactory/swingsetTests/setup.js b/packages/run-protocol/test/vaultFactory/swingsetTests/setup.js index e190be1b853..0acfa498ebc 100644 --- a/packages/run-protocol/test/vaultFactory/swingsetTests/setup.js +++ b/packages/run-protocol/test/vaultFactory/swingsetTests/setup.js @@ -28,19 +28,14 @@ const setupBasicMints = () => { }; const installContracts = async (zoe, cb) => { - const [ - liquidateMinimum, - vaultFactory, - electorate, - counter, - governor, - ] = await Promise.all([ - E(zoe).install(cb.liquidateMinimum), - E(zoe).install(cb.vaultFactory), - E(zoe).install(cb.committee), - E(zoe).install(cb.binaryVoteCounter), - E(zoe).install(cb.contractGovernor), - ]); + const [liquidateMinimum, vaultFactory, electorate, counter, governor] = + await Promise.all([ + E(zoe).install(cb.liquidateMinimum), + E(zoe).install(cb.vaultFactory), + E(zoe).install(cb.committee), + E(zoe).install(cb.binaryVoteCounter), + E(zoe).install(cb.contractGovernor), + ]); const installations = { liquidateMinimum, @@ -66,14 +61,12 @@ const startElectorate = async (zoe, installations) => { committeeName: 'TwentyCommittee', committeeSize: 5, }); - const { - creatorFacet: electorateCreatorFacet, - instance: electorateInstance, - } = await E(zoe).startInstance( - installations.electorate, - harden({}), - electorateTerms, - ); + const { creatorFacet: electorateCreatorFacet, instance: electorateInstance } = + await E(zoe).startInstance( + installations.electorate, + harden({}), + electorateTerms, + ); return { electorateCreatorFacet, electorateInstance }; }; @@ -124,9 +117,11 @@ const makeVats = async ( ); // Setup Owner - const { governor, governed: vaultFactory, runBrand } = await E( - vats.owner, - ).build( + const { + governor, + governed: vaultFactory, + runBrand, + } = await E(vats.owner).build( zoe, issuers, brands, diff --git a/packages/run-protocol/test/vaultFactory/test-bootstrapPayment.js b/packages/run-protocol/test/vaultFactory/test-bootstrapPayment.js index bfeda243dee..7ee89712157 100644 --- a/packages/run-protocol/test/vaultFactory/test-bootstrapPayment.js +++ b/packages/run-protocol/test/vaultFactory/test-bootstrapPayment.js @@ -93,14 +93,8 @@ const startTreasury = async ( const electorateInstall = await installBundle(zoe, electorateBundle); const governanceInstall = await installBundle(zoe, governanceBundle); - const { - instance: electorateInstance, - creatorFacet: electorateCreatorFacet, - } = await E(zoe).startInstance( - electorateInstall, - harden({}), - electorateTerms, - ); + const { instance: electorateInstance, creatorFacet: electorateCreatorFacet } = + await E(zoe).startInstance(electorateInstall, harden({}), electorateTerms); const poserInvitationP = E(electorateCreatorFacet).getPoserInvitation(); const [poserInvitation, poserInvitationAmount] = await Promise.all([ @@ -150,11 +144,7 @@ const startTreasury = async ( test('bootstrap payment', async t => { const bootstrapPaymentValue = 20000n * 10n ** 6n; - const { - runIssuer, - creatorFacet, - runBrand, - } = await startTreasury( + const { runIssuer, creatorFacet, runBrand } = await startTreasury( buildManualTimer(console.log), bootstrapPaymentValue, { committeeName: 'bandOfAngels', committeeSize: 5 }, @@ -179,11 +169,7 @@ test('bootstrap payment - only minted once', async t => { // be minted const bootstrapPaymentValue = 20000n * 10n ** 6n; - const { - runIssuer, - creatorFacet, - runBrand, - } = await startTreasury( + const { runIssuer, creatorFacet, runBrand } = await startTreasury( buildManualTimer(console.log), bootstrapPaymentValue, { committeeName: 'bandOfAngels', committeeSize: 5 }, diff --git a/packages/run-protocol/test/vaultFactory/test-vaultFactory.js b/packages/run-protocol/test/vaultFactory/test-vaultFactory.js index afd631185a1..10a65ae7158 100644 --- a/packages/run-protocol/test/vaultFactory/test-vaultFactory.js +++ b/packages/run-protocol/test/vaultFactory/test-vaultFactory.js @@ -266,9 +266,9 @@ async function setupServices( const governorCreatorFacet = consume.vaultFactoryGovernorCreator; /** @type {Promise} */ - const vaultFactoryCreatorFacet = /** @type { any } */ (E( - governorCreatorFacet, - ).getCreatorFacet()); + const vaultFactoryCreatorFacet = /** @type { any } */ ( + E(governorCreatorFacet).getCreatorFacet() + ); const [governorInstance, vaultFactory, lender] = await Promise.all([ E(agoricNames).lookup('instance', 'VaultFactoryGovernor'), vaultFactoryCreatorFacet, diff --git a/packages/solo/src/add-chain.js b/packages/solo/src/add-chain.js index 4af98a073b2..9683fb34fa3 100644 --- a/packages/solo/src/add-chain.js +++ b/packages/solo/src/add-chain.js @@ -56,10 +56,7 @@ async function addChain(basedir, chainConfig, force = false) { ); } const s = djson.stringify(resp.result); - const gci = crypto - .createHash('sha256') - .update(s) - .digest('hex'); + const gci = crypto.createHash('sha256').update(s).digest('hex'); netconf.gci = gci; } diff --git a/packages/solo/src/captp.js b/packages/solo/src/captp.js index cd5feca6806..14c08b53034 100644 --- a/packages/solo/src/captp.js +++ b/packages/solo/src/captp.js @@ -23,7 +23,11 @@ export const getCapTPHandler = ( const sendObj = o => { send(o, [channelHandle]); }; - const { dispatch, abort, getBootstrap: getRemoteBootstrap } = makeCapTP( + const { + dispatch, + abort, + getBootstrap: getRemoteBootstrap, + } = makeCapTP( origin, sendObj, async o => getLocalBootstrap(getRemoteBootstrap(), meta, o), diff --git a/packages/solo/src/chain-cosmos-sdk.js b/packages/solo/src/chain-cosmos-sdk.js index 08eee6ec906..8e995ad9f8c 100644 --- a/packages/solo/src/chain-cosmos-sdk.js +++ b/packages/solo/src/chain-cosmos-sdk.js @@ -382,10 +382,8 @@ export async function connectToChain( // console.info(`got ${storagePath} query`, obj); if (obj.result && obj.result.response && obj.result.response.value) { // Decode the layers up to the actual storage value. - const { - value: b64JsonStorage, - height: heightString, - } = obj.result.response; + const { value: b64JsonStorage, height: heightString } = + obj.result.response; const jsonStorage = Buffer.from(b64JsonStorage, 'base64').toString( 'utf8', ); diff --git a/packages/solo/src/set-gci-ingress.js b/packages/solo/src/set-gci-ingress.js index 7182facbc62..80b7950e8ce 100644 --- a/packages/solo/src/set-gci-ingress.js +++ b/packages/solo/src/set-gci-ingress.js @@ -3,10 +3,7 @@ import path from 'path'; export default function setGCIIngress(basedir, GCI, rpcAddresses, chainID) { const myAddrFn = path.join(basedir, 'ag-cosmos-helper-address'); - const myAddr = fs - .readFileSync(myAddrFn) - .toString() - .trim(); + const myAddr = fs.readFileSync(myAddrFn).toString().trim(); const fn = path.join(basedir, 'connections.json'); const connsByType = {}; const add = c => { diff --git a/packages/solo/src/start.js b/packages/solo/src/start.js index 2d5b8729cee..5a7c730a85c 100644 --- a/packages/solo/src/start.js +++ b/packages/solo/src/start.js @@ -142,9 +142,8 @@ const buildSwingset = async ( plugin: { ...plugin.endowments }, }; - const { kvStore, streamStore, snapStore, commit } = openSwingStore( - kernelStateDBDir, - ); + const { kvStore, streamStore, snapStore, commit } = + openSwingStore(kernelStateDBDir); const hostStorage = { kvStore, streamStore, @@ -390,9 +389,8 @@ const start = async (basedir, argv) => { const pjs = new URL( await importMetaResolve(`${wallet}/package.json`, import.meta.url), ).pathname; - const { - 'agoric-wallet': { htmlBasedir = 'ui/build', deploy = [] } = {}, - } = JSON.parse(fs.readFileSync(pjs, 'utf-8')); + const { 'agoric-wallet': { htmlBasedir = 'ui/build', deploy = [] } = {} } = + JSON.parse(fs.readFileSync(pjs, 'utf-8')); const agWallet = path.dirname(pjs); const agWalletHtml = path.resolve(agWallet, htmlBasedir); diff --git a/packages/solo/src/vat-http.js b/packages/solo/src/vat-http.js index bf5dfe097d1..023ba4f7a5d 100644 --- a/packages/solo/src/vat-http.js +++ b/packages/solo/src/vat-http.js @@ -12,10 +12,8 @@ export function buildRootObject(vatPowers) { const channelIdToHandle = new Map(); const channelHandleToId = new WeakMap(); let LOADING = harden(['agoric', 'wallet', 'local']); - const { - notifier: loadingNotifier, - updater: loadingUpdater, - } = makeNotifierKit(LOADING); + const { notifier: loadingNotifier, updater: loadingUpdater } = + makeNotifierKit(LOADING); const replObjects = { home: { LOADING }, diff --git a/packages/store/src/patterns/patternMatchers.js b/packages/store/src/patterns/patternMatchers.js index eb025807765..4928e97d844 100644 --- a/packages/store/src/patterns/patternMatchers.js +++ b/packages/store/src/patterns/patternMatchers.js @@ -522,10 +522,10 @@ const makePatternKit = () => { checkIsMatcherPayload: (allegedPatts, check = x => x) => { const checkIt = patt => checkPattern(patt, check); return ( - (check( + check( passStyleOf(allegedPatts) === 'copyArray', X`Needs array of sub-patterns: ${allegedPatts}`, - ) && allegedPatts.every(checkIt)) + ) && allegedPatts.every(checkIt) ); }, @@ -891,12 +891,12 @@ const makePatternKit = () => { harden(specB); harden(specR); return ( - (checkMatches(specB, base, check) && + checkMatches(specB, base, check) && (rest === undefined || check( matches(specR, rest), X`Remainder ${specR} - Must match ${rest}`, - ))) + )) ); }, @@ -970,12 +970,12 @@ const makePatternKit = () => { harden(specR); harden(newBase); return ( - (checkMatches(specB, newBase, check) && + checkMatches(specB, newBase, check) && (rest === undefined || check( matches(specR, rest), X`Remainder ${specR} - Must match ${rest}`, - ))) + )) ); }, diff --git a/packages/store/src/patterns/rankOrder.js b/packages/store/src/patterns/rankOrder.js index 47366ce3969..5e274e3b3c1 100644 --- a/packages/store/src/patterns/rankOrder.js +++ b/packages/store/src/patterns/rankOrder.js @@ -152,11 +152,7 @@ const makeComparatorKit = (compareRemotables = (_x, _y) => 0) => { // If it makes a significant difference, use the faster one. .reverse(), ); - const rightNames = harden( - ownKeys(right) - .sort() - .reverse(), - ); + const rightNames = harden(ownKeys(right).sort().reverse()); const result = comparator(leftNames, rightNames); if (result !== 0) { return result; @@ -393,10 +389,8 @@ export const intersectRankCovers = (compare, covers) => { return covers.reduce(intersectRankCoverPair, ['', '{']); }; -export const { - comparator: compareRank, - antiComparator: compareAntiRank, -} = makeComparatorKit(); +export const { comparator: compareRank, antiComparator: compareAntiRank } = + makeComparatorKit(); /** * Create a comparator kit in which remotables are fully ordered diff --git a/packages/store/src/stores/scalarMapStore.js b/packages/store/src/stores/scalarMapStore.js index d155ba08ecf..355d27ad6e5 100644 --- a/packages/store/src/stores/scalarMapStore.js +++ b/packages/store/src/stores/scalarMapStore.js @@ -30,17 +30,14 @@ export const makeMapStoreMethods = ( assertKeyOkToDelete = undefined, keyName = 'key', ) => { - const { - assertUpdateOnAdd, - assertUpdateOnDelete, - iterableKeys, - } = makeCurrentKeysKit( - () => jsmap.keys(), - compareRank, - assertKVOkToAdd, - assertKeyOkToDelete, - keyName, - ); + const { assertUpdateOnAdd, assertUpdateOnDelete, iterableKeys } = + makeCurrentKeysKit( + () => jsmap.keys(), + compareRank, + assertKVOkToAdd, + assertKeyOkToDelete, + keyName, + ); /** * @param {Pattern=} keyPatt diff --git a/packages/store/src/stores/scalarSetStore.js b/packages/store/src/stores/scalarSetStore.js index 8830c44dd39..9cc9f2ccfdd 100644 --- a/packages/store/src/stores/scalarSetStore.js +++ b/packages/store/src/stores/scalarSetStore.js @@ -23,17 +23,14 @@ export const makeSetStoreMethods = ( assertKeyOkToDelete = undefined, keyName = 'key', ) => { - const { - assertUpdateOnAdd, - assertUpdateOnDelete, - iterableKeys, - } = makeCurrentKeysKit( - () => jsset.keys(), - compareRank, - assertKeyOkToAdd, - assertKeyOkToDelete, - keyName, - ); + const { assertUpdateOnAdd, assertUpdateOnDelete, iterableKeys } = + makeCurrentKeysKit( + () => jsset.keys(), + compareRank, + assertKeyOkToAdd, + assertKeyOkToDelete, + keyName, + ); /** * @param {Pattern=} keyPatt diff --git a/packages/swingset-runner/demo/encouragementBotComms/bootstrap.js b/packages/swingset-runner/demo/encouragementBotComms/bootstrap.js index a594cfae8c5..5e5e482dbbe 100644 --- a/packages/swingset-runner/demo/encouragementBotComms/bootstrap.js +++ b/packages/swingset-runner/demo/encouragementBotComms/bootstrap.js @@ -18,10 +18,8 @@ export function buildRootObject(vatPowers) { D(devices.loopbox).registerInboundHandler(USER, vats.uservattp); const usersender = D(devices.loopbox).getSender(USER); await E(vats.uservattp).registerMailboxDevice(usersender); - const { - transmitter: txToBotForUser, - setReceiver: setRxFromBotForUser, - } = await E(vats.uservattp).addRemote(BOT); + const { transmitter: txToBotForUser, setReceiver: setRxFromBotForUser } = + await E(vats.uservattp).addRemote(BOT); await E(vats.usercomms).addRemote( BOT, txToBotForUser, @@ -31,10 +29,8 @@ export function buildRootObject(vatPowers) { D(devices.loopbox).registerInboundHandler(BOT, vats.botvattp); const botsender = D(devices.loopbox).getSender(BOT); await E(vats.botvattp).registerMailboxDevice(botsender); - const { - transmitter: txToUserForBot, - setReceiver: setRxFromUserForBot, - } = await E(vats.botvattp).addRemote(USER); + const { transmitter: txToUserForBot, setReceiver: setRxFromUserForBot } = + await E(vats.botvattp).addRemote(USER); await E(vats.botcomms).addRemote( USER, txToUserForBot, diff --git a/packages/swingset-runner/demo/zoeTests/vat-alice.js b/packages/swingset-runner/demo/zoeTests/vat-alice.js index 39e504ce2ce..702ca4b0e3a 100644 --- a/packages/swingset-runner/demo/zoeTests/vat-alice.js +++ b/packages/swingset-runner/demo/zoeTests/vat-alice.js @@ -360,9 +360,8 @@ const build = async (log, zoe, issuers, payments, installations, timer) => { const liquidityTokenPayment = await E(liquidityTokenPurseP).withdraw( liquidity(10n), ); - const removeLiquidityInvitation = E( - publicFacet, - ).makeRemoveLiquidityInvitation(); + const removeLiquidityInvitation = + E(publicFacet).makeRemoveLiquidityInvitation(); const removeLiquiditySeatP = await E(zoe).offer( removeLiquidityInvitation, diff --git a/packages/ui-components/src/components/NatAmountInput.jsx b/packages/ui-components/src/components/NatAmountInput.jsx index 32495335a21..46ff5b6dfc3 100644 --- a/packages/ui-components/src/components/NatAmountInput.jsx +++ b/packages/ui-components/src/components/NatAmountInput.jsx @@ -8,84 +8,86 @@ import { stringifyNat } from '../display/natValue/stringifyNat.js'; // multiple instances of React and MaterialUI. Thus, we pass the // instances to the component. -const makeNatAmountInput = ({ React, TextField }) => ({ - label = 'Amount', - value = 0n, - decimalPlaces = 0, - placesToShow = undefined, - disabled = false, - error = false, - onChange = () => {}, - required = false, - helperText = null, - className = '', -}) => { - const step = 1; - if (typeof placesToShow !== 'number') { - placesToShow = decimalPlaces > 0 ? 2 : 0; - } +const makeNatAmountInput = + ({ React, TextField }) => + ({ + label = 'Amount', + value = 0n, + decimalPlaces = 0, + placesToShow = undefined, + disabled = false, + error = false, + onChange = () => {}, + required = false, + helperText = null, + className = '', + }) => { + const step = 1; + if (typeof placesToShow !== 'number') { + placesToShow = decimalPlaces > 0 ? 2 : 0; + } - // No negative values allowed in the input - const inputProps = { - inputProps: { min: 0, step }, - }; + // No negative values allowed in the input + const inputProps = { + inputProps: { min: 0, step }, + }; - const valueString = stringifyNat(value, decimalPlaces, placesToShow); + const valueString = stringifyNat(value, decimalPlaces, placesToShow); - // Use react state so it knows to re-render on fieldString change - const [fieldString, setFieldString] = React.useState( - value === null ? '0' : valueString, - ); + // Use react state so it knows to re-render on fieldString change + const [fieldString, setFieldString] = React.useState( + value === null ? '0' : valueString, + ); - const preventSubtractChar = e => { - if (e.key === 'Subtract') { - e.preventDefault(); - e.stopPropagation(); - } - }; + const preventSubtractChar = e => { + if (e.key === 'Subtract') { + e.preventDefault(); + e.stopPropagation(); + } + }; - // Display the rendered version of the value when - // the user stops editing the component. - const handleOnBlur = _ => { - setFieldString(valueString); - }; + // Display the rendered version of the value when + // the user stops editing the component. + const handleOnBlur = _ => { + setFieldString(valueString); + }; - // We want to delay the input validation so that the user can type - // freely, and then it gets formatted appropriately after the user stops. - const handleOnChange = ev => { - const str = ev.target.value; - // Show the user exactly what they are typing - setFieldString(str); - const parsed = parseAsNat(str, decimalPlaces); - onChange(parsed); - }; + // We want to delay the input validation so that the user can type + // freely, and then it gets formatted appropriately after the user stops. + const handleOnChange = ev => { + const str = ev.target.value; + // Show the user exactly what they are typing + setFieldString(str); + const parsed = parseAsNat(str, decimalPlaces); + onChange(parsed); + }; - // If what the user is typing parses to the current - // value (though it might have extra punctuation), - // then show that rather than a computed display string - const displayString = - value === parseAsNat(fieldString, decimalPlaces) - ? fieldString - : valueString; + // If what the user is typing parses to the current + // value (though it might have extra punctuation), + // then show that rather than a computed display string + const displayString = + value === parseAsNat(fieldString, decimalPlaces) + ? fieldString + : valueString; - return ( - - ); -}; + return ( + + ); + }; export default makeNatAmountInput; diff --git a/packages/ui-components/src/components/NatPurseSelector.jsx b/packages/ui-components/src/components/NatPurseSelector.jsx index fb75a56257b..8f4960abaaa 100644 --- a/packages/ui-components/src/components/NatPurseSelector.jsx +++ b/packages/ui-components/src/components/NatPurseSelector.jsx @@ -32,96 +32,98 @@ const isNatPurse = ({ displayInfo: { assetKind } }) => // version of agoric-sdk, we must make sure that we are not using // multiple instances of React and MaterialUI. Thus, we pass the // instances to the component. -const makeNatPurseSelector = ({ - React, - MenuItem, - TextField, - ListItemIcon, - ListItemText, - PurseIcon, - makeStyles, -}) => ({ - label = 'Purse', - purseSelected = /** @type {any} */ (null), - onChange = _p => {}, - disabled = false, - error = false, - purses = [], - className = '', -}) => { - const useStyles = makeStyles(theme => ({ - root: { - minWidth: '150px', - }, - select: { - display: 'flex', - alignItems: 'center', - }, - noPadding: { - paddingTop: 0, - paddingBottom: 0, - }, - icon: { - minWidth: 24, - marginRight: theme.spacing(2), - }, - })); +const makeNatPurseSelector = + ({ + React, + MenuItem, + TextField, + ListItemIcon, + ListItemText, + PurseIcon, + makeStyles, + }) => + ({ + label = 'Purse', + purseSelected = /** @type {any} */ (null), + onChange = _p => {}, + disabled = false, + error = false, + purses = [], + className = '', + }) => { + const useStyles = makeStyles(theme => ({ + root: { + minWidth: '150px', + }, + select: { + display: 'flex', + alignItems: 'center', + }, + noPadding: { + paddingTop: 0, + paddingBottom: 0, + }, + icon: { + minWidth: 24, + marginRight: theme.spacing(2), + }, + })); - const classes = useStyles(); + const classes = useStyles(); - let items; - if (purses && purses.length > 0) { - items = purses - .filter(isNatPurse) - .map(({ pursePetname, displayInfo, brandPetname, value }) => ( - - - - - + let items; + if (purses && purses.length > 0) { + items = purses + .filter(isNatPurse) + .map(({ pursePetname, displayInfo, brandPetname, value }) => ( + + + + + + + )); + } else { + items = ( + + No purses - )); - } else { - items = ( - - No purses - - ); - } + ); + } + + const getPurse = event => { + const pursePetname = event.target.value; + const purse = purses.find( + p => JSON.stringify(p.pursePetname) === JSON.stringify(pursePetname), + ); + onChange(purse); + }; - const getPurse = event => { - const pursePetname = event.target.value; - const purse = purses.find( - p => JSON.stringify(p.pursePetname) === JSON.stringify(pursePetname), + return ( + + {items} + ); - onChange(purse); }; - return ( - - {items} - - ); -}; - export default makeNatPurseSelector; diff --git a/packages/vats/src/bootstrap.js b/packages/vats/src/bootstrap.js index 748cd71a64a..74d7b5cf889 100644 --- a/packages/vats/src/bootstrap.js +++ b/packages/vats/src/bootstrap.js @@ -94,26 +94,19 @@ export function buildRootObject(vatPowers, vatParameters) { E(vats.board).getBoard(), chainTimerServiceP, /** @type {Promise<{ zoeService: ZoeService, feeMintAccess: - * FeeMintAccess }>} */ (E(vats.zoe).buildZoe( - vatAdminSvc, - feeIssuerConfig, - )), + * FeeMintAccess }>} */ ( + E(vats.zoe).buildZoe(vatAdminSvc, feeIssuerConfig) + ), E(vats.priceAuthority).makePriceAuthority(), E(vats.walletManager).buildWalletManager(vatAdminSvc), ]); - const { - nameHub: agoricNames, - nameAdmin: agoricNamesAdmin, - } = makeNameHubKit(); - const { - nameHub: namesByAddress, - nameAdmin: namesByAddressAdmin, - } = makeNameHubKit(); - const { - nameHub: pegasusConnections, - nameAdmin: pegasusConnectionsAdmin, - } = makeNameHubKit(); + const { nameHub: agoricNames, nameAdmin: agoricNamesAdmin } = + makeNameHubKit(); + const { nameHub: namesByAddress, nameAdmin: namesByAddressAdmin } = + makeNameHubKit(); + const { nameHub: pegasusConnections, nameAdmin: pegasusConnectionsAdmin } = + makeNameHubKit(); async function installEconomy(bootstrapPaymentValue) { // Create a mapping from all the nameHubs we create to their corresponding @@ -229,23 +222,16 @@ export function buildRootObject(vatPowers, vatParameters) { const bootstrapPaymentValue = bankBootstrapSupply + ammDepositValue; // NOTE: no use of the voteCreator. We'll need it to initiate votes on // changing VaultFactory parameters. - const { - vaultFactoryCreator, - _voteCreator, - ammFacets, - } = await installEconomy(bootstrapPaymentValue); - - const [ - centralIssuer, - centralBrand, - ammInstance, - pegasusInstance, - ] = await Promise.all([ - E(agoricNames).lookup('issuer', CENTRAL_ISSUER_NAME), - E(agoricNames).lookup('brand', CENTRAL_ISSUER_NAME), - E(agoricNames).lookup('instance', 'amm'), - E(agoricNames).lookup('instance', 'Pegasus'), - ]); + const { vaultFactoryCreator, _voteCreator, ammFacets } = + await installEconomy(bootstrapPaymentValue); + + const [centralIssuer, centralBrand, ammInstance, pegasusInstance] = + await Promise.all([ + E(agoricNames).lookup('issuer', CENTRAL_ISSUER_NAME), + E(agoricNames).lookup('brand', CENTRAL_ISSUER_NAME), + E(agoricNames).lookup('instance', 'amm'), + E(agoricNames).lookup('instance', 'Pegasus'), + ]); // Start the reward distributor. const epochTimerService = chainTimerService; @@ -676,14 +662,8 @@ export function buildRootObject(vatPowers, vatParameters) { const faucetPaymentInfo = []; await Promise.all( userPaymentRecords.map(async precord => { - const { - payToBank, - issuer, - issuerName, - payment, - brand, - purseName, - } = precord; + const { payToBank, issuer, issuerName, payment, brand, purseName } = + precord; if (!payToBank) { // Just a faucet payment to be claimed by a wallet. faucetPaymentInfo.push({ @@ -716,10 +696,8 @@ export function buildRootObject(vatPowers, vatParameters) { }); // Create a name hub for this address. - const { - nameHub: myAddressNameHub, - nameAdmin: rawMyAddressNameAdmin, - } = makeNameHubKit(); + const { nameHub: myAddressNameHub, nameAdmin: rawMyAddressNameAdmin } = + makeNameHubKit(); // Register it with the namesByAddress hub. namesByAddressAdmin.update(address, myAddressNameHub); @@ -852,8 +830,10 @@ export function buildRootObject(vatPowers, vatParameters) { Far('listener', { async onAccept(_port, _localAddr, _remoteAddr, _listenHandler) { const chandlerP = E(pegasus).makePegConnectionHandler(); - const proxyMethod = name => (...args) => - E(chandlerP)[name](...args); + const proxyMethod = + name => + (...args) => + E(chandlerP)[name](...args); const onOpen = proxyMethod('onOpen'); const onClose = proxyMethod('onClose'); diff --git a/packages/vats/src/core/basic-behaviors.js b/packages/vats/src/core/basic-behaviors.js index 8b2ebff7b72..11235d175f0 100644 --- a/packages/vats/src/core/basic-behaviors.js +++ b/packages/vats/src/core/basic-behaviors.js @@ -88,10 +88,8 @@ harden(makeBoard); /** @param {BootstrapPowers} powers */ export const makeAddressNameHubs = async ({ consume: { client }, produce }) => { - const { - nameHub: namesByAddress, - nameAdmin: namesByAddressAdmin, - } = makeNameHubKit(); + const { nameHub: namesByAddress, nameAdmin: namesByAddressAdmin } = + makeNameHubKit(); const { agoricNames, agoricNamesAdmin, nameAdmins } = makeNameAdmins(); @@ -101,10 +99,8 @@ export const makeAddressNameHubs = async ({ consume: { client }, produce }) => { const perAddress = address => { // Create a name hub for this address. - const { - nameHub: myAddressNameHub, - nameAdmin: rawMyAddressNameAdmin, - } = makeNameHubKit(); + const { nameHub: myAddressNameHub, nameAdmin: rawMyAddressNameAdmin } = + makeNameHubKit(); // Register it with the namesByAddress hub. namesByAddressAdmin.update(address, myAddressNameHub); diff --git a/packages/vats/src/core/utils.js b/packages/vats/src/core/utils.js index de6b4ec869e..e8754eafbbc 100644 --- a/packages/vats/src/core/utils.js +++ b/packages/vats/src/core/utils.js @@ -65,10 +65,8 @@ export const callProperties = (obj, ...args) => fromEntries(entries(obj).map(([k, fn]) => [k, fn(...args)])); export const makeNameAdmins = () => { - const { - nameHub: agoricNames, - nameAdmin: agoricNamesAdmin, - } = makeNameHubKit(); + const { nameHub: agoricNames, nameAdmin: agoricNamesAdmin } = + makeNameHubKit(); /** @type {Store} */ const nameAdmins = makeStore('nameHub'); diff --git a/packages/vats/src/ibc.js b/packages/vats/src/ibc.js index 5a052aa36da..11c3d2a8cd2 100644 --- a/packages/vats/src/ibc.js +++ b/packages/vats/src/ibc.js @@ -530,9 +530,8 @@ EOF const onConnectP = channelKeyToOnConnectP.get(channelKey); channelKeyToOnConnectP.delete(channelKey); - const { order, connectionHops: rHops } = channelKeyToInfo.get( - channelKey, - ); + const { order, connectionHops: rHops } = + channelKeyToInfo.get(channelKey); channelKeyToInfo.delete(channelKey); // Finish the outbound connection. diff --git a/packages/vats/src/nameHub.js b/packages/vats/src/nameHub.js index b6d9ab1a35f..bf170549938 100644 --- a/packages/vats/src/nameHub.js +++ b/packages/vats/src/nameHub.js @@ -36,10 +36,11 @@ export const makeNameHubKit = () => { return [ ...mapIterable( keyToRecord.entries(), - ([key, record]) => /** @type {[string, ERef]} */ ([ - key, - record.promise || record.value, - ]), + ([key, record]) => + /** @type {[string, ERef]} */ ([ + key, + record.promise || record.value, + ]), ), ]; }, diff --git a/packages/vats/src/vat-bank.js b/packages/vats/src/vat-bank.js index cf5951dead8..db93f74136f 100644 --- a/packages/vats/src/vat-bank.js +++ b/packages/vats/src/vat-bank.js @@ -166,10 +166,8 @@ export function buildRootObject(_vatPowers) { const bankCall = await makeBankCaller(bankBridgeManager); /** @type {SubscriptionRecord} */ - const { - subscription: assetSubscription, - publication: assetPublication, - } = makeSubscriptionKit(); + const { subscription: assetSubscription, publication: assetPublication } = + makeSubscriptionKit(); /** @type {Store} */ const addressToBank = makeStore('address'); diff --git a/packages/vats/src/virtual-purse.js b/packages/vats/src/virtual-purse.js index 54576f1ae8a..4e802f2cb56 100644 --- a/packages/vats/src/virtual-purse.js +++ b/packages/vats/src/virtual-purse.js @@ -64,10 +64,8 @@ function makeVirtualPurse(vpc, kit) { } /** @type {NotifierRecord} */ - const { - notifier: balanceNotifier, - updater: balanceUpdater, - } = makeNotifierKit(); + const { notifier: balanceNotifier, updater: balanceUpdater } = + makeNotifierKit(); /** @type {ERef} */ let lastBalance = E.get(balanceNotifier.getUpdateSince()).value; diff --git a/packages/vats/test/test-repl.js b/packages/vats/test/test-repl.js index d4270487921..6e4ab35119e 100644 --- a/packages/vats/test/test-repl.js +++ b/packages/vats/test/test-repl.js @@ -86,11 +86,9 @@ test('repl: Symbols', async t => { let m = sentMessages.shift(); let histnum = 0; - const exprDisplays = [ - 'asyncIterator', - 'toStringTag', - 'hasInstance', - ].map(name => [`Symbol.${name}`, `Symbol(Symbol.${name})`]); + const exprDisplays = ['asyncIterator', 'toStringTag', 'hasInstance'].map( + name => [`Symbol.${name}`, `Symbol(Symbol.${name})`], + ); exprDisplays.push( [`Symbol.for('foo')`, `Symbol(foo)`], [`Symbol('foo')`, `Symbol(foo)`], diff --git a/packages/vats/test/test-vat-bank.js b/packages/vats/test/test-vat-bank.js index de4a1aad9ce..c084a22b773 100644 --- a/packages/vats/test/test-vat-bank.js +++ b/packages/vats/test/test-vat-bank.js @@ -128,9 +128,9 @@ test('communication', async t => { // TODO: We can fix this only if the ERTP methods also allow consuming a // `Remote` instead of just `Payment`. That typing has not yet been // done, hence the cast. - const payment2 = /** @type {Payment} */ (await E(vpurse).withdraw( - paymentAmount, - )); + const payment2 = /** @type {Payment} */ ( + await E(vpurse).withdraw(paymentAmount) + ); const actualPaymentAmount2 = await E(kit.issuer).burn( payment2, paymentAmount, diff --git a/packages/vats/test/test-vpurse.js b/packages/vats/test/test-vpurse.js index 9ea757ef559..ef7d9ac7086 100644 --- a/packages/vats/test/test-vpurse.js +++ b/packages/vats/test/test-vpurse.js @@ -12,10 +12,8 @@ const setup = (t, escrowValue = 0n) => { const { brand } = kit; /** @type {NotifierRecord} */ - const { - notifier: balanceNotifier, - updater: balanceUpdater, - } = makeNotifierKit(); + const { notifier: balanceNotifier, updater: balanceUpdater } = + makeNotifierKit(); /** @type {string} */ let expectedType = 'none'; @@ -241,24 +239,22 @@ test('vpurse.deposit', async t => { nextUpdate = E(notifier).getUpdateSince(updateCount); }; - const checkDeposit = ( - expectedOldBalance, - expectedNewBalance, - ) => async depositResult => { - const delta = AmountMath.subtract(expectedNewBalance, expectedOldBalance); - t.assert( - AmountMath.isEqual(depositResult, delta), - `the balance changes by the deposited amount: ${delta.value}`, - ); - await checkNotifier(); - t.assert( - AmountMath.isEqual( - await E(vpurse).getCurrentAmount(), - expectedNewBalance, - ), - `the new purse balance ${depositResult.value} is the expected amount: ${expectedNewBalance.value}`, - ); - }; + const checkDeposit = + (expectedOldBalance, expectedNewBalance) => async depositResult => { + const delta = AmountMath.subtract(expectedNewBalance, expectedOldBalance); + t.assert( + AmountMath.isEqual(depositResult, delta), + `the balance changes by the deposited amount: ${delta.value}`, + ); + await checkNotifier(); + t.assert( + AmountMath.isEqual( + await E(vpurse).getCurrentAmount(), + expectedNewBalance, + ), + `the new purse balance ${depositResult.value} is the expected amount: ${expectedNewBalance.value}`, + ); + }; balanceUpdater.updateState(AmountMath.makeEmpty(brand)); await checkNotifier(); diff --git a/packages/wallet/api/src/date-now.js b/packages/wallet/api/src/date-now.js index 44bbcda87f0..384c06ef8eb 100644 --- a/packages/wallet/api/src/date-now.js +++ b/packages/wallet/api/src/date-now.js @@ -7,15 +7,13 @@ export const DEFAULT_TIMER_DEVICE_SCALE = 1; // Make a function that returns the latest polled time. // This only provides as high resolution as the timer device. -export const makeTimerDeviceDateNow = ( - D, - timerDevice, - timerDeviceScale = DEFAULT_TIMER_DEVICE_SCALE, -) => () => { - const stamp = D(timerDevice).getLastPolled(); - const lastPolledStamp = parseInt(`${stamp}`, 10) * timerDeviceScale; - return lastPolledStamp; -}; +export const makeTimerDeviceDateNow = + (D, timerDevice, timerDeviceScale = DEFAULT_TIMER_DEVICE_SCALE) => + () => { + const stamp = D(timerDevice).getLastPolled(); + const lastPolledStamp = parseInt(`${stamp}`, 10) * timerDeviceScale; + return lastPolledStamp; + }; // Make a function that returns the latest polled time. This only provides as // high resolution as the timer service poll interval. diff --git a/packages/wallet/api/src/lib-wallet.js b/packages/wallet/api/src/lib-wallet.js index 6858f9d965e..6db9626c9fc 100644 --- a/packages/wallet/api/src/lib-wallet.js +++ b/packages/wallet/api/src/lib-wallet.js @@ -217,10 +217,8 @@ export function makeWallet({ }); /** @type {NotifierRecord} */ - const { - notifier: offersNotifier, - updater: offersUpdater, - } = makeNotifierKit(); + const { notifier: offersNotifier, updater: offersUpdater } = + makeNotifierKit(); const { pursesNotifier, attenuatedPursesNotifier, pursesUpdater } = (() => { /** @type {NotifierRecord} */ @@ -315,7 +313,7 @@ export function makeWallet({ ...(depositBoardId && { depositBoardId }), brandPetname, pursePetname, - displayInfo: (issuerRecord && issuerRecord.displayInfo), + displayInfo: issuerRecord && issuerRecord.displayInfo, value, currentAmountSlots: dehydratedCurrentAmount, currentAmount: fillInSlots(dehydratedCurrentAmount), @@ -480,12 +478,10 @@ export function makeWallet({ inboxStateChangeHandler(getInboxState()); } - const { - updater: issuersUpdater, - notifier: issuersNotifier, - } = /** @type {NotifierRecord>} */ (makeNotifierKit( - [], - )); + const { updater: issuersUpdater, notifier: issuersNotifier } = + /** @type {NotifierRecord>} */ ( + makeNotifierKit([]) + ); function updateAllIssuersState() { issuersUpdater.updateState( @@ -688,12 +684,10 @@ export function makeWallet({ return issuerBoardId; }; - const { - updater: contactsUpdater, - notifier: contactsNotifier, - } = /** @type {NotifierRecord>} */ (makeNotifierKit( - [], - )); + const { updater: contactsUpdater, notifier: contactsNotifier } = + /** @type {NotifierRecord>} */ ( + makeNotifierKit([]) + ); /** * @param {Petname} petname @@ -783,10 +777,9 @@ export function makeWallet({ // Just notice the balance updates for the purse. observeNotifier(E(purse).getCurrentAmountNotifier(), { updateState(_balance) { - updatePursesState( - purseMapping.valToPetname.get(purse), - purse, - ).catch(e => console.error('cannot updateState', e)); + updatePursesState(purseMapping.valToPetname.get(purse), purse).catch( + e => console.error('cannot updateState', e), + ); }, fail(reason) { console.error(`failed updateState observer`, reason); @@ -913,10 +906,8 @@ export function makeWallet({ /** @type {Store} */ const dappOrigins = makeScalarMap('dappOrigin'); - const { - notifier: dappsNotifier, - updater: dappsUpdater, - } = /** @type {NotifierRecord} */ (makeNotifierKit([])); + const { notifier: dappsNotifier, updater: dappsUpdater } = + /** @type {NotifierRecord} */ (makeNotifierKit([])); const updateDapp = dappRecord => { harden(addMeta(dappRecord)); @@ -1192,10 +1183,8 @@ export function makeWallet({ /** @type {Store} */ const idToPaymentRecord = makeScalarMap('paymentId'); - const { - updater: paymentsUpdater, - notifier: paymentsNotifier, - } = /** @type {NotifierRecord} */ (makeNotifierKit([])); + const { updater: paymentsUpdater, notifier: paymentsNotifier } = + /** @type {NotifierRecord} */ (makeNotifierKit([])); /** * @param {PaymentRecord} param0 */ diff --git a/packages/wallet/api/src/wallet.js b/packages/wallet/api/src/wallet.js index df35e12607b..a2423529dfb 100644 --- a/packages/wallet/api/src/wallet.js +++ b/packages/wallet/api/src/wallet.js @@ -71,9 +71,8 @@ export function buildRootObject(vatPowers) { }; const { publish: pursesPublish, subscribe: pursesSubscribe } = pubsub(E); - const { updater: inboxUpdater, notifier: offerNotifier } = makeNotifierKit( - inboxState, - ); + const { updater: inboxUpdater, notifier: offerNotifier } = + makeNotifierKit(inboxState); const { publish: inboxPublish, subscribe: inboxSubscribe } = pubsub(E); const notifiers = harden({ diff --git a/packages/wallet/api/test/test-getPursesNotifier.js b/packages/wallet/api/test/test-getPursesNotifier.js index ed582fbc803..50db96864fd 100644 --- a/packages/wallet/api/test/test-getPursesNotifier.js +++ b/packages/wallet/api/test/test-getPursesNotifier.js @@ -50,12 +50,8 @@ const setup = async () => { }; test('getPursesNotifier', async t => { - const { - wallet, - moolaKit, - MOOLA_ISSUER_PETNAME, - MOOLA_PURSE_PETNAME, - } = await setup(); + const { wallet, moolaKit, MOOLA_ISSUER_PETNAME, MOOLA_PURSE_PETNAME } = + await setup(); const pursesNotifier = wallet.getPursesNotifier(); const update = await pursesNotifier.getUpdateSince(); t.is(update.updateCount, 6); @@ -71,8 +67,7 @@ test('getPursesNotifier', async t => { value: 0n, }); t.deepEqual(moolaPurseInfo.currentAmountSlots, { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"0"}}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"0"}}', slots: [ { kind: 'brand', @@ -90,12 +85,8 @@ test('getPursesNotifier', async t => { }); test('getAttenuatedPursesNotifier', async t => { - const { - wallet, - MOOLA_ISSUER_PETNAME, - MOOLA_PURSE_PETNAME, - moolaKit, - } = await setup(); + const { wallet, MOOLA_ISSUER_PETNAME, MOOLA_PURSE_PETNAME, moolaKit } = + await setup(); const pursesNotifier = wallet.getAttenuatedPursesNotifier(); const update = await pursesNotifier.getUpdateSince(); t.is(update.updateCount, 6); @@ -111,8 +102,7 @@ test('getAttenuatedPursesNotifier', async t => { value: 0n, }); t.deepEqual(moolaPurseInfo.currentAmountSlots, { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"0"}}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"0"}}', slots: [ { kind: 'brand', diff --git a/packages/wallet/api/test/test-lib-dehydrate.js b/packages/wallet/api/test/test-lib-dehydrate.js index d0cd5c67a0c..d0740d244b4 100644 --- a/packages/wallet/api/test/test-lib-dehydrate.js +++ b/packages/wallet/api/test/test-lib-dehydrate.js @@ -43,7 +43,8 @@ test('makeDehydrator', async t => { t.throws( () => instanceHandleMapping.renamePetname('new value', Far('newHandle')), { - message: /has not been previously named, would you like to add it instead\?/, + message: + /has not been previously named, would you like to add it instead\?/, }, `can't rename something that was never added`, ); @@ -110,8 +111,7 @@ test('makeDehydrator', async t => { t.deepEqual( dehydrate(harden({ handle: handle1 })), { - body: - '{"handle":{"@qclass":"slot","iface":"Alleged: handle1","index":0}}', + body: '{"handle":{"@qclass":"slot","iface":"Alleged: handle1","index":0}}', slots: [{ kind: 'instanceHandle', petname: 'simpleExchange' }], }, `serialize val with petname`, @@ -134,8 +134,7 @@ test('makeDehydrator', async t => { t.deepEqual( dehydrate(harden({ brand: brand1, value: 40 })), harden({ - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":0},"value":40}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":0},"value":40}', slots: [{ kind: 'brand', petname: 'moola' }], }), `serialize brand with petname`, @@ -168,8 +167,7 @@ test('makeDehydrator', async t => { t.deepEqual( dehydrate(proposal), { - body: - '{"exit":{"afterDeadline":{"deadline":55,"timer":{"@qclass":"slot","iface":"Alleged: timer","index":0}}},"give":{"Price":{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":1},"value":3}},"want":{"Asset1":{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":2},"value":60},"Asset2":{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":3},"value":{"instanceHandle":{"@qclass":"slot","iface":"Alleged: handle3","index":4}}}}}', + body: '{"exit":{"afterDeadline":{"deadline":55,"timer":{"@qclass":"slot","iface":"Alleged: timer","index":0}}},"give":{"Price":{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":1},"value":3}},"want":{"Asset1":{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":2},"value":60},"Asset2":{"brand":{"@qclass":"slot","iface":"Alleged: mock brand","index":3},"value":{"instanceHandle":{"@qclass":"slot","iface":"Alleged: handle3","index":4}}}}}', slots: [ { kind: 'unnamed', petname: 'unnamed-1' }, { kind: 'brand', petname: 'simolean' }, @@ -183,8 +181,7 @@ test('makeDehydrator', async t => { t.deepEqual( hydrate( harden({ - body: - '{"want":{"Asset1":{"brand":{"@qclass":"slot","index":0},"value":60},"Asset2":{"brand":{"@qclass":"slot","index":1},"value":{"instanceHandle":{"@qclass":"slot","index":2}}}},"give":{"Price":{"brand":{"@qclass":"slot","index":3},"value":3}},"exit":{"afterDeadline":{"timer":{"@qclass":"slot","index":4},"deadline":55}}}', + body: '{"want":{"Asset1":{"brand":{"@qclass":"slot","index":0},"value":60},"Asset2":{"brand":{"@qclass":"slot","index":1},"value":{"instanceHandle":{"@qclass":"slot","index":2}}}},"give":{"Price":{"brand":{"@qclass":"slot","index":3},"value":3}},"exit":{"afterDeadline":{"timer":{"@qclass":"slot","index":4},"deadline":55}}}', slots: [ { kind: 'brand', petname: 'moola' }, { kind: 'brand', petname: 'zoeInvite' }, @@ -201,8 +198,7 @@ test('makeDehydrator', async t => { t.deepEqual( dehydrate(harden({ handle: handle4 })), { - body: - '{"handle":{"@qclass":"slot","iface":"Alleged: handle4","index":0}}', + body: '{"handle":{"@qclass":"slot","iface":"Alleged: handle4","index":0}}', slots: [{ kind: 'unnamed', petname: 'unnamed-2' }], }, `serialize val with no petname`, @@ -222,8 +218,7 @@ test('makeDehydrator', async t => { t.deepEqual( dehydrate(harden({ handle: handle4 })), { - body: - '{"handle":{"@qclass":"slot","iface":"Alleged: handle4","index":0}}', + body: '{"handle":{"@qclass":"slot","iface":"Alleged: handle4","index":0}}', slots: [{ kind: 'instanceHandle', petname: 'autoswap' }], }, `serialize val with new petname`, diff --git a/packages/wallet/api/test/test-lib-wallet.js b/packages/wallet/api/test/test-lib-wallet.js index 7e92841b92f..a553808a736 100644 --- a/packages/wallet/api/test/test-lib-wallet.js +++ b/packages/wallet/api/test/test-lib-wallet.js @@ -76,15 +76,14 @@ async function setupTest() { Central: moolaBundle.issuer, Secondary: simoleanBundle.issuer, }); - const { - publicFacet: autoswapPublicFacet, - instance: autoswapInstanceHandle, - } = await E(zoe).startInstance( - autoswapInstallationHandle, - autoswapIssuerKeywordRecord, - ); + const { publicFacet: autoswapPublicFacet, instance: autoswapInstanceHandle } = + await E(zoe).startInstance( + autoswapInstallationHandle, + autoswapIssuerKeywordRecord, + ); - const addLiquidityInvite = await autoswapPublicFacet.makeAddLiquidityInvitation(); + const addLiquidityInvite = + await autoswapPublicFacet.makeAddLiquidityInvitation(); const { admin: wallet, initialized } = makeWallet({ zoe, @@ -216,8 +215,7 @@ test('lib-wallet issuer and purse methods', async t => { pursePetname: 'Default Zoe invite purse', value: [], currentAmountSlots: { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[]}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[]}', slots: [{ kind: 'brand', petname: 'zoe invite' }], }, currentAmount: { @@ -239,8 +237,7 @@ test('lib-wallet issuer and purse methods', async t => { pursePetname: 'fun money', value: 100, currentAmountSlots: { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"100"}}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"100"}}', slots: [{ kind: 'brand', petname: 'moola' }], }, currentAmount: { @@ -364,8 +361,7 @@ test('lib-wallet dapp suggests issuer, instance, installation petnames', async t }, ], currentAmountSlots: { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[{"description":"getRefund","handle":{"@qclass":"slot","iface":"Alleged: InvitationHandle","index":1},"installation":{"@qclass":"slot","iface":"Alleged: Installation","index":2},"instance":{"@qclass":"slot","iface":"Alleged: InstanceHandle","index":3}}]}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[{"description":"getRefund","handle":{"@qclass":"slot","iface":"Alleged: InvitationHandle","index":1},"installation":{"@qclass":"slot","iface":"Alleged: Installation","index":2},"instance":{"@qclass":"slot","iface":"Alleged: InstanceHandle","index":3}}]}', slots: [ { kind: 'brand', petname: 'zoe invite' }, { kind: 'unnamed', petname: 'unnamed-4' }, @@ -450,8 +446,7 @@ test('lib-wallet dapp suggests issuer, instance, installation petnames', async t }, ], currentAmountSlots: { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[{"description":"getRefund","handle":{"@qclass":"slot","iface":"Alleged: InvitationHandle","index":1},"installation":{"@qclass":"slot","iface":"Alleged: Installation","index":2},"instance":{"@qclass":"slot","iface":"Alleged: InstanceHandle","index":3}}]}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[{"description":"getRefund","handle":{"@qclass":"slot","iface":"Alleged: InvitationHandle","index":1},"installation":{"@qclass":"slot","iface":"Alleged: Installation","index":2},"instance":{"@qclass":"slot","iface":"Alleged: InstanceHandle","index":3}}]}', slots: [ { kind: 'brand', petname: 'zoe invite' }, { kind: 'unnamed', petname: 'unnamed-4' }, @@ -585,8 +580,7 @@ test('lib-wallet dapp suggests issuer, instance, installation petnames', async t }, ], currentAmountSlots: { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[{"description":"getRefund","handle":{"@qclass":"slot","iface":"Alleged: InvitationHandle","index":1},"installation":{"@qclass":"slot","iface":"Alleged: Installation","index":2},"instance":{"@qclass":"slot","iface":"Alleged: InstanceHandle","index":3}}]}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[{"description":"getRefund","handle":{"@qclass":"slot","iface":"Alleged: InvitationHandle","index":1},"installation":{"@qclass":"slot","iface":"Alleged: Installation","index":2},"instance":{"@qclass":"slot","iface":"Alleged: InstanceHandle","index":3}}]}', slots: [ { kind: 'brand', petname: 'zoe invite' }, { kind: 'unnamed', petname: 'unnamed-4' }, @@ -783,8 +777,7 @@ test('lib-wallet offer methods', async t => { pursePetname: 'Default Zoe invite purse', value: [], currentAmountSlots: { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[]}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: Zoe Invitation brand","index":0},"value":[]}', slots: [{ kind: 'brand', petname: 'zoe invite' }], }, currentAmount: { @@ -807,8 +800,7 @@ test('lib-wallet offer methods', async t => { depositBoardId: '604346717', value: 100, currentAmountSlots: { - body: - '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"100"}}', + body: '{"brand":{"@qclass":"slot","iface":"Alleged: moola brand","index":0},"value":{"@qclass":"bigint","digits":"100"}}', slots: [{ kind: 'brand', petname: 'moola' }], }, meta: { diff --git a/packages/wallet/ui/src/components/tests/AppBar.test.jsx b/packages/wallet/ui/src/components/tests/AppBar.test.jsx index 717969f6143..f053388250e 100644 --- a/packages/wallet/ui/src/components/tests/AppBar.test.jsx +++ b/packages/wallet/ui/src/components/tests/AppBar.test.jsx @@ -4,9 +4,11 @@ import AppBar, { AppBarWithoutContext } from '../AppBar'; import ChainConnector from '../ChainConnector'; import WalletConnection from '../WalletConnection'; -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ; -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ; + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/components/tests/ChainConnector.test.jsx b/packages/wallet/ui/src/components/tests/ChainConnector.test.jsx index 476072ab20f..1266d568a57 100644 --- a/packages/wallet/ui/src/components/tests/ChainConnector.test.jsx +++ b/packages/wallet/ui/src/components/tests/ChainConnector.test.jsx @@ -30,12 +30,7 @@ const selectNetworkAtIndex = (component, index) => { const dialog = component.find(Dialog); const options = dialog.find(ListItem); - act(() => - options - .at(index) - .props() - .onClick(), - ); + act(() => options.at(index).props().onClick()); component.update(); }; diff --git a/packages/wallet/ui/src/components/tests/Dapp.test.jsx b/packages/wallet/ui/src/components/tests/Dapp.test.jsx index f2ebeb8e3bb..9dc7e6c9553 100644 --- a/packages/wallet/ui/src/components/tests/Dapp.test.jsx +++ b/packages/wallet/ui/src/components/tests/Dapp.test.jsx @@ -19,9 +19,11 @@ const dapps = [ }, ]; -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ; -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ; + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/components/tests/ImportContact.test.jsx b/packages/wallet/ui/src/components/tests/ImportContact.test.jsx index d95e31aec37..564714d0597 100644 --- a/packages/wallet/ui/src/components/tests/ImportContact.test.jsx +++ b/packages/wallet/ui/src/components/tests/ImportContact.test.jsx @@ -27,13 +27,15 @@ const appTheme = createTheme({ }, }); -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; @@ -47,13 +49,7 @@ test('shows and hides the dialog correctly', () => { const handleClose = jest.fn(); component = mount(); expect(component.find(Dialog).props().open).toBe(true); - act(() => - component - .find(Button) - .at(0) - .props() - .onClick(), - ); + act(() => component.find(Button).at(0).props().onClick()); expect(handleClose).toHaveBeenCalled(); }); diff --git a/packages/wallet/ui/src/components/tests/ImportIssuer.test.jsx b/packages/wallet/ui/src/components/tests/ImportIssuer.test.jsx index 105e777f7a3..42bc0b9aa37 100644 --- a/packages/wallet/ui/src/components/tests/ImportIssuer.test.jsx +++ b/packages/wallet/ui/src/components/tests/ImportIssuer.test.jsx @@ -27,13 +27,15 @@ const appTheme = createTheme({ }, }); -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; @@ -47,13 +49,7 @@ test('shows and hides the dialog correctly', () => { const handleClose = jest.fn(); component = mount(); expect(component.find(Dialog).props().open).toBe(true); - act(() => - component - .find(Button) - .at(0) - .props() - .onClick(), - ); + act(() => component.find(Button).at(0).props().onClick()); expect(handleClose).toHaveBeenCalled(); }); diff --git a/packages/wallet/ui/src/components/tests/MakePurse.test.jsx b/packages/wallet/ui/src/components/tests/MakePurse.test.jsx index 55a98acebca..d06032fdffc 100644 --- a/packages/wallet/ui/src/components/tests/MakePurse.test.jsx +++ b/packages/wallet/ui/src/components/tests/MakePurse.test.jsx @@ -56,19 +56,21 @@ const issuers = [ const setPendingPurseCreations = jest.fn(); const schemaActions = { createPurse: jest.fn() }; -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/components/tests/NavDrawer.test.jsx b/packages/wallet/ui/src/components/tests/NavDrawer.test.jsx index b1cb231949c..8c3eabeb044 100644 --- a/packages/wallet/ui/src/components/tests/NavDrawer.test.jsx +++ b/packages/wallet/ui/src/components/tests/NavDrawer.test.jsx @@ -22,12 +22,7 @@ test('shows the drawer when the button is clicked', () => { }); const component = mount(); - act(() => - component - .find(IconButton) - .props() - .onClick(), - ); + act(() => component.find(IconButton).props().onClick()); component.update(); expect(component.find(Drawer).props().open).toEqual(true); diff --git a/packages/wallet/ui/src/components/tests/Offer.test.jsx b/packages/wallet/ui/src/components/tests/Offer.test.jsx index 99f46c814cf..8501a7fb3f5 100644 --- a/packages/wallet/ui/src/components/tests/Offer.test.jsx +++ b/packages/wallet/ui/src/components/tests/Offer.test.jsx @@ -30,18 +30,20 @@ const declinedOffers = new Set(); const setDeclinedOffers = jest.fn(); const setClosedOffers = jest.fn(); -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; @@ -165,18 +167,8 @@ test('renders the controls', () => { const controls = component.find('.Controls'); - expect( - controls - .find(Chip) - .at(0) - .text(), - ).toContain('Approve'); - expect( - controls - .find(Chip) - .at(1) - .text(), - ).toContain('Decline'); + expect(controls.find(Chip).at(0).text()).toContain('Approve'); + expect(controls.find(Chip).at(1).text()).toContain('Decline'); }); test('renders the exit button while pending', () => { @@ -185,18 +177,8 @@ test('renders the exit button while pending', () => { const component = mount(); - expect( - component - .find(Chip) - .at(0) - .text(), - ).toContain('Pending'); - expect( - component - .find('.Controls') - .find(Chip) - .text(), - ).toContain('Exit'); + expect(component.find(Chip).at(0).text()).toContain('Pending'); + expect(component.find('.Controls').find(Chip).text()).toContain('Exit'); }); test('renders the pending state eagerly', () => { @@ -204,18 +186,8 @@ test('renders the pending state eagerly', () => { , ); - expect( - component - .find(Chip) - .at(0) - .text(), - ).toContain('Pending'); - expect( - component - .find('.Controls') - .find(Chip) - .text(), - ).toContain('Exit'); + expect(component.find(Chip).at(0).text()).toContain('Pending'); + expect(component.find('.Controls').find(Chip).text()).toContain('Exit'); }); test('renders the declined state eagerly', () => { @@ -223,12 +195,7 @@ test('renders the declined state eagerly', () => { , ); - expect( - component - .find(Chip) - .at(0) - .text(), - ).toContain('Declined'); + expect(component.find(Chip).at(0).text()).toContain('Declined'); expect(component.find('.Controls').find(Chip)).toHaveLength(0); }); @@ -238,12 +205,7 @@ test('renders the accepted state', () => { const component = mount(); - expect( - component - .find(Chip) - .at(0) - .text(), - ).toContain('Accepted'); + expect(component.find(Chip).at(0).text()).toContain('Accepted'); expect(component.find('.Controls').find(Chip)).toHaveLength(0); }); @@ -253,12 +215,7 @@ test('renders the declined state', () => { const component = mount(); - expect( - component - .find(Chip) - .at(0) - .text(), - ).toContain('Declined'); + expect(component.find(Chip).at(0).text()).toContain('Declined'); expect(component.find('.Controls').find(Chip)).toHaveLength(0); }); @@ -300,12 +257,7 @@ test('renders the request as completed when appropriate', () => { test('closes the offer', () => { const component = mount(); - act(() => - component - .find(Request) - .props() - .close(), - ); + act(() => component.find(Request).props().close()); expect(setClosedOffers).toHaveBeenCalledWith({ offerId: offer.id, @@ -324,13 +276,7 @@ test('closes the offer', () => { test('accepts the offer', () => { const component = mount(); - act(() => - component - .find(Chip) - .at(1) - .props() - .onClick(), - ); + act(() => component.find(Chip).at(1).props().onClick()); expect(setPendingOffers).toHaveBeenCalledWith({ offerId: offer.id, @@ -342,13 +288,7 @@ test('accepts the offer', () => { test('declines the offer', () => { const component = mount(); - act(() => - component - .find(Chip) - .at(2) - .props() - .onClick(), - ); + act(() => component.find(Chip).at(2).props().onClick()); expect(setDeclinedOffers).toHaveBeenCalledWith({ offerId: offer.id, @@ -362,13 +302,7 @@ test('cancels the offer', () => { pendingOffer.status = 'pending'; const component = mount(); - act(() => - component - .find(Chip) - .at(1) - .props() - .onClick(), - ); + act(() => component.find(Chip).at(1).props().onClick()); expect(offer.actions.cancel).toHaveBeenCalledWith(); }); diff --git a/packages/wallet/ui/src/components/tests/Purses.test.jsx b/packages/wallet/ui/src/components/tests/Purses.test.jsx index 1fa5c4c4f04..35dc38d056f 100644 --- a/packages/wallet/ui/src/components/tests/Purses.test.jsx +++ b/packages/wallet/ui/src/components/tests/Purses.test.jsx @@ -55,11 +55,17 @@ const purses = [ const pendingTransfers = new Set([0]); -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/components/tests/Requests.test.jsx b/packages/wallet/ui/src/components/tests/Requests.test.jsx index 2601ffc11c1..4dd03bdcb0b 100644 --- a/packages/wallet/ui/src/components/tests/Requests.test.jsx +++ b/packages/wallet/ui/src/components/tests/Requests.test.jsx @@ -48,20 +48,22 @@ const pendingOffers = new Set([3]); const declinedOffers = new Set([6]); const closedOffers = new Set([7]); -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/components/tests/Transfer.test.jsx b/packages/wallet/ui/src/components/tests/Transfer.test.jsx index 8a5a0bcfc9e..dca20edbafd 100644 --- a/packages/wallet/ui/src/components/tests/Transfer.test.jsx +++ b/packages/wallet/ui/src/components/tests/Transfer.test.jsx @@ -79,16 +79,18 @@ const contacts = [ ]; const setPendingTransfers = jest.fn(); -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/components/tests/WalletConnection.test.jsx b/packages/wallet/ui/src/components/tests/WalletConnection.test.jsx index 44d1092be19..5d030ae9aac 100644 --- a/packages/wallet/ui/src/components/tests/WalletConnection.test.jsx +++ b/packages/wallet/ui/src/components/tests/WalletConnection.test.jsx @@ -36,16 +36,18 @@ jest.mock('../../util/WalletBackendAdapter.js', () => { const setConnectionState = jest.fn(); const setBackend = jest.fn(); let connectionStatus = 'idle'; -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; }); diff --git a/packages/wallet/ui/src/tests/App.test.jsx b/packages/wallet/ui/src/tests/App.test.jsx index 879bc5a8820..cb75badd4f3 100644 --- a/packages/wallet/ui/src/tests/App.test.jsx +++ b/packages/wallet/ui/src/tests/App.test.jsx @@ -17,9 +17,11 @@ jest.mock('@cosmjs/stargate', () => () => { }); const connectionState = 'connecting'; -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ; -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ; + }; jest.mock('../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/views/Contacts.jsx b/packages/wallet/ui/src/views/Contacts.jsx index 10ec15197f0..1b3a6bc25f6 100644 --- a/packages/wallet/ui/src/views/Contacts.jsx +++ b/packages/wallet/ui/src/views/Contacts.jsx @@ -31,10 +31,10 @@ export const ContactsWithoutContext = ({ setIsSnackbarOpen(true); }; - const [ - importingContacts, - dispatchImportingContacts, - ] = useReducer(importingContactsReducer, { count: 0 }); + const [importingContacts, dispatchImportingContacts] = useReducer( + importingContactsReducer, + { count: 0 }, + ); const incrementImportingContacts = () => dispatchImportingContacts({ difference: 1 }); const decrementImportingContacts = () => diff --git a/packages/wallet/ui/src/views/Issuers.jsx b/packages/wallet/ui/src/views/Issuers.jsx index 86635c4cf2d..ab2f2f0a41e 100644 --- a/packages/wallet/ui/src/views/Issuers.jsx +++ b/packages/wallet/ui/src/views/Issuers.jsx @@ -40,10 +40,10 @@ export const IssuersWithoutContext = ({ setIsSnackbarOpen(true); }; - const [ - importingIssuers, - dispatchImportingIssuers, - ] = useReducer(importingIssuersReducer, { count: 0 }); + const [importingIssuers, dispatchImportingIssuers] = useReducer( + importingIssuersReducer, + { count: 0 }, + ); const incrementImportingIssuers = () => dispatchImportingIssuers({ difference: 1 }); const decrementImportingIssuers = () => diff --git a/packages/wallet/ui/src/views/tests/Contacts.test.jsx b/packages/wallet/ui/src/views/tests/Contacts.test.jsx index 9e47f4c63f3..8bda8d1450e 100644 --- a/packages/wallet/ui/src/views/tests/Contacts.test.jsx +++ b/packages/wallet/ui/src/views/tests/Contacts.test.jsx @@ -40,18 +40,20 @@ const appTheme = createTheme({ }, }); -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/wallet/ui/src/views/tests/Dapps.test.jsx b/packages/wallet/ui/src/views/tests/Dapps.test.jsx index c55dd75cab1..292933e6133 100644 --- a/packages/wallet/ui/src/views/tests/Dapps.test.jsx +++ b/packages/wallet/ui/src/views/tests/Dapps.test.jsx @@ -25,9 +25,11 @@ const dapps = [ }, ]; -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ; -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ; + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; @@ -76,11 +78,6 @@ test('lets you remove a dapp', async () => { firstDappPopover = component.find(Popover).at(0); expect(firstDappPopover.props().open).toBe(true); - await act(async () => - firstDappPopover - .find(Button) - .props() - .onClick(), - ); + await act(async () => firstDappPopover.find(Button).props().onClick()); expect(dapps[0].actions.delete).toHaveBeenCalled(); }); diff --git a/packages/wallet/ui/src/views/tests/Issuers.test.jsx b/packages/wallet/ui/src/views/tests/Issuers.test.jsx index 31bed9cf283..959e53b1a7e 100644 --- a/packages/wallet/ui/src/views/tests/Issuers.test.jsx +++ b/packages/wallet/ui/src/views/tests/Issuers.test.jsx @@ -54,19 +54,21 @@ const schemaActions = { createIssuer: jest.fn(), }; -const withApplicationContext = (Component, _) => ({ ...props }) => { - return ( - - - - ); -}; +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + + + ); + }; jest.mock('../../contexts/Application', () => { return { withApplicationContext }; diff --git a/packages/web-components/src/AgoricWalletConnection.js b/packages/web-components/src/AgoricWalletConnection.js index 25af0fcf05e..686b4abf5b7 100644 --- a/packages/web-components/src/AgoricWalletConnection.js +++ b/packages/web-components/src/AgoricWalletConnection.js @@ -222,9 +222,8 @@ export const makeAgoricWalletConnection = (makeCapTP = defaultMakeCapTP) => case 'bridged': case 'connecting': { if (!this._connector) { - this._connector = this.service.context.connectionParams.makeConnector( - this, - ); + this._connector = + this.service.context.connectionParams.makeConnector(this); this._connector.hostConnected(); } backend = this._connector.render(); diff --git a/packages/web-components/test/agoric-petimage.test.js b/packages/web-components/test/agoric-petimage.test.js index 7e306c249cd..94bca09fe88 100644 --- a/packages/web-components/test/agoric-petimage.test.js +++ b/packages/web-components/test/agoric-petimage.test.js @@ -13,9 +13,7 @@ describe('AgoricPetimage', () => { it('passes the a11y audit', async () => { const el = await fixture( - html` - - `, + html` `, ); await expect(el).shadowDom.to.be.accessible(); @@ -24,9 +22,7 @@ describe('AgoricPetimage', () => { it('calls Powerbox.expandPetdata on update', async () => { const expandPetdataStub = stub(Powerbox, 'expandPetdata'); const el = await fixture( - html` - - `, + html` `, ); expect(expandPetdataStub).to.have.callCount(1); @@ -37,9 +33,7 @@ describe('AgoricPetimage', () => { it('renders a div with the correct data', async () => { const el = await fixture( - html` - - `, + html` `, ); const inner = el.shadowRoot.querySelector('div'); diff --git a/packages/web-components/test/agoric-petname.test.js b/packages/web-components/test/agoric-petname.test.js index b9f8d49ab16..258bdddbe0b 100644 --- a/packages/web-components/test/agoric-petname.test.js +++ b/packages/web-components/test/agoric-petname.test.js @@ -13,9 +13,7 @@ describe('AgoricPetname', () => { it('passes the a11y audit', async () => { const el = await fixture( - html` - - `, + html` `, ); await expect(el).shadowDom.to.be.accessible(); @@ -24,9 +22,7 @@ describe('AgoricPetname', () => { it('calls Powerbox.expandPetdata on update', async () => { const expandPetdataStub = stub(Powerbox, 'expandPetdata'); const el = await fixture( - html` - - `, + html` `, ); expect(expandPetdataStub).to.have.callCount(1); @@ -37,9 +33,7 @@ describe('AgoricPetname', () => { it('renders a span with the correct data', async () => { const el = await fixture( - html` - - `, + html` `, ); const inner = el.shadowRoot.querySelector('span'); diff --git a/packages/web-components/test/agoric-wallet-connection.test.js b/packages/web-components/test/agoric-wallet-connection.test.js index 0c16e90dc26..732ff91613e 100644 --- a/packages/web-components/test/agoric-wallet-connection.test.js +++ b/packages/web-components/test/agoric-wallet-connection.test.js @@ -203,9 +203,7 @@ describe('AgoricWalletConnection', () => { it(`can't override the state`, async () => { const el = await fixture( - html` - - `, + html` `, ); expect(el.state).to.equal('idle'); expect(() => (el.state = 'notset')).to.throw(/Cannot set/); @@ -213,9 +211,7 @@ describe('AgoricWalletConnection', () => { it('passes the a11y audit', async () => { const el = await fixture( - html` - - `, + html` `, ); await expect(el).shadowDom.to.be.accessible(); diff --git a/packages/xsnap/src/avaXS.js b/packages/xsnap/src/avaXS.js index 9728f75e96b..226cf357abf 100644 --- a/packages/xsnap/src/avaXS.js +++ b/packages/xsnap/src/avaXS.js @@ -325,14 +325,8 @@ export async function main( args, { bundleSource, spawn, osType, readFile, resolve, dirname, basename, glob }, ) { - const { - files, - require, - exclude, - debug, - verbose, - titleMatch, - } = await avaConfig(args, {}, { readFile, glob }); + const { files, require, exclude, debug, verbose, titleMatch } = + await avaConfig(args, {}, { readFile, glob }); /** @param {Record} opts */ const spawnXSnap = opts => diff --git a/packages/xsnap/test/test-xs-limits.js b/packages/xsnap/test/test-xs-limits.js index 446376dfce4..c674195cad8 100644 --- a/packages/xsnap/test/test-xs-limits.js +++ b/packages/xsnap/test/test-xs-limits.js @@ -87,8 +87,9 @@ test('property name space exhaustion: orderly fail-stop', async t => { [2, 10, null], [2, 50000, 'buffer overflow'], ])) { - test(`parser buffer size ${parserBufferSize || - 'default'}k; rep ${qty}; debug ${debug}`, async t => { + test(`parser buffer size ${ + parserBufferSize || 'default' + }k; rep ${qty}; debug ${debug}`, async t => { const opts = { ...options(io), meteringLimit: 1e8, debug }; const vat = xsnap({ ...opts, parserBufferSize }); t.teardown(() => vat.terminate()); diff --git a/packages/xsnap/test/test-xsnap.js b/packages/xsnap/test/test-xsnap.js index 490845dfe84..fe5d08fdfab 100644 --- a/packages/xsnap/test/test-xsnap.js +++ b/packages/xsnap/test/test-xsnap.js @@ -302,7 +302,8 @@ test('fail to send command to terminated xsnap worker', async t => { const vat = xsnap({ ...options(io), meteringLimit: 0 }); const hang = t.throwsAsync(vat.evaluate(`for (;;) {}`), { instanceOf: Error, - message: /^(Cannot write messages to xsnap test worker: write EPIPE|xsnap test worker exited due to signal SIGTERM)$/, + message: + /^(Cannot write messages to xsnap test worker: write EPIPE|xsnap test worker exited due to signal SIGTERM)$/, }); await vat.terminate(); diff --git a/packages/zoe/src/contractFacet/zcfZygote.js b/packages/zoe/src/contractFacet/zcfZygote.js index aef088c5877..e60d3ea9d90 100644 --- a/packages/zoe/src/contractFacet/zcfZygote.js +++ b/packages/zoe/src/contractFacet/zcfZygote.js @@ -53,16 +53,12 @@ export const makeZCFZygote = ( powers.exitVatWithFailure(reason); }; - const { - makeZCFSeat, - reallocate, - reallocateForZCFMint, - dropAllReferences, - } = createSeatManager( - zoeInstanceAdmin, - getAssetKindByBrand, - shutdownWithFailure, - ); + const { makeZCFSeat, reallocate, reallocateForZCFMint, dropAllReferences } = + createSeatManager( + zoeInstanceAdmin, + getAssetKindByBrand, + shutdownWithFailure, + ); const { storeOfferHandler, takeOfferHandler } = makeOfferHandlerStorage(); diff --git a/packages/zoe/src/contractSupport/zoeHelpers.js b/packages/zoe/src/contractSupport/zoeHelpers.js index 2dd0d996909..5a62417fa61 100644 --- a/packages/zoe/src/contractSupport/zoeHelpers.js +++ b/packages/zoe/src/contractSupport/zoeHelpers.js @@ -321,9 +321,7 @@ export const offerTo = async ( depositedPromiseKit.resolve(mappedAmounts); }; - E(userSeatPromise) - .getPayouts() - .then(doDeposit); + E(userSeatPromise).getPayouts().then(doDeposit); return harden({ userSeatPromise, deposited: depositedPromiseKit.promise }); }; diff --git a/packages/zoe/src/contracts/attestation/returnable/returnableNFT.js b/packages/zoe/src/contracts/attestation/returnable/returnableNFT.js index f82edbcdc84..022f23ebdd0 100644 --- a/packages/zoe/src/contracts/attestation/returnable/returnableNFT.js +++ b/packages/zoe/src/contracts/attestation/returnable/returnableNFT.js @@ -25,10 +25,8 @@ const { details: X } = assert; const setupAttestation = async (attestationTokenName, empty, zcf) => { assert(AmountMath.isEmpty(empty), X`empty ${empty} was not empty`); const zcfMint = await zcf.makeZCFMint(attestationTokenName, AssetKind.SET); - const { - brand: attestationBrand, - issuer: attestationIssuer, - } = zcfMint.getIssuerRecord(); + const { brand: attestationBrand, issuer: attestationIssuer } = + zcfMint.getIssuerRecord(); const { brand: externalBrand } = empty; @@ -69,8 +67,9 @@ const setupAttestation = async (attestationTokenName, empty, zcf) => { zcfMint.burnLosses(harden({ Attestation: attestationAmount }), seat); seat.exit(); - const attestationValue = - /** @type {Array} */ (attestationAmount.value); + const attestationValue = /** @type {Array} */ ( + attestationAmount.value + ); attestationValue.forEach(({ address, amountLiened: amountReturned }) => { assert( diff --git a/packages/zoe/src/contracts/autoswap.js b/packages/zoe/src/contracts/autoswap.js index 8c6879d2130..c6faf2fb613 100644 --- a/packages/zoe/src/contracts/autoswap.js +++ b/packages/zoe/src/contracts/autoswap.js @@ -61,10 +61,8 @@ const start = async zcf => { const liquidityMint = await zcf.makeZCFMint('Liquidity'); // AWAIT //////////////////// - const { - issuer: liquidityIssuer, - brand: liquidityBrand, - } = liquidityMint.getIssuerRecord(); + const { issuer: liquidityIssuer, brand: liquidityBrand } = + liquidityMint.getIssuerRecord(); let liqTokenSupply = 0n; // In order to get all the brands, we must call zcf.getTerms() after diff --git a/packages/zoe/src/contracts/callSpread/fundedCallSpread.js b/packages/zoe/src/contracts/callSpread/fundedCallSpread.js index 408cee3d11d..5e1daa1987b 100644 --- a/packages/zoe/src/contracts/callSpread/fundedCallSpread.js +++ b/packages/zoe/src/contracts/callSpread/fundedCallSpread.js @@ -57,12 +57,8 @@ import { Position } from './position.js'; /** @type {ContractStartFn} */ const start = async zcf => { - const { - brands, - strikePrice1, - strikePrice2, - settlementAmount, - } = zcf.getTerms(); + const { brands, strikePrice1, strikePrice2, settlementAmount } = + zcf.getTerms(); assertNatAssetKind(zcf, brands.Collateral); assertNatAssetKind(zcf, brands.Strike); // notice that we don't assert that the Underlying is fungible. diff --git a/packages/zoe/src/contracts/callSpread/pricedCallSpread.js b/packages/zoe/src/contracts/callSpread/pricedCallSpread.js index c94066fc30f..4cdebfa9a0d 100644 --- a/packages/zoe/src/contracts/callSpread/pricedCallSpread.js +++ b/packages/zoe/src/contracts/callSpread/pricedCallSpread.js @@ -60,12 +60,8 @@ const BASIS_POINTS = 10000n; /** @type {ContractStartFn} */ const start = zcf => { - const { - brands, - strikePrice1, - strikePrice2, - settlementAmount, - } = zcf.getTerms(); + const { brands, strikePrice1, strikePrice2, settlementAmount } = + zcf.getTerms(); assertNatAssetKind(zcf, brands.Collateral); assertNatAssetKind(zcf, brands.Strike); // notice that we don't assert that the Underlying is fungible. diff --git a/packages/zoe/src/contracts/loan/borrow.js b/packages/zoe/src/contracts/loan/borrow.js index 59ad62cdc63..09aafe408f5 100644 --- a/packages/zoe/src/contracts/loan/borrow.js +++ b/packages/zoe/src/contracts/loan/borrow.js @@ -112,11 +112,8 @@ export const makeBorrowInvitation = (zcf, config) => { liquidationPromiseKit, }, }; - const { - getDebt, - getDebtNotifier, - getLastCalculationTimestamp, - } = makeDebtCalculator(harden(debtCalculatorConfig)); + const { getDebt, getDebtNotifier, getLastCalculationTimestamp } = + makeDebtCalculator(harden(debtCalculatorConfig)); /** @type {LoanConfigWithBorrower} */ const configWithBorrower = { diff --git a/packages/zoe/src/contracts/loan/updateDebt.js b/packages/zoe/src/contracts/loan/updateDebt.js index a5fb3714cfb..7bb1f485e69 100644 --- a/packages/zoe/src/contracts/loan/updateDebt.js +++ b/packages/zoe/src/contracts/loan/updateDebt.js @@ -39,10 +39,8 @@ export const makeDebtCalculator = debtCalculatorConfig => { // the last period-end for which interest has been added let lastCalculationTimestamp = basetime; - const { - updater: debtNotifierUpdater, - notifier: debtNotifier, - } = makeNotifierKit(); + const { updater: debtNotifierUpdater, notifier: debtNotifier } = + makeNotifierKit(); const getDebt = () => debt; diff --git a/packages/zoe/src/contracts/sellItems.js b/packages/zoe/src/contracts/sellItems.js index dbc38c88a7e..4e426c0abf8 100644 --- a/packages/zoe/src/contracts/sellItems.js +++ b/packages/zoe/src/contracts/sellItems.js @@ -44,10 +44,8 @@ const start = zcf => { let sellerSeat; - const { - notifier: availableItemsNotifier, - updater: availableItemsUpdater, - } = makeNotifierKit(); + const { notifier: availableItemsNotifier, updater: availableItemsUpdater } = + makeNotifierKit(); const sell = seat => { sellerSeat = seat; diff --git a/packages/zoe/src/zoeService/invitationQueries.js b/packages/zoe/src/zoeService/invitationQueries.js index fedbf372401..4aee0714c45 100644 --- a/packages/zoe/src/zoeService/invitationQueries.js +++ b/packages/zoe/src/zoeService/invitationQueries.js @@ -14,11 +14,8 @@ export const makeInvitationQueryFns = invitationIssuer => { throw err; }; return E.get( - E.get( - E(invitationIssuer) - .getAmountOf(invitationP) - .catch(onRejected), - ).value, + E.get(E(invitationIssuer).getAmountOf(invitationP).catch(onRejected)) + .value, )[0]; }; diff --git a/packages/zoe/src/zoeService/offer/burnInvitation.js b/packages/zoe/src/zoeService/offer/burnInvitation.js index 5ee79665655..62f5463ec4c 100644 --- a/packages/zoe/src/zoeService/offer/burnInvitation.js +++ b/packages/zoe/src/zoeService/offer/burnInvitation.js @@ -29,9 +29,8 @@ export const burnInvitation = (invitationIssuer, invitation) => { invitationValue.length === 1, 'Only one invitation can be redeemed at a time', ); - const [ - { instance: instanceHandle, handle: invitationHandle }, - ] = invitationValue; + const [{ instance: instanceHandle, handle: invitationHandle }] = + invitationValue; return { instanceHandle, invitationHandle, diff --git a/packages/zoe/src/zoeService/zoe.js b/packages/zoe/src/zoeService/zoe.js index ab9b7b7a1f5..6b7889d1f54 100644 --- a/packages/zoe/src/zoeService/zoe.js +++ b/packages/zoe/src/zoeService/zoe.js @@ -106,11 +106,8 @@ const makeZoeKit = ( // Make the methods that allow users to easily and credibly get // information about their invitations. - const { - getInstance, - getInstallation, - getInvitationDetails, - } = makeInvitationQueryFns(invitationIssuer); + const { getInstance, getInstallation, getInvitationDetails } = + makeInvitationQueryFns(invitationIssuer); const getConfiguration = () => { return harden({ diff --git a/packages/zoe/src/zoeService/zoeStorageManager.js b/packages/zoe/src/zoeService/zoeStorageManager.js index 94d9099d2ba..bd634eab054 100644 --- a/packages/zoe/src/zoeService/zoeStorageManager.js +++ b/packages/zoe/src/zoeService/zoeStorageManager.js @@ -61,9 +61,8 @@ export const makeZoeStorageManager = ( // In order to participate in a contract, users must have // invitations, which are ERTP payments made by Zoe. This code // contains the mint capability for invitations. - const { setupMakeInvitation, invitationIssuer } = createInvitationKit( - shutdownZoeVat, - ); + const { setupMakeInvitation, invitationIssuer } = + createInvitationKit(shutdownZoeVat); // Every new instance of a contract creates a corresponding // "zoeInstanceAdmin" - an admin facet within the Zoe Service for diff --git a/packages/zoe/test/swingsetTests/zoe/vat-alice.js b/packages/zoe/test/swingsetTests/zoe/vat-alice.js index 5ebdeea9a27..c7885ec3cdd 100644 --- a/packages/zoe/test/swingsetTests/zoe/vat-alice.js +++ b/packages/zoe/test/swingsetTests/zoe/vat-alice.js @@ -366,9 +366,8 @@ const build = async (log, zoe, issuers, payments, installations, timer) => { const liquidityTokenPayment = await E(liquidityTokenPurseP).withdraw( liquidity(10n), ); - const removeLiquidityInvitation = E( - publicFacet, - ).makeRemoveLiquidityInvitation(); + const removeLiquidityInvitation = + E(publicFacet).makeRemoveLiquidityInvitation(); const removeLiquiditySeatP = await E(zoe).offer( removeLiquidityInvitation, diff --git a/packages/zoe/test/unitTests/contractSupport/test-offerTo.js b/packages/zoe/test/unitTests/contractSupport/test-offerTo.js index 4fd1f6686bf..e732ed28480 100644 --- a/packages/zoe/test/unitTests/contractSupport/test-offerTo.js +++ b/packages/zoe/test/unitTests/contractSupport/test-offerTo.js @@ -64,14 +64,8 @@ const setupContract = async (moolaIssuer, bucksIssuer) => { }; test(`offerTo - basic usage`, async t => { - const { - moola, - moolaIssuer, - moolaMint, - bucksMint, - bucks, - bucksIssuer, - } = setup(); + const { moola, moolaIssuer, moolaMint, bucksMint, bucks, bucksIssuer } = + setup(); const { zoe, instanceToZCF, instanceA, instanceB } = await setupContract( moolaIssuer, bucksIssuer, diff --git a/packages/zoe/test/unitTests/contracts/attestation/returnableNFT/test-userFlow.js b/packages/zoe/test/unitTests/contracts/attestation/returnableNFT/test-userFlow.js index de293f96178..54fcb101ec6 100644 --- a/packages/zoe/test/unitTests/contracts/attestation/returnableNFT/test-userFlow.js +++ b/packages/zoe/test/unitTests/contracts/attestation/returnableNFT/test-userFlow.js @@ -9,40 +9,35 @@ import { setupZCFTest } from '../../../zcf/setupZcfTest.js'; import { setupAttestation } from '../../../../../src/contracts/attestation/returnable/returnableNFT.js'; -const makeDoReturnAttestation = ( - zoe, - issuer, - makeReturnAttInvitation, -) => async attestation => { - const invitation = makeReturnAttInvitation(); - const attestationAmount = await E(issuer).getAmountOf(attestation); - const proposal = harden({ give: { Attestation: attestationAmount } }); - const payments = harden({ Attestation: attestation }); - const userSeat = E(zoe).offer(invitation, proposal, payments); - const payout = await E(userSeat).getPayouts(); - const amounts = await Promise.all( - Object.values(payout).map(paymentP => E(issuer).getAmountOf(paymentP)), - ); - return harden({ - amounts, - userSeat, - }); -}; - -const makeTestAttestationAmount = (t, issuer, brand, address) => async ( - attestation, - amountLiened, -) => { - const attestationAmount = await E(issuer).getAmountOf(attestation); - - t.deepEqual(attestationAmount.value, [ - { - address, - amountLiened, - }, - ]); - t.is(attestationAmount.brand, brand); -}; +const makeDoReturnAttestation = + (zoe, issuer, makeReturnAttInvitation) => async attestation => { + const invitation = makeReturnAttInvitation(); + const attestationAmount = await E(issuer).getAmountOf(attestation); + const proposal = harden({ give: { Attestation: attestationAmount } }); + const payments = harden({ Attestation: attestation }); + const userSeat = E(zoe).offer(invitation, proposal, payments); + const payout = await E(userSeat).getPayouts(); + const amounts = await Promise.all( + Object.values(payout).map(paymentP => E(issuer).getAmountOf(paymentP)), + ); + return harden({ + amounts, + userSeat, + }); + }; + +const makeTestAttestationAmount = + (t, issuer, brand, address) => async (attestation, amountLiened) => { + const attestationAmount = await E(issuer).getAmountOf(attestation); + + t.deepEqual(attestationAmount.value, [ + { + address, + amountLiened, + }, + ]); + t.is(attestationAmount.brand, brand); + }; const makeTestLienAmount = (t, getLienAmount, address) => expectedLien => { t.deepEqual(getLienAmount(address), expectedLien); diff --git a/packages/zoe/test/unitTests/contracts/loan/test-borrow.js b/packages/zoe/test/unitTests/contracts/loan/test-borrow.js index 59611068c2d..fa82b890f31 100644 --- a/packages/zoe/test/unitTests/contracts/loan/test-borrow.js +++ b/packages/zoe/test/unitTests/contracts/loan/test-borrow.js @@ -70,10 +70,8 @@ const setupBorrow = async ( // In the config that the borrow code sees, the periodNotifier has // been adapted to a periodAsyncIterable - const { - updater: periodUpdater, - notifier: periodNotifier, - } = makeNotifierKit(); + const { updater: periodUpdater, notifier: periodNotifier } = + makeNotifierKit(); const interestRate = makeRatio(5n, loanKit.brand, BASIS_POINTS); @@ -131,13 +129,8 @@ const setupBorrowFacet = async ( }; test('borrow assert customProps', async t => { - const { - borrowInvitation, - zoe, - installation, - instance, - maxLoan, - } = await setupBorrow(); + const { borrowInvitation, zoe, installation, instance, maxLoan } = + await setupBorrow(); await checkDetails(t, zoe, borrowInvitation, { description: 'borrow', @@ -190,13 +183,8 @@ test('borrow getRecentCollateralAmount', async t => { }); test('borrow getLiquidationPromise', async t => { - const { - borrowFacet, - collateralKit, - loanKit, - priceAuthority, - timer, - } = await setupBorrowFacet(100n); + const { borrowFacet, collateralKit, loanKit, priceAuthority, timer } = + await setupBorrowFacet(100n); const liquidationPromise = E(borrowFacet).getLiquidationPromise(); const collateralGiven = AmountMath.make(collateralKit.brand, 100n); @@ -312,13 +300,8 @@ test('borrow, then addCollateral, then getLiquidationPromise', async t => { }); test('getDebtNotifier with interest', async t => { - const { - borrowFacet, - maxLoan, - periodUpdater, - zoe, - loanKit, - } = await setupBorrowFacet(100000n, 40000n); + const { borrowFacet, maxLoan, periodUpdater, zoe, loanKit } = + await setupBorrowFacet(100000n, 40000n); periodUpdater.updateState(0n); const debtNotifier = await E(borrowFacet).getDebtNotifier(); @@ -367,7 +350,8 @@ test('getDebtNotifier with interest', async t => { const seat = await E(zoe).offer(closeLoanInvitation, proposal, payments); await t.throwsAsync(() => seat.getOfferResult(), { - message: /Not enough Loan assets have been repaid. {2}.* is required, but only .* was repaid./, + message: + /Not enough Loan assets have been repaid. {2}.* is required, but only .* was repaid./, }); }); @@ -384,12 +368,8 @@ test('borrow collateral just too low', async t => { }); test('aperiodic interest', async t => { - const { - borrowFacet, - maxLoan, - periodUpdater, - loanKit, - } = await setupBorrowFacet(100000n, 40000n); + const { borrowFacet, maxLoan, periodUpdater, loanKit } = + await setupBorrowFacet(100000n, 40000n); periodUpdater.updateState(0); const debtNotifier = await E(borrowFacet).getDebtNotifier(); @@ -488,12 +468,8 @@ test('interest starting from non-zero time', async t => { // multiples of 4 instead. The starting time is 1. We should charge interest // after 9, 13, 17, 21, 29 test('short periods', async t => { - const { - borrowFacet, - maxLoan, - periodUpdater, - loanKit, - } = await setupBorrowFacet(100000n, 40000n); + const { borrowFacet, maxLoan, periodUpdater, loanKit } = + await setupBorrowFacet(100000n, 40000n); periodUpdater.updateState(0); const debtNotifier = await E(borrowFacet).getDebtNotifier(); diff --git a/packages/zoe/test/unitTests/contracts/loan/test-close.js b/packages/zoe/test/unitTests/contracts/loan/test-close.js index 1c936d76891..452daae718d 100644 --- a/packages/zoe/test/unitTests/contracts/loan/test-close.js +++ b/packages/zoe/test/unitTests/contracts/loan/test-close.js @@ -38,10 +38,8 @@ test('makeCloseLoanInvitation repay all', async t => { ); // Set up the lender seat - const { - zcfSeat: lenderSeat, - userSeat: lenderUserSeatP, - } = zcf.makeEmptySeatKit(); + const { zcfSeat: lenderSeat, userSeat: lenderUserSeatP } = + zcf.makeEmptySeatKit(); const borrowedAmount = AmountMath.make(loanKit.brand, 20n); const interest = AmountMath.make(loanKit.brand, 3n); diff --git a/packages/zoe/test/unitTests/contracts/loan/test-liquidate.js b/packages/zoe/test/unitTests/contracts/loan/test-liquidate.js index ed2710b9d4b..053c20c6bb9 100644 --- a/packages/zoe/test/unitTests/contracts/loan/test-liquidate.js +++ b/packages/zoe/test/unitTests/contracts/loan/test-liquidate.js @@ -24,14 +24,12 @@ test('test doLiquidation with mocked autoswap', async t => { ); const collateral = AmountMath.make(collateralKit.brand, 10n); - const { - zcfSeat: collateralSeat, - userSeat: collateralUserSeat, - } = await makeSeatKit( - zcf, - { give: { Collateral: collateral } }, - { Collateral: collateralKit.mint.mintPayment(collateral) }, - ); + const { zcfSeat: collateralSeat, userSeat: collateralUserSeat } = + await makeSeatKit( + zcf, + { give: { Collateral: collateral } }, + { Collateral: collateralKit.mint.mintPayment(collateral) }, + ); const loan1000 = AmountMath.make(loanKit.brand, 1000n); @@ -109,14 +107,12 @@ test('test with malfunctioning autoswap', async t => { ); const collateral = AmountMath.make(collateralKit.brand, 10n); - const { - zcfSeat: collateralSeat, - userSeat: collateralUserSeat, - } = await makeSeatKit( - zcf, - { give: { Collateral: collateral } }, - { Collateral: collateralKit.mint.mintPayment(collateral) }, - ); + const { zcfSeat: collateralSeat, userSeat: collateralUserSeat } = + await makeSeatKit( + zcf, + { give: { Collateral: collateral } }, + { Collateral: collateralKit.mint.mintPayment(collateral) }, + ); // Create non-functioning autoswap. diff --git a/packages/zoe/test/unitTests/contracts/test-auction.js b/packages/zoe/test/unitTests/contracts/test-auction.js index 93de77ef2d1..f3a916d1a55 100644 --- a/packages/zoe/test/unitTests/contracts/test-auction.js +++ b/packages/zoe/test/unitTests/contracts/test-auction.js @@ -526,15 +526,8 @@ test('zoe - secondPriceAuction - all bidders try to exit', async t => { // Three bidders with (fungible) moola bid for a CryptoCat test('zoe - secondPriceAuction non-fungible asset', async t => { t.plan(30); - const { - ccIssuer, - moolaIssuer, - ccMint, - moolaMint, - cryptoCats, - moola, - zoe, - } = setupMixed(); + const { ccIssuer, moolaIssuer, ccMint, moolaMint, cryptoCats, moola, zoe } = + setupMixed(); const invitationIssuer = await E(zoe).getInvitationIssuer(); // Setup Alice diff --git a/packages/zoe/test/unitTests/contracts/test-automaticRefund.js b/packages/zoe/test/unitTests/contracts/test-automaticRefund.js index e02cb008885..79bb5b4c4b5 100644 --- a/packages/zoe/test/unitTests/contracts/test-automaticRefund.js +++ b/packages/zoe/test/unitTests/contracts/test-automaticRefund.js @@ -248,20 +248,14 @@ test('multiple instances of automaticRefund for the same Zoe', async t => { ContributionA: moolaR.issuer, ContributionB: simoleanR.issuer, }); - const { - creatorInvitation: aliceInvitation1, - publicFacet: publicFacet1, - } = await E(zoe).startInstance(installation, issuerKeywordRecord); + const { creatorInvitation: aliceInvitation1, publicFacet: publicFacet1 } = + await E(zoe).startInstance(installation, issuerKeywordRecord); - const { - creatorInvitation: aliceInvitation2, - publicFacet: publicFacet2, - } = await E(zoe).startInstance(installation, issuerKeywordRecord); + const { creatorInvitation: aliceInvitation2, publicFacet: publicFacet2 } = + await E(zoe).startInstance(installation, issuerKeywordRecord); - const { - creatorInvitation: aliceInvitation3, - publicFacet: publicFacet3, - } = await E(zoe).startInstance(installation, issuerKeywordRecord); + const { creatorInvitation: aliceInvitation3, publicFacet: publicFacet3 } = + await E(zoe).startInstance(installation, issuerKeywordRecord); const aliceProposal = harden({ give: { ContributionA: moola(10n) }, diff --git a/packages/zoe/test/unitTests/contracts/test-autoswap.js b/packages/zoe/test/unitTests/contracts/test-autoswap.js index 48e53a12209..bdd5de6f17d 100644 --- a/packages/zoe/test/unitTests/contracts/test-autoswap.js +++ b/packages/zoe/test/unitTests/contracts/test-autoswap.js @@ -131,10 +131,8 @@ test('autoSwap API interactions, no jig', async t => { // Bob swaps assertOfferResult(t, bobSeat, 'Swap successfully completed.'); - const { - In: bobMoolaPayout1, - Out: bobSimoleanPayout1, - } = await bobSeat.getPayouts(); + const { In: bobMoolaPayout1, Out: bobSimoleanPayout1 } = + await bobSeat.getPayouts(); await assertPayoutAmount(t, moolaIssuer, bobMoolaPayout1, moola(0n)); await assertPayoutAmount( @@ -178,10 +176,8 @@ test('autoSwap API interactions, no jig', async t => { assertOfferResult(t, bobSeat, 'Swap successfully completed.'); - const { - Out: bobMoolaPayout2, - In: bobSimoleanPayout2, - } = await bobSecondSeat.getPayouts(); + const { Out: bobMoolaPayout2, In: bobSimoleanPayout2 } = + await bobSecondSeat.getPayouts(); await assertPayoutAmount(t, moolaIssuer, bobMoolaPayout2, moola(5n)); await assertPayoutAmount( t, @@ -457,14 +453,8 @@ test('autoSwap jig - add liquidity in exact ratio', async t => { }); test('autoSwap - trade attempt before init, no jig', async t => { - const { - moolaIssuer, - simoleanIssuer, - moolaMint, - moola, - simoleans, - zoe, - } = setup(); + const { moolaIssuer, simoleanIssuer, moolaMint, moola, simoleans, zoe } = + setup(); const installation = await installationPFromSource(zoe, autoswap); const issuerKeywordRecord = harden({ diff --git a/packages/zoe/test/unitTests/contracts/test-barter.js b/packages/zoe/test/unitTests/contracts/test-barter.js index 4923ac93ed1..a4762941ba8 100644 --- a/packages/zoe/test/unitTests/contracts/test-barter.js +++ b/packages/zoe/test/unitTests/contracts/test-barter.js @@ -93,17 +93,13 @@ test('barter with valid offers', async t => { bobPayments, ); - const { - In: bobSimoleanPayout, - Out: bobMoolaPayout, - } = await bobSeat.getPayouts(); + const { In: bobSimoleanPayout, Out: bobMoolaPayout } = + await bobSeat.getPayouts(); assertOfferResult(t, bobSeat, 'Trade completed.'); - const { - In: aliceMoolaPayout, - Out: aliceSimoleanPayout, - } = await aliceSeat.getPayouts(); + const { In: aliceMoolaPayout, Out: aliceSimoleanPayout } = + await aliceSeat.getPayouts(); // Alice gets paid at least what she wanted t.truthy( diff --git a/packages/zoe/test/unitTests/contracts/test-callSpread.js b/packages/zoe/test/unitTests/contracts/test-callSpread.js index ccb27ad8df9..866170c13a1 100644 --- a/packages/zoe/test/unitTests/contracts/test-callSpread.js +++ b/packages/zoe/test/unitTests/contracts/test-callSpread.js @@ -106,10 +106,8 @@ test('fundedCallSpread below Strike1', async t => { aliceProposal, alicePayments, ); - const { - LongOption: bobLongOption, - ShortOption: carolShortOption, - } = await aliceSeat.getPayouts(); + const { LongOption: bobLongOption, ShortOption: carolShortOption } = + await aliceSeat.getPayouts(); const bobOptionSeat = await E(zoe).offer(bobLongOption); const bobPayout = bobOptionSeat.getPayout('Collateral'); @@ -202,10 +200,8 @@ test('fundedCallSpread above Strike2', async t => { aliceProposal, alicePayments, ); - const { - LongOption: bobLongOption, - ShortOption: carolShortOption, - } = await aliceSeat.getPayouts(); + const { LongOption: bobLongOption, ShortOption: carolShortOption } = + await aliceSeat.getPayouts(); const bobOptionSeat = await E(zoe).offer(bobLongOption); const bobPayout = bobOptionSeat.getPayout('Collateral'); @@ -297,10 +293,8 @@ test('fundedCallSpread, mid-strike', async t => { aliceProposal, alicePayments, ); - const { - LongOption: bobLongOption, - ShortOption: carolShortOption, - } = await aliceSeat.getPayouts(); + const { LongOption: bobLongOption, ShortOption: carolShortOption } = + await aliceSeat.getPayouts(); const bobOptionSeat = await E(zoe).offer(bobLongOption); const bobPayout = bobOptionSeat.getPayout('Collateral'); @@ -394,10 +388,8 @@ test('fundedCallSpread, late exercise', async t => { aliceProposal, alicePayments, ); - const { - LongOption: bobLongOption, - ShortOption: carolShortOption, - } = await aliceSeat.getPayouts(); + const { LongOption: bobLongOption, ShortOption: carolShortOption } = + await aliceSeat.getPayouts(); const bobOptionSeat = await E(zoe).offer(bobLongOption); const bobPayout = bobOptionSeat.getPayout('Collateral'); @@ -491,10 +483,8 @@ test('fundedCallSpread, sell options', async t => { aliceProposal, alicePayments, ); - const { - LongOption: longOption, - ShortOption: shortOption, - } = await aliceSeat.getPayouts(); + const { LongOption: longOption, ShortOption: shortOption } = + await aliceSeat.getPayouts(); const exchangeInstallation = await installationPFromSource( zoe, diff --git a/packages/zoe/test/unitTests/contracts/test-coveredCall.js b/packages/zoe/test/unitTests/contracts/test-coveredCall.js index 5b9c9e2bcb4..3e11843463f 100644 --- a/packages/zoe/test/unitTests/contracts/test-coveredCall.js +++ b/packages/zoe/test/unitTests/contracts/test-coveredCall.js @@ -23,15 +23,8 @@ const atomicSwapRoot = `${dirname}/../../../src/contracts/atomicSwap.js`; test('zoe - coveredCall', async t => { t.plan(13); - const { - moolaKit, - simoleanKit, - bucksKit, - moola, - simoleans, - bucks, - zoe, - } = setup(); + const { moolaKit, simoleanKit, bucksKit, moola, simoleans, bucks, zoe } = + setup(); const makeAlice = async (timer, moolaPayment) => { const moolaPurse = await E(moolaKit.issuer).makeEmptyPurse(); diff --git a/packages/zoe/test/unitTests/contracts/test-otcDesk.js b/packages/zoe/test/unitTests/contracts/test-otcDesk.js index bfddaf33490..0dace490530 100644 --- a/packages/zoe/test/unitTests/contracts/test-otcDesk.js +++ b/packages/zoe/test/unitTests/contracts/test-otcDesk.js @@ -41,14 +41,8 @@ const makeAlice = async ( coveredCallInstallation, ) => { let creatorFacet; - const { - moolaIssuer, - simoleanIssuer, - bucksIssuer, - moola, - simoleans, - bucks, - } = issuers; + const { moolaIssuer, simoleanIssuer, bucksIssuer, moola, simoleans, bucks } = + issuers; const { moolaPayment, simoleanPayment, bucksPayment } = origPayments; const simoleanPurse = await E(simoleanIssuer).makeEmptyPurse(); @@ -114,14 +108,8 @@ const makeBob = ( origPayments, coveredCallInstallation, ) => { - const { - moolaIssuer, - simoleanIssuer, - bucksIssuer, - moola, - simoleans, - bucks, - } = issuers; + const { moolaIssuer, simoleanIssuer, bucksIssuer, moola, simoleans, bucks } = + issuers; const { moolaPayment, simoleanPayment, bucksPayment } = origPayments; const moolaPurse = moolaIssuer.makeEmptyPurse(); const simoleanPurse = simoleanIssuer.makeEmptyPurse(); diff --git a/packages/zoe/test/unitTests/contracts/test-sellTickets.js b/packages/zoe/test/unitTests/contracts/test-sellTickets.js index ef0123563d9..4e3e2521278 100644 --- a/packages/zoe/test/unitTests/contracts/test-sellTickets.js +++ b/packages/zoe/test/unitTests/contracts/test-sellTickets.js @@ -380,9 +380,8 @@ test(`mint and sell opera tickets`, async t => { want: { Items: ticket2Amount }, }); - const jokerInsufficientPaymentForTicket = jokerPurse.withdraw( - insufficientAmount, - ); + const jokerInsufficientPaymentForTicket = + jokerPurse.withdraw(insufficientAmount); const seat = await E(zoe).offer( invitation, @@ -577,9 +576,8 @@ test('Testing publicFacet.getAvailableItemsNotifier()', async t => { const birdBrand = await E(birdIssuerP).getBrand(); const birdSalesPublicFacet = E(zoe).getPublicFacet(sellItemsInstance); const birdsForSale = await E(birdSalesPublicFacet).getAvailableItems(); - const birdsForSaleNotifier = E( - birdSalesPublicFacet, - ).getAvailableItemsNotifier(); + const birdsForSaleNotifier = + E(birdSalesPublicFacet).getAvailableItemsNotifier(); const birdsForSalePresolved = await E(birdsForSaleNotifier).getUpdateSince(); t.is(birdsForSale, birdsForSalePresolved.value); diff --git a/packages/zoe/test/unitTests/contracts/test-simpleExchange.js b/packages/zoe/test/unitTests/contracts/test-simpleExchange.js index 84cea6aa22f..6f9b499f614 100644 --- a/packages/zoe/test/unitTests/contracts/test-simpleExchange.js +++ b/packages/zoe/test/unitTests/contracts/test-simpleExchange.js @@ -63,9 +63,9 @@ test('simpleExchange with valid offers', async t => { t.is(beforeAliceCount, 3); }); - const { - value: initialOrders, - } = await publicFacet.getNotifier().getUpdateSince(); + const { value: initialOrders } = await publicFacet + .getNotifier() + .getUpdateSince(); t.deepEqual( initialOrders, { buys: [], sells: [] }, @@ -160,15 +160,11 @@ test('simpleExchange with valid offers', async t => { assertOfferResult(t, bobSeat, 'Order Added'); assertOfferResult(t, aliceSeat, 'Order Added'); - const { - Asset: bobMoolaPayout, - Price: bobSimoleanPayout, - } = await bobSeat.getPayouts(); + const { Asset: bobMoolaPayout, Price: bobSimoleanPayout } = + await bobSeat.getPayouts(); - const { - Asset: aliceMoolaPayout, - Price: aliceSimoleanPayout, - } = await aliceSeat.getPayouts(); + const { Asset: aliceMoolaPayout, Price: aliceSimoleanPayout } = + await aliceSeat.getPayouts(); // Alice gets paid at least what she wanted t.truthy( @@ -391,15 +387,11 @@ test('simpleExchange with non-fungible assets', async t => { assertOfferResult(t, bobSeat, 'Order Added'); assertOfferResult(t, aliceSeat, 'Order Added'); - const { - Asset: bobRpgPayout, - Price: bobCcPayout, - } = await bobSeat.getPayouts(); + const { Asset: bobRpgPayout, Price: bobCcPayout } = + await bobSeat.getPayouts(); - const { - Asset: aliceRpgPayout, - Price: aliceCcPayout, - } = await aliceSeat.getPayouts(); + const { Asset: aliceRpgPayout, Price: aliceCcPayout } = + await aliceSeat.getPayouts(); // Alice gets paid at least what she wanted t.truthy( diff --git a/packages/zoe/test/unitTests/contracts/test-throwInOfferHandler.js b/packages/zoe/test/unitTests/contracts/test-throwInOfferHandler.js index e851fdcca6b..69a14b1990f 100644 --- a/packages/zoe/test/unitTests/contracts/test-throwInOfferHandler.js +++ b/packages/zoe/test/unitTests/contracts/test-throwInOfferHandler.js @@ -25,13 +25,11 @@ test('throw in offerHandler', async t => { const { creatorFacet } = await E(zoe).startInstance(installation); - const throwInOfferHandlerInvitation = E( - creatorFacet, - ).makeThrowInOfferHandlerInvitation(); + const throwInOfferHandlerInvitation = + E(creatorFacet).makeThrowInOfferHandlerInvitation(); - const throwInDepositToSeatInvitation = E( - creatorFacet, - ).makeThrowInDepositToSeatInvitation(); + const throwInDepositToSeatInvitation = + E(creatorFacet).makeThrowInDepositToSeatInvitation(); const throwsInOfferHandlerSeat = E(zoe).offer(throwInOfferHandlerInvitation); diff --git a/packages/zoe/test/unitTests/test-issuerStorage.js b/packages/zoe/test/unitTests/test-issuerStorage.js index 5263c8e709a..c76be651855 100644 --- a/packages/zoe/test/unitTests/test-issuerStorage.js +++ b/packages/zoe/test/unitTests/test-issuerStorage.js @@ -112,11 +112,8 @@ test(`storeIssuerKeywordRecord, twice`, async t => { }); test(`storeIssuerRecord`, async t => { - const { - storeIssuerRecord, - getAssetKindByBrand, - instantiate, - } = makeIssuerStorage(); + const { storeIssuerRecord, getAssetKindByBrand, instantiate } = + makeIssuerStorage(); instantiate(); const { currencyKit } = setupIssuersForTest(); @@ -137,11 +134,8 @@ test(`storeIssuerRecord`, async t => { }); test(`storeIssuerRecord twice`, async t => { - const { - storeIssuerRecord, - getAssetKindByBrand, - instantiate, - } = makeIssuerStorage(); + const { storeIssuerRecord, getAssetKindByBrand, instantiate } = + makeIssuerStorage(); instantiate(); const { currencyKit } = setupIssuersForTest(); @@ -213,10 +207,8 @@ test('use issuerRecords', async t => { t.deepEqual(issuerRecords, [currencyIssuerRecord]); // SecondIssuerStorage - const { - getIssuerRecords: getIssuerRecords2, - instantiate: instantiate2, - } = makeIssuerStorage(); + const { getIssuerRecords: getIssuerRecords2, instantiate: instantiate2 } = + makeIssuerStorage(); instantiate2(issuerRecords); const exportedIssuerStorage2 = getIssuerRecords2([currencyKit.issuer]); diff --git a/packages/zoe/test/unitTests/test-zoe.js b/packages/zoe/test/unitTests/test-zoe.js index 78fe18aab3a..132f2a6a609 100644 --- a/packages/zoe/test/unitTests/test-zoe.js +++ b/packages/zoe/test/unitTests/test-zoe.js @@ -98,10 +98,8 @@ test(`E(zoe).startInstance no issuerKeywordRecord, no terms`, async t => { test(`E(zoe).startInstance promise for installation`, async t => { const { zoe, installation } = await setupZCFTest(); - const { - promise: installationP, - resolve: installationPResolve, - } = makePromiseKit(); + const { promise: installationP, resolve: installationPResolve } = + makePromiseKit(); const resultP = E(zoe).startInstance(installationP); installationPResolve(installation); diff --git a/packages/zoe/test/unitTests/zcf/test-zcf.js b/packages/zoe/test/unitTests/zcf/test-zcf.js index dbaac408e98..1f32fd1a875 100644 --- a/packages/zoe/test/unitTests/zcf/test-zcf.js +++ b/packages/zoe/test/unitTests/zcf/test-zcf.js @@ -392,7 +392,8 @@ test(`zcf.makeZCFMint - not a math kind`, async t => { const { zcf } = await setupZCFTest(); // @ts-ignore deliberate invalid arguments for testing await t.throwsAsync(() => zcf.makeZCFMint('A', 'whatever'), { - message: /The assetKind "whatever" must be one of \["copyBag","copySet","nat","set"\]/, + message: + /The assetKind "whatever" must be one of \["copyBag","copySet","nat","set"\]/, }); }); @@ -635,10 +636,8 @@ test(`zcf.makeEmptySeatKit`, async t => { const result = zcf.makeEmptySeatKit(); t.deepEqual(Object.keys(result), ['zcfSeat', 'userSeat']); const { zcfSeat: zcfSeatActual, userSeat: userSeatActualP } = result; - const { - zcfSeat: zcfSeatExpected, - userSeat: userSeatExpected, - } = await makeOffer(zoe, zcf); + const { zcfSeat: zcfSeatExpected, userSeat: userSeatExpected } = + await makeOffer(zoe, zcf); await similarToNormalZCFSeat(t, zcfSeatActual, zcfSeatExpected); const userSeatActual = await userSeatActualP; await similarToNormalUserSeat(t, userSeatActual, userSeatExpected); diff --git a/packages/zoe/test/unitTests/zcf/test-zoeHelpersWZcf.js b/packages/zoe/test/unitTests/zcf/test-zoeHelpersWZcf.js index c8b3e7fa041..9a5a7d75dde 100644 --- a/packages/zoe/test/unitTests/zcf/test-zoeHelpersWZcf.js +++ b/packages/zoe/test/unitTests/zcf/test-zoeHelpersWZcf.js @@ -236,13 +236,8 @@ test(`zcf saveAllIssuers - duplicate keyword`, async t => { }); test(`zoeHelper with zcf - assertIssuerKeywords`, async t => { - const { - moolaIssuer, - moola, - simoleanIssuer, - simoleanMint, - simoleans, - } = setup(); + const { moolaIssuer, moola, simoleanIssuer, simoleanMint, simoleans } = + setup(); const issuerKeywordRecord = { A: moolaIssuer, B: simoleanIssuer }; const { zoe, zcf } = await setupZCFTest(issuerKeywordRecord); @@ -307,7 +302,8 @@ test(`zoeHelper with zcf - fit proposal patterns`, async t => { t.throws( () => fit(proposal, M.split({ want: { C: M.any() } })), { - message: /Must have same property names as record pattern: {"C":"\[match:any\]"}/, + message: + /Must have same property names as record pattern: {"C":"\[match:any\]"}/, }, 'empty keywordRecord does not match', ); @@ -316,27 +312,24 @@ test(`zoeHelper with zcf - fit proposal patterns`, async t => { t.throws( () => fit(proposal, M.split({ give: { c: M.any() } })), { - message: /Must have same property names as record pattern: {"c":"\[match:any\]"}/, + message: + /Must have same property names as record pattern: {"c":"\[match:any\]"}/, }, 'wrong key in keywordRecord does not match', ); t.throws( () => fit(proposal, M.split({ exit: { onDemaind: M.any() } })), { - message: /Must have same property names as record pattern: {"exit":{"onDemaind":"\[match:any\]"}}/, + message: + /Must have same property names as record pattern: {"exit":{"onDemaind":"\[match:any\]"}}/, }, 'missing exit rule', ); }); test(`zoeHelper with zcf - assertProposalShape`, async t => { - const { - moolaIssuer, - moola, - simoleanIssuer, - simoleanMint, - simoleans, - } = setup(); + const { moolaIssuer, moola, simoleanIssuer, simoleanMint, simoleans } = + setup(); const issuerKeywordRecord = { A: moolaIssuer, B: simoleanIssuer }; const { zoe, zcf } = await setupZCFTest(issuerKeywordRecord); @@ -616,13 +609,8 @@ test(`zcf/zoeHelper - fit proposal pattern w/bad Expected`, async t => { }); test(`zcf/zoeHelper - assertProposalShape w/bad Expected`, async t => { - const { - moolaIssuer, - moola, - simoleanIssuer, - simoleanMint, - simoleans, - } = setup(); + const { moolaIssuer, moola, simoleanIssuer, simoleanMint, simoleans } = + setup(); const issuerKeywordRecord = { A: moolaIssuer, B: simoleanIssuer }; const { zoe, zcf } = await setupZCFTest(issuerKeywordRecord); diff --git a/packages/zoe/test/unitTests/zoe/test-escrowStorage.js b/packages/zoe/test/unitTests/zoe/test-escrowStorage.js index 60b13c6ac59..886de1fff33 100644 --- a/packages/zoe/test/unitTests/zoe/test-escrowStorage.js +++ b/packages/zoe/test/unitTests/zoe/test-escrowStorage.js @@ -12,12 +12,8 @@ import { } from '../../zoeTestHelpers.js'; test('makeEscrowStorage', async t => { - const { - createPurse, - makeLocalPurse, - withdrawPayments, - depositPayments, - } = makeEscrowStorage(); + const { createPurse, makeLocalPurse, withdrawPayments, depositPayments } = + makeEscrowStorage(); const currencyKit = makeIssuerKit( 'currency', diff --git a/packages/zoe/tools/manualTimer.js b/packages/zoe/tools/manualTimer.js index 1d5dad40b67..c19d17e01df 100644 --- a/packages/zoe/tools/manualTimer.js +++ b/packages/zoe/tools/manualTimer.js @@ -139,7 +139,7 @@ export default function buildManualTimer(log, startValue = 0n, timeStep = 1n) { makeNotifier(delay, interval) { assert.typeof(delay, 'bigint'); assert( - (delay % timeStep) === 0n, + delay % timeStep === 0n, `timer has a resolution of ${timeStep}; ${delay} is not divisible`, ); assert.typeof(interval, 'bigint'); @@ -162,7 +162,7 @@ export default function buildManualTimer(log, startValue = 0n, timeStep = 1n) { delay(delay) { assert.typeof(delay, 'bigint'); assert( - (delay % timeStep) === 0n, + delay % timeStep === 0n, `timer has a resolution of ${timeStep}; ${delay} is not divisible`, ); const promiseKit = makePromiseKit();