[wip] Implement redesigned PSET#217
Conversation
|
@niftynei Heads up that the elements interface will be changing per the linked PR. Hi @achow101, for the presence/absence of fields in inputs and outputs I am leaning towards using a bitset and removing the hacks to malloc(1) buffers leaving their length 0. Can you comment as to how likely the Elements interface is to change at this time? |
I'm not sure how it will change at this time, there still some work being done on the design of the Blinder role. |
OK, I imagine we want the updated Elements support in the next release, since we can then get all the PSBT interface changes done within one release. |
| #define PSET_IN_VALUE_BLINDER 0x01 | ||
| #define PSET_IN_ASSET 0x02 | ||
| #define PSET_IN_ASSET_BLINDER 0x03 | ||
| #define PSET_GLOBAL_SCALRA 0x00 |
There was a problem hiding this comment.
| #define PSET_GLOBAL_SCALRA 0x00 | |
| #define PSET_GLOBAL_SCALAR 0x00 |
extremely drive by nit lol
|
@achow I have started implementing these changes locally including tests, swig/C++ wrappers and code de-duplication. Please see https://github.com/jgriffiths/libwally-core/tree/elements_pbst. I've fixed the malloc hack in that tree. I'm thinking about moving all varbuff members of inputs and output to just be held in a map internally. That seems easier than fiddling around with struct members while the interface settles, and it would make serialisation easier too. |
|
Closing this in favour of #218 which implements the PSET BIP as currently specified. Please update there when the spec changes/is finalised. |
PSET is being redesigned in order to actually do everything that elements transactions can do while also preserving privacy.
See ElementsProject/elements#900 for more details about this, including a specification for the new PSET.