Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement transfer() of CosmosOrchestrationAccount #9784

Open
1 task
turadg opened this issue Jul 25, 2024 · 1 comment
Open
1 task

implement transfer() of CosmosOrchestrationAccount #9784

turadg opened this issue Jul 25, 2024 · 1 comment
Labels
enhancement New feature or request needs-design

Comments

@turadg
Copy link
Member

turadg commented Jul 25, 2024

What is the Problem Being Solved?

.transfer() is implemented on CosmosOrchestrationAccount, but the promise resolves when the transfer is submitted to the remote chain, not when when the transfer is complete.

Description of the Design

TBD

One requirement is,

Dependencies (Maybe?)

  1. 0 of 1
    enhancement
    ivanlei

Security Considerations

Scaling Considerations

Test Plan

Upgrade Considerations

@0xpatrickdev
Copy link
Member

Note: .transfer() will be implemented as part of #9193 but won't satisfy this requirement: #9783. We will need at least queries on remote chains (#9326) to achieve this.

mergify bot added a commit that referenced this issue Aug 16, 2024
refs: #9193
refs: #9784

## Description
These changes primarily implement the `.transfer` method on `CosmosOrchestrationAccount`. The changes require providing the exo with a `ChainHub` for looking up transferChannel info and `TimerService` for building a default timeout parameter. Notably, the `.transfer()` Promise resolves when the host chain submits the transfer to other remote chain. The `sendThenWaitForAck` logic that `LocalOrchestrationAccount` has is not yet implemented but tracked via #9784.

Other changes include:
- simplified `transferChannel` lookup logic in `LocalOrchestrationAccount`
- `/boot/tools/support.ts` changes to simplify `sendPacket` ack mocks for dibc bridge
- bootstrap tests for `LocalOrchAccount.transfer()` using `Transfer` invitationMaker
- `/boot/tools/support.ts` changes to ensure mock localChain addresses are unique
- `packetUtils` interface guard change for an observed, but seemingly benign, error

### Security Considerations
n/a

### Scaling Considerations
n/a

### Documentation Considerations
- [ ] how to best document the differences between LOA and COA for the interim?

### Testing Considerations
Includes unit and boot tests.

### Upgrade Considerations
n/a, unreleased code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs-design
Projects
None yet
Development

No branches or pull requests

2 participants