Skip to content

Commit

Permalink
v1.4.19-p1 (#235)
Browse files Browse the repository at this point in the history
* v1.4.19-p1

* remove integrity check from startup
  • Loading branch information
CassOnMars authored Jun 15, 2024
1 parent 8ab2d88 commit 35561a9
Show file tree
Hide file tree
Showing 86 changed files with 454,300 additions and 8,890 deletions.
17 changes: 16 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
members = [
"crates/vdf",
"crates/classgroup",
"crates/bls48581",
]

[profile.release]
Expand Down
4 changes: 4 additions & 0 deletions Dockerfile.source
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ COPY . .
WORKDIR /opt/ceremonyclient/vdf
RUN ./generate.sh

## Generate Rust bindings for BLS48581
WORKDIR /opt/ceremonyclient/bls48581
RUN ./generate.sh

# Build and install the node
WORKDIR /opt/ceremonyclient/node

Expand Down
1 change: 1 addition & 0 deletions Taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ tasks:
desc: Build the Quilibrium node binary for MacOS ARM. Assumes it's ran from the same platform. Outputs to node/build.
cmds:
- vdf/generate.sh
- bls48581/generate.sh
- node/build.sh -o build/arm64_macos/node

build_node_arm64_linux:
Expand Down
9 changes: 9 additions & 0 deletions bls48581/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# BLS48581

Wrapper for the Rust implementation of the BLS48581 in [crates/bls48581](../crates/bls48581).

## Generate Go bindings

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

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

//go:generate ./generate.sh

func Init() {
generated.Init()
}

func CommitRaw(data []byte, polySize uint64) []byte {
return generated.CommitRaw(data, polySize)
}

func ProveRaw(data []byte, index uint64, polySize uint64) []byte {
return generated.ProveRaw(data, index, polySize)
}

func VerifyRaw(data []byte, commit []byte, index uint64, proof []byte, polySize uint64) bool {
return generated.VerifyRaw(data, commit, index, proof, polySize)
}
24 changes: 24 additions & 0 deletions bls48581/bls48581_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package bls48581_test

import (
"bytes"
"encoding/hex"
"testing"

"github.com/stretchr/testify/assert"
"source.quilibrium.com/quilibrium/monorepo/bls48581"
)

func TestProveVerify(t *testing.T) {
data, _ := hex.DecodeString("408f9f0a63a1c463579a1fdaf82b37e0f397476e87c524915870ce7f5ede9c248493ea4ffefae154b8a55f10add4d75846b273a7f57433b438ae72880a29ab7cab6c3187a14651bac085329778526ebb31d14c9beb7b0983ff5e71a47c96ed9e7149e9e896cd4d604191583a282bdb5a92ea71334f296fd06498323b0c5d0e60c04180a7141813f6f9a6c766c450898ffc437ebed07a2fbd9201207171a0a8f5006a83d9e2430687952dd42237b7d77de61c0655b91bb1943ed4b9337449ded69ef8f2f83fba58827be7b7082db048b799f1bb590f61c558976910e77357562eb4d66fc97636c26ea562fe18b4cc397e679acad23cfd003ae93efe2903534ce1fe475eba3c82fef71554b4d63b593f2da3fea3b1b3f91379c6ff1989c91eaab70e336d96f3c46de987ef7165d111f692fe8205f7df0eb854fc550aa0d10942049dec4c60d99a51b0a7cde49a6d5e9364d0162cb86af1a51efeffacf7935f796f18cb868756e693aa967339efb8e45071da835ff8b6897fe56dc14edb49352edc88d3a6866873ecfa2bf968907e86c0dd139ab9a23bae341ec6aa5f1fbac2390a9d7f5ef9346d5c433268bf85e34e98295233f5e0d2ceb35c47b33b93e8ae9445c3b9f6ec32d8e3a1a1bc95b013dd36a84d803e468e873420c71b6473e44300f4d2702ccb452146c675d5ac1511a0b0a61a857b58ed3365ecdc1cafafbdfe5f0f2420389ae5f54d2fb9d12de314b416fdb12786fb66d0517229347ecc347eb8207a88abeffbdb9acfc582047a9343efae6c21cf67566e2d949920bdff1f4cea376332dd503c9dcd72a776744724c29a25038ef582f1103b406321e14d0f232c709b3d5a3568c75a1bc244b65e18d9ca7c53e2e13bb5638c325f6d43601de131aa2e3b7ffcc23accf6c69e9c6360cf8f4d48de3f11354855ec281f8a9c85caec0b8284c99c66a43ed0c37d6ce0f5c349e4551da6a1d9edcfa02f6be27ed037c5ec79c0519ba60725f89b3fe7826ca1a7b157ef9360bc2007bc2b9dd2ba8fdc225047a9f66b832e2da1dc6019f480e3aadb46ba93cccbd1e7b221a5d36e0fc96cbf497bfb40ff0276f14b7d45c4738a1b755e2754c5c352ac4af96c1a9be1d92942200b325cc3c53e9b3099c99a466bdc6c001179f6c63f828936b1c33f651a150c080b2eac8ed7cb9cfe599daee477f9ba88a6d1cbdeb08995c3c7bcce18ee2946c2beb138b8c797f61c6c33800ffeda74b77dab186cc4c7e91e9aca954d4863de6b04a82ef563a6eefbedec8fdc9284fb33e15197d2512e4928019fc29aa9c0a199797ef02c8daeb8706dd21a0e6b25b0e73795bac18dfaac2abc1defddf530f6a14046c2a918fa581b7ab0240bbd4f2e570a527581cb0a39bb544ceeabeedf891bc2417ac1e1fa558c09a9ceffef108a5778ff99a8575b4fb69cbbfb2c474d58")
commit := bls48581.CommitRaw(data, 1024)
targetCommit, _ := hex.DecodeString("020d105dafd65908befb8e1f43ea523b4e3b3f5b03c60439f2d3475d96a212d0ba013d7cf6245aa05490c5bbcbe37a2e9bf38c20f8d8545bc34efefdd102625c695cadc6caa01dc253db")
assert.True(t, bytes.Equal(commit, targetCommit))
proof := bls48581.ProveRaw(data, 0, 1024)
targetProof, _ := hex.DecodeString("0209230d7f5db98b70eddbd486502edad3298dfac35d9838818c7c94540932706fd2107c7105596d74ca06883bc1e2c80c2b3e1aa9407c098c98462cb6ef4a7419e7fc174b10ad2cb29f")
assert.True(t, bytes.Equal(proof, targetProof))
isOk := bls48581.VerifyRaw(data[:64], commit[:], 0, proof[:], 1024)
if !isOk {
t.Fatalf("Verification failed")
}
}
14 changes: 14 additions & 0 deletions bls48581/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_BLS48581_PACKAGE="$ROOT_DIR/crates/bls48581"
BINDINGS_DIR="$ROOT_DIR/bls48581"

# Build the Rust BLS48581 package in release mode
cargo build -p bls48581 --release

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

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

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

0 comments on commit 35561a9

Please sign in to comment.