v0.13.0
Release Overview
Breaking Change
Rollkit now supports both gRPC and jsonRPC for talking to the DA layer via the go-da interface. To continue using the previous gRPC connection, update your url target to the following format: grpc://localhost:26650
.
Previous:
--rollkit.da_address = localhost:26650
Updated:
--rollkit.da_address = grpc://localhost:26650
IBC & CometBFT RPC Equivalence
Rollkit is now IBC compatible and fully CometBFT RPC Equivalent. See IBC connection guide here.
DA Submission Improvements
Introduces Fee Autoscaling with the --rollkit.da_gas_multiplier
flag. See docs.
Handles the following errors from the go-da interface:
- timed out waiting for tx to be included in a block
- incorrect account sequence
- tx already in mempool
- tx too big
See relevant issue comment here.
Pending Blocks Updates
Pending blocks are now persisted in the Store
module, so no pending blocks are lost on a restart of the sequencer node. Related issue here.
Audit Updates
This version was independently audited by two audit teams, Informal Systems and Binary Builders. See updated README and issues tagged with labels:informal-audit-issue
and bb-audit-issue
.
Rollkit CLI
The rollkit
cli tool was finally merged! 🚀
Install the cli tool with make install
.
Quickly spin up a rollup with rollkit start
.
We are looking to add a lot more functionality to the cli, so if you have ideas, please submit an issue!
What's Changed
- Fix Inefficient usage of mutex in PendingBlocks by @Manav-Aggarwal in #1460
- Replace SyncStatus with atomic.Bool by @Manav-Aggarwal in #1459
- Add a default erroring case on unknown enums in DA by @Manav-Aggarwal in #1466
- Do proposer check immediately by @Manav-Aggarwal in #1467
- Check for closure of txAvailable channel by @Manav-Aggarwal in #1468
- Compute empty evidence hash constantly by @Manav-Aggarwal in #1463
- Fix Store related BB audit issues by @Manav-Aggarwal in #1465
- refactor: replace switch statement with if condition for error handling by @Chirag018 in #1469
- Use sync.Map in block cache instead of one mutex lock by @Manav-Aggarwal in #1480
- chore: make log human readable by @MSevey in #1498
- Resolve multiple BB audit issues by @Manav-Aggarwal in #1478
- chore: bump cometbft to v0.38.4 by @MSevey in #1502
- change genesis InitialHeight behavior by @S1nus in #1413
- Update auto_request_review.yml by @MSevey in #1505
- ignore validation failed error for the genesis block by @gupadhyaya in #1499
- build(deps): Bump actions/setup-go from 4 to 5 by @dependabot in #1392
- build(deps): Bump github.com/quic-go/quic-go from 0.37.6 to 0.37.7 by @dependabot in #1440
- refactor: Use atomic.Uint64 for height in DefaultStore by @Chirag018 in #1497
- build(deps): Bump codecov/codecov-action from 3.1.4 to 3.1.5 by @dependabot in #1506
- build(deps): Bump rollkit/.github from 0.2.2 to 0.3.0 by @dependabot in #1384
- build(deps): Bump github.com/libp2p/go-libp2p-pubsub from 0.9.3 to 0.10.0 by @dependabot in #1315
- build(deps): Bump github.com/quic-go/quic-go from 0.39.3 to 0.39.4 by @dependabot in #1510
- build(deps): Bump github.com/celestiaorg/go-header from 0.5.1 to 0.5.2 by @dependabot in #1470
- refactor: Replace unnecessary external lib with standard errors.Join by @Chirag018 in #1503
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in #1513
- Cast to uint64 from int64 instead of other way by @Manav-Aggarwal in #1516
- mempool: Add metric size of pool in bytes by @hoanguyenkh in #1508
- chore: enhance full client status tests by @00x-dx in #1504
- build(deps): Bump github.com/cometbft/cometbft from 0.38.4 to 0.38.5 by @dependabot in #1514
- build(deps): Bump codecov/codecov-action from 3.1.5 to 4.0.0 by @dependabot in #1519
- build(deps): Bump google.golang.org/grpc from 1.60.1 to 1.61.0 by @dependabot in #1512
- Revert "chore: enhance full client status tests" by @Manav-Aggarwal in #1521
- build(deps): Bump codecov/codecov-action from 4.0.0 to 4.0.1 by @dependabot in #1523
- da: add submit, get context timeouts by @tuxcanfly in #1507
- build(deps): Bump github.com/celestiaorg/go-header from 0.5.2 to 0.5.3 by @dependabot in #1528
- IBC for rollkit (JTMB IBC) by @vuong177 in #1424
- Disable ISRs in Block Data by @Manav-Aggarwal in #1532
- Handle duplicate block submission by @Manav-Aggarwal in #1471
- Add test cases to consensus params validate by @Manav-Aggarwal in #1536
- refactor: add missing stop ticker by @hoanguyenkh in #1541
- build(deps): Bump golang.org/x/net from 0.20.0 to 0.21.0 by @dependabot in #1543
- fix(da): update to go-da v0.4.0; add namespace flag by @tuxcanfly in #1542
- Status rpc by @gupadhyaya in #1547
- [DA] Fix error check for no blocks found in RetrieveBlocks() by @mastergaurang94 in #1546
- Refactor TestGetNodeHeight by @AryanGodara in #1545
- fix: make TestStatus stable by @tzdybal in #1557
- fix: mock CheckTx call for mempool recheck by @tzdybal in #1559
- build(deps): Bump google.golang.org/grpc from 1.61.0 to 1.61.1 by @dependabot in #1551
- fix: remove unnecessary node start in full client test by @tzdybal in #1563
- build(deps): Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by @dependabot in #1538
- docs: fix typos by @vuittont60 in #1549
- Add Rollkit CLI by @Ferret-san in #791
- build(deps): Bump codecov/codecov-action from 4.0.1 to 4.0.2 by @dependabot in #1565
- Improve node and services closing by @tzdybal in #1554
- build(deps): Bump google.golang.org/grpc from 1.61.1 to 1.62.0 by @dependabot in #1567
- build(deps): Bump codecov/codecov-action from 4.0.2 to 4.1.0 by @dependabot in #1566
- Refactor: Extract out repitition of start-stop node pattern by @AryanGodara in #1544
- Quick Fix: Fix wrong changes pushed to main branch from my PR #1544 by @AryanGodara in #1577
- test : Use IsType assertions in test by @PrathyushaLakkireddy in #1574
- fix(da): increase backoff for mempool errors by @tuxcanfly in #1535
- Fix typos by @omahs in #1579
- build(deps): Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #1582
- build(deps): Bump golang.org/x/net from 0.21.0 to 0.22.0 by @dependabot in #1583
- build(deps): Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 by @dependabot in #1584
- fix(sync): check height bound to avoid overflow by @tuxcanfly in #1537
- fix: retract v0.12.0 due to accidental publish by @MSevey in #1588
- Refactor GetRandomSignedHeaders and GetValidatorSet Helpers by @AryanGodara in #1564
- Create an enum for "nodetype" instead of passing "light" and "full" as string literals to functions by @AryanGodara in #1589
- Refactor pending blocks handling by @tzdybal in #1568
- fix(manager): reduce the number of isProposer checks in manager by @arhamj in #1555
- build(deps): Bump github.com/celestiaorg/go-header from 0.5.3 to 0.5.4 by @dependabot in #1581
- Refactor GenerateKey to make it more robust by @AryanGodara in #1580
- build(deps): Bump google.golang.org/grpc from 1.62.0 to 1.62.1 by @dependabot in #1597
- fix(store): avoid set height when GetState() to fix randomly block height mismatch error when start gm rollup by @vuong177 in #1596
- add header and header by hash methods to jsonrpc by @gupadhyaya in #1599
- build(deps): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #1598
- fix(executor): limit block to da max blob size by @tuxcanfly in #1601
- Catch panic when querying non-existent transactions in
full_client.Tx
by @vuong177 in #1585 - test(ut): added tests to check the existing behaviour for block/manager.go by @arhamj in #1550
- fix(da): add jsonrpc da client by @tuxcanfly in #1587
- ci: add ci for the cli for rollkit start cmd by @MSevey in #1603
- fix(manager): only reset custom gas price by @tuxcanfly in #1595
New Contributors
- @Chirag018 made their first contribution in #1469
- @hoanguyenkh made their first contribution in #1508
- @00x-dx made their first contribution in #1504
- @vuong177 made their first contribution in #1424
- @mastergaurang94 made their first contribution in #1546
- @AryanGodara made their first contribution in #1545
- @vuittont60 made their first contribution in #1549
- @PrathyushaLakkireddy made their first contribution in #1574
- @omahs made their first contribution in #1579
- @arhamj made their first contribution in #1555
Full Changelog: v0.11.19...v0.13.0