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

PoA Register Authority Command #8496

Merged

Conversation

Phanco
Copy link
Contributor

@Phanco Phanco commented May 25, 2023

What was the problem?

This PR resolves #8414

How was it solved?

Implemented RegisterAuthorityCommand

How was it tested?

Unit Test added

@Phanco Phanco self-assigned this May 25, 2023
@Phanco Phanco changed the title 8413 register authority commands PoA Register Authority Commands May 25, 2023
@Phanco Phanco changed the base branch from development to feature/6930-implement-poa-module May 25, 2023 11:42
@codecov
Copy link

codecov bot commented May 25, 2023

Codecov Report

Merging #8496 (3817969) into feature/6930-implement-poa-module (8639a85) will increase coverage by 0.28%.
The diff coverage is 94.33%.

Additional details and impacted files

Impacted file tree graph

@@                          Coverage Diff                          @@
##           feature/6930-implement-poa-module    #8496      +/-   ##
=====================================================================
+ Coverage                              83.16%   83.45%   +0.28%     
=====================================================================
  Files                                    606      607       +1     
  Lines                                  22343    22394      +51     
  Branches                                3258     3261       +3     
=====================================================================
+ Hits                                   18582    18688     +106     
+ Misses                                  3761     3706      -55     
Impacted Files Coverage Δ
framework/src/modules/poa/stores/validator.ts 100.00% <ø> (+100.00%) ⬆️
...ork/src/modules/poa/commands/register_authority.ts 91.66% <91.66%> (ø)
framework/src/index.ts 100.00% <100.00%> (ø)
framework/src/modules/poa/constants.ts 100.00% <100.00%> (+100.00%) ⬆️
framework/src/modules/poa/schemas.ts 100.00% <100.00%> (+100.00%) ⬆️

... and 9 files with indirect coverage changes

@Phanco Phanco force-pushed the 8413-register-authority-commands branch from e37f9c8 to b6be097 Compare May 26, 2023 07:36
@Phanco Phanco requested review from ishantiw, sitetester and mitsuaki-u and removed request for sitetester May 26, 2023 07:40
@Phanco Phanco marked this pull request as ready for review May 26, 2023 07:41
@Phanco Phanco requested a review from sitetester May 26, 2023 09:41
@ishantiw ishantiw requested review from sergeyshemyakov and removed request for ishantiw May 26, 2023 13:44
@sitetester sitetester changed the title PoA Register Authority Commands PoA Register Authority Command May 26, 2023
framework/src/modules/poa/commands/register_authority.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/utils.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/commands/register_authority.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/commands/register_authority.ts Outdated Show resolved Hide resolved
framework/src/modules/poa/types.ts Outdated Show resolved Hide resolved
Copy link

@sergeyshemyakov sergeyshemyakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have just two small comments, generally the PR is really good!

framework/src/modules/poa/types.ts Show resolved Hide resolved
Copy link

@sergeyshemyakov sergeyshemyakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@ishantiw ishantiw merged commit a088930 into feature/6930-implement-poa-module Jun 5, 2023
@ishantiw ishantiw deleted the 8413-register-authority-commands branch June 5, 2023 09:16
ishantiw pushed a commit that referenced this pull request Jul 31, 2023
* 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
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 <[email protected]>

* 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 <[email protected]>

* Implement PoA module endpoints (#8581)

* Implement PoA module endpoints

* Add getRegistrationFee endpoint

---------

Co-authored-by: Mitsuaki Uchimoto <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* ♻️  Update interfaces used in PoA

* ✅ Fix test and lint error

---------

Co-authored-by: Franco NG <[email protected]>
Co-authored-by: sitetester <[email protected]>
Co-authored-by: Mitsuaki Uchimoto <[email protected]>
Co-authored-by: Mitsuaki Uchimoto <[email protected]>
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.

Implement events for Proof of Authority module
5 participants