Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
Refactor signing and public key usage
Merged fintohaps opened 1 year ago

This patch aims to refactor some of our usage of PublicKey and Signer. The

motivation for this is to help make way for thinking about agent repositories – and, in the future, multi-device.

The main motivation is to help gain some separation when we want to think about a node (or device) signing artifacts, and when will want to think about an agent signing artifacts.

The reason for moving away from radicle_crypto::Signer and towards signature::Signer is because the former ties itself very closely to the PublicKey. In the future, we will want signers that are not necessarily a single PublicKey – but may come from many device, for example.

However, there are places where we do want this association, and that is why the Device type is introduced.

Furthermore, we also want to try help separate when a PublicKey is required for verifying and when it used for namespacing in the Git repository. For now, this separation is only done by abstracting away the namespacing for the COB storage.

See the commits for more details on the changes.

fintohaps opened with revision 8487370c on base d9c76893 +996 -478 1 year ago

This patch aims to refactor some of our usage of PublicKey and Signer. The

motivation for this is to help make way for thinking about agent repositories – and, in the future, multi-device.

The main motivation is to help gain some separation when we want to think about a node (or device) signing artifacts, and when will want to think about an agent signing artifacts.

The reason for moving away from radicle_crypto::Signer and towards signature::Signer is because the former ties itself very closely to the PublicKey. In the future, we will want signers that are not necessarily a single PublicKey – but may come from many device, for example.

However, there are places where we do want this association, and that is why the Device type is introduced.

Furthermore, we also want to try help separate when a PublicKey is required for verifying and when it used for namespacing in the Git repository. For now, this separation is only done by abstracting away the namespacing for the COB storage.

See the commits for more details on the changes.

did:key:z6MkgFq6...nBGz reviewed · 6 comments 1 year ago

In general, this looks great! I think it could use where clauses more often, esp. when crypto::signature::Signer<crypto::Signature> or cob::Store<Namespace = NodeId> is involved.

Started a little discussion on the naming of the newly added associated type in cob::Store

lorenz pushed revision 2 7a593779 on base f30760d6 +1031 -505 0 years ago

Work in Erik’s feedback.

lorenz commented on revision 1 0 years ago

I rebased this and worked in Erik’s feedback. To get the correct range-diffs:

Rebase:

git range-diff d9c76893a144fd787654613f2bfb919613014a71..bf6c0da0787df5851f3272374a6ac735f4f241d4 f30760d6bb86d2978a5ed4df8ee45b9aa97778b4..6f8f3a9138e6c8ab65044600ec5c540c811c2055

Erik’s feedback

git range-diff f30760d6bb86d2978a5ed4df8ee45b9aa97778b4 6f8f3a9138e6c8ab65044600ec5c540c811c2055 10de6a74beb82db60d131895e4b43c152e1bb2c1
fintohaps pushed revision 3 5dffeb1d on base 41f9048d +1030 -505 11 months ago

Changes:

  • Rebased
  • Removed rogue stream/error.rs file
lorenz merged revision 5dffeb1d at 9988b63b 11 months ago