v0.2.0-alpha
preston-evans98
released this
14 Sep 15:06
·
257 commits
to nightly
since this release
This tag marks the second Alpha release of the Sovereign SDK. As of this release, Sovereign is suitable for building demo apps but should not be deployed in production.
Summary
Some key changes from this release are highlighted here:
- Implement incentive management for Optimistic Rollups
- Implement incentive management for based sequencing with soft-confirmations
- Implement experimental EVM support
- Implement FCFS sequencer with RPC support
- Implement generic support for CLI wallets
- Implement JSON schema support
- Implement generic
StateTransitionRunner
andStateTransitionVerifier
to run and zk-prove rollups - Improve RPC generation, including support for multiple rollup
Spec
s - Simplify
StateTransitionFunction
andDaService
interfaces - Improve documentation
- Numerous bug fixes and stability improvements
- Numerous minor API improvements
Changelog
- Add
new_signed_tx
tosov-module-api::transaction::Transaction
by @bkolad in #376 - generalizing the bank-cmd tool to be able to generate serialized txns for all modules in Runtime issue: #358 by @dubbelosix in #371
- docs: fix typo in demo-rollup by @jcstein in #380
- docs: fix bank-cmd references by @cemozerr in #382
- Remove vendored
temppath
by @citizen-stig in #385 - Fix link to code coverage by @citizen-stig in #386
- Add basic batch builder by @citizen-stig in #370
- Modules: WorkingSet refactoring. by @bkolad in #384
- Only run Rust workflow on particular set of files by @citizen-stig in #387
- Theo/add macro runtime by @theochap in #364
AppTemplate::apply_batch()
refactoring by @bkolad in #390- Clippy fixes after alpha release by @citizen-stig in #392
- Tests for ledger rpc by @theochap in #394
- Fix tests in
sov-modules-macros
by @bkolad in #398 - Allow rpc tests to choose random port by @citizen-stig in #400
- Enable Cargo Clippy in CI by @citizen-stig in #399
- Adding a local docker setup to run a single node celestia instance by @dubbelosix in #395
- Submit batch to da layer by @citizen-stig in #396
sov-modules-macros
refactoring by @bkolad in #404expose_rpc
macro works withRuntime
by @bkolad in #406- Txs RPC module by @citizen-stig in #402
sov-evm
module part1 by @bkolad in #414- Partial verification of blob by @theochap in #401
- Update issue templates by @cemozerr in #416
- ApplyBlobHooks, always call
end_blob_hook
: iteration 2 by @citizen-stig in #415 - Add support for Validity Conditions by @preston-evans98 in #418
- Switch to bech32m address encoding by @preston-evans98 in #420
- Write slot as atomic batch by @preston-evans98 in #422
- Implement EvmDb for WorkingSet by @bkolad in #424
- Multiple sequencers registration and exit by @citizen-stig in #410
- Fix Jupiter and Sov-CLI bugs by @preston-evans98 in #437
- reorganize readme to include localsetup in the main section and move the remote setup to its own file by @dubbelosix in #440
- Adjust cache for cargo by @citizen-stig in #439
- Sequencer crate by @citizen-stig in #430
- Use big-endian 32-bit keys in
db_test.rs
by @neysofu in #444 - add basic demo rollup + local celestia check to github workflow by @dubbelosix in #442
- Update demo-rollup README.md by @cemozerr in #448
- Implement
call
method for theEVM module
by @bkolad in #449 - Fuzzing tests for ledger rpc by @theochap in #403
- Move DB-related traits/items from
sov_rollup_interface
intosov_schema_db
by @neysofu in #454 - EVM module:
send_transaction
API test by @bkolad in #455 - Fix demo-prover with changes in tx verification by @citizen-stig in #460
- Improve
sov_schema_db
documentation by @neysofu in #463 rustfmt
: more deterministic imports formatting by @neysofu in #464- Create benchmark scripts for demo-rollup running in native mode by @dubbelosix in #458
- Implement
genesis
for the Evm module by @bkolad in #467 - Remove experimental from default features in
EVM
module by @bkolad in #470 - Publish
cargo doc
assets to GH pages by @neysofu in #468 - fix readme instructions and test data to run correctly when tutorial is followed exactly by @dubbelosix in #479
- Various improvements to
demo-rollup/README.md
by @neysofu in #477 - Fix CI: Fix GH Pages file permissions and
index.html
by @neysofu in #474 sov-cli
can submit transactions tosov-sequencer
and can trigger publishing batch by @citizen-stig in #446- Add missing docs to rollup-interface. Cleanup module structure. by @preston-evans98 in #483
- Make Celestia RPC timeout configurable by @preston-evans98 in #482
- EVM: basic implementation of eth_sendRawTransaction by @bkolad in #487
- Pin foundry version in CI by @bkolad in #486
sov-ethereum
: removeexperimental
formdefault
features by @bkolad in #490- Logging improvements in
Bank
module by @citizen-stig in #489 - EVM module: add
eth_getTransactionByHash
endpoint by @bkolad in #491 - Update CI for nightly branch &
foundry
by @bkolad in #496 - Update links for branch renaming by @preston-evans98 in #495
- Make
DaService
async by @bkolad in #508 - Bump
rust-rocksdb
to 0.21.0 by @neysofu in #499 - De-anonymizing BlobTransactionTrait in STF by @citizen-stig in #500
- CI set big runner for cargo hack by @bkolad in #518
- make
DaService::get_extraction_proof
async by @bkolad in #511 - EVM:
get_transaction_receipt & eth_call
endpoints implementation. by @bkolad in #513 - Add dependabot by @bkolad in #521
- New
ModuleCallJsonSchema
macro to generate JSON Schemas viaschemars
by @neysofu in #517 - CI: Remove space from
dependabot.yml
by @bkolad in #526 - Remove unused dependecies by @citizen-stig in #523
- Update to risc0 v0.16 by @preston-evans98 in #520
- Update hex-literal requirement from 0.3.4 to 0.4.1 by @dependabot in #531
- Update base64 requirement from 0.13.1 to 0.21.2 by @dependabot in #532
- Bump timeout for doc job by @citizen-stig in #538
- JSON Schemas for all built-in modules by @neysofu in #525
- Add missing doc for the
sov-modules-stf-template
crate. by @bkolad in #540 - sov-modules: Ensure that the internal structure of modules implementation is private. by @bkolad in #541
- Blob storage module by @citizen-stig in #510
- Preferred sequencer in registry by @citizen-stig in #535
- Add missing docs in
sov-accounts
by @bkolad in #545 - Hide
sov-modules-macros
for all public APIs; re-export fromsov-modules-api
by @neysofu in #542 - Make tests independent of OS and language. by @LukaszRozmej in #554
- Add Cargo.lock to git by @bkolad in #556
- Bump openssl from 0.10.52 to 0.10.55 by @dependabot in #557
- CI improvements: dependabot frequency, experimental testing by @neysofu in #559
- Remove hack for prev_block_hash in Celestia genesis by @preston-evans98 in #553
- add macros to generate clap commands and args for modules in runtime by @dubbelosix in #423
- Add missing docs to sov-db by @preston-evans98 in #568
- EVM: Remove hardcoded private key form
Ethereum
RPC by @bkolad in #571 - Allow all
Runtime
macros to handle multiple generics by @preston-evans98 in #575 - Sorting modules by dependencies by @LukaszRozmej in #549
- EVM: remove
anvil-core
dependency and use types fromreth
instead. by @bkolad in #574 - Change query methods return type from
SomeType
toRpcResult<SomeType>
by @bkolad in #582 - Improve generated cli help by @preston-evans98 in #581
- Add release checklist by @preston-evans98 in #580
- CI cache improvements by @neysofu in #572
- Change STF to work on block level instead of batch level by @citizen-stig in #560
- update jsonrpsee to v18.2 by @bkolad in #597
- Evaluate Swatinem
save-if
conditions by @neysofu in #599 - Install Rust in CI with
rustup show
, notfrom setup-rust-toolchain@v1
by @neysofu in #604 - Remove
array_chunks
nightly feature, as it seems to be unused by @citizen-stig in #605 - Remove
array_windows
feature to be closer to stable rust by @citizen-stig in #606 - Remove
jmt::SimpleHasher
from rollup interface; Add PrivateKey trait by @preston-evans98 in #608 - Feature gate
jsonrpsee
insov-modules-macros
by @preston-evans98 in #613 - Docs for the
value-setter
module by @bkolad in #610 - StateTransitionRunner refactoring. by @bkolad in #614
- Create new
cli
library with a simplified interface by @preston-evans98 in #623 - Throw error if runtime has duplicate modules by @preston-evans98 in #628
- remove use AddressTrait from ModuleInfo macro by @LukaszRozmej in #636
- EVM: Initialize CfgEnv before transaction execution by @LukaszRozmej in #627
- Missing docs for
demo-simple-stf
by @bkolad in #637 - Chain state module by @theochap in #598
- Refactoring buf reader by @theochap in #593
- Add missing docs for bank, prover-incentives, demo-rollup and const-rollup-config by @theochap in #592
- EVM: Recovering transaction signer in the EVM module. by @bkolad in #639
- Refactor
CelestiaAddress
by @citizen-stig in #551 - Fix after CelestiaAddress refactoring: correct comparison for sender by @citizen-stig in #660
- Remove
associated_type_defaults
making Sovereign SDK stable compatible by @citizen-stig in #649 - Based Sequencer with Soft Confirmations: deferring blob from execution by @citizen-stig in #596
- Allow custom (de)serialization logic for
#[state]
by @neysofu in #648 - Bump tokio from 1.29.1 to 1.31.0 by @dependabot in #659
- Add Demo NFT module docs by @citizen-stig in #642
- Add generic address to
SequencerOutcome
by @citizen-stig in #652 - Mock refactoring in
rollup-interface/src/state_machine/mocks
by @bkolad in #661 - Add a benchmark/profiler to count cycles in demo-prover by @dubbelosix in #577
- Simplify generics in
AppTemplate
. by @bkolad in #662 - Move
module-template
tests into integration tests directory by @neysofu in #665 - Use DaService in
sov-ethereum
. by @bkolad in #668 - Rename jupiter to celestia by @bkolad in #670
- Remove preferred seq. address in
SequencerConfig
; usebool
by @neysofu in #672 sov-sequencer-registry
module docs by @neysofu in #674RollupConfig
cleanup by @bkolad in #677- Typo in ledger_rpc.rs by @LiveDuo in #678
- Rollup strcture in demo-rollup by @bkolad in #680
- Optimistic by @theochap in #650
- Celestia docker compose: several nodes by @citizen-stig in #682
- Bump parking_lot from 0.11.2 to 0.12.1 by @dependabot in #696
- Bump serde from 1.0.183 to 1.0.185 by @dependabot in #698
- Bump quote from 1.0.32 to 1.0.33 by @dependabot in #701
- Bump tokio from 1.31.0 to 1.32.0 by @dependabot in #702
- Run CI even for
*.md
changes by @neysofu in #704 - fix: typos by @omahs in #687
- Update README.md by @cemozerr in #683
- Implement
Default
forPairOfCodecs
by @neysofu in #703 - Make "native" feature non default by @citizen-stig in #664
- Functionality for submitting several blobs in single DA block by @citizen-stig in #690
- Refactor
sov-cli
into a library by @preston-evans98 in #708 - DA mock implementation by @bkolad in #686
- Minor fixes in demo-rollup to filter out transaction registrations by @citizen-stig in #712
- Implement State Vectors by @eyusufatik in #685
StateVec
PR followup by @neysofu in #688- Hash-encode keys in
StateMap
instead of serializing them with a codec by @neysofu in #718 - Split AddressTrait by @citizen-stig in #720
- EVM remove receipt type by @bkolad in #719
- Use
MockAddress
insov-sequencer-registry
tests. by @bkolad in #725 - Fix
#[state(codec_builder = ...)
test by @neysofu in #723 - Add create-token integration test by @preston-evans98 in #716
- Fixing
where
bounds for rpc_gen by @citizen-stig in #726 - Generate docs in rpc macros by @preston-evans98 in #729
- EVM test cleanup by @bkolad in #732
- Update CI to run in the merge queue (+ smaller runners) by @neysofu in #734
- Add docs for examples/demo-prover by @dubbelosix in #730
- Use MockAddress in demo-rollup benches. by @bkolad in #738
- Bump serde from 1.0.185 to 1.0.188 by @dependabot in #746
- Bump reqwest from 0.11.18 to 0.11.20 by @dependabot in #745
- CLEANUP: remove sov-election module since we don't need it and modify tests using it to use sov-bank by @dubbelosix in #739
- Update
end_slot_hook
by @bkolad in #742 - Migrate to buildjet by @preston-evans98 in #748
- Skip
default
feature checking when runningmake check-features
, don't cancel jobs onnightly
/stable
by @neysofu in #741 - Allow modules to mint on their own authority by @preston-evans98 in #728
- Modify risc0 tracer util to print function stack to enable better debugging by @dubbelosix in #711
- Remove unnecessary generic from
MockBlob
by @bkolad in #749 - feat: add fuzzing by @vlopes11 in #651
- Fix job cancellation in CI by @neysofu in #751
- Split
Storage::validate_and_commit
into two separate methodsStorage::calculate_root_hash...
andStorage::commit
by @bkolad in #752 - Fix
expose_rpc
macro with associated types by @citizen-stig in #733 - Allow modules to burn coins by @preston-evans98 in #756
- Move
BlobReader
bound from to trait inBlobSelector
by @citizen-stig in #759 - Add Bitcoin DA Adapter link to README by @orkunkilic in #758
- Add RPC for
chain-state
module by @citizen-stig in #760 - Specify version of
jmt
which contains fix by @citizen-stig in #762 - Remove separate "serde" feature by @citizen-stig in #761
- Bump dalek-ed25519 to 2.0.0 by @citizen-stig in #667
- Fix
expose_rpc
macro to handle all cases of generics from Runtime by @citizen-stig in #764 - EVM: Allow DA blobs with multiple transactions. by @bkolad in #767
- Add doc generation to the
genesis
macro. by @bkolad in #772 - Add a test case to
demo-simple-stf
by @bkolad in #774 - Add docs to
DispatchCall
macro by @bkolad in #775 - Plug in
sov-chain-state
module by @citizen-stig in #776 - Refactor Generics to use Specs by @citizen-stig in #780
- EVM: Placeholder for the
begin_slot_hook
by @bkolad in #785 - Re-exporting important types from sov-rollup-interface by @citizen-stig in #781
blob-storage
module usingchain-state
module to retrieve chain state. by @citizen-stig in #782- Add utils for rollup with mock da by @preston-evans98 in #789
- Fix all
rustdoc
warnings by @neysofu in #793 - Non-JMT "accessory" state by @neysofu in #773
- Improve BlobReader interface by @preston-evans98 in #794
- EVM: migrate to reth types by @bkolad in #798
- EVM: pass DA
root_hash
to the evm module by @bkolad in #802 - EVM: Add uniswap test script by @bkolad in #800
- Expose
ModuleInfo::prefix(&self)
by @preston-evans98 in #799 - Implement
moduleAddress
rpc method by @preston-evans98 in #796 - feat: add sovereign.toml manifest file by @vlopes11 in #792
- State: Add serde support for
StateMap, StateValue..
etc structures by @bkolad in #805 - Add
da_layer
flag indemp-rollup
binary. by @bkolad in #812 - Remove remote_setup.md. Fix typo by @preston-evans98 in #815
- Allow modules to query token names by @preston-evans98 in #821
- fix keypair/private_key discrepancy for sov-cli by @dubbelosix in #811
- Initializes pending block on begin slot + genesis block by @LukaszRozmej in #803
- Add missing
derive(serde..)
toBcsCodec & JsonCodec
by @bkolad in #823 - Bug fix: StateMap::Keys are not consistent across platforms by @preston-evans98 in #804
- Refactoring to unify evm Address and U256 types, serializing with serde by @LukaszRozmej in #825
- Prepend
sov-
prefix to all releasable crates by @neysofu in #824 - Refactor - Remove EvmTransactionSignedEcRecovered by @LukaszRozmej in #826
- EVM: Add eth endpoints for the
uniswap
scritpt. by @bkolad in #827 - Switch from integer to float division for benchmark table by @preston-evans98 in #828
- Fix benchmark genesis address to match block production address by @dubbelosix in #829
- EVM: Introduce DevSigner by @bkolad in #837
- Unify
ValidityCondition
andBlobTransaction
generics underDaSpec
. RemoveSlotData
from STF API. by @preston-evans98 in #838 - Enable end-to-end integrations tests including prover->verifier workflow by @preston-evans98 in #842
- EVM: support for
eth_accounts
by @bkolad in #843 - Fix nits from STV by @preston-evans98 in #846
- Add doc generation to cli_parser by @bkolad in #848
demo-prover
dependency cleanup. by @bkolad in #852- EVM: Storage improvements , Blocks, Transactions, Receipts by @LukaszRozmej in #830
- EVM Remove #501 todos by @bkolad in #849
- Evm/trim packages by @LukaszRozmej in #858
New Contributors
- @jcstein made their first contribution in #380
- @theochap made their first contribution in #364
- @dependabot made their first contribution in #531
- @LiveDuo made their first contribution in #678
- @omahs made their first contribution in #687
- @eyusufatik made their first contribution in #685
- @orkunkilic made their first contribution in #758
Full Changelog: v0.1.0-alpha...v0.2.0-alpha