-
Notifications
You must be signed in to change notification settings - Fork 76
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
Implement moving funds commitment submission #3733
Labels
Comments
This was referenced Dec 14, 2023
lukasz-zimnoch
added a commit
to keep-network/tbtc-v2
that referenced
this issue
Dec 21, 2023
#Refs: keep-network/keep-core#3733. This PR adds moving funds proposal validation to the wallet proposal validator smart contract. The validation performs several checks: - the source wallet's state must be MovingFunds, - the source wallet's commitment hash must be submitted, - the target wallets from the proposal must match the submitted commitment hash, - the proposed fee must be greater than zero, - the transaction proposed fee must not exceed the maximum fee.
lukasz-zimnoch
added a commit
to keep-network/tbtc-v2
that referenced
this issue
Dec 22, 2023
Refs: keep-network/keep-core#3733 This PR is a follow-up to #757. The following checks were added: - source wallet must be positive, - source wallet BTC balance must be equal to or greater than the `movingFundsDustThreshold` parameter.
lukasz-zimnoch
added a commit
to keep-network/tbtc-v2
that referenced
this issue
Jan 9, 2024
#Refs: keep-network/keep-core#3733. #Depends on: #757. This PR adds moved funds sweep proposal validation to the wallet proposal validator smart contract.
lukasz-zimnoch
added a commit
that referenced
this issue
Feb 8, 2024
#Refs: #3733. This PR introduces functionalities that enable a wallet to submit a moving funds commitment. These functionalities have been incorporated into the `tbtcpg` package through the creation and execution of a `MovingFundsTask`. They were implemented in the same manner as other procedures such as deposit sweeps and redemptions. The task results in a moving funds proposal, which is needed for generating the Bitcoin transaction that transfer funds between wallets. Usually, this process will also involve submitting the moving funds commitment transaction to the `Bridge`. This submission step may be skipped if the commitment has already been submitted, which can occur if a previously initiated moving funds procedure was interrupted post-commitment submission and still needs completion. Executing a moving funds task consists of several key steps: 1) Verifying the eligibility of the wallet for moving funds, involving checks on the wallet's state and balance. 2) Preparing the target wallets, which includes either creating a new list of wallets or retrieving an existing list from a previous, interrupted moving funds procedure. 3) Submitting the moving funds transaction to the Bridge, unless it has already been submitted. 4) Creating and validating the moving funds proposal, a process that involves estimating the Bitcoin transaction fee. Upon completion of the moving funds task, all necessary prerequisites for the Bitcoin moving funds transaction should be satisfied.
This was referenced Mar 11, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue is about implementing the moving funds commitment mechanism in the client. Long story short, wallet signers must agree on where funds should be sent to and submit such a commitment to the
Bridge
. TheBridge
enforces a specific number of target wallets that must be chosen. The moving funds wallet should always start picking from the latest wallet and go backward. How wallet signers agree on the commitment should be discussed and decided upon implementation.Tasks
The text was updated successfully, but these errors were encountered: