-
Notifications
You must be signed in to change notification settings - Fork 384
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
feat: discounted fees for confidential transactions #1317
Conversation
2958009
to
946d62f
Compare
Please can you clearly add to the description if this change impacts wallets and other Elements implementation? |
The idea for this change is that it will be optional, and more beneficial to users, so if wallets keep doing the same thing they were doing, it will still be valid, they will just be overpaying a bit based on the new standard. |
yes this is optional and backwards compatible spec is ELIP 200: https://github.com/ElementsProject/ELIPs/blob/main/elip-0200.mediawiki |
739ea32
to
7dde776
Compare
9b55936
to
8d9ba10
Compare
8d9ba10
to
8cf655c
Compare
Force pushed with the change to calculate the discount per confidential output |
8cf655c
to
790af77
Compare
Force pushed to include commit which changes the block template ordering |
790af77
to
41abd40
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My review is incomplete, but this is my first pass.
Done reviewing 41abd40 |
41abd40
to
d0c18ed
Compare
@roconnor-blockstream @apoelstra thanks for your reviews, addressed your comments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am no longer able to find issues with this PR.
I didn't review the testing.
gotta love C++ :) |
@apoelstra can I squash this into 1 commit and rebase on master? |
@delta1 yeah, that'd be good. Though I would prefer if you could squash this into four or five commits. For example
|
utACK 83a7fe5 I can't test this locally because, even on master, even with |
I have nothing to add. |
pushed to update liquidv1 default for accept_discount_ct to false
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK 3ebc353
33e5c4d ELIP-0200: Discounted fees for Confidential Transactions (Byron Hambly) Pull request description: first pass at ELIP for discounted CT as implemented in ElementsProject/elements#1317 and alternate implementation in ElementsProject/rust-elements#204 ACKs for top commit: apoelstra: utACK 33e5c4d -- did not verify the test vectors Tree-SHA512: 1c2d10a7e6ae0750e53e2364f4a55a767fa99d600bf5a9eaa04f3b06d906e618c6b9f0097ab829c651a3152cf5e0475109de045b8c9109892cea81844893a000
b7fc82e tx: add discount_weight and discount_vsize (Byron Hambly) Pull request description: adds implementation of discount virtual size from ElementsProject/elements#1317 same test vectors in ElementsProject/elements#1341 ACKs for top commit: apoelstra: ACK b7fc82e Tree-SHA512: 48f0daafcb93bbcabacff4bb5cd5bc6b2dd99fb97117671f58d2b33c9b9e6357e01eb16d726dcbeb70375c6307b106a11d091604aafde148b5c8377f471e46f1
ELIP 200: Discounted fees for Confidential Transactions
This is a mempool policy only change to enable discounted fees for Confidential Transactions.
Two new configuration options are added to toggle accepting and creating these discounted CTs.
accept
defaults to true for liquidv1 only, false for other chains.create
defaults to false on all chains for now.At a feerate of 1 sat/vb for a 2 input, 3 output transaction:
This change is optional and backwards compatible for nodes and wallets.
This PR also alters block template transaction ordering, such that transactions are ordered by their feerate according to
discountvsize
. This means that discounted CT won't be selected last due to their lower real feerate according to vsize.