Skip to content

Commit 60a0c19

Browse files
authored
chore!: rename QGB to BlobStream (#222)
<!-- Please read and fill out this form before submitting your PR. Please make sure you have reviewed our contributors guide before submitting your first PR. --> ## Overview Closes #220 ## Checklist <!-- Please complete the checklist to ensure that the PR is ready to be reviewed. IMPORTANT: PRs should be left in Draft until the below checklist is completed. --> - [ ] New and updated code has appropriate documentation - [ ] New and updated code has new and/or updated testing - [ ] Required CI checks are passing - [ ] Visual proof for any user facing features like CLI or documentation updates - [ ] Linked issues closed with keywords
1 parent cf301ad commit 60a0c19

15 files changed

+69
-69
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ gen: solidity-wrappers
88

99
SOLIDITY_DIR = .
1010
SOLIDITY_SRC_DIR = $(SOLIDITY_DIR)/src
11-
CONTRACTS = QuantumGravityBridge.sol ERC1967Proxy.sol
11+
CONTRACTS = Blobstream.sol ERC1967Proxy.sol
1212

1313
fmt:
1414
@echo "--> Running forge fmt"

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# Quantum Gravity Bridge
1+
# Blobstream-contracts
22

33
<!-- markdownlint-disable MD013 MD041 -->
44

5-
[![GoDoc](https://img.shields.io/badge/godoc-reference-blue?style=flat-square&logo=go)](https://godoc.org/github.com/celestiaorg/quantum-gravity-bridge)
6-
[![Go Report Card](https://goreportcard.com/badge/github.com/celestiaorg/quantum-gravity-bridge?style=flat-square)](https://goreportcard.com/report/github.com/celestiaorg/quantum-gravity-bridge)
7-
[![Version](https://img.shields.io/github/tag/celestiaorg/quantum-gravity-bridge.svg?style=flat-square)](https://github.com/celestiaorg/quantum-gravity-bridge/releases/latest)
8-
[![License: Apache-2.0](https://img.shields.io/github/license/celestiaorg/quantum-gravity-bridge.svg?style=flat-square)](https://github.com/celestiaorg/quantum-gravity-bridge/blob/master/LICENSE)
5+
[![GoDoc](https://img.shields.io/badge/godoc-reference-blue?style=flat-square&logo=go)](https://godoc.org/github.com/celestiaorg/blobstream-contracts)
6+
[![Go Report Card](https://goreportcard.com/badge/github.com/celestiaorg/blobstream-contracts?style=flat-square)](https://goreportcard.com/report/github.com/celestiaorg/blobstream-contracts)
7+
[![Version](https://img.shields.io/github/tag/celestiaorg/blobstream-contracts.svg?style=flat-square)](https://github.com/celestiaorg/blobstream-contracts/releases/latest)
8+
[![License: Apache-2.0](https://img.shields.io/github/license/celestiaorg/blobstream-contracts.svg?style=flat-square)](https://github.com/celestiaorg/blobstream-contracts/blob/master/LICENSE)
99

10-
The Quantum Gravity Bridge (QGB) is a Celestia -> EVM message relay.
10+
Blobstream is a Celestia -> EVM message relay.
1111
It is based on Umee's Gravity Bridge implementation, [Peggo](https://github.com/umee-network/peggo).
1212
**This project is under active development and should not be used in production**.
1313

@@ -75,21 +75,21 @@ Instructions [here](https://github.com/celestiaorg/celestia-app).
7575

7676
## How it works
7777

78-
The QGB allows Celestia block header data roots to be relayed in one direction, from Celestia to an EVM chain.
78+
Blobstream allows Celestia block header data roots to be relayed in one direction, from Celestia to an EVM chain.
7979
It does not support bridging assets such as fungible or non-fungible tokens directly, and cannot send messages from the EVM chain back to Celestia.
8080

8181
It works by relying on a set of signers to attest to some event on Celestia: the Celestia validator set.
82-
The QGB contract keeps track of the Celestia validator set by updating its view of the validator set with `updateValidatorSet()`.
82+
Blobstream contract keeps track of the Celestia validator set by updating its view of the validator set with `updateValidatorSet()`.
8383
More than 2/3 of the voting power of the current view of the validator set must sign off on new relayed events, submitted with `submitDataRootTupleRoot()`.
8484
Each event is a batch of `DataRootTuple`s, with each tuple representing a single [data root (i.e. block header)](https://celestiaorg.github.io/celestia-app/specs/data_structures.html#header).
8585
Relayed tuples are in the same order as Celestia block headers.
8686

8787
### Events and messages relayed
8888

8989
**Validator sets**:
90-
The relayer informs the QGB contract who are the current validators and their power.
90+
The relayer informs the Blobstream contract who are the current validators and their power.
9191
This results in an execution of the `updateValidatorSet` function.
9292

9393
**Batches**:
94-
The relayer informs the QGB contract of new data root tuple roots.
94+
The relayer informs the Blobstream contract of new data root tuple roots.
9595
This results in an execution of the `submitDataRootTupleRoot` function.

docs/inclusion-proofs.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# QGB Fraud Proofs
1+
# Blobstream Fraud Proofs
22

3-
## Celestiums Intro
3+
## Blobstream Intro
44

5-
A Celestium is a blockchain that uses Celestia for data availability but settles on any EVM chain. The QGB operates by having the Celestia validator set periodically sign over batched data commitments and validator set updates, which are relayed an EVM smart contract. The data commitments are stored in the EVM chain's state, and can be used to prove inclusion of any data historically posted to Celestia.
5+
A Blobstream rollup is a blockchain that uses Celestia for data availability but settles on any EVM chain. Blobstream operates by having the Celestia validator set periodically sign over batched data commitments and validator set updates, which are relayed an EVM smart contract. The data commitments are stored in the EVM chain's state, and can be used to prove inclusion of any data historically posted to Celestia.
66

77
## Fraud Proofs
88

@@ -28,7 +28,7 @@ We could prove that via creating a binary [Merkle proof](https://github.com/cele
2828

2929
Then, we will use that information to check if the provided transaction index, in the header, is out of the square size bounds.
3030

31-
For the data root, we will use a binary Merkle proof to prove its inclusion in a data root tuple root that was committed to by the QGB smart contract. More on this in [here](#1-data-root-inclusion-proof).
31+
For the data root, we will use a binary Merkle proof to prove its inclusion in a data root tuple root that was committed to by the Blobstream smart contract. More on this in [here](#1-data-root-inclusion-proof).
3232

3333
## Proving an Invalid State Transition
3434

@@ -39,13 +39,13 @@ In order to prove an invalid transaction in the rollup, we need to prove the fol
3939

4040
The first part, proving that the transaction was posted to Celestia, can be done in three steps:
4141

42-
1. Prove that the data root tuple is committed to by the QGB smart contract
42+
1. Prove that the data root tuple is committed to by the Blobstream smart contract
4343
2. Verify inclusion proof of the transaction to Celestia data root
4444
3. Prove that the transaction is in the rollup sequence spans
4545

4646
### 1. Data root inclusion proof
4747

48-
To prove the data root is committed to by the QGB smart contract, we will need to provide a Merkle proof of the data root tuple to a data root tuple root. This can be created using the [`data_root_inclusion_proof`](https://github.com/celestiaorg/celestia-core/blob/c3ab251659f6fe0f36d10e0dbd14c29a78a85352/rpc/client/http/http.go#L492-L511) query.
48+
To prove the data root is committed to by the Blobstream smart contract, we will need to provide a Merkle proof of the data root tuple to a data root tuple root. This can be created using the [`data_root_inclusion_proof`](https://github.com/celestiaorg/celestia-core/blob/c3ab251659f6fe0f36d10e0dbd14c29a78a85352/rpc/client/http/http.go#L492-L511) query.
4949

5050
### 2. Transaction inclusion proof
5151

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module github.com/celestiaorg/quantum-gravity-bridge/v2
1+
module github.com/celestiaorg/blobstream-contracts/v3
22

33
go 1.21.1
44

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "quantum-gravity-bridge",
3-
"version": "2.0.0",
2+
"name": "blobstream-contracts",
3+
"version": "3.0.0",
44
"description": "Celestia -> EVM bridge",
55
"main": "index.js",
66
"directories": {
@@ -12,17 +12,17 @@
1212
},
1313
"repository": {
1414
"type": "git",
15-
"url": "git+https://github.com/celestiaorg/quantum-gravity-bridge.git"
15+
"url": "git+https://github.com/celestiaorg/blobstream-contracts.git"
1616
},
1717
"keywords": [
18-
"qgb"
18+
"blobstream"
1919
],
2020
"author": "",
2121
"license": "Apache-2.0",
2222
"bugs": {
23-
"url": "https://github.com/celestiaorg/quantum-gravity-bridge/issues"
23+
"url": "https://github.com/celestiaorg/blobstream-contracts/issues"
2424
},
25-
"homepage": "https://github.com/celestiaorg/quantum-gravity-bridge#readme",
25+
"homepage": "https://github.com/celestiaorg/blobstream-contracts#readme",
2626
"devDependencies": {
2727
"@nomicfoundation/hardhat-toolbox": "^3.0.0",
2828
"hardhat": "^2.17.4",

scripts/Dockerfile_Environment

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
#
66
# How to use:
77
# First, build the docker image using:
8-
# $ docker build -t qgb-env -f Dockerfile_Environment .
8+
# $ docker build -t blobstream-env -f Dockerfile_Environment .
99
# Then, run the docker image:
10-
# $ docker run -it qgb-env
10+
# $ docker run -it blobstream-env
1111
# This should give you a shell inside the image where you have all the dependencies installed.
1212
#
1313
# For example, if you want to generate the wrappers for this repo, run the following inside the shell:
14-
# $ git clone https://github.com/celestiaorg/quantum-gravity-bridge
15-
# $ cd quantum-gravity-bridge
14+
# $ git clone https://github.com/celestiaorg/blobstream-contracts
15+
# $ cd blobstream-contracts
1616
# $ make
1717
# And you will see that the wrappers are being regenerated for this repo.
1818
# Finally, you can push the changes to your branch using git add/commit/push.
@@ -36,4 +36,4 @@ RUN git clone --depth 1 --branch v1.12.0 https://github.com/ethereum/go-ethereum
3636
WORKDIR /root
3737
ENTRYPOINT bash
3838

39-
# at this level, you can clone the qgb repo and build the wrappers, run the tests etc.
39+
# at this level, you can clone the blobstream-contracts repo and build the wrappers, run the tests etc.

scripts/gen.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ if (( $# < 2 )); then
1010
exit 1
1111
fi
1212

13-
# compile the QGB contracts
13+
# compile the Blobstream contracts
1414
forge build > /dev/null
1515

1616
# compile the proxy contracts

scripts/upgradability_check.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env bash
22

3-
# this script will check if the QGB contract is inheriting the correct upgradability contracts.
3+
# this script will check if the Blobstream contract is inheriting the correct upgradability contracts.
44

5-
out=$(surya inheritance src/QuantumGravityBridge.sol | grep -i "\"QuantumGravityBridge\" ->" | cut -d ">" -f 2 | sed 's/[";]//g')
5+
out=$(surya inheritance src/Blobstream.sol | grep -i "\"Blobstream\" ->" | cut -d ">" -f 2 | sed 's/[";]//g')
66

77
required_contracts=("Initializable" "UUPSUpgradeable" "OwnableUpgradeable")
88
missing_contracts=()
@@ -14,9 +14,9 @@ for field in "${required_contracts[@]}"; do
1414
done
1515

1616
if [ ${#missing_contracts[@]} -eq 0 ]; then
17-
echo "The QuantumGravityBridge contract is inheriting the right contracts. Exiting."
17+
echo "The Blobstream contract is inheriting the right contracts. Exiting."
1818
exit 0
1919
else
20-
echo "The QuantumGravityBridge contract is missing the necessary inherited contracts: ${missing_contracts[*]}"
20+
echo "The Blobstream contract is missing the necessary inherited contracts: ${missing_contracts[*]}"
2121
exit 1
2222
fi

src/QuantumGravityBridge.sol renamed to src/Blobstream.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ struct Signature {
2323
bytes32 s;
2424
}
2525

26-
/// @title Quantum Gravity Bridge: Celestia -> EVM, Data Availability relay.
26+
/// @title Blobstream: Celestia -> EVM, Data Availability relay.
2727
/// @dev The relay relies on a set of signers to attest to some event on
2828
/// Celestia. These signers are the Celestia validator set, who sign over every
2929
/// Celestia block. Keeping track of the Celestia validator set is accomplished
@@ -36,7 +36,7 @@ struct Signature {
3636
/// block headers.
3737
/// @dev DO NOT REMOVE INHERITENCE OF THE FOLLOWING CONTRACTS: Initializable, UUPSUpgradeable and
3838
/// OwnableUpgradeable! They're essential for upgradability.
39-
contract QuantumGravityBridge is IDAOracle, Initializable, UUPSUpgradeable, OwnableUpgradeable {
39+
contract Blobstream is IDAOracle, Initializable, UUPSUpgradeable, OwnableUpgradeable {
4040
// Don't change the order of state for working upgrades AND BE AWARE OF
4141
// INHERITANCE VARIABLES! Inherited contracts contain storage slots and must
4242
// be accounted for in any upgrades. Always test an exact upgrade on testnet

0 commit comments

Comments
 (0)