-
Notifications
You must be signed in to change notification settings - Fork 100
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
Less than Ideal Mapping to New Outputs #2
Comments
Greg proposed in the ordchat
this requires additional dummy inputs but the inscription will stay at SatPoint Edit: As noted by satoshi0770 and rot13maxi, |
need to consider the 546 sat dust limit. We can : Edit: upon further research, it seems like dust-limit on taproot might be smaller then 546. Unsure on the amount, and 500sat dummy might be possible. |
I believe the limit for taproot is 330 sats. |
Where is the dust limit defined/enforced? Also: I plan to revamp the TX buying to not require using a dummy utxo as input, by including the payment input first |
If I'm not mistaken, I believe the issue is ultimately less to do with dust limit, and more to do with index ordering of the inputs and outputs Greg's example of using two "dummy" inputs which collapse into a single output would follow the requirements of sighashsingle anyonecanpay and assert the correct mapping of the outputs re: ord |
any updates on this? |
haven't got around to refactor the this yet quoting my previous comment, this is my idea on how to solve it:
if somebody has the time for it, you're welcome to get at it, PRs welcome |
This should be the ideal output I believe Example: https://mempool.space/signet/tx/2b064dc101e04c0467735bff5889f89cea2305d1daba2af14c8bb5fe458f8722 |
This would remove the necessity for any additional UTXOs in some (if not many) cases. It would eliminate the necessity of Dummy UTXOs to assert the index match requirements of sighashsingle. With this dummy utxo elimination, the inscribed output is in some cases the last output in the resulting transaction. If the padding of this output would go below 2k sats (due to fees), we would pay for the fees using additional UTXOs from the taker. They may in some cases be required to provide additional UTXOs to facilitate this. If the additional UTXOs provided can be used to increase the size of the inscribed output, they will be allocated for that purpose (up to 10k sats total value in the inscribed output) IMO, the odds of any given taker needing to supply additional UTXOs can be pushed into rather rare edge cases by introducing HD support to the web client (or potentially even just accepting an array of addresses containing cardinal UTXOs from the signing device). |
always ahead of the curve @p0stcapone 🙌 closing my PR in favor of your change |
Main Net Example Transaction: https://mempool.space/tx/eed97b6a306b7350784f3a573b46396b6cce404d9ffd67fa982ac757cd6588eb
Resulting location of the inscription: https://ordinals.com/inscription/6dcb3ed8eb96793b7c2917cdeda37197be78af928356167a385814ddcd45014bi0
As the taker constructs the new outputs, they map the first input as 1000 sats, second input as the inscription output and first output as 1000 + inscribedInputSize sats
The result is that the inscribed sat is at satIndex=1000 in the new output
This can result in downstream UX issues where the inscription is likely to be sent to the miner as a fee (not possible so long as the satIndex=0 and the inscribed UTXO is always the first input in the transaction that spends it)
The text was updated successfully, but these errors were encountered: