From 3b0c8c177e039b365b50044150938cc19c92b0b2 Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Fri, 21 Jun 2024 10:25:41 -0700 Subject: [PATCH] refactor: use heapVowE --- .../src/examples/sendAnywhere.contract.js | 10 +++++----- .../orchestration/src/examples/stakeBld.contract.js | 9 ++++----- .../orchestration/src/examples/stakeIca.contract.js | 2 +- packages/orchestration/src/exos/local-chain-facade.js | 4 ++-- .../src/exos/local-orchestration-account.js | 5 ++--- packages/orchestration/src/exos/remote-chain-facade.js | 6 +++--- .../orchestration/src/proposals/start-stakeAtom.js | 5 ++--- .../orchestration/src/proposals/start-stakeOsmo.js | 5 ++--- .../test/examples/stake-bld.contract.test.ts | 7 +++---- packages/orchestration/test/exos/chain-hub.test.ts | 6 +++--- .../test/exos/local-orchestration-account-kit.test.ts | 2 +- packages/orchestration/test/facade.test.ts | 4 ++-- packages/vats/src/proposals/localchain-test.js | 2 +- packages/vats/src/repl.js | 2 +- packages/vats/test/localchain.test.js | 2 +- packages/vow/test/vat.test.js | 8 ++++---- 16 files changed, 37 insertions(+), 42 deletions(-) diff --git a/packages/orchestration/src/examples/sendAnywhere.contract.js b/packages/orchestration/src/examples/sendAnywhere.contract.js index 6ccd9571e78..45e8e0d37b0 100644 --- a/packages/orchestration/src/examples/sendAnywhere.contract.js +++ b/packages/orchestration/src/examples/sendAnywhere.contract.js @@ -1,8 +1,7 @@ import { withdrawFromSeat } from '@agoric/zoe/src/contractSupport/zoeHelpers.js'; import { InvitationShape } from '@agoric/zoe/src/typeGuards.js'; -import { E } from '@endo/far'; import { M, mustMatch } from '@endo/patterns'; -import { V } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { AmountShape } from '@agoric/ertp'; import { CosmosChainInfoShape } from '../typeGuards.js'; import { provideOrchestration } from '../utils/start-helper.js'; @@ -58,6 +57,7 @@ export const start = async (zcf, privateArgs, baggage) => { const findBrandInVBank = async brand => { const assets = await E( E(privateArgs.agoricNames).lookup('vbankAsset'), + // @ts-expect-error XXX heapVowE ).values(); const it = assets.find(a => a.brand === brand); it || Fail`brand ${brand} not in agoricNames.vbankAsset`; @@ -84,12 +84,12 @@ export const start = async (zcf, privateArgs, baggage) => { if (!contractAccount) { const agoricChain = await orch.getChain('agoric'); // XXX when() until membrane - contractAccount = await V.when(agoricChain.makeAccount()); + contractAccount = await E.when(agoricChain.makeAccount()); console.log('contractAccount', contractAccount); } // XXX when() until membrane - const info = await V.when(chain.getChainInfo()); + const info = await E.when(chain.getChainInfo()); console.log('info', info); const { chainId } = info; assert(typeof chainId === 'string', 'bad chainId'); @@ -141,7 +141,7 @@ export const start = async (zcf, privateArgs, baggage) => { const chainKey = `${chainInfo.chainId}-${(nonce += 1n)}`; // when() because chainHub methods return vows. If this were inside // orchestrate() the membrane would wrap/unwrap automatically. - const agoricChainInfo = await V.when(chainHub.getChainInfo('agoric')); + const agoricChainInfo = await E.when(chainHub.getChainInfo('agoric')); chainHub.registerChain(chainKey, chainInfo); chainHub.registerConnection( agoricChainInfo.chainId, diff --git a/packages/orchestration/src/examples/stakeBld.contract.js b/packages/orchestration/src/examples/stakeBld.contract.js index 1652ae606fd..2339ef2175b 100644 --- a/packages/orchestration/src/examples/stakeBld.contract.js +++ b/packages/orchestration/src/examples/stakeBld.contract.js @@ -6,8 +6,7 @@ import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/record import { withdrawFromSeat } from '@agoric/zoe/src/contractSupport/zoeHelpers.js'; import { InvitationShape } from '@agoric/zoe/src/typeGuards.js'; import { makeDurableZone } from '@agoric/zone/durable.js'; -import { prepareVowTools, V } from '@agoric/vow/vat.js'; -import { E } from '@endo/far'; +import { prepareVowTools, heapVowE as E } from '@agoric/vow/vat.js'; import { deeplyFulfilled } from '@endo/marshal'; import { M } from '@endo/patterns'; import { prepareLocalOrchestrationAccountKit } from '../exos/local-orchestration-account.js'; @@ -58,8 +57,8 @@ export const start = async (zcf, privateArgs, baggage) => { const bldAmountShape = await E(BLD).getAmountShape(); async function makeLocalAccountKit() { - const account = await V(privateArgs.localchain).makeAccount(); - const address = await V(account).getAddress(); + const account = await E(privateArgs.localchain).makeAccount(); + const address = await E(account).getAddress(); // FIXME 'address' is implied by 'account'; use an async maker that get the value itself return makeLocalOrchestrationAccountKit({ account, @@ -92,7 +91,7 @@ export const start = async (zcf, privateArgs, baggage) => { const { In } = await deeplyFulfilled( withdrawFromSeat(zcf, seat, give), ); - await V(holder).deposit(In); + await E(holder).deposit(In); seat.exit(); return harden({ publicSubscribers: holder.getPublicTopics(), diff --git a/packages/orchestration/src/examples/stakeIca.contract.js b/packages/orchestration/src/examples/stakeIca.contract.js index e257764d914..99485f45389 100644 --- a/packages/orchestration/src/examples/stakeIca.contract.js +++ b/packages/orchestration/src/examples/stakeIca.contract.js @@ -2,7 +2,7 @@ import { makeTracer, StorageNodeShape } from '@agoric/internal'; import { TimerServiceShape } from '@agoric/time'; -import { V as E, prepareVowTools } from '@agoric/vow/vat.js'; +import { heapVowE as E, prepareVowTools } from '@agoric/vow/vat.js'; import { prepareRecorderKitMakers, provideAll, diff --git a/packages/orchestration/src/exos/local-chain-facade.js b/packages/orchestration/src/exos/local-chain-facade.js index f8bf04271fe..4a6defd1f74 100644 --- a/packages/orchestration/src/exos/local-chain-facade.js +++ b/packages/orchestration/src/exos/local-chain-facade.js @@ -1,5 +1,5 @@ /** @file ChainAccount exo */ -import { V, heapVowTools } from '@agoric/vow/vat.js'; +import { heapVowE as E, heapVowTools } from '@agoric/vow/vat.js'; import { ChainFacadeI } from '../typeGuards.js'; @@ -53,7 +53,7 @@ export const prepareLocalChainFacade = ( /** @returns {Vow>} */ makeAccount() { const { localChainInfo } = this.state; - const lcaP = V(localchain).makeAccount(); + const lcaP = E(localchain).makeAccount(); // FIXME use watch() from vowTools return heapVowTools.watch(allVows([lcaP, E(lcaP).getAddress()]), { onFulfilled: ([lca, address]) => { diff --git a/packages/orchestration/src/exos/local-orchestration-account.js b/packages/orchestration/src/exos/local-orchestration-account.js index bce4acc5235..a82b4cfe11c 100644 --- a/packages/orchestration/src/exos/local-orchestration-account.js +++ b/packages/orchestration/src/exos/local-orchestration-account.js @@ -4,10 +4,9 @@ import { AmountShape, PaymentShape } from '@agoric/ertp'; import { makeTracer } from '@agoric/internal'; import { M } from '@agoric/vat-data'; import { VowShape } from '@agoric/vow'; -import { V } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { TopicsRecordShape } from '@agoric/zoe/src/contractSupport/index.js'; import { InvitationShape } from '@agoric/zoe/src/typeGuards.js'; -import { E } from '@endo/far'; import { ChainAddressShape, ChainAmountShape, @@ -285,7 +284,7 @@ export const prepareLocalOrchestrationAccountKit = ( ? [/** @type {any} */ (null), denomArg] : [denomArg, 'FIXME']; - const natAmount = await V.when( + const natAmount = await E.when( E(this.state.account).getBalance(brand), ); return harden({ denom, value: natAmount.value }); diff --git a/packages/orchestration/src/exos/remote-chain-facade.js b/packages/orchestration/src/exos/remote-chain-facade.js index 84e9fb44cf0..b5f18fb5a1e 100644 --- a/packages/orchestration/src/exos/remote-chain-facade.js +++ b/packages/orchestration/src/exos/remote-chain-facade.js @@ -1,6 +1,6 @@ /** @file ChainAccount exo */ import { makeTracer } from '@agoric/internal'; -import { V, heapVowTools } from '@agoric/vow/vat.js'; +import { heapVowE as E, heapVowTools } from '@agoric/vow/vat.js'; import { ChainFacadeI } from '../typeGuards.js'; @@ -69,14 +69,14 @@ export const prepareRemoteChainFacade = ( throw Fail`chain info lacks staking denom`; } - const icaP = V(orchestration).makeAccount( + const icaP = E(orchestration).makeAccount( remoteChainInfo.chainId, connectionInfo.id, connectionInfo.counterparty.connection_id, ); // FIXME use watch() from vowTools - return heapVowTools.watch(allVows([icaP, V(icaP).getAddress()]), { + return heapVowTools.watch(allVows([icaP, E(icaP).getAddress()]), { onFulfilled: ([account, address]) => { return makeCosmosOrchestrationAccount(address, stakingDenom, { account, diff --git a/packages/orchestration/src/proposals/start-stakeAtom.js b/packages/orchestration/src/proposals/start-stakeAtom.js index d94be617a4a..67d73b5fe14 100644 --- a/packages/orchestration/src/proposals/start-stakeAtom.js +++ b/packages/orchestration/src/proposals/start-stakeAtom.js @@ -1,7 +1,6 @@ import { makeTracer } from '@agoric/internal'; import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js'; -import { E } from '@endo/far'; -import { V } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { makeChainHub } from '../exos/chain-hub.js'; /** @@ -47,7 +46,7 @@ export const startStakeAtom = async ({ const chainHub = makeChainHub(await agoricNames); - const [_, cosmoshub, connectionInfo] = await V.when( + const [_, cosmoshub, connectionInfo] = await E.when( chainHub.getChainsAndConnection('agoric', 'cosmoshub'), ); diff --git a/packages/orchestration/src/proposals/start-stakeOsmo.js b/packages/orchestration/src/proposals/start-stakeOsmo.js index e8bb0dc39ad..af168f27645 100644 --- a/packages/orchestration/src/proposals/start-stakeOsmo.js +++ b/packages/orchestration/src/proposals/start-stakeOsmo.js @@ -1,7 +1,6 @@ import { makeTracer } from '@agoric/internal'; import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js'; -import { V } from '@agoric/vow/vat.js'; -import { E } from '@endo/far'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { makeChainHub } from '../exos/chain-hub.js'; /** @@ -48,7 +47,7 @@ export const startStakeOsmo = async ({ const chainHub = makeChainHub(await agoricNames); - const [_, osmosis, connectionInfo] = await V.when( + const [_, osmosis, connectionInfo] = await E.when( chainHub.getChainsAndConnection('agoric', 'osmosis'), ); diff --git a/packages/orchestration/test/examples/stake-bld.contract.test.ts b/packages/orchestration/test/examples/stake-bld.contract.test.ts index 4c056007d8a..0fcdd37c7f9 100644 --- a/packages/orchestration/test/examples/stake-bld.contract.test.ts +++ b/packages/orchestration/test/examples/stake-bld.contract.test.ts @@ -2,9 +2,8 @@ import { test } from '@agoric/zoe/tools/prepare-test-env-ava.js'; import { AmountMath } from '@agoric/ertp'; import { eventLoopIteration } from '@agoric/internal/src/testing-utils.js'; -import { V } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { setUpZoeForTest } from '@agoric/zoe/tools/setup-zoe.js'; -import { E } from '@endo/far'; import path from 'path'; import { commonSetup } from '../supports.js'; @@ -54,7 +53,7 @@ test('makeAccount, deposit, withdraw', async t => { t.truthy(account, 'account is returned'); t.log('deposit 100 bld to account'); - const depositResp = await V(account).deposit( + const depositResp = await E(account).deposit( await utils.pourPayment(bld.units(100)), ); // FIXME #9211 @@ -63,7 +62,7 @@ test('makeAccount, deposit, withdraw', async t => { await eventLoopIteration(); t.log('withdraw bld from account'); - const withdrawResp = await V(account).withdraw(bld.units(100)); + const withdrawResp = await E(account).withdraw(bld.units(100)); const withdrawAmt = await bld.issuer.getAmountOf(withdrawResp); t.true(AmountMath.isEqual(withdrawAmt, bld.units(100)), 'withdraw'); diff --git a/packages/orchestration/test/exos/chain-hub.test.ts b/packages/orchestration/test/exos/chain-hub.test.ts index f6a235de0a1..19ac4178453 100644 --- a/packages/orchestration/test/exos/chain-hub.test.ts +++ b/packages/orchestration/test/exos/chain-hub.test.ts @@ -2,7 +2,7 @@ import test from '@endo/ses-ava/prepare-endo.js'; import { makeNameHubKit } from '@agoric/vats'; -import { V } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { makeChainHub } from '../../src/exos/chain-hub.js'; const connection = { @@ -38,11 +38,11 @@ test('getConnectionInfo', async t => { // Look up by string or info object t.deepEqual( - await V.when(chainHub.getConnectionInfo(aChain.chainId, bChain.chainId)), + await E.when(chainHub.getConnectionInfo(aChain.chainId, bChain.chainId)), connection, ); t.deepEqual( - await V.when(chainHub.getConnectionInfo(aChain, bChain)), + await E.when(chainHub.getConnectionInfo(aChain, bChain)), connection, ); }); diff --git a/packages/orchestration/test/exos/local-orchestration-account-kit.test.ts b/packages/orchestration/test/exos/local-orchestration-account-kit.test.ts index 21ba90fcd68..9a5533a0235 100644 --- a/packages/orchestration/test/exos/local-orchestration-account-kit.test.ts +++ b/packages/orchestration/test/exos/local-orchestration-account-kit.test.ts @@ -2,7 +2,7 @@ import { test } from '@agoric/zoe/tools/prepare-test-env-ava.js'; import { AmountMath } from '@agoric/ertp'; import { eventLoopIteration } from '@agoric/internal/src/testing-utils.js'; -import { V as E } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js'; import { Far } from '@endo/far'; import { prepareLocalOrchestrationAccountKit } from '../../src/exos/local-orchestration-account.js'; diff --git a/packages/orchestration/test/facade.test.ts b/packages/orchestration/test/facade.test.ts index bab337baca5..cce3c5c7149 100644 --- a/packages/orchestration/test/facade.test.ts +++ b/packages/orchestration/test/facade.test.ts @@ -1,6 +1,6 @@ import { test as anyTest } from '@agoric/zoe/tools/prepare-test-env-ava.js'; -import { V } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { setupZCFTest } from '@agoric/zoe/test/unitTests/zcf/setupZcfTest.js'; import type { CosmosChainInfo, IBCConnectionInfo } from '../src/cosmos-api.js'; import type { Chain } from '../src/orchestration-api.js'; @@ -74,7 +74,7 @@ test('chain info', async t => { }); const result = (await handle()) as Chain; - t.deepEqual(await V.when(result.getChainInfo()), mockChainInfo); + t.deepEqual(await E.when(result.getChainInfo()), mockChainInfo); }); test.todo('contract upgrade'); diff --git a/packages/vats/src/proposals/localchain-test.js b/packages/vats/src/proposals/localchain-test.js index 678690f6771..8d0de02bb5f 100644 --- a/packages/vats/src/proposals/localchain-test.js +++ b/packages/vats/src/proposals/localchain-test.js @@ -1,5 +1,5 @@ // @ts-check -import { V as E } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import { typedJson } from '@agoric/cosmic-proto/vatsafe'; /** diff --git a/packages/vats/src/repl.js b/packages/vats/src/repl.js index e0d6fa27673..fb8736482ef 100644 --- a/packages/vats/src/repl.js +++ b/packages/vats/src/repl.js @@ -2,7 +2,7 @@ import { isPromise } from '@endo/promise-kit'; import { Far } from '@endo/far'; -import { V as E } from '@agoric/vow/vat.js'; +import { heapVowE as E } from '@agoric/vow/vat.js'; import * as vowExports from '@agoric/vow/vat.js'; import * as farExports from '@endo/far'; diff --git a/packages/vats/test/localchain.test.js b/packages/vats/test/localchain.test.js index ea09acf92c5..3a267c8150d 100644 --- a/packages/vats/test/localchain.test.js +++ b/packages/vats/test/localchain.test.js @@ -8,7 +8,7 @@ import { withAmountUtils } from '@agoric/zoe/tools/test-utils.js'; import { makeDurableZone } from '@agoric/zone/durable.js'; import { getInterfaceOf } from '@endo/marshal'; import { VTRANSFER_IBC_EVENT } from '@agoric/internal'; -import { prepareVowTools, V as E } from '@agoric/vow/vat.js'; +import { prepareVowTools, heapVowE as E } from '@agoric/vow/vat.js'; import { prepareLocalChainTools } from '../src/localchain.js'; import { prepareBridgeTargetModule } from '../src/bridge-target.js'; import { prepareTransferTools } from '../src/transfer.js'; diff --git a/packages/vow/test/vat.test.js b/packages/vow/test/vat.test.js index 5efccafe5b5..019742ec4e5 100644 --- a/packages/vow/test/vat.test.js +++ b/packages/vow/test/vat.test.js @@ -2,7 +2,7 @@ import test from 'ava'; import { E, Far } from '@endo/far'; -import { V, heapVowTools } from '../vat.js'; +import { heapVowE, heapVowTools } from '../vat.js'; const { makeVowKit } = heapVowTools; @@ -13,7 +13,7 @@ test('heap messages', async t => { /** @type {ReturnType>} */ const { vow, resolver } = makeVowKit(); - const retP = V(vow).hello('World'); + const retP = heapVowE(vow).hello('World'); resolver.resolve(greeter); // Happy path: WE(vow)[method](...args) calls the method. @@ -29,10 +29,10 @@ test('heap messages', async t => { ); // Happy path: await WE.when unwraps the vow. - t.is(await V.when(vow), greeter); + t.is(await heapVowE.when(vow), greeter); t.is( - await V.when(vow, res => { + await heapVowE.when(vow, res => { t.is(res, greeter); return 'done'; }),