Commit Graph
95 Commits
Author SHA1 Message Date
Slack Coder d3d706bbf7 git: define common refs
Add helper methods to improve source code clarity and prevent bugs due to typos.

Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-21 11:36:31 +02:00
Alexis Sellier 518e625d55 node: Move to new ed25519 crate
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 10:01:36 +02:00
Alexis Sellier 8760eee729 node: Implement canonical identity function
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-20 16:59:01 +02:00
Alexis Sellier bc226a9c38 node: Function to load quorum identity
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-19 22:08:52 +02:00
Alexis Sellier 2f07e39312 node: Make modules public
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:58:15 +02:00
Alexis Sellier 4ad8583805 node: Implement identity updates
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:58:12 +02:00
Alexis Sellier fa4ac94829 node: Check the id matches the root
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:54 +02:00
Alexis Sellier 6353d6115b node: Use git oid for project id
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:54 +02:00
Alexis Sellier 84119b0265 node: Start on identity history verification
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 73d62de0cc node: Move doc stuff to its own module
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 3e9a4eedae node: Identity document verification
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 071465388c node: Skip zero oids
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 5b86131257 node: Move wire code
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:43 +02:00
Alexis Sellier b72c3411f0 node: Use Deref instance
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:28:33 +02:00
Alexis Sellier 15e8a96948 node: Service -> Protocol
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:25:51 +02:00
Alexis Sellier 1017a2bc69 node: Don't simulate transport
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:14:00 +02:00
Alexis Sellier 2b6e20b50c node: Decode messages in wire layer
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:36 +02:00
Alexis Sellier 8e160f170c node: Add wire protocol
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:36 +02:00
Alexis Sellier a925fb0e02 node: Create Transport layer
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:32 +02:00
Alexis Sellier d3dd83447e node: Rename 'hello' message to 'initialize'
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-15 14:05:22 +02:00
Alexis Sellier 381080a5a5 node: User smaller type to represent wire sizes
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-15 13:35:53 +02:00
Alexis Sellier 79c89a239a node: Implement subscriptions via bloom filter
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-15 13:20:59 +02:00
Alexis Sellier d7a2520ad3 node: Make sure not to prune on initial fetch
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-14 18:27:02 +02:00
Alexis Sellier 59ccfdda77 node: Improve verification function 2022-09-14 18:20:57 +02:00
Alexis Sellier 38dc571f2e node: Add verification on fetch 2022-09-14 16:01:32 +02:00
Alexis Sellier 9cda5507a5 node: Implement fork 2022-09-13 16:46:14 +02:00
Alexis Sellier db176c06b5 node: Add until to Subscribe message
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-13 13:55:08 +02:00
Alexis Sellier de8dcc5022 node: Start implementing gossip subscriptions
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-13 11:58:02 +02:00
Alexis Sellier 651513c757 node: Re-think gossip messages and signing
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier b265f1b456 node: Fix onion address type
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier a47463a664 node: Test fetch comes from right place
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Slack Coder 825bd3f5e1 node: Test push/pull flow
Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-13 10:16:05 +02:00
Alexis Sellier a70a6822e0 node: Propagate refs update
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier db6932d58c node: Propagate ref updates
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier cb4939fd75 node: More work on encoding
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 1dec499e3d node: Improve wire code
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 9d3030a093 node: Move over to binary protocol
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier b3d3077ccc node: Implement binary encoding for messages
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier c7f78eafb6 node: Add some docs
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 927f062dc9 node: Rename ProjId -> Id
Remove `UserId` type.

Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier c80ba01ed9 node: Use CJSON for identities
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 46ee08aaf3 node: Rename "user"
In some cases to "public key" and in other cases to "remote".

Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 4e9b60dee0 node: Implement project checkout
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 09265eb3da node: Rename 'providers' to 'seeds' to match docs
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier c4c0e0413f node: Start implementing fetch control
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Slack Coder d273cd0247 node: Add track/untrack support
Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-13 10:16:05 +02:00
Alexis Sellier 8fbcb51963 node: Infer the arg type
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier ec865ee9f4 node: Improve fetch command
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier ef2d09114a node: Implement 'fetch' command properly
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 7be6fe3414 node: Turn remotes into an iterator
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00