Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 6.52 KB

USAGE.md

File metadata and controls

46 lines (36 loc) · 6.52 KB

Usage

Last verified 2024-09-06

This document describes some example contracts and test suites showing how to use Orchestration.

Example contracts

See src/examples

Contract Name Status Description Features Used
auto-stake-it 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 Ready 🟢 Creates an account on a remote chain and returns a continuing offer with all platform-provided invitationMakers. - CosmosOrchestrationAccount
- LocalOrchestrationAccount
query-flows Ready 🟢 Test fixture that enables querying account balances on local and remote chains. - Chain
- LocalOrchestrationAccount
- CosmosOrchestrationAccount
- Interchain Queries
send-anywhere Ready 🟢 Allows sending payments (tokens) over IBC to another chain. - LocalOrchestrationAccount
- Vtransfer (IBC Hooks)
stake-bld Ready 🟢 Returns a LocalOrchestrationAccount that can perform staking actions. - LocalOrchestrationAccount
stake-ica Ready 🟢 Returns a CosmosOrchestrationAccount that can perform staking actions. - CosmosOrchestrationAccount
staking-combinations Ready 🟢 Combines actions into a single offer flow and demonstrates writing continuing offers. - CosmosOrchestrationAccount
- CombineInvitationMakers
- Continuing Offers
swap Under Construction 🚧 Demonstrates asset swapping on an external chain. - CosmosOrchestrationAccount
- ChainHub
unbond Under Construction 🚧 Undelegates tokens for an ICA and liquid stakes them. - CosmosOrchestrationAccount

E2E Test Suites

Test Name Description Contract Used Methods Used
account-balance-queries Tests balance querying on local and remote chains, verifying empty balance return for newly created accounts. query-flows - orch.getChain()
- orch.makeAccount()
- orchAccount.getBalance()
- orchAccount.getBalances()
auto-stake-it Tests the creation of Local and Cosmos orchestration accounts and the auto-delegation process via IBC transfer. auto-stake-it - orch.getChain()
- chain.makeAccount()
- localOrchAccount.monitorTransfers()
- cosmosOrchAccount.delegate()
basic-flows 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 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 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 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 Verifies staking operations including delegation, reward withdrawal, and undelegation. stakeIca - orch.getChain()
- orch.makeAccount()
- orchAccount.delegate()
- orchAccount.withdrawReward()
- orchAccount.undelegate()

Not Yet Tested

Contract Name Not Yet Tested Features
basic-flows - .send(), sendAll() methods and Send, SendAll invitations (#9193)
- CosmosOrchAccount.transfer(), Transfer invitation (#9193)
send-anywhere - Multi-hop (PFM) transfers (not implemented in contract) (#10006)
stakeIca - Redelegate
- WithdrawRewards (plural) (not implemented)
- StakingQueries (not implemented) (#10016)
- Staking Flows for LocalOrchAccount
- Written as async-flow (#9838)
stakeBld - Everything*, created before e2e test suite
- Consider folding under generic "stake" contract, once interfaces are the same
swap - Everything - contract incomplete (#8863)
unbond - Everything - contract incomplete (#9782)
staking-combinations Only tested via unit tests