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. The activation time of KRO-based validator system is as follows:
- Kroma Mainnet: after
Wed Oct 30 2024 05:20:00 UTC
(from output index10107
) - Kroma Sepolia: after
Tue Sep 10 2024 06:04:12 UTC
(from output index129446
)
This upgrade is optional for full node operators other than validators.
What's Changed
- feat(contracts): implement
ValidatorManager
and upgrade validator system inL2OutputOracle
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
andValidatorManager
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