Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore!: backport main to v1.x release branch #2018

Merged
merged 40 commits into from
Jul 3, 2023
Merged

Conversation

evan-forbes
Copy link
Member

@evan-forbes evan-forbes commented Jul 3, 2023

Overview

rebases main for rc6, since we also want the remaining documentation #2010 and will eventually need the remaining api breaking code for node anyway. The only new consensus breaking change was from 30c50a0

closes #2010

Checklist

  • 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

dependabot bot and others added 30 commits July 3, 2023 11:54
…in /docker (#1891)

chore(deps): Bump golang in /docker

Bumps golang from 1.20.4-alpine3.17 to 1.20.5-alpine3.17.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) from 1.3.0 to 1.3.2.
- [Release notes](https://github.com/BurntSushi/toml/releases)
- [Commits](BurntSushi/toml@v1.3.0...v1.3.2)

---
updated-dependencies:
- dependency-name: github.com/BurntSushi/toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Forbes <42654277+evan-forbes@users.noreply.github.com>
…1890)

Bumps golang from 1.20.4-alpine3.17 to 1.20.5-alpine3.17.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Forbes <42654277+evan-forbes@users.noreply.github.com>
Bumps alpine from 3.18.0 to 3.18.2.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps alpine from 3.18.0 to 3.18.2.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs: improve x/mint specs

Partially motivated by https://docs.cosmos.network/main/spec/SPEC_MODULE

* Update x/mint/README.md

Co-authored-by: CHAMI Rachid <chamirachid1@gmail.com>

* chore: remove N/A sections

* Update x/mint/README.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* Remove Further Improvements section

* subheadings

* link to cosmos-sdk module

* adopt template

---------

Co-authored-by: CHAMI Rachid <chamirachid1@gmail.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
* feat!: remove useShareIndexes

* feat: add SplitBlobs

* Update pkg/shares/share_splitting.go

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* test: sparse share splitter for diff namespaces

* refactor: variadic SplitBlobs

---------

Co-authored-by: Callum Waters <cmwaters19@gmail.com>
* docs: data square layout part 1

* docs: add power of 2 note

* Apply suggestions from code review

Co-authored-by: Rootul P <rootulp@gmail.com>

---------

Co-authored-by: Callum Waters <cmwaters19@gmail.com>
Co-authored-by: Rootul P <rootulp@gmail.com>
* docs: extract shares page

* ignore generated .html files

* rename figures

* update diagrams

* update reserved bytes

* fix: broken links

* link to reserved namespace and x/blob

* extract common padding specs

* update parity section

* overview -> abstract

* add link to NMT spec

* link to block

* add Glossary

* clarify Celestia state

* move blob data to glossary

* nit: use may

* remove data withholding attack

* draft: overview

* nit: may -> MAY

* move terms up and fill out overview

* adopt more of template

* Improve share sequence term

* fill out share splitting

* fix links

* add note to clarify blob

* add references section

* Update specs/src/specs/shares.md

Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>

* Update specs/src/specs/shares.md

Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>

* add figure numbers

* clarify share sequence length

* blob -> transaction

* denote field in diagram

* remove duplicate portion of transaction shares

* clarify share size

* fix: lint b/c non-interactive => blob share commitment

---------

Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.55.0 to 1.56.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.55.0...v1.56.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Forbes <42654277+evan-forbes@users.noreply.github.com>
* docs: minor update to the blob module

* docs: add validity rules

* docs: update event field

* docs: Apply suggestions from code review

Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Rootul P <rootulp@gmail.com>

* docs: minor update

* docs: fill out fields of PFB in new format and link to ADR014 for share verison

* docs: elaborate on size consistency

* docs: link to reserved namespaces

* docs: clarify and add link

* docs: share commitments

* docs: typo and link to reserved name space

* docs: add link to sharesize

* docs: add more info for shares commitments

* docs: review feedback

Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Rootul P <rootulp@gmail.com>

* docs: use adr 007

* docs: add link

---------

Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Rootul P <rootulp@gmail.com>
* test: add latest/earliest available attestation nonce keys tests

* Update x/qgb/keeper/keeper_attestation_test.go

Co-authored-by: Rootul P <rootulp@gmail.com>

* Update x/qgb/keeper/keeper_valset_test.go

Co-authored-by: Rootul P <rootulp@gmail.com>

---------

Co-authored-by: Rootul P <rootulp@gmail.com>
## Overview
Closes #1859

## Checklist

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [x] Linked issues closed with keywords
* docs: add section to adr-013

* update links

* revert: ADR name change

* revert: hyphen change

* improve: godoc

* Address @nashqueue feedback
<!--
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

<!-- 
Please provide an explanation of the PR, including the appropriate
context,
background, goal, and rationale. If there is an issue with this
information,
please provide a tl;dr and link the issue. 
-->

Closes #1872

## 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

---------

Co-authored-by: Callum Waters <cmwaters19@gmail.com>
Co-authored-by: Evan Forbes <42654277+evan-forbes@users.noreply.github.com>
<!--
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
I don't think I should be a codeowner. 
<!-- 
Please provide an explanation of the PR, including the appropriate
context,
background, goal, and rationale. If there is an issue with this
information,
please provide a tl;dr and link the issue. 
-->

## 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
Closes #1977

All the whitespace changes were auto applied by my editor
<!--
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

<!-- 
Please provide an explanation of the PR, including the appropriate
context,
background, goal, and rationale. If there is an issue with this
information,
please provide a tl;dr and link the issue. 
-->

## 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
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from
1.56.0 to 1.56.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's
releases</a>.</em></p>
<blockquote>
<h2>Release 1.56.1</h2>
<ul>
<li>client: handle empty address lists correctly in
addrConn.updateAddrs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/grpc/grpc-go/commit/5b67e5ea449ef0686a0c0b6de48cd4cb63e3db2a"><code>5b67e5e</code></a>
Update version.go to v1.56.1 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/6386">#6386</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/d0f5150384a87f9fcac488a9c18727a55b7354c1"><code>d0f5150</code></a>
client: handle empty address lists correctly in addrConn.updateAddrs (<a
href="https://redirect.github.com/grpc/grpc-go/issues/6354">#6354</a>)
...</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/997c1ea101cc5d496d2b148388f1df49632a9171"><code>997c1ea</code></a>
Change version to 1.56.1-dev (<a
href="https://redirect.github.com/grpc/grpc-go/issues/6345">#6345</a>)</li>
<li>See full diff in <a
href="https://github.com/grpc/grpc-go/compare/v1.56.0...v1.56.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.56.0&new-version=1.56.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This PR pulls out a lot of redundant logic, simplifying the
`NextShareIndex` function to make it more readable and understandable.
I've also added more comments and updated the links.

Rationale: There is no subtreeWidth value that is not a multiple of the
square size given that both must be powers of 2 and that the
subtreewidth can't be greater than the minimum blob square size (and the
blob has to fit in the square). This reinforces the notion that this
algorithm is square size independent

---------

Co-authored-by: Rootul P <rootulp@gmail.com>
This testdata is no longer used.
…#1975)

## Overview
Closes #1942 

Some improvement ideas: 
1. This PR introduces a `rand` parameter to some of the test utilities,
using which will generate some randomness internally. The type of this
new parameter is currently fixed to the `Rand` type from the Tendermint
package. However, an alternative approach would be to define our own
Rand interface and change the `rand` parameter type (that has been added
to some of the test utils in this PR) to accept any type that satisfies
that interface. In this PR, I chose not to follow this approach because
I wasn't sure if it would be necessary. Additionally, considering the
current organization of the test utilities, introducing such an
interface would only increase the complexity of the code. Nevertheless,
I am open to hearing your thoughts on this matter.

2. There is significant room for improvement in the organization of the
test utilities (not related to this PR). For example, we are currently
using this
[function](https://github.com/celestiaorg/celestia-app/blob/8146ae75f255f7bb5a2c87f32e7823d506266a53/pkg/square/builder_test.go#L78)
from another test file for square fuzz testing. Ideally, such utilities
are better to be consolidated under one package, and all other packages
should utilize them. However, in order to maintain consistency with the
existing architecture, I refrained from introducing any changes related
to the code organization. As a result, I kept all the unit tests for the
test helpers next to their respective locations. We can actually have
another issue to discuss this aspect as well.

## Checklist

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [x] Linked issues closed with keywords
evan-forbes and others added 10 commits July 3, 2023 11:56
## Overview

This refactor is mainly targeting #1990, but doing so in a way that uses
common patters to avoid continuing to blow up the api

closes #1990

## Checklist

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [x] Linked issues closed with keywords
## Overview

creates a malicious package that allows for minimal changes to the rest
of the application while also keeping the malicious portion of the code
as separate as possible as to not accidentally trigger the malicious
logic.

part of #1953

## Checklist

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [ ] Linked issues closed with keywords

---------

Co-authored-by: Rootul P <rootulp@gmail.com>
…1995)

Bumps google.golang.org/protobuf from 1.30.0 to 1.31.0.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/protobuf&package-manager=go_modules&previous-version=1.30.0&new-version=1.31.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Forbes <42654277+evan-forbes@users.noreply.github.com>
…2008)

## Overview

this pr enables us to add multiple directories to the exclusion list for
measuring test coverage, and then adds the malicious package to that
list

## Checklist

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [ ] Linked issues closed with keywords
…uare in all cases (#2012)

## Overview

While fixing #1952, I managed to get lucky and catch #2013 when running
tests. imo, it combining the two isn't the worst thing since they help
test #2013. Therefore, this PR is currently api breaking since we change
`square.Construct`/`square.Build`, and consensus breaking because of the
bug fix.


closes #1952
closes #2013 

## Checklist

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [x] Linked issues closed with keywords

---------

Co-authored-by: Rootul P <rootulp@gmail.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
@github-actions
Copy link

github-actions bot commented Jul 3, 2023

PR Preview Action v1.4.4
🚀 Deployed preview to https://celestiaorg.github.io/celestia-app/pr-preview/pr-2018/
on branch gh-pages at 2023-07-03 16:58 UTC

@evan-forbes evan-forbes mentioned this pull request Jul 3, 2023
5 tasks
@evan-forbes evan-forbes changed the title Evan/rebase for rc6 chore!: backport main to v1.x release branch Jul 3, 2023
@evan-forbes evan-forbes enabled auto-merge (rebase) July 3, 2023 17:00
@codecov-commenter
Copy link

Codecov Report

Merging #2018 (4fda4ad) into v1.x (b45d916) will increase coverage by 0.25%.
The diff coverage is 34.14%.

@@            Coverage Diff             @@
##             v1.x    #2018      +/-   ##
==========================================
+ Coverage   21.28%   21.54%   +0.25%     
==========================================
  Files         122      127       +5     
  Lines       13833    14293     +460     
==========================================
+ Hits         2945     3079     +134     
- Misses      10597    10922     +325     
- Partials      291      292       +1     
Impacted Files Coverage Δ
app/extend_block.go 0.00% <0.00%> (ø)
app/validate_txs.go 0.00% <0.00%> (ø)
pkg/namespace/random_blob.go 0.00% <0.00%> (ø)
pkg/shares/padding.go 52.08% <ø> (ø)
pkg/wrapper/nmt_wrapper.go 80.00% <0.00%> (-3.34%) ⬇️
test/util/testnode/config.go 0.00% <0.00%> (ø)
test/util/testnode/full_node.go 0.00% <0.00%> (ø)
test/util/testnode/node_interaction_api.go 0.00% <0.00%> (ø)
x/blob/types/builder.go 39.67% <0.00%> (ø)
x/blob/types/tx.pb.go 34.60% <ø> (ø)
... and 18 more

... and 3 files with indirect coverage changes

@evan-forbes evan-forbes self-assigned this Jul 3, 2023
@evan-forbes evan-forbes merged commit 341006e into v1.x Jul 3, 2023
22 checks passed
@evan-forbes evan-forbes deleted the evan/rebase-for-rc6 branch July 3, 2023 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants