keep-network / keep-core

The smart contracts and reference client behind the Keep network
https://keep.network
MIT License
118 stars 73 forks source link

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

Closed lukasz-zimnoch closed 8 months ago

lukasz-zimnoch commented 8 months ago

Refs: https://github.com/keep-network/tbtc-v2/issues/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 https://github.com/keep-network/tbtc-v2/pull/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.