Commit Graph

121 Commits

Author SHA1 Message Date
Alexis Sellier 1da38708fc
Flesh out custom git transport
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-28 13:36:57 +02:00
Alexis Sellier b4dcc00fe3
Custom git protocol sketch
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-27 18:14:57 +02:00
Alexis Sellier 85f9a1afc2
Fully verify fetches
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-27 14:30:03 +02:00
Alexis Sellier 27e39c0df5
Make `Id` a `Copy` 2022-09-27 14:13:20 +02:00
Alexis Sellier a20d16fc31
tools: Announce refs on push
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-26 16:16:32 +02:00
Alexis Sellier c991c0eea0
Improve some project path code 2022-09-26 15:34:03 +02:00
Alexis Sellier ca2f766d19
Add `Profile::connect`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-26 14:27:56 +02:00
Alexis Sellier 854b0ba353
Update Rust to 1.64 2022-09-26 11:27:31 +02:00
Alexis Sellier 8605946703
node: Add CLI options 2022-09-26 11:25:20 +02:00
Alexis Sellier 116eaa79e6
Use `Profile` in client
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 20:21:21 +02:00
Alexis Sellier 51e18c27fc
Add `rad-push`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 20:10:52 +02:00
Alexis Sellier a3bf5ab7c3
Initialize `radicle-tools` crate
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 17:33:31 +02:00
Alexis Sellier fcb1007f9d
Refactor service
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 15:43:55 +02:00
Alexis Sellier 7169881849
Remove peer timestamp
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 18:17:51 +02:00
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