github kroma-network/kroma v2.0.0

2 months ago

Major Changes

This upgrade mainly includes the transition of validator system from ETH-based to KRO-based. KRO-based validator system is Delegated Proof of Stake (DPoS) system based on Kroma's governance token (KRO) and Kroma Guardian House (KGH) NFT. For more details about the new validator system, please refer the specification.

After the transition to the KRO-based validator system, existing validators will no longer be able to operate as validators. To continue participating in the validator network, the validators should upgrade their node to v2.0.0 and register to the KRO-based validator system after the transition. The activation time of KRO-based validator system is as follows:

  • Kroma Mainnet: TBD
  • Kroma Sepolia: after Tue Sep 10 2024 06:04:12 UTC (from output index 129446)

This upgrade is optional for full node operators other than validators.

What's Changed

  • feat(contracts): implement ValidatorManager and upgrade validator system in L2OutputOracle by @seolaoh in #277
  • feat(contracts): upgrade validator system in Colosseum by @seolaoh in #309
  • feat(validator): implement validator client and fix actions test by @sm-stack in #288
  • feat(validator): add subcommands for the new validator system by @sm-stack in #302
  • test(validator): add challenger actions test for ValidatorManager by @seolaoh in #317
  • feat(validator): modify guardian to handle challenger timeout by @seolaoh in #320
  • feat(contracts): support validator system V2 from genesis by @seolaoh in #322
  • test(e2e): add tests about validator system V2 by @seolaoh in #323
  • fix: remove validator from tree when sending to jail by @seolaoh in #325
  • fix(contracts): fix some bugs related to AssetManager by @seolaoh in #327
  • fix(validator): change challenger and guardian to scan until head L1 by @seolaoh in #330
  • feat: implement governance token minting and distribution by @seolaoh in #333
  • feat(contracts): increase share unit of MintManager by @seolaoh in #334
  • feat(contracts): implement vesting wallet by @seolaoh in #335
  • feat: apply audit results about token minting and distribution by @seolaoh in #336
  • chore: update artifact of ZKVerifier for v1.4.3 on mainnet by @0xHansLee in #332
  • chore(contracts): add token deployments for Sepolia, Kroma Sepolia by @seolaoh in #338
  • chore(contracts): add token deployments for Ethereum, Kroma by @seolaoh in #339
  • chore(contracts): update MintManager deployment of Ethereum by @seolaoh in #340
  • feat(contracts): apply audit results about vesting wallet by @seolaoh in #342
  • feat(contracts): add withdraw account to validator by @0xHansLee in #343
  • feat: add delay of commission rate change by @seolaoh in #345
  • feat(contracts): separate validator kro from delegation pool by @0xHansLee in #344
  • feat(contracts): fix interface of ValidatorManager, AssetManager by @seolaoh in #346
  • feat(contracts): bond validator KRO by @seolaoh in #347
  • feat: implement claimKghReward function by @sm-stack in #348
  • feat: remove KGH share and modify KGH delegation func by @0xHansLee in #349
  • feat(contracts): separate jail period by @sm-stack in #352
  • feat(contracts): unbond validator KRO by @seolaoh in #351
  • feat(contracts): add transferFrom when increasing reward of vault by @sm-stack in #354
  • feat(contracts): update validator reward calculation by @sm-stack in #355
  • feat(contracts): implement 1-step undelegation of KRO by @0xHansLee in #350
  • feat(contracts): implement 1-step undelegation for KGH by @0xHansLee in #353
  • chore: remove 2 step claim of validator reward. by @0xHansLee in #356
  • feat(contracts): remove KRO in KGH by @seolaoh in #358
  • feat(contracts): add withdraw method for validator by @sm-stack in #357
  • test(contracts): setup for AssetManager and ValidatorManager by @seolaoh in #359
  • docs: rectify typographical inaccuracies by @nnsW3 in #337
  • test(contracts): add AssetManager tests by @seolaoh in #361
  • feat: change validator client subcommands by @sm-stack in #360
  • feat: modify validator client for validator system V2 by @sm-stack in #362
  • test(contracts): modify Colosseum tests related to V2 by @seolaoh in #363
  • test: fix validator manager contract tests by @0xHansLee in #364
  • feat(contracts): modify deploy scripts by @seolaoh in #365
  • test(validator): modify e2e tests related to V2 by @seolaoh in #366
  • feat(contracts): auto activate validator when deposit by @seolaoh in #367
  • fix(validator): modify validator to be able to turn on without V2 by @seolaoh in #368
  • fix(validator): disable validator to be turned on without V2 by @seolaoh in #369
  • fix(contracts): avoid overflow error during calculating output reward of SC by @seolaoh in #370
  • fix(contracts): not upgrade already deployed contract by @seolaoh in #371
  • feat(contracts): apply audit results by @seolaoh in #373
  • feat: implement KRO-based validator system by @seolaoh in #374
  • fix(contracts): update jail expiration timestamp correctly by @seolaoh in #376
  • ci: fix sdk build failure by @seolaoh in #377
  • feat: merge dev into main by @seolaoh in #378

New Contributors

Full Changelog: v1.4.3...v2.0.0

Don't miss a new kroma release

NewReleases is sending notifications on new releases.