This repository was archived by the owner on Apr 8, 2022. It is now read-only.
Open
Conversation
69ed5f1 to
661f654
Compare
royster57
reviewed
Nov 22, 2021
royster57
reviewed
Nov 22, 2021
Remove funding functionality from Destination::CallPP and introduce a new destination type that is used only for funding. This makes the interface cleaner and enables a simple implementation for refunds after C2X transfers.
Implement Contract-to-Pubkey (C2PK) and Contract-to-Contract (C2C) refunds. As the contract must be spend all of its funds when it's doing a C2X transfer, a refunding mechanism where the excess funds of a transfer are sent back to the contract must be implemented. This commit uses Destination::FundPP to refund the contract the difference of total funds versus the amount it is transferring.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a new destination type called
Destination::FundPPwhich is used solely for funding a smart contract. It also implements refunding for C2X transfers as previously all excess funds were burned, now they're returned back to the contract.