feat: add inactive contract management in wasm. #646
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
related: #623
This PR is the function that replacing previous contract blacklist management.
The previous contract blacklist management function was managed in the contract
status
of wasmgenesisStatus
IBut in order that we added this function in the contract
status
, we needed to customize original genesis proto.So I add new lbm's genesis proto and add inactive contract list in lbm's
genesisStatus
without modifying originalgenesisStatus
.Therefore, I add new wrapping structure like below UML.
Change smart contract blacklist function
inactiveContractAddresses
of wasmGenesisState
.DeactivateContractProposal
andActivateContractProposal
proposal.DeactivateContractProposal
andActivateContractProposal
proposal cli.Notice :
InitGenesis
function of wrapped lbm wasm wasn't implemented, because this need to implement inwasm/keeper
but if then the import cycle problem is occurred. So, I will modify the addition of 'InitGenesis' and the linkage with the blacklist of the 'bankplus' module to another PR.Motivation and context
How has this been tested?
Screenshots (if appropriate):
Checklist:
CHANGELOG.md
client/docs/swagger-ui/swagger.yaml