hyperweb-io / hyperweb-io/ts-codegen
add event emitter option for client to support messages composer
- Dominant language
- TypeScript
- Stars
- 126
- Forks
- 31
- Avg merge
- 19m
- Merged PRs (30d)
- 2
Description
Some users may want to control state a bit more than what `client.execute` provides, which is the default way the client operates. For example, `client.execute` current does this:
1. composes the messages
2. signs the message
3. broadcasts the message
The issue is that, during #2, the user may be signing via keplr, and technically there is more state involved, if perhaps you wanted to display a spinning loader to the user interfaces.
Example of separating these out using the current message composer option:
https://github.com/EquilibriumEtf/frontend/blob/main/contexts/tx.tsx
https://gist.github.com/pyramation/0ce63b6026cc15a68c46454af2c879de
However, this implementation is conflating UI and transaction state. I think a solid implementation could involve adding an option to the `client` option that enables an emitter, or some state object that can emit state to objects outside of the class instance during a transaction, potentially messages/state like `is_signing`, `is_broadcasting`
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.