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

RFC 12 Implementation: Integration with the on-chain proposal validator and final cleanup #3751

Merged
merged 6 commits into from
Dec 7, 2023

Conversation

lukasz-zimnoch
Copy link
Member

@lukasz-zimnoch lukasz-zimnoch commented Dec 5, 2023

Refs: keep-network/tbtc-v2#737

Here we present the sixth part of the changes meant to implement RFC 12: Decentralized wallet coordination in the tBTC wallet client. This pull request focuses on integrating with the new WalletProposalValidator contract introduced in keep-network/tbtc-v2#756. It also aims to clean up all leftovers related to the old mechanism based on the WalletCoordinator contract.

Use WalletProposalValidator for on-chain proposal validation

We re-generated contract bindings to leverage the new WalletProposalValidator contract for on-chain proposal validation. Incoming deposit sweep, redemption, and heartbeat proposals are now validated against this contract, and we no longer use WalletCoordinator for that purpose.

Cleanup WalletCoordinator leftovers

We completely removed the WalletCoordinator contract from the mix. The client no longer uses it in any way. This pull request's scope includes all necessary code cleanup and adjustments.

Adjust SPV maintainer

The SPV maintainer was using recent proposals submitted to the WalletCoordinator contract to determine a list of wallets that must be checked as part of the SPV proof submission process. As WalletCoordinator is no longer used, we modified that behavior. The SPV maintainer now examines recent deposit revealed and redemption requested events to build a list of wallets that likely have unproven transactions.

Adjust maintainer deployment manifests

As wallet coordination was removed from the Keep maintainer bot, we adjusted Kubernetes manifests that are used to deploy the maintainer on production and test clusters. Now, only SPV and Bitcoin difficulty modules are in use.

Here we re-generate tbtc contracts bindings in order to include the new
`WalletProposalValidator` contract and remove the obsolete `WalletCoordinator`.
@lukasz-zimnoch lukasz-zimnoch self-assigned this Dec 5, 2023
@lukasz-zimnoch lukasz-zimnoch changed the title Re-generate tbtc contract bindings RFC 12 Implementation: Integrate with WalletProposalValidator and final cleanup Dec 5, 2023
@lukasz-zimnoch lukasz-zimnoch changed the title RFC 12 Implementation: Integrate with WalletProposalValidator and final cleanup RFC 12 Implementation: Integration the on-chain proposal validation and final cleanup Dec 5, 2023
@lukasz-zimnoch lukasz-zimnoch changed the title RFC 12 Implementation: Integration the on-chain proposal validation and final cleanup RFC 12 Implementation: Integration with the on-chain proposal validator and final cleanup Dec 5, 2023
This is no longer needed with the new coordination mechanism.
Proposals are now tied with specific wallet contexts so holding
wallet PKH inside the proposal is redundant.
@lukasz-zimnoch lukasz-zimnoch requested review from tomaszslabon and pdyraga and removed request for tomaszslabon December 6, 2023 16:31
@lukasz-zimnoch lukasz-zimnoch marked this pull request as ready for review December 6, 2023 16:31
@tomaszslabon tomaszslabon merged commit b6dba3e into main Dec 7, 2023
29 checks passed
@tomaszslabon tomaszslabon deleted the rfc-12-impl-4 branch December 7, 2023 10:55
@lukasz-zimnoch lukasz-zimnoch added this to the v2.0.0 milestone Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants