-
Notifications
You must be signed in to change notification settings - Fork 14
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
Introspection #18
Comments
Yes -- well, Elements Miniscript at least. Naturally we can't support this in the "real" Miniscript until Bitcoin has some form of introspection ability.
My hope was "already" but our upstream re-architecture for Taproot took much longer than expected. Let's say "2 months".
That will take longer. Initially we'll just stick some new fragments in to solve practical problems that Blockstream and other Liquid developers are trying to solve. It will take some iteration before we're confident that we've gotten the right set of fragments and that we've implemented them optimally.
I think your best bet is to keep up with the current state of this library, provide feedback, yell at us if we change things in ways that break your applications, etc. If you actually deploy something in production using a certain set of fragments we will be careful not to break things after that. |
My current need is giving a way to users to load complex script types into Marina Wallet, so it can track balances and spend them if solvable/can sign so to speak. There is no way to express with current fragments things like CSFS, CAT, new arithmetic opcodes or introspection ones. I understand it will come, so will keep an eye. For the time being in our descriptor parser, we are introducing a custom I know that this is useless since makes impossible to analyze etc.. but we only want a way to share these opcodes in a formal way, and use descriptor/miniscript when possible already.
Will try to write here the synthetic asset smart contract and propose some new fragments for new opcodes so maybe we can make some early thoughts. |
Be careful with this! It's not only the With Simplicity we will be able to provide |
Yep! Totally understood. User will know this is a very reckless feature and they need to be 100% sure of the asm code they are loading. The idea is just to have a way to share opcodes at runtime for script path spends and implicitly tell the type of address shall be generated. We only parse the descriptor, detect the top level fragment and if a CHECKSIG op is there with a pubkey, the wallet will fill it with his own. So in the end we are NOT using Miniscript at all. As soon all the new opcodes will be mapped to Miniscript, will likely drop this |
Have you looked at the However, in this case, you are responsible for making sure that the fragment can be parsed unambiguously by the miniscript parser. |
That looks interesting. We pretty close to finish our TypeScript descriptor parser btw, we added |
Hello @tiero, introspection support with arithmetic operations is now supported. See https://github.com/ElementsProject/elements-miniscript/blob/master/doc/extension_spec.md for details. Still awaiting #28 to be merged |
Amazing @sanket1729 We plan to add support to our ionio-lang.org compiler for these |
I find very useful for developers to have a way to make use of new fragments that maps to the new introspection opcodes, very useful for making covenants.
DO you have an idea if this fits the purpose of Miniscript and, if yes, what could be a timeline, especially for an initial agreement on the spec? We are implementing in other languages descriptors/miniscript for Elements, so would be cool to work in parallel as soon there could be consensus
The text was updated successfully, but these errors were encountered: