Skip to content

Commit

Permalink
update v2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
liuzhi committed Oct 13, 2024
1 parent fd30b59 commit 90feef5
Show file tree
Hide file tree
Showing 462 changed files with 844,329 additions and 245,993 deletions.
596 changes: 582 additions & 14 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
[workspace]
members = [
"crates/vdf",
"crates/channel",
"crates/classgroup",
"crates/bls48581",
"crates/rpm",
]

[profile.release]
Expand Down
9 changes: 9 additions & 0 deletions channel/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Channel

Wrapper for the Rust implementation of Channel in [crates/channel](../crates/channel).

## Generate Go bindings

```sh
go generate
```
88 changes: 88 additions & 0 deletions channel/channel.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
package channel

import (
generated "source.quilibrium.com/quilibrium/monorepo/channel/generated/channel"
)

//go:generate ./generate.sh

func NewDoubleRatchet(
sessionKey []uint8,
sendingHeaderKey []uint8,
nextReceivingHeaderKey []uint8,
isSender bool,
sendingEphemeralPrivateKey []uint8,
receivingEphemeralKey []uint8,
) string {
return generated.NewDoubleRatchet(
sessionKey,
sendingHeaderKey,
nextReceivingHeaderKey,
isSender,
sendingEphemeralPrivateKey,
receivingEphemeralKey,
)
}

func NewTripleRatchet(
peers [][]uint8,
peerKey []uint8,
identityKey []uint8,
signedPreKey []uint8,
threshold uint64,
asyncDkgRatchet bool,
) generated.TripleRatchetStateAndMetadata {
return generated.NewTripleRatchet(
peers,
peerKey,
identityKey,
signedPreKey,
threshold,
asyncDkgRatchet,
)
}

func DoubleRatchetEncrypt(
ratchetStateAndMessage generated.DoubleRatchetStateAndMessage,
) generated.DoubleRatchetStateAndEnvelope {
return generated.DoubleRatchetEncrypt(ratchetStateAndMessage)
}

func DoubleRatchetDecrypt(
ratchetStateAndEnvelope generated.DoubleRatchetStateAndEnvelope,
) generated.DoubleRatchetStateAndMessage {
return generated.DoubleRatchetDecrypt(ratchetStateAndEnvelope)
}

func TripleRatchetInitRound1(
ratchetStateAndMetadata generated.TripleRatchetStateAndMetadata,
) generated.TripleRatchetStateAndMetadata {
return generated.TripleRatchetInitRound1(ratchetStateAndMetadata)
}
func TripleRatchetInitRound2(
ratchetStateAndMetadata generated.TripleRatchetStateAndMetadata,
) generated.TripleRatchetStateAndMetadata {
return generated.TripleRatchetInitRound2(ratchetStateAndMetadata)
}
func TripleRatchetInitRound3(
ratchetStateAndMetadata generated.TripleRatchetStateAndMetadata,
) generated.TripleRatchetStateAndMetadata {
return generated.TripleRatchetInitRound3(ratchetStateAndMetadata)
}
func TripleRatchetInitRound4(
ratchetStateAndMetadata generated.TripleRatchetStateAndMetadata,
) generated.TripleRatchetStateAndMetadata {
return generated.TripleRatchetInitRound4(ratchetStateAndMetadata)
}

func TripleRatchetEncrypt(
ratchetStateAndMessage generated.TripleRatchetStateAndMessage,
) generated.TripleRatchetStateAndEnvelope {
return generated.TripleRatchetEncrypt(ratchetStateAndMessage)
}

func TripleRatchetDecrypt(
ratchetStateAndEnvelope generated.TripleRatchetStateAndEnvelope,
) generated.TripleRatchetStateAndMessage {
return generated.TripleRatchetDecrypt(ratchetStateAndEnvelope)
}
14 changes: 14 additions & 0 deletions channel/generate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
set -euxo pipefail

ROOT_DIR="${ROOT_DIR:-$( cd "$(dirname "$(realpath "$( dirname "${BASH_SOURCE[0]}" )")")" >/dev/null 2>&1 && pwd )}"

RUST_CHANNEL_PACKAGE="$ROOT_DIR/crates/channel"
BINDINGS_DIR="$ROOT_DIR/channel"

# Build the Rust Channel package in release mode
cargo build -p channel --release

# Generate Go bindings
pushd "$RUST_CHANNEL_PACKAGE" > /dev/null
uniffi-bindgen-go src/lib.udl -o "$BINDINGS_DIR"/generated
8 changes: 8 additions & 0 deletions channel/generated/channel/channel.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <channel.h>

// This file exists beacause of
// https://github.com/golang/go/issues/11263

void cgo_rust_task_callback_bridge_channel(RustTaskCallback cb, const void * taskData, int8_t status) {
cb(taskData, status);
}
Loading

0 comments on commit 90feef5

Please sign in to comment.