hyperweb-io / hyperweb-io/ts-codegen

add event emitter option for client to support messages composer

Offen
#76 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.