Skip to content

Comments

feat: Shared facades for the Wallet Lib#100

Open
tuliomir wants to merge 4 commits intomasterfrom
docs/lib-shared-facades
Open

feat: Shared facades for the Wallet Lib#100
tuliomir wants to merge 4 commits intomasterfrom
docs/lib-shared-facades

Conversation

@tuliomir
Copy link
Contributor

@tuliomir tuliomir commented Jan 22, 2026

The Wallet Lib facades for the Fullnode and the Wallet Service should share a subset of the most important methods, with the same parameters and output data format.

This will cause breaking changes that will require a major version update on the lib.

See rendered.

@tuliomir tuliomir self-assigned this Jan 22, 2026
@tuliomir tuliomir moved this from Todo to In Progress (WIP) in Hathor Network Jan 22, 2026
@tuliomir tuliomir moved this from In Progress (WIP) to In Progress (Done) in Hathor Network Feb 9, 2026
Comment on lines +272 to +273
We should consider keeping a `v2` version with minor and patch updates for
critical issues, but going forward we would fully migrate to `v3`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to keep a v2 going if we release a v3

Comment on lines 20 to 21
Why are we doing this? What use cases does it support? What is the expected
outcome?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, removed on 5bb3d2c

# Rationale and alternatives
[rationale-and-alternatives]: #rationale-and-alternatives

The facades could be kept separate and a wrapper `WalletWrapper` could be
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are introducing a new major version we can add more breaking changes, maybe even change how we think of facades to make managing the connections better, what do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a good idea! My main question is how to organize the rollout of those breaking changes.

The first thing to come to mind is to have a beta branch where we could test only in our own clients ( Desktop/Mobile/Headless/Web Wallets ) in increasingly breaking changes with no major version upgrades for a few months.

After the changes stabilize, we make the stable version available for external clients as well.

Do you have other ideas on how to make those multiple changes gradually and incrementally?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a section to discuss a beta branch on 055f648 .

Copy link
Contributor

@andreabadesso andreabadesso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't disagree with anything on the design, but I miss an analysis of impact on all of our wallet-lib clients that use the wallet-service -- wallet-mobile, wallet-desktop, wallet-headless, wallet-service, etc...

@tuliomir tuliomir moved this from In Progress (Done) to In Review (Done) in Hathor Network Feb 24, 2026
@tuliomir tuliomir moved this from In Review (Done) to In Review (WIP) in Hathor Network Feb 24, 2026
@tuliomir
Copy link
Contributor Author

All client wallets will have to adapt to the breaking changes proposed here and implemented in the beta branch.

When we close the beta version we should have a very clear guide on how any external client could adapt to those changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Review (WIP)

Development

Successfully merging this pull request may close these issues.

3 participants