Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

Add stores to PoA module #8466

Merged
merged 3 commits into from
May 24, 2023

Conversation

ishantiw
Copy link
Contributor

What was the problem?

This PR resolves #8412

How was it solved?

🌱 Initialize stores

How was it tested?

Check all the store files

@ishantiw ishantiw requested review from sitetester and Phanco May 22, 2023 16:02
@ishantiw ishantiw self-assigned this May 22, 2023
@Phanco
Copy link
Contributor

Phanco commented May 22, 2023

LGTM overall, just wonder if we have an agreed standard on $id. Seems /lisk/ isn't used recently

@codecov
Copy link

codecov bot commented May 22, 2023

Codecov Report

Merging #8466 (f515730) into feature/6930-implement-poa-module (0b1b5bf) will decrease coverage by 0.12%.
The diff coverage is 0.00%.

Additional details and impacted files

Impacted file tree graph

@@                          Coverage Diff                          @@
##           feature/6930-implement-poa-module    #8466      +/-   ##
=====================================================================
- Coverage                              83.29%   83.18%   -0.12%     
=====================================================================
  Files                                    600      605       +5     
  Lines                                  22308    22338      +30     
  Branches                                3258     3258              
=====================================================================
- Hits                                   18582    18581       -1     
- Misses                                  3726     3757      +31     
Impacted Files Coverage Δ
framework/src/modules/poa/constants.ts 0.00% <0.00%> (ø)
framework/src/modules/poa/module.ts 0.00% <0.00%> (ø)
...amework/src/modules/poa/stores/chain_properties.ts 0.00% <0.00%> (ø)
framework/src/modules/poa/stores/index.ts 0.00% <0.00%> (ø)
framework/src/modules/poa/stores/name.ts 0.00% <0.00%> (ø)
framework/src/modules/poa/stores/snapshot.ts 0.00% <0.00%> (ø)
framework/src/modules/poa/stores/validator.ts 0.00% <0.00%> (ø)

... and 1 file with indirect coverage changes

framework/src/modules/poa/constants.ts Show resolved Hide resolved
framework/src/modules/poa/stores/chain_props.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/chain_props.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/chain_props.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/chain_props.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/validator.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/validator.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/validator.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/name.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/stores/name.ts Outdated Show resolved Hide resolved
@ishantiw ishantiw force-pushed the 8412-add-stores-poa branch from 0e41a1a to 0ec6045 Compare May 23, 2023 16:20
@ishantiw ishantiw requested review from Phanco and sitetester May 24, 2023 09:18
@ishantiw ishantiw force-pushed the 8412-add-stores-poa branch from 0ec6045 to f515730 Compare May 24, 2023 09:49
@ishantiw ishantiw enabled auto-merge (squash) May 24, 2023 14:10
@ishantiw ishantiw merged commit c8fbd42 into feature/6930-implement-poa-module May 24, 2023
@ishantiw ishantiw deleted the 8412-add-stores-poa branch May 24, 2023 14:11
ishantiw added a commit that referenced this pull request Jul 31, 2023
* 🌱 Initialize stores

* ♻️  Update names and register stores

* 💅 Rename snapshotStoreSchema->snapshotSchema
ishantiw added a commit that referenced this pull request Aug 1, 2023
* Bootstrap PoA files and folders (#8456)

* Bootstrap PoA files and folders

* Update method names on module.ts

* Replace .keep to index.ts for folders

* Add bootstrap test file

* Rename internal method to PoAInternalMethod

* Implement events for PoA (#8464)

* Bootstrap PoA files and folders

* Update method names on module.ts

* Replace .keep to index.ts for folders

* Add bootstrap test file

* Create events and register of the said event

* Update enum name

* Add stores to PoA module (#8466)

* 🌱 Initialize stores

* ♻️  Update names and register stores

* 💅 Rename snapshotStoreSchema->snapshotSchema

* Define genesis PoA store schema & relevant types (#8501)

* Define genesis PoA store schema & relevant types

* `length' replaced with `minLength` & `maxLength`

* Add missing $id

* PoA Register Authority Command (#8496)

* Implement Register Authority Commands

* Renaming Commands

* Remove extra files

* Added Unit Test for RegisterAuthority

* Put types back to PoA

* Update code according to PR review and comments

* Update chainID in test case to match with actual format

* Update param names to be grammar-correct

* Update AUTHORITY_REGISTRATION_FEE comments and test unit imports

* Update $id for updateAuthority Schema

* Change name of updateAuthoritySchema

* Implement afterTransactionsExecute and _shuffleValidatorsList (#8523)

* 🌱 Implement afterTransactionsExecute and _shuffleValidatorsList

* ✅ Add unit tests for afterTransactionsExecute and shuffleValidatorList

* ♻️ Use constants and simplify shuffleValidatorList

* ✅ Adjust expectation setValidatorsParams to expect secondSnapshot threshold

* 💅🏻 Rename snapshot keys

* ♻️ Add missing logic and improve logic for afterTransactionsExecute

* 💅🏻 Assert type on the arguments for readability

* ♻️Naming issues and refine loop in test

* Implement update authority command (#8527)

* Implement Register Authority Commands

* Renaming Commands

* Remove extra files

* Added Unit Test for RegisterAuthority

* Put types back to PoA

* Update code according to PR review and comments

* Update chainID in test case to match with actual format

* Update param names to be grammar-correct

* Update AUTHORITY_REGISTRATION_FEE comments and test unit imports

* Update $id for updateAuthority Schema

* Implement Update Authority and Test Cases

* Change name of updateAuthoritySchema

* Update updateAuthoritySchema naming

* Update update authority coding according to PR comments

* Edited Buffer bits and test cases captions

* Update cosmetic change on update_authority files

* Add comments and better error message to UpdateAuthorityCommand

* Minor changes to error message captions

* Update error message caption

* Implement PoA Update Generator Key (#8534)

* Implement Register Authority Commands

* Renaming Commands

* Remove extra files

* Added Unit Test for RegisterAuthority

* Put types back to PoA

* Update code according to PR review and comments

* Update chainID in test case to match with actual format

* Update param names to be grammar-correct

* Update AUTHORITY_REGISTRATION_FEE comments and test unit imports

* Update $id for updateAuthority Schema

* Implement Update Authority and Test Cases

* Change name of updateAuthoritySchema

* Implement UpdateGeneratorKey and Test Cases

* Update updateAuthoritySchema naming

* Update update authority coding according to PR comments

* Edited Buffer bits and test cases captions

* Update cosmetic change on update_authority files

* Update UpdateGeneratorKeyCommand to use senderAddress

* Add comments and better error message to UpdateAuthorityCommand

* Minor changes to error message captions

* Update error message caption

---------

Co-authored-by: !shan <ishantiw.quasar@gmail.com>

* Implement proof of authority genesis initialization (#8525)

* Add PoA constants, schemas and types

* Implement proof of authority genesis initialization

* Update error messages in poa module initGenesis

* Export types and fix snapshotstore type

* Implement tests for poa genesis initialization

* Remove unused validators from test

* Update snapshot storage

* Implement finalizeGenesisState

* Update lint no-console place holder

---------

Co-authored-by: Mitsuaki Uchimoto <mitsuaki-u@users.noreply.github.com>

* Implement PoA module endpoints (#8581)

* Implement PoA module endpoints

* Add getRegistrationFee endpoint

---------

Co-authored-by: Mitsuaki Uchimoto <mitsuaki-u@users.noreply.github.com>

* Resolve PoA dependencies (#8584)

* ♻️  Resolve dependencies and add configurable constant

* ♻️  Use authorityRegistrationFee in endpoint and fix test

* Add PoAMethod to src/index.ts

* Use PoA dependency

* Move setValidatorsParams to under registerValidatorKeys (#8672)

Co-authored-by: !shan <ishantiw.quasar@gmail.com>

* Expose PoA Commands (#8699)

Expose Commands on PoA

* PoA Example (And update to application.ts) (#8663)

* Add PoA example

* Update PoA Genesis

* Update README and remove uncessary genesis json

* Update application.ts to accept PoS and PoA

* Add Reward Module to PoA

* Renaming poa to sidechain

* Revert application.ts

* Move setValidatorsParams to under registerValidatorKeys

* Register module inside the PoA

* Add RewardModule and revert module.ts (Changes in separate PR)

* Add sign scripts for updateAuthority.ts

* Update yarn.lock

* Fix `registerValidatorKeys` (#8703)

Co-authored-by: !shan <ishantiw.quasar@gmail.com>

* Fix `poa_getAllValidators` endpoint (#8700)

* Update getAllValidators Endpoint

* Update test cases for poa_getAllValidators

* Sort response by name on getAllValidators function

* Update PoA test cases

* Update code per PR comments

---------

Co-authored-by: Khalid Hameed <sitetester2010@gmail.com>

* ♻️  Update interfaces used in PoA

* ✅ Fix test and lint error

---------

Co-authored-by: Franco NG <franco.ng@lightcurve.io>
Co-authored-by: sitetester <sitetester2010@gmail.com>
Co-authored-by: Mitsuaki Uchimoto <36514357+mitsuaki-u@users.noreply.github.com>
Co-authored-by: Mitsuaki Uchimoto <mitsuaki-u@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants