hyperweb-io / hyperweb-io/ts-codegen
add event emitter option for client to support messages composer
- Vorherrschende Sprache
- TypeScript
- Sterne
- 126
- Forks
- 31
- Ø Merge
- 19 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
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`
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.