Commit Graph

107 Commits

Author SHA1 Message Date
Alexis Sellier 1fa85f0da3
Rename `Peer` to `Session`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 17:49:20 +02:00
Alexis Sellier 51f2d4e3fc
Move identity types to project
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:31:58 +02:00
Alexis Sellier 00ed8793af
Rename a few more things for clarity
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:15:59 +02:00
Alexis Sellier 62408234cf
Rename `doc` module to `project`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:02:42 +02:00
Alexis Sellier e382bc4eb9
Remove `Project` type
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 15:59:20 +02:00
Alexis Sellier c2b599f068
Implement node handle to control node
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 12:36:12 +02:00
Alexis Sellier f5bfb8d90a
radicle: Implement canonical fork
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 16:08:04 +02:00
Alexis Sellier a37424d723
Remove `src/main.rs` 2022-09-21 15:12:38 +02:00
Alexis Sellier 46501507be
Split repository into two creates
* `radicle`: core library
* `radicle-node`: node

Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 15:11:17 +02:00
Alexis Sellier d1ccf1b807
node: Rename folder to `radicle-node`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 11:38:09 +02:00
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 44664bddd5
Add CI
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-13 14:18:16 +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