diff --git a/multichain-testing/test/send-anywhere.test.ts b/multichain-testing/test/send-anywhere.test.ts index 54a7f0fe3cb..4eaf9e5711a 100644 --- a/multichain-testing/test/send-anywhere.test.ts +++ b/multichain-testing/test/send-anywhere.test.ts @@ -17,7 +17,7 @@ const accounts = ['osmosis1', 'osmosis2', 'cosmoshub1', 'cosmoshub2']; const contractName = 'sendAnywhere'; const contractBuilder = - '../packages/builders/scripts/testing/start-sendAnywhere.js'; + '../packages/builders/scripts/testing/start-send-anywhere.js'; test.before(async t => { const { deleteTestKeys, setupTestKeys, ...rest } = await commonSetup(t); @@ -35,7 +35,7 @@ test.after(async t => { const sendAnywhereScenario = test.macro({ title: (_, chainName: string, acctIdx: number) => - `sendAnywhere ${chainName}${acctIdx}`, + `send-anywhere ${chainName}${acctIdx}`, exec: async (t, chainName: string, acctIdx: number) => { const config = chainConfig[chainName]; if (!config) return t.fail(`Unknown chain: ${chainName}`); @@ -48,10 +48,10 @@ const sendAnywhereScenario = test.macro({ useChain, } = t.context; - t.log('Create a receiving wallet for the sendAnywhere transfer'); + t.log('Create a receiving wallet for the send-anywhere transfer'); const chain = useChain(chainName).chain; - t.log('Create an agoric smart wallet to initiate sendAnywhere transfer'); + t.log('Create an agoric smart wallet to initiate send-anywhere transfer'); const agoricAddr = wallets[`${chainName}${acctIdx}`]; const wdUser1 = await provisionSmartWallet(agoricAddr, { BLD: 100_000n, @@ -95,7 +95,7 @@ const sendAnywhereScenario = test.macro({ const { balances } = await retryUntilCondition( () => queryClient.queryBalances(receiver.value), ({ balances }) => 'amount' in balances[0], - `${receiver.value} ${amount.value} balance available from sendAnywhere`, + `${receiver.value} ${amount.value} balance available from send-anywhere`, ); t.log(`${receiver.value} Balances`, balances); diff --git a/packages/boot/test/orchestration/restart-contracts.test.ts b/packages/boot/test/orchestration/restart-contracts.test.ts index dcf79a6db83..25e7d881268 100644 --- a/packages/boot/test/orchestration/restart-contracts.test.ts +++ b/packages/boot/test/orchestration/restart-contracts.test.ts @@ -20,7 +20,7 @@ test.after.always(t => t.context.shutdown?.()); // FIXME the test needs to be able to send the acknowledgementPacket ack // so that the transfer vow resolves. -test.serial.failing('sendAnywhere', async t => { +test.serial.failing('send-anywhere', async t => { const { walletFactoryDriver, buildProposal, @@ -30,9 +30,9 @@ test.serial.failing('sendAnywhere', async t => { const { IST } = t.context.agoricNamesRemotes.brand; - t.log('start sendAnywhere'); + t.log('start send-anywhere'); await evalProposal( - buildProposal('@agoric/builders/scripts/testing/start-sendAnywhere.js'), + buildProposal('@agoric/builders/scripts/testing/start-send-anywhere.js'), ); t.log('making offer'); @@ -73,9 +73,9 @@ test.serial.failing('sendAnywhere', async t => { t.is(await flushInboundQueue(), 0); t.deepEqual(wallet.getLatestUpdateRecord(), beforeFlush); - t.log('restart sendAnywhere'); + t.log('restart send-anywhere'); await evalProposal( - buildProposal('@agoric/builders/scripts/testing/restart-sendAnywhere.js'), + buildProposal('@agoric/builders/scripts/testing/restart-send-anywhere.js'), ); const conclusion = wallet.getLatestUpdateRecord(); diff --git a/packages/builders/scripts/testing/restart-sendAnywhere.js b/packages/builders/scripts/testing/restart-send-anywhere.js similarity index 95% rename from packages/builders/scripts/testing/restart-sendAnywhere.js rename to packages/builders/scripts/testing/restart-send-anywhere.js index 3fe56ee023b..95b682248cc 100644 --- a/packages/builders/scripts/testing/restart-sendAnywhere.js +++ b/packages/builders/scripts/testing/restart-send-anywhere.js @@ -14,7 +14,7 @@ import { E } from '@endo/far'; const trace = makeTracer('StartSA', true); /** - * @import {start as StartFn} from '@agoric/orchestration/src/examples/sendAnywhere.contract.js'; + * @import {start as StartFn} from '@agoric/orchestration/src/examples/send-anywhere.contract.js'; */ /** @@ -87,7 +87,7 @@ export const getManifest = () => { export const defaultProposalBuilder = async () => harden({ // Somewhat unorthodox, source the exports from this builder module - sourceSpec: '@agoric/builders/scripts/testing/restart-sendAnywhere.js', + sourceSpec: '@agoric/builders/scripts/testing/restart-send-anywhere.js', getManifestCall: [getManifest.name], }); diff --git a/packages/builders/scripts/testing/start-sendAnywhere.js b/packages/builders/scripts/testing/start-send-anywhere.js similarity index 93% rename from packages/builders/scripts/testing/start-sendAnywhere.js rename to packages/builders/scripts/testing/start-send-anywhere.js index 21528f38cef..71efef5df54 100644 --- a/packages/builders/scripts/testing/start-sendAnywhere.js +++ b/packages/builders/scripts/testing/start-send-anywhere.js @@ -17,7 +17,7 @@ import { E } from '@endo/far'; const trace = makeTracer('StartSA', true); /** - * @import {start as StartFn} from '@agoric/orchestration/src/examples/sendAnywhere.contract.js'; + * @import {start as StartFn} from '@agoric/orchestration/src/examples/send-anywhere.contract.js'; */ /** @@ -61,14 +61,14 @@ export const startSendAnywhere = async ({ marshaller, orchestrationService: cosmosInterchainService, storageNode: E(NonNullish(await chainStorage)).makeChildNode( - 'sendAnywhere', + 'send-anywhere', ), timerService: chainTimerService, }), ); const { instance } = await E(startUpgradable)({ - label: 'sendAnywhere', + label: 'send-anywhere', installation: sendAnywhere, issuerKeywordRecord: { Stable: await IST }, privateArgs, @@ -113,13 +113,13 @@ export const getManifest = ({ restoreRef }, { installationRef }) => { export const defaultProposalBuilder = async ({ publishRef, install }) => harden({ // Somewhat unorthodox, source the exports from this builder module - sourceSpec: '@agoric/builders/scripts/testing/start-sendAnywhere.js', + sourceSpec: '@agoric/builders/scripts/testing/start-send-anywhere.js', getManifestCall: [ getManifest.name, { installationRef: publishRef( install( - '@agoric/orchestration/src/examples/sendAnywhere.contract.js', + '@agoric/orchestration/src/examples/send-anywhere.contract.js', ), ), }, diff --git a/packages/orchestration/USAGE.md b/packages/orchestration/USAGE.md index b7847b6d31d..975ecbb9f0a 100644 --- a/packages/orchestration/USAGE.md +++ b/packages/orchestration/USAGE.md @@ -14,7 +14,7 @@ See [`src/examples`](src/examples) | [auto-stake-it](/packages/orchestration/src/examples/auto-stake-it.contract.js) | Ready 🟢 | Sets up an IBC hook to automatically stake tokens on a remote chain received at a deposit address. | - `LocalOrchestrationAccount`
- `CosmosOrchestrationAccount`
- `Vtransfer` (IBC Hooks) | | [basic-flows](/packages/orchestration/src/examples/basic-flows.contract.js) | Ready 🟢 | Creates an account on a remote chain and returns a continuing offer with all platform-provided invitationMakers. | - `CosmosOrchestrationAccount`
- `LocalOrchestrationAccount`| | [query-flows](/packages/orchestration/src/fixtures/query-flows.contract.js) | Ready 🟢 | Test fixture that enables querying account balances on local and remote chains. | - `Chain`
- `LocalOrchestrationAccount`
- `CosmosOrchestrationAccount`
- Interchain Queries | -| [sendAnywhere](/packages/orchestration/src/examples/sendAnywhere.contract.js) | Ready 🟢 | Allows sending payments (tokens) over IBC to another chain. | - `LocalOrchestrationAccoun`t
- `Vtransfer` (IBC Hooks) | +| [send-anywhere](/packages/orchestration/src/examples/send-anywhere.contract.js) | Ready 🟢 | Allows sending payments (tokens) over IBC to another chain. | - `LocalOrchestrationAccoun`t
- `Vtransfer` (IBC Hooks) | | [stakeBld](/packages/orchestration/src/examples/stakeBld.contract.js) | Ready 🟢 | Returns a `LocalOrchestrationAccount` that can perform staking actions. | - `LocalOrchestrationAccount` | Ready 🟢 | | [stakeIca](/packages/orchestration/src/examples/stakeIca.contract.js) | Ready 🟢 | Returns a `CosmosOrchestrationAccount` that can perform staking actions. | - `CosmosOrchestrationAccount` | Ready 🟢 | | [staking-combinations](/packages/orchestration/src/examples/staking-combinations.contract.js) | Under Construction 🚧 | Combines actions into a single offer flow and demonstrates writing continuing offers. | - `CosmosOrchestrationAccount`
- `CombineInvitationMakers`
- Continuing Offers | @@ -30,7 +30,7 @@ See [`src/examples`](src/examples) | [basic-flows](/multichain-testing/test/basic-flows.test.ts) | Verifies the creation of a remote chain account and the generation of a continuing offer with various invitationMakers. | basic-flows | - `orch.getChain()`
- `orch.makeAccount()` | | [chain-queries](/multichain-testing/test/chain-queries.test.ts) | Tests balance queries via ICQ and local chain queries, including error handling for chains with ICQ disabled. | query-flows | - `orch.getChain()`
- `chain.query()` | | [ica-channel-close](/multichain-testing/test/ica-channel-close.test.ts) | Tests ICA account deactivation and reactivation, and verifies channel closure processes for ICA and Transfer channels. | basic-flows | - `orch.getChain()`
- `orch.makeAccount()`
- `orchAccount.deactivate()`
- `orchAccount.reactivate()` | -| [send-anywhere](/multichain-testing/test/send-anywhere.test.ts) | Tests the process of sending payments over IBC, including account creation, deposit, and transfer operations. | sendAnywhere | - `orch.getChain()`
- `chain.getVBankAssetInfo()`
- `chain.makeAccount()`
- `localOrchAccount.makeAccount()`
- `localOrchAccount.deposit()`
- `localOrchAccount.transfer()`
- `zoeTools.localTransfer()` | +| [send-anywhere](/multichain-testing/test/send-anywhere.test.ts) | Tests the process of sending payments over IBC, including account creation, deposit, and transfer operations. | send-anywhere | - `orch.getChain()`
- `chain.getVBankAssetInfo()`
- `chain.makeAccount()`
- `localOrchAccount.makeAccount()`
- `localOrchAccount.deposit()`
- `localOrchAccount.transfer()`
- `zoeTools.localTransfer()` | | [stake-ica](/multichain-testing/test/stake-ica.test.ts) | Verifies staking operations including delegation, reward withdrawal, and undelegation. | stakeIca | - `orch.getChain()`
- `orch.makeAccount()`
- `orchAccount.delegate()`
- `orchAccount.withdrawReward()`
- `orchAccount.undelegate()` | ## Not Yet Tested @@ -38,7 +38,7 @@ See [`src/examples`](src/examples) | Contract Name | Not Yet Tested Features | |---------------|--------------------------| | [basic-flows](/packages/orchestration/src/examples/basic-flows.contract.js) | - `.send()`, `sendAll()` methods and `Send`, `SendAll` invitations ([#9193](https://github.com/Agoric/agoric-sdk/issues/9193))
- `CosmosOrchAccount.transfer()`, `Transfer` invitation ([#9193](https://github.com/Agoric/agoric-sdk/issues/9193)) | -| [sendAnywhere](/packages/orchestration/src/examples/sendAnywhere.contract.js) | - Multi-hop (PFM) transfers (not implemented in contract) ([#10006](https://github.com/Agoric/agoric-sdk/issues/10006)) | +| [send-anywhere](/packages/orchestration/src/examples/send-anywhere.contract.js) | - Multi-hop (PFM) transfers (not implemented in contract) ([#10006](https://github.com/Agoric/agoric-sdk/issues/10006)) | | [stakeIca](/packages/orchestration/src/examples/stakeIca.contract.js) | - Redelegate
- WithdrawRewards (plural) (not implemented)
- StakingQueries (not implemented) ([#10016](https://github.com/Agoric/agoric-sdk/issues/10016))
- Staking Flows for LocalOrchAccount
- Written as async-flow ([#9838](https://github.com/Agoric/agoric-sdk/issues/9838)) | | [stakeBld](/packages/orchestration/src/examples/stakeBld.contract.js) | - Everything*, created before e2e test suite
- Consider folding under generic "stake" contract, once [interfaces are the same](https://github.com/Agoric/agoric-sdk/blob/1976c502bcaac2e7d21f42b30447671a61053236/packages/orchestration/src/exos/local-orchestration-account.js#L487)| | [swap](/packages/orchestration/src/examples/swap.contract.js) | - Everything - contract incomplete ([#8863](https://github.com/Agoric/agoric-sdk/issues/8863)) | diff --git a/packages/orchestration/src/examples/README.md b/packages/orchestration/src/examples/README.md index 33623c46adc..590ce2e6939 100644 --- a/packages/orchestration/src/examples/README.md +++ b/packages/orchestration/src/examples/README.md @@ -3,7 +3,7 @@ This directory contains sample contracts showcasing the Orchestration API. Each example demonstrates specific functionalities: - **basic-flows.contract.js**: Account creation and query sending -- **sendAnywhere.contract.js**: Token sending across supported blockchains +- **send-anywhere.contract.js**: Token sending across supported blockchains - **auto-stake-it.contract.js**: Automatic remote staking of received tokens ## In Progress diff --git a/packages/orchestration/src/examples/sendAnywhere.contract.js b/packages/orchestration/src/examples/send-anywhere.contract.js similarity index 97% rename from packages/orchestration/src/examples/sendAnywhere.contract.js rename to packages/orchestration/src/examples/send-anywhere.contract.js index 11a79bb6498..093bb576183 100644 --- a/packages/orchestration/src/examples/sendAnywhere.contract.js +++ b/packages/orchestration/src/examples/send-anywhere.contract.js @@ -3,7 +3,7 @@ import { AmountShape } from '@agoric/ertp'; import { InvitationShape } from '@agoric/zoe/src/typeGuards.js'; import { M } from '@endo/patterns'; import { withOrchestration } from '../utils/start-helper.js'; -import * as flows from './sendAnywhere.flows.js'; +import * as flows from './send-anywhere.flows.js'; import { prepareChainHubAdmin } from '../exos/chain-hub-admin.js'; /** diff --git a/packages/orchestration/src/examples/sendAnywhere.flows.js b/packages/orchestration/src/examples/send-anywhere.flows.js similarity index 100% rename from packages/orchestration/src/examples/sendAnywhere.flows.js rename to packages/orchestration/src/examples/send-anywhere.flows.js diff --git a/packages/orchestration/test/examples/sendAnywhere.test.ts b/packages/orchestration/test/examples/send-anywhere.test.ts similarity index 96% rename from packages/orchestration/test/examples/sendAnywhere.test.ts rename to packages/orchestration/test/examples/send-anywhere.test.ts index 0f7f11593df..4ed9c9f8842 100644 --- a/packages/orchestration/test/examples/sendAnywhere.test.ts +++ b/packages/orchestration/test/examples/send-anywhere.test.ts @@ -12,16 +12,16 @@ import { import { inspect } from 'util'; import { CosmosChainInfo, IBCConnectionInfo } from '../../src/cosmos-api.js'; import { commonSetup } from '../supports.js'; -import { SingleAmountRecord } from '../../src/examples/sendAnywhere.contract.js'; +import { SingleAmountRecord } from '../../src/examples/send-anywhere.contract.js'; import { registerChain } from '../../src/chain-info.js'; import { buildVTransferEvent } from '../../tools/ibc-mocks.js'; const dirname = path.dirname(new URL(import.meta.url).pathname); const contractName = 'sendAnywhere'; -const contractFile = `${dirname}/../../src/examples/${contractName}.contract.js`; +const contractFile = `${dirname}/../../src/examples/send-anywhere.contract.js`; type StartFn = - typeof import('../../src/examples/sendAnywhere.contract.js').start; + typeof import('../../src/examples/send-anywhere.contract.js').start; const chainInfoDefaults = { connections: {}, diff --git a/packages/orchestration/test/examples/snapshots/sendAnywhere.test.ts.md b/packages/orchestration/test/examples/snapshots/send-anywhere.test.ts.md similarity index 94% rename from packages/orchestration/test/examples/snapshots/sendAnywhere.test.ts.md rename to packages/orchestration/test/examples/snapshots/send-anywhere.test.ts.md index c833c759c21..506844dfddd 100644 --- a/packages/orchestration/test/examples/snapshots/sendAnywhere.test.ts.md +++ b/packages/orchestration/test/examples/snapshots/send-anywhere.test.ts.md @@ -1,6 +1,6 @@ -# Snapshot report for `test/examples/sendAnywhere.test.ts` +# Snapshot report for `test/examples/send-anywhere.test.ts` -The actual snapshot is saved in `sendAnywhere.test.ts.snap`. +The actual snapshot is saved in `send-anywhere.test.ts.snap`. Generated by [AVA](https://avajs.dev). diff --git a/packages/orchestration/test/examples/snapshots/sendAnywhere.test.ts.snap b/packages/orchestration/test/examples/snapshots/send-anywhere.test.ts.snap similarity index 100% rename from packages/orchestration/test/examples/snapshots/sendAnywhere.test.ts.snap rename to packages/orchestration/test/examples/snapshots/send-anywhere.test.ts.snap