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

orchestration: use asyncFlow orch function as the target for receiveUpcall #10991

Open
0xpatrickdev opened this issue Feb 12, 2025 · 2 comments
Labels
enhancement New feature or request

Comments

@0xpatrickdev
Copy link
Member

What is the Problem Being Solved?

Currently, receiveUpcall handlers, a.k.a ibc hooks, transfer tap, require API consumers to write vows and vow handlers. Developers should be able to use an asyncFlow / orchFn as the handler for receiveUpcall.

Description of the Design

  • @agoric/orchestration provides a helper that:

Security Considerations

None; should limit hazards / footguns of working with vows

Scaling Considerations

Test Plan

Upgrade Considerations

@0xpatrickdev 0xpatrickdev added the enhancement New feature or request label Feb 12, 2025
@0xpatrickdev
Copy link
Member Author

0xpatrickdev commented Feb 12, 2025

Via #10065, it doesn't seem we can do {...this.state} in an exo for a generic implementation. Perhaps there's a different way to ask an exo for its keys, but i was seeing this logging inside an method:

@@@@tap this.state {}
@@@@tap Object.keys(this.state) []
@@@@tap this.state.config {
  validator: {
    chainId: 'cosmoshub-4',
    encoding: 'bech32',
    value: 'cosmosvaloper1test'
  },
  localChainAddress: {
    value: 'agoric1fakeLCAAddress',
    encoding: 'bech32',
    chainId: 'agoric-3'
  },
  remoteChainAddress: { chainId: 'cosmoshub-4', encoding: 'bech32', value: 'cosmos1test' },
  sourceChannel: 'channel-405',
  remoteDenom: 'uatom',
  localDenom: 'ibc/BA313C4A19DFBF943586C0387E6B11286F9E416B4DD27574E6909CABE0E342FA'
}

@0xpatrickdev
Copy link
Member Author

See #10047, which aims for an updated example contract instead of a generic, reusable exo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant