BlockchainCommons / GordianSeedTool-iOS

Cryptographic Seed Manager for iOS
Other
36 stars 8 forks source link

Is Cosigner Descriptor Cross-Compatible? #154

Open shannona opened 2 years ago

shannona commented 2 years ago

The cosigner key derivations have descriptors such as this:

wsh(cosigner([604b93f2/48'/0'/0'/2']xpub6Ei68cXfmneJ5LVL2E3WR2SwLc5KWGcFYmTzRbv3jHVUMMbagupM4bL12vKdKktKeXPD6dqyCbyeCiDi2VCAdvVNPoMxnaGdyhmbJURevqD))#wmsu2266

I can't find any documentation on cosigner as a descriptor function, and it's not supported by bitcoin-cli. Is this sufficiently compatible, or should we be using multi instead?

Per #145.

ChristopherA commented 2 years ago

I think it is sortedmulti, as multi is being slowly deprecated.

shannona commented 2 years ago

As an addendum, Sparrow reads this correctly, though they read off of the crypto-output:

ur:crypto-output/taadmetaadnytaaddloxaxhdclaohldlmdrtlacxhnfpptplfyltwelafsnezslyndhllnvdimmwlpylkbwzjltbdmenaahdcxlejtimcnrlbtdemdoereyaqzprkpndbdgwfzflqdbzkohgzobycxcnvabaosbglfamtaaddyoeadlocsdyykaeykaeykaoykaocyhngrmuwzaycynewncnlblgfpvaae

Which is:

401(410(303({3: h'025d2f95c080206041a9ae4487ed803d9ffa819b5d86e76a9485f77ef26fd62e36', 4: h'8a6e6a23b70d2895a2b5f8b4b2759b0b4f4047b3157657fb112023e60ea71282', 6: 304({1: [48, true, 0, true, 0, true, 2, true], 2: 1615565810}), 8: 2683380607})))

401 is wsh and 410 is cosigner (versus 407 for sorted-multisig), per the CDDL.

But my question remains of where cosigner came from and if it's in an evolving standard.

wolfmcnally commented 2 years ago

It's based on a conversation I had with Craig Raw. I'll post screen caps of it to Signal.