Skip to content

Commit

Permalink
Vr/data root (#11)
Browse files Browse the repository at this point in the history
* Chain state module (Sovereign-Labs#598)

* WIP: Add optimsitic sync

* WIP: implement chain state module

* WIP: Add attester incentives

* Can compile

* Does compile

* Start working on attester incentives

* Implement attestation processing

* Finish unbonding

* Improve events

* Rename sov-attester-incentives to optimistic-workflow

* Refactor

* Start working on apply_sync_data_blob

* Refactoring apply_tx_blob

* Refactoring files

* Rewriting unbonding

* Refactor attestation processing

* Refactor process challenge

* Refactoring

* Fixing compile issues

* Does compile

* Everything compiles

* Add 2 phase unbonding back

* Updating tests

* Changing bonding proof

* Changing bonding proof

* Fixing get_with_proof

* Fixing chain updates

* Change STF interface to work on slot level

* Removing Misbehavour hint from parameters
* Fixing prover
* Update docs

* Adding chain state

* Starting chain state

* Fix lint

* Fixing warnings

* Integrating slot hooks

* Populating todos

* Adding data generation for different modules

* Implementing automatic bank data generation

* Fixing stf

* Compiles

* Fixing chain-state test, adding EncodeCall trait

* Fixing lints

* Chain state testing

* Simple chain state module tests

* All tests pass

* Fixing lints

* Fixing comments PR

* Fixing comments PR

* nit fix

* Fixing PR comments

* Deleting borsh compat

* Adding back github and config files

* Specifying commit for jmt

* Update module-system/sov-state/src/storage.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing comments PR

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing error handling

* Fixing lints

* Fixing lints

* Fix lints

* Update rollup-interface/src/state_machine/mocks.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Addressing PR comments

* Including PR comments

* Update Cargo.toml

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Adding back genesis and call

* Fix lints

* Lint

* Restoring default context

* Fixing imports

* Fixing prover compiles

* Fix prover compiles

* Fixing end slot hook

* Reorganizing integration tests

* Reorganizing integration tests

* Adding unit tests for chain-state

* Update chain state tests

* Update apply slot signature

* Fix demo-prover

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fix lints

* Format demo-prover

* Fix feature data generators

* Update examples/demo-stf/Cargo.toml

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing pr comments

* Fix lint

* Removing call from chain-state because provided by blanket

---------

Co-authored-by: Preston Evans <[email protected]>
Co-authored-by: Nikolai Golub <[email protected]>

* Refactoring buf reader (Sovereign-Labs#593)

* WIP: Add optimsitic sync

* WIP: implement chain state module

* WIP: Add attester incentives

* Can compile

* Does compile

* Start working on attester incentives

* Implement attestation processing

* Finish unbonding

* Improve events

* Rename sov-attester-incentives to optimistic-workflow

* Refactor

* Start working on apply_sync_data_blob

* Refactoring apply_tx_blob

* Refactoring files

* Rewriting unbonding

* Refactor attestation processing

* Refactor process challenge

* Refactoring

* Fixing compile issues

* Does compile

* Everything compiles

* Add 2 phase unbonding back

* Updating tests

* Changing bonding proof

* Changing bonding proof

* Fixing get_with_proof

* Fixing chain updates

* Refactoring buf reader

* Change STF interface to work on slot level

* Removing Misbehavour hint from parameters
* Fixing prover
* Update docs

* Adding chain state

* Starting chain state

* Fix lint

* Fixing warnings

* Integrating slot hooks

* Populating todos

* Adding data generation for different modules

* Implementing automatic bank data generation

* Fixing stf

* Compiles

* Fixing chain-state test, adding EncodeCall trait

* Fixing lints

* Chain state testing

* Simple chain state module tests

* All tests pass

* Fixing lints

* Fixing comments PR

* Fixing comments PR

* nit fix

* Fixing PR comments

* Deleting borsh compat

* Adding back github and config files

* Specifying commit for jmt

* Update module-system/sov-state/src/storage.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing comments PR

* Applying PR comments

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing error handling

* Fixing lints

* Fixing lints

* Fix lints

* Refactor buf reader

* Update rollup-interface/src/state_machine/mocks.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Addressing PR comments

* Including PR comments

* Update Cargo.toml

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Adding back genesis and call

* Fix lints

* Lint

* Restoring default context

* Fixing imports

* Fixing prover compiles

* Fix prover compiles

* Fixing end slot hook

* Reorganizing integration tests

* Reorganizing integration tests

* Adding unit tests for chain-state

* Update chain state tests

* Update apply slot signature

* Fix demo-prover

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fix lints

* Format demo-prover

* Fix feature data generators

* Merge with chain-state and fix lints

* Update examples/demo-stf/Cargo.toml

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing pr comments

* Fix lint

* Fix lints

---------

Co-authored-by: Preston Evans <[email protected]>
Co-authored-by: Nikolai Golub <[email protected]>

* Add missing docs for bank, prover-incentives, demo-rollup and const-rollup-config (Sovereign-Labs#592)

* WIP: Add optimsitic sync

* WIP: implement chain state module

* WIP: Add attester incentives

* Can compile

* Does compile

* Start working on attester incentives

* Implement attestation processing

* Finish unbonding

* Improve events

* Rename sov-attester-incentives to optimistic-workflow

* Refactor

* Start working on apply_sync_data_blob

* Refactoring apply_tx_blob

* Refactoring files

* Rewriting unbonding

* Refactor attestation processing

* Refactor process challenge

* Refactoring

* Fixing compile issues

* Does compile

* Everything compiles

* Add 2 phase unbonding back

* Updating tests

* Changing bonding proof

* Changing bonding proof

* Fixing get_with_proof

* Fixing chain updates

* Missing docs bank

* Missing docs prover-incentives

* Missing docs const-rollup-config

* demo-rollup missing docs, finish missing docs

* Refactoring buf reader

* Fixing lint error

* Change STF interface to work on slot level

* Removing Misbehavour hint from parameters
* Fixing prover
* Update docs

* Adding chain state

* Starting chain state

* Fix lint

* Fixing warnings

* Integrating slot hooks

* Populating todos

* Adding data generation for different modules

* Implementing automatic bank data generation

* Fixing stf

* Compiles

* Fixing chain-state test, adding EncodeCall trait

* Fixing lints

* Chain state testing

* Simple chain state module tests

* All tests pass

* Fixing lints

* Fixing comments PR

* Fixing comments PR

* nit fix

* Fixing PR comments

* Deleting borsh compat

* Adding missing_docs

* Adding back github and config files

* Specifying commit for jmt

* Update module-system/sov-state/src/storage.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing comments PR

* Fix rpc macro

* Fixing missing docs

* Applying PR comments

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing error handling

* Fixing lints

* Fixing lints

* Fix lints

* Refactor buf reader

* Fixing tests

* Update rollup-interface/src/state_machine/mocks.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Addressing PR comments

* Including PR comments

* Update Cargo.toml

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Adding back genesis and call

* Fix lints

* Lint

* Restoring default context

* Fixing imports

* Fixing prover compiles

* Fix prover compiles

* Fixing end slot hook

* Reorganizing integration tests

* Reorganizing integration tests

* Adding unit tests for chain-state

* Update chain state tests

* Update apply slot signature

* Fix demo-prover

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/host.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fix lints

* Format demo-prover

* Fix feature data generators

* Merge with chain-state and fix lints

* Update examples/demo-stf/Cargo.toml

Co-authored-by: Nikolai Golub <[email protected]>

* Update adapters/risc0/src/guest.rs

Co-authored-by: Nikolai Golub <[email protected]>

* Fixing pr comments

* Fix lint

* Fix doctests demo rollup

* Add folder generated by README test to gitignore

---------

Co-authored-by: Preston Evans <[email protected]>
Co-authored-by: Nikolai Golub <[email protected]>

* EVM: Recovering transaction signer in the EVM module. (Sovereign-Labs#639)

* Refactor `CelestiaAddress` (Sovereign-Labs#551)

* Refactor CelestiaAddress and its internal representation

* Correct comparison for sender (Sovereign-Labs#660)

* Remove `associated_type_defaults` making Sovereign SDK stable compatible (Sovereign-Labs#649)

* Based Sequencer with Soft Confirmations: deferring blob from execution (Sovereign-Labs#596)

* Introducing blob deferring
* Exposing is_allowed_sequencer method. Filter non registered sequencers
* Add next-test as default runner for `make test`

* Allow custom (de)serialization logic for `#[state]` (Sovereign-Labs#648)

* Allow custom state encodings

* Use Default::default to build codecs

* Improve tests for sov-modules-macros

* Stricter type bounds for better error messages

* Don't reexport sov_state::codec

* t.pass test

* Bump tokio from 1.29.1 to 1.31.0 (Sovereign-Labs#659)

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.29.1 to 1.31.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.29.1...tokio-1.31.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Filippo Neysofu Costa <[email protected]>

* Add Demo NFT module docs (Sovereign-Labs#642)

* Make Sequencer Outcome generic over address (Sovereign-Labs#652)

* Mock refactoring in `rollup-interface/src/state_machine/mocks` (Sovereign-Labs#661)

* Add a benchmark/profiler to count cycles in demo-prover (Sovereign-Labs#577)

* extract data_gen into its own function

* temp push

* add prover cycles

* include multiple transactions

* reduce txns

* temp switch

* cycle tracker macro

* another temp commit

* merge main and nightly

* use run_without_prover for bench/profile

* working metrics

* add zk-cycle-utils. missed it

* temporary commit

* pass features to risc0 vm

* feature gate all the bench things

* cleanup and testing

* check in readme

* checking some cargo locks in prep for merge

* some fixes

* revert rollup config toml

* working merge

* cleanup and documentation

* simplify the macro for generating the wrapped function

* format fixes

* README changes

* simplify code as per lint

* lint fix

* add profiler to analyze trace

* fix cargo lock

* really fix Cargo.lock

* trace options

* cargo fmt

* fix log error

* fix prover bench

* add docs and address comments

* prover bench readme

* add a skip proving option to demo-prover

* add tests for macros

* demo prover format

* remove commented code

* formatting

---------

Co-authored-by: dubbelosix <[email protected]>

* Simplify generics in `AppTemplate`.  (Sovereign-Labs#662)

* Move module-template tests into dir (Sovereign-Labs#665)

* Use DaService in `sov-ethereum`. (Sovereign-Labs#668)

* Rename jupiter to celestia (Sovereign-Labs#670)

* Config preferred sequencer via bool (Sovereign-Labs#672)

* `sov-sequencer-registry` module docs (Sovereign-Labs#674)

* Fix sov-sequencer-registry docs

* Fix docs about callmessage

* `RollupConfig` cleanup (Sovereign-Labs#677)

* Typo in ledger_rpc.rs (Sovereign-Labs#678)

* fixed typo in ledger_rpc.rs

* Fix RPC method name in sov-stf-runner docs

---------

Co-authored-by: Filippo Costa <[email protected]>

* Rollup strcture in demo-rollup (Sovereign-Labs#680)

* Optimistic (Sovereign-Labs#650)

* Optimistic

* Attester incentives module

* Reverting typo

* Tests attester-incentives

* Adding test helper and lint

* Lint

* Adding tests

* Finishing positive test

* Refactor tests

* Refactor tests

* Adding negative test

* Valid challenge

* Invalid challenge

* Adding unbonding tests

* Lint fix

* Lint

* Make lint

* Make lint

* PR comments + fix tests

* Lint

* Fixing comments

* Refactoring + finishing adding tests

* Fix lint

* Fix lint

* Fixing PR comments

* Fixing important comment

* Fix nits

* Fixing multi-attestation

* Fixing nits

* Fixing nits

* Fixing lints

* Fixing all comments PR

* Celestia docker compose: several nodes (Sovereign-Labs#682)

* Bump parking_lot from 0.11.2 to 0.12.1 (Sovereign-Labs#696)

Bumps [parking_lot](https://github.com/Amanieu/parking_lot) from 0.11.2 to 0.12.1.
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md)
- [Commits](Amanieu/parking_lot@0.11.2...0.12.1)

---
updated-dependencies:
- dependency-name: parking_lot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump serde from 1.0.183 to 1.0.185 (Sovereign-Labs#698)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.183 to 1.0.185.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.183...v1.0.185)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump quote from 1.0.32 to 1.0.33 (Sovereign-Labs#701)

Bumps [quote](https://github.com/dtolnay/quote) from 1.0.32 to 1.0.33.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](dtolnay/quote@1.0.32...1.0.33)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump tokio from 1.31.0 to 1.32.0 (Sovereign-Labs#702)

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.31.0 to 1.32.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.31.0...tokio-1.32.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Filippo Neysofu Costa <[email protected]>

* Run CI even for *.md changes (Sovereign-Labs#704)

* Fix typos in documentation (Sovereign-Labs#687)

* fix typos

* fix typos

* fix typo

* fix typos

* fix typo

* fix typo

* fix typo

* fix typo

* fix typo

* fix typo

* fix typo

* Update examples/demo-rollup/benches/README.md

Fix typo

* Trigger CI

---------

Co-authored-by: Filippo Neysofu Costa <[email protected]>
Co-authored-by: Filippo Costa <[email protected]>

* Update README.md (Sovereign-Labs#683)

* Update README.md

To make getting started section more digestable.

* Update README.md

---------

Co-authored-by: Filippo Neysofu Costa <[email protected]>

* `PairOfCodecs` default (Sovereign-Labs#703)

* Make "native" feature non default (Sovereign-Labs#664)

* Disabling default native feature

* Fixes after rebase

* Functionality for submitting several blobs in single DA block (Sovereign-Labs#690)

* Introduce sciprts for testing deferred blob execution

* Clean up logging
* Scripts for make demo
* Improve logging
* Use preferred sequencer
* Log transaction hash in batch builder

* Refactor `sov-cli` into a library (Sovereign-Labs#708)

* WIP: add rpc to cli wallet

* Test key commands

* WIP allow generic callmsg parsing

* It kinda works

* Switch to tryfrom

* It works! needs cleanup

* It works a bit better

* Use new frontend trait

* Import from files and json

* Test import flows

* Rename to fileNameArg

* Implement tx submission via rpc

* Update sov-cli in demo-stf

* Cleanup diff

* Cleanup diff

* Remove unneeded json file

* lint

* remove sov-cli from guest

* lint

* Fix tests

* Remove outdated clap test

* Fix sequencer tests

* Add build step to makefile

* Remove stray ':' from Makefile

* Update test for cli_wallet derive

* DA mock implementation (Sovereign-Labs#686)

* Minor fixes in demo-rollup to filter out transaction registrations (Sovereign-Labs#712)

* Implement State Vectors (Sovereign-Labs#685)

* impl. StateVec

* remove remove func. impl. set_all

* fix set_all

* add tests

* fix naming

* borrow values

* impl. get_or_err

* example without tests yet

* formatting

* docs: document sov-vec-setter

* lint: sov-vec-setter

* fix fn order

* string test case

* linting

* Add tests for sov-vec-setter and StateVec

* Update doc for set_all

* Fix Clippy warnings

* Fix StateVec::clear() bug

---------

Co-authored-by: orkunkilic <[email protected]>
Co-authored-by: Filippo Costa <[email protected]>

* Improvements to `StateVec` (Sovereign-Labs#688)

Signed-off-by: Filippo Costa <[email protected]>

* Hash-encode keys in `StateMap` instead of serializing them with a codec (Sovereign-Labs#718)

* Use Hash to serialize keys

* Better naming conventions for Storage/Cachekey

* Fix docs

* Fix merge issues

Signed-off-by: Filippo Costa <[email protected]>

---------

Signed-off-by: Filippo Costa <[email protected]>

* Split AddressTrait (Sovereign-Labs#720)

* Removing extra bound on RollupAddress where it is not needed
* Update demo-simple-stf docs
* Public export
* Remove unused H160

* EVM remove receipt type (Sovereign-Labs#719)

* Use `MockAddress` in `sov-sequencer-registry` tests.  (Sovereign-Labs#725)

* Fix `#[state(codec_builder = ...)]` test (Sovereign-Labs#723)

Signed-off-by: Filippo Costa <[email protected]>

* Add create-token integration test (Sovereign-Labs#716)

* Use update proofs

* Add basic module integration tests

* Randomize port in tests

* Revert "Use update proofs"

This reverts commit e5bfaca.

* address code review; reorganize

* Add ws subscription for slots

* fix lints

* Fix bash snippet in README interpreted as test

* Fixing `where` bounds for rpc_gen (Sovereign-Labs#726)

* Generate docs in rpc macros (Sovereign-Labs#729)

* Add missing docs to generated rpc

* Remove allow(missing_docs) from query modules

* remove println

* add missing docs for attester-incentives

* EVM test cleanup (Sovereign-Labs#732)

* Fix CI (Sovereign-Labs#734)

* Add docs for examples/demo-prover (Sovereign-Labs#730)

Co-authored-by: dubbelosix <[email protected]>

* Use MockAddress in demo-rollup benches. (Sovereign-Labs#738)

* Fix Blob address type in benches

* fix lint

* Bump serde from 1.0.185 to 1.0.188 (Sovereign-Labs#746)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.185 to 1.0.188.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.185...v1.0.188)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump reqwest from 0.11.18 to 0.11.20 (Sovereign-Labs#745)

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.18 to 0.11.20.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](seanmonstar/reqwest@v0.11.18...v0.11.20)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CLEANUP: remove sov-election module since we don't need it and modify tests using it to use sov-bank (Sovereign-Labs#739)

* cleanup sov election

* fix unused import

* fix removed arguments to genesis config

* remove extra argument for create_demo_genesis_config

* add a bad nonce test case as well

* formatting :(

* another place where private key for election module needs to be removed

* linter suggestions

---------

Co-authored-by: dubbelosix <[email protected]>

* Update `end_slot_hook` (Sovereign-Labs#742)

* add root_hash to end_sloot_hook

* update end slot hook

* support experimental

* allow unused variables

* fix experimental flag for hooks in evm

* Migrate to buildjet (Sovereign-Labs#748)

* Migrate to buildjet

* Switch back to swatinem cache

* No default feature in CI (Sovereign-Labs#741)

Signed-off-by: Filippo Costa <[email protected]>

* Allow modules to mint on their own authority (Sovereign-Labs#728)

* Allow modules to mint on their own authority

* Fix typos in token::mint signature

* Allow modules to create tokens

* Fix nits

* lint

* Fix tests

* Fix tests

* Modify risc0 tracer util to print function stack to enable better debugging (Sovereign-Labs#711)

* stack analysis

* fix issues

* some more changes

* minor changes

---------

Co-authored-by: dubbelosix <[email protected]>

* Remove  unnecessary generic from `MockBlob` (Sovereign-Labs#749)

* Remove generic from MockBlob

* update tests

* fix lint

* fix lint

* feat: add fuzzing (Sovereign-Labs#651)

* macro docs improvements

* wip

* fuzz experiments

* macro errors

* wip

* add fuzz makefile & docs

* add generative fuzz for account module implementation

This commit introduces a generative model for the accounts module
implementation that will generate valid messages to update the account
address.

It also fixes a bug where a prefix with an unaligned vector could be
created by declaring an API module, combining its prefixes, and
generating a vec would result in potentially unaligned vectors.

* fix statemap arbitrary generation

* fix lint nits

* rollback aligned vec assertion for tests

* fix native requirement for arbitrary implementation

* fix arbitrary workset to use genesis

* fix merge generated errors

* remove cargo.lock from fuzz directory

---------

Co-authored-by: Filippo Costa <[email protected]>

* Fix CI job cancellation (Sovereign-Labs#751)

* Split `Storage::validate_and_commit` into two separate methods `Storage::calculate_root_hash...` and `Storage::commit` (Sovereign-Labs#752)

* Extend storage interface

* fix

* add calculate_state_root_and_node_batch

* Add comment

* code review feedback

* Add StateUpdate to Storage

* Fix `expose_rpc` macro with associated types (Sovereign-Labs#733)

* Start adding test

* Add simple test for expose_rpc

* Generic test passes without expose_rpc

* It still passes.

* Just adding some notes

* Add test boilerplate

* [no ci]: Update tests

* Broken, but progress

* [no ci] It passes!

* And add failing test!

* Adding module for debugging macro things

* It compiles and runs!

* Adding generic!

* Add phantom module to satisfy compiler

* Fixing phantom

* WIP

* It compiles without expose_rpc

* We don't need phantom module

* Update things

* It works with renaming!

* Linter is happy

* tests are passing

* Add failing test

* Clean ups

* Add link to bug

* Update message

* Allow modules to burn coins (Sovereign-Labs#756)

* Move generic from method to trait, so it will be easier to use it with DA spec (Sovereign-Labs#759)

* Add Bitcoin DA Adapter link to README (Sovereign-Labs#758)

* docs: add Bitcoin DA link to README

* docs: add "open-source" to BitcoinDA link

Co-authored-by: Cem Özer <[email protected]>

---------

Co-authored-by: Cem Özer <[email protected]>

* Add RPC for `chain-state` module (Sovereign-Labs#760)

* Add RPC endpoint for chain state module, so it can be plugged into runtime

* Move tests to integration tests

* Fix native feature gating

* Fixed check features

* Specify version of `jmt` which contains fix (Sovereign-Labs#762)

* Specify version of `jmt` which contains fix

* Fix jsonrpsee new method name

* Bump prover's cargo lock

* Remove separate "serde" feature (Sovereign-Labs#761)

* Remove separate "serde" feature

As it is used only inside native feature and not separately

* Fix native test for sov-attester-incentives

* Bump dalek-ed25519 to 2.0.0 (Sovereign-Labs#667)

* Bump dalek-ed25519 to 2.0.0

* Fix serde serialization

* Fixing lint and comments

* Adding key converters and helpers

* Remove temporary HexKey

* Update key files structure

* Fixing test!

* Addressing nits

* Fix `expose_rpc` macro to handle all cases of generics from Runtime (Sovereign-Labs#764)

* Start working on it

* Use different approach with phantom data, but...

Lifetime strikes back so far

* Start cleaning up and adding tests

* Adding more tests and cleaning up

* Adding some tests instead of removed ones

* Fix lint error

* Actually fix lint

* EVM: Allow DA blobs with multiple transactions. (Sovereign-Labs#767)

* ETH batch builder

* EVM: allow building blocks with multiple transactions

* undo changes in full-node/sov-sequencer/src/utils.rs

* Add comments in tests

* fix lint

* fix cargo hack

* Update to HexPrivateAndAddress

* Add doc generation to the `genesis` macro. (Sovereign-Labs#772)

* Add doc generation to genesis macro

* make fields public

* fix lint

* Add a test case to `demo-simple-stf` (Sovereign-Labs#774)

* add test case to demo-simple-stf

* renaming

* Add docs to dispatch call macro (Sovereign-Labs#775)

* Plug in `sov-chain-state` module (Sovereign-Labs#776)

* Introduce Da generic in demo-stf

* Move sov-cli to demo-rollup

* Clean up sov-cli usage

* Refactor Generics to use Specs (Sovereign-Labs#780)

* s/DA/Da/g

* Progress

* Progressing

* Continue grouping generics

* Adjust BlobSelector

* Update module-system/module-implementations/sov-attester-incentives/src/call.rs

* fix(examples): rebase

* fix(avail): tx commitment

* feat(demo-rollup): new_rollup_with_avail_da

* fix(demo-prover-avail): rebase fixes

* fix(demo-prover-avail): cleanup and import changes

* fix(demo-prover-avail): fixed clap versioning issue

* fix(avail-adapter): blake hasher target

* feat(avail-adapter): send_transaction

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Filippo Costa <[email protected]>
Co-authored-by: theochap <[email protected]>
Co-authored-by: Preston Evans <[email protected]>
Co-authored-by: Nikolai Golub <[email protected]>
Co-authored-by: Blazej Kolad <[email protected]>
Co-authored-by: Filippo Neysofu Costa <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dubbelosix <[email protected]>
Co-authored-by: dubbelosix <[email protected]>
Co-authored-by: Andreas Tzionis <[email protected]>
Co-authored-by: omahs <[email protected]>
Co-authored-by: Filippo Neysofu Costa <[email protected]>
Co-authored-by: Cem Özer <[email protected]>
Co-authored-by: Preston Evans <[email protected]>
Co-authored-by: Esad Yusuf Atik <[email protected]>
Co-authored-by: orkunkilic <[email protected]>
Co-authored-by: Victor Lopes <[email protected]>
Co-authored-by: Cem Özer <[email protected]>
  • Loading branch information
18 people authored Sep 6, 2023
1 parent 583dd1b commit f94554f
Show file tree
Hide file tree
Showing 412 changed files with 21,942 additions and 8,928 deletions.
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[patch.crates-io]
cc = { git = "https://github.com/rust-lang/cc-rs", rev = "e5bbdfa" }
42 changes: 23 additions & 19 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,15 @@ name: Rust
# so you're not wasting money unless several cores are sitting idle for long.

on:
# Relevant docs:
# - https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue#how-merge-queues-work
# - https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#merge_group
merge_group:
types: ["checks_requested"]
push:
branches: ["nightly", "stable"]
paths-ignore:
- "**.md"
pull_request:
branches: ["nightly", "stable"]
paths-ignore:
- "**.md"

env:
CARGO_TERM_COLOR: always
Expand All @@ -56,13 +57,14 @@ env:
# Source: <https://stackoverflow.com/a/72408109/5148606>
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
# Except in `nightly` and `stable` branches! Any cancelled job will cause the
# CI run to fail, and we want to keep a clean history for major branches.
cancel-in-progress: ${{ (github.ref != 'refs/heads/nightly') && (github.ref != 'refs/heads/stable') }}

jobs:
check:
name: check
runs-on:
group: 8-cores_32GB_Ubuntu Group
runs-on: buildjet-4vcpu-ubuntu-2204
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
Expand All @@ -71,6 +73,7 @@ jobs:
run: rustup show
- uses: Swatinem/rust-cache@v2
with:
cache-provider: "buildjet"
shared-key: cargo-check
save-if: ${{ github.ref == 'refs/heads/nightly' }}
workspaces: |
Expand All @@ -89,8 +92,7 @@ jobs:
# building dependencies, only chceking them, so we can share caches
# effectively.
needs: check
runs-on:
group: 8-cores_32GB_Ubuntu Group
runs-on: buildjet-4vcpu-ubuntu-2204
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
Expand All @@ -101,6 +103,7 @@ jobs:
uses: taiki-e/install-action@cargo-hack
- uses: Swatinem/rust-cache@v2
with:
cache-provider: "buildjet"
shared-key: cargo-check
save-if: ${{ github.ref == 'refs/heads/nightly' }}
workspaces: |
Expand All @@ -110,8 +113,7 @@ jobs:
- name: cargo hack
run: make check-features
test:
runs-on:
group: 8-cores_32GB_Ubuntu Group
runs-on: buildjet-4vcpu-ubuntu-2204
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
Expand All @@ -122,6 +124,7 @@ jobs:
- uses: taiki-e/install-action@nextest
- uses: Swatinem/rust-cache@v2
with:
cache-provider: "buildjet"
shared-key: cargo-build
save-if: ${{ github.ref == 'refs/heads/nightly' }}
workspaces: |
Expand All @@ -136,15 +139,15 @@ jobs:
# `test` has already built dependencies, so we can share
# caches (the profile is `dev` in both cases).
needs: test
runs-on:
group: 8-cores_32GB_Ubuntu Group
runs-on: buildjet-8vcpu-ubuntu-2204
steps:
- uses: actions/checkout@v3
- uses: rui314/setup-mold@v1
- name: Install Rust
run: rustup show
- uses: Swatinem/rust-cache@v2
with:
cache-provider: "buildjet"
shared-key: cargo-build
save-if: ${{ github.ref == 'refs/heads/nightly' }}
workspaces: |
Expand All @@ -163,7 +166,7 @@ jobs:
SECONDS=0
while ((SECONDS <= 1200))
do
if curl -f -s -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"bank_supplyOf","params":["sov1zdwj8thgev2u3yyrrlekmvtsz4av4tp3m7dm5mx5peejnesga27svq9m72"],"id":1}' http://127.0.0.1:12345; then
if curl -f -s -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"bank_supplyOf","params":["sov16m8fxq0x5wc5aw75fx9rus2p7g2l22zf4re72c3m058g77cdjemsavg2ft"],"id":1}' http://127.0.0.1:12345; then
echo "demo-rollup is up"
exit 0
fi
Expand All @@ -183,7 +186,7 @@ jobs:
SECONDS=0
while ((SECONDS <= 300))
do
if curl -f -s -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"bank_supplyOf","params":["sov1zdwj8thgev2u3yyrrlekmvtsz4av4tp3m7dm5mx5peejnesga27svq9m72"],"id":1}' http://127.0.0.1:12345 | grep -q 1000; then
if curl -f -s -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"bank_supplyOf","params":["sov16m8fxq0x5wc5aw75fx9rus2p7g2l22zf4re72c3m058g77cdjemsavg2ft"],"id":1}' http://127.0.0.1:12345 | grep -q 1000; then
echo "demo-rollup test succeeded"
exit 0
fi
Expand All @@ -200,8 +203,7 @@ jobs:
# profile from the rest of the codebase, so caches can't be shared.
check-demo-prover:
name: check demo prover
runs-on:
group: 8-cores_32GB_Ubuntu Group
runs-on: buildjet-4vcpu-ubuntu-2204
timeout-minutes: 90
steps:
- uses: actions/checkout@v3
Expand All @@ -210,6 +212,7 @@ jobs:
run: rustup show
- uses: Swatinem/rust-cache@v2
with:
cache-provider: "buildjet"
save-if: ${{ github.ref == 'refs/heads/nightly' }}
workspaces: |
.
Expand All @@ -225,8 +228,7 @@ jobs:
exit 1
fi
coverage:
runs-on:
group: 8-cores_32GB_Ubuntu Group
runs-on: buildjet-8vcpu-ubuntu-2204
timeout-minutes: 90
steps:
- uses: actions/checkout@v3
Expand All @@ -241,6 +243,7 @@ jobs:
uses: taiki-e/install-action@cargo-llvm-cov
- uses: Swatinem/rust-cache@v2
with:
cache-provider: "buildjet"
save-if: ${{ github.ref == 'refs/heads/nightly' }}
workspaces: |
.
Expand Down Expand Up @@ -277,6 +280,7 @@ jobs:
run: rustup show
- uses: Swatinem/rust-cache@v2
with:
cache-provider: "buildjet"
shared-key: cargo-check
save-if: ${{ github.ref == 'refs/heads/nightly' }}
workspaces: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
.idea/

target/
fuzz/Cargo.lock

.DS_Store

Expand Down
Loading

0 comments on commit f94554f

Please sign in to comment.