-
Notifications
You must be signed in to change notification settings - Fork 119
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
[feature]: custom Group Key API for minting #722
Comments
Depends on #768. There are a few points in the minting flow where this feature could be exposed:
I'm in favor of the first option, as otherwise we have to specify the mapping between the provided witness and the asset seedlings. Separately, there is the option to mandate that a tapscript tree is stored with More generally, right now we don't support an externally-managed key as the internal key for an asset group key. However, we also can't create a group key without an anchor asset. So we likely want to expand the We'll also need more validation logic around group witnesses, to fail early for incorrect user-provided witnesses, but also to reject batch finalization if |
During initial implementation investigation, @jharveyb uncovered, a few areas which necessary changes will need to be implemented. An corresponding issue to describe the necessary prerequisites before this issue is started is currently being written.
|
IIRC, we can only actually validate the group witness once we know the true asset/ID, which right now is when we go to finalize (do the coin selection, etc) and obtain the genesis prev out. As a result, I think we're forced to either just accept all the witnesses in finalize, or accept it in |
Moved discussion on this requirement to #820. |
From discussion in #820, user flow would be:
|
Lines 1108 to 1217 in 6494258
|
Related to #343 .
We have support for group keys that include tapscript trees, but no way for users to actually provide a tapscript tree root during the minting process. Specifically:
For the first point, we'll need to add a new field to the
Seedling
andMintAssetRequest
structs for custom group keys. We likely also want to mark these seedlings as using a custom group key, so that we require an external witness when finalizing the batch.For the second point, we'll need to extend the
FinalizeBatch
call to accept a list of witnesses for each seedling. Otherwise we shouldn't have many changes wrt. creating the minting proofs.The last point is being tracked in #343.
The text was updated successfully, but these errors were encountered: