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

Refactor signing logic to have same API as software #4420

Closed
kyranjamie opened this issue Oct 24, 2023 · 0 comments · Fixed by #4425
Closed

Refactor signing logic to have same API as software #4420

kyranjamie opened this issue Oct 24, 2023 · 0 comments · Fixed by #4425
Assignees
Labels
area:transaction-signing effort:medium Expected to take 2-5 days of integration work needs:refactoring Tech debt, developer experience, testing, etc.

Comments

@kyranjamie
Copy link
Collaborator

Currently we have the difficulty in the app that when we need to sign a transaction, depending on software or ledger, entirely different flows are used.

With Stacks as the example, for software we sign the tx and get back a StacksTransaction type. For Ledger, we require tx signing routes to be defined, navigate to that route with a serialised tx in route state, and the user goes through the flow. Once the tx is signed at the end, we broadcast it.

This is problematic because we often want provide different user experiences in different tx signing use cases.

I've seen how this will impact @fbwoolf's swap work, and @alter-eggo's work to get Bitcoin Ledger integrated.

I suggest a refactor that introduces a pub sub mechanism to the app, allowing unrelated components and routes to communicate, without having knowledge of the other existence.

@kyranjamie kyranjamie added effort:medium Expected to take 2-5 days of integration work needs:refactoring Tech debt, developer experience, testing, etc. area:transaction-signing labels Oct 24, 2023
@kyranjamie kyranjamie self-assigned this Oct 24, 2023
kyranjamie pushed a commit that referenced this issue Nov 2, 2023
## [6.15.0](v6.14.0...v6.15.0) (2023-11-02)

### Features

* temporary fix for notification banners ([e349e0c](e349e0c))
* updated dlc-tools version, conditional bitcoin contracts entry point rendering ([194d102](194d102))

### Bug Fixes

* bug with go back action in send flow, [#4355](#4355) ([92aa04c](92aa04c))
* default icon stacks png ([eff18bf](eff18bf))
* fee calculation in for btc txs closes [#4455](#4455) ([cc5908b](cc5908b))
* fix typo in text, closes [#4461](#4461) ([6544d8e](6544d8e))
* improve styling of fund page in extension view ([ce31f2c](ce31f2c))
* removed attestor checking and argument from the bitcoin contract interface, better error handling ([7a0a2e8](7a0a2e8))

### Internal

* add ledger to swaps, disabled, ref [#4367](#4367) ([5273dd4](5273dd4))
* **ledger:** stacks signing, closes [#4420](#4420) ([6b8919b](6b8919b))
* post-release merge back ([24a124c](24a124c))
* swap asset list display name, closes [#4421](#4421) ([7c65fb3](7c65fb3))
pete-watters pushed a commit to Nithishvb/extension that referenced this issue Jan 17, 2024
pete-watters pushed a commit to Nithishvb/extension that referenced this issue Jan 17, 2024
## [6.15.0](leather-io/extension@v6.14.0...v6.15.0) (2023-11-02)

### Features

* temporary fix for notification banners ([e349e0c](leather-io@e349e0c))
* updated dlc-tools version, conditional bitcoin contracts entry point rendering ([194d102](leather-io@194d102))

### Bug Fixes

* bug with go back action in send flow, [leather-io#4355](leather-io#4355) ([92aa04c](leather-io@92aa04c))
* default icon stacks png ([eff18bf](leather-io@eff18bf))
* fee calculation in for btc txs closes [leather-io#4455](leather-io#4455) ([cc5908b](leather-io@cc5908b))
* fix typo in text, closes [leather-io#4461](leather-io#4461) ([6544d8e](leather-io@6544d8e))
* improve styling of fund page in extension view ([ce31f2c](leather-io@ce31f2c))
* removed attestor checking and argument from the bitcoin contract interface, better error handling ([7a0a2e8](leather-io@7a0a2e8))

### Internal

* add ledger to swaps, disabled, ref [leather-io#4367](leather-io#4367) ([5273dd4](leather-io@5273dd4))
* **ledger:** stacks signing, closes [leather-io#4420](leather-io#4420) ([6b8919b](leather-io@6b8919b))
* post-release merge back ([24a124c](leather-io@24a124c))
* swap asset list display name, closes [leather-io#4421](leather-io#4421) ([7c65fb3](leather-io@7c65fb3))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:transaction-signing effort:medium Expected to take 2-5 days of integration work needs:refactoring Tech debt, developer experience, testing, etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant