Some types are shared between payjoin and payjoin-directory:
To re-use code and avoid
payjoin-directory crate would depend on payjoin crate with ONLY the payjoin/directory feature and no others. So it would only have access to ShortId and padding values.
That way payjoin defines all of the actual protocol bounds and payjoin-cli, payjoin-directory etc. are concrete implementations of that protocol, and we don't need to manage a separate release file
Some types are shared between
payjoinandpayjoin-directory:payjoin_directory::db::ShortIdis also used in Improve QR code encoding efficiency #389 for subdirectory IDsTo re-use code and avoid
payjoin-directory crate would depend on payjoin crate with ONLY the
payjoin/directoryfeature and no others. So it would only have access to ShortId and padding values.That way
payjoindefines all of the actual protocol bounds andpayjoin-cli,payjoin-directoryetc. are concrete implementations of that protocol, and we don't need to manage a separate release file