github kroma-network/kroma v0.3.0

latest releases: v2.0.0, v2.0.0-rc.1, v1.4.3...
14 months ago

This is a major release for Kroma Sepolia public testnet.

User Facing Changes

  • A required flag VALIDATOR_L2_ETH_RPC is added. This flag requires L2 geth RPC, which is for generating proof in challenge process.
  • Prover communication gateway is changed from gRPC to jsonRPC, so VALIDATOR_PROVER_GRPC is renamed to VALIDATOR_PROVER_RPC.
  • For consistency and readability, VALIDATOR_OUTPUT_SUBMITTER_DISABLED, VALIDATOR_CHALLENGER_DISABLED are renamed to VALIDATOR_OUTPUT_SUBMITTER_ENABLED, VALIDATOR_CHALLENGER_ENABLED. Both are required flags now.
  • When creating a challenge, too large bond in the output would put pressure on challenger, so changed the bond amount of each output to a fixed amount. Therefore, VALIDATOR_OUTPUT_SUBMITTER_BOND_AMOUNT is deleted.

🐳 Docker images are available on Docker Hub.

Feature

Multiple challenges on one output have been implemented. Additionally, ZK proof verifier has been enabled in Colosseum.

Contracts

  • feat(contracts): unbond multiple bonds by @seolaoh in #104
  • feat: prevent progressing challenge of finalized output by @seolaoh in #119
  • feat!: rename variables by @TomTaehoonKim in #86
  • feat!: accept multiple challenge and modify to fulfill stage2 by @Pangssu in #126
  • feat(contracts): add function for forcefully deleting output root by @Pangssu in #132
  • feat!: add ZK proof verifier to colosseum by @0xHansLee in #125
  • feat(contracts): add check if L1 block hash is non zero by @seolaoh in #157
  • fix(contracts): set validator reward scalar to system config contract by @Pangssu in #154
  • fix(contracts): modify the forge-verify script for the new foundry version by @Pangssu in #159
  • feat(contracts): add contracts about Multi sig based proxy upgrade by @kangsorang in #138
  • feat(contract): add zero timelock for urgent situation by @kangsorang in #167
  • feat(contract): change permissions for securityCouncil by @kangsorang in #168
  • feat(contracts): improvement ZKVerifier contract by @Pangssu in #171

Client

  • test(e2e): add challenger timeout fail test by @kangsorang in #85
  • feat(validator): add validator metrics by @Pangssu in #113
  • feat!(validator): rename output submitter and challenger flags by @0xHansLee in #114
  • perf(validator): handle errors of validator's transactions by @kangsorang in #101
  • test(e2e): add challenge timeout fail case by @kangsorang in #115
  • feat: prevent progressing challenge of finalized output by @seolaoh in #119
  • chore: apply hotfix v0.2.2 by @seolaoh in #124
  • feat!: rename variables by @TomTaehoonKim in #86
  • feat!(validator): handle multiple challenges on one output by @seolaoh in #128
  • feat(node): upstream rollup node p2p by @Pangssu in #136
  • feat(validator): change validator reward scalar to 1 by @0xHansLee in #146
  • fix: fix parse of jsonRPC response from prover by @0xHansLee in #156
  • chore(validator): add detailed info of challenge by @0xHansLee in #162
  • feat(validator): prevent proving fault when output is already deleted by @seolaoh in #163
  • feat(validator): inspect outputs which have undeniable bug by @0xHansLee in #155
  • feat(batcher): add ChannelComprRatioValue metrics by @jyc228 in #165
  • fix(validator): skip request deletion when output already been deleted by @0xHansLee in #169
  • fix(validator): prevent challenger restart while sync by @seolaoh in #166

Docs

  • docs: update specs - differences from Optimism by @therocks in #102
  • docs(validator): validate withdrawal storage root against state root by @seolaoh in #112
  • docs(validator): add ValidatorPool address to validator deposit guide by @seolaoh in #118

Others

Related to Audit

Some reported issues by Theori audit have been applied.

Contracts

  • fix: fix vulnerabilities reported to ZKTRIE by @jyc228 in #127
  • fix: validate compressedFlags by @jyc228 in #134
  • fix(contracts): release public input hash in dismissChallenge by @kangsorang in #143
  • chore(contract): initialization for ReentrancyGuardUpgradeable by @kangsorang in #141
  • fix(contracts): change to send ETH to zero address when burning by @Pangssu in #145
  • feat(contracts): remove validation reward penalty by @Pangssu in #137
  • feat: apply upstream(Optimism) bugfixes by @seolaoh in #135
  • fix(contracts): fix logic after output finalized in challenger timeout by @kangsorang in #144
  • feat(contracts): improvement for the next validator selection by @kangsorang in #147
  • feat: apply upstream(Optimism) bugfixes more by @seolaoh in #148
  • feat(contracts): check l1 blockhash when creating challenge by @Pangssu in #149
  • feat(contracts): change the bond amount to a fixed value by @Pangssu in #150
  • chore(contracts): remove safely modified comment in L2OutputOracle by @seolaoh in #158
  • feat(contracts): apply taxation on challenge rewards by @Pangssu in #161
  • fix(chain-ops): change portal guardian to multisig wallet by @kangsorang in #164

Client

New Contributors

Full Changelog: v0.2.2...v0.3.0

Don't miss a new kroma release

NewReleases is sending notifications on new releases.