diff --git a/x/stakingplus/README.md b/x/stakingplus/README.md new file mode 100644 index 0000000000..2a9722af35 --- /dev/null +++ b/x/stakingplus/README.md @@ -0,0 +1,32 @@ +--- +sidebar_position: 1 +--- + +# `x/stakingplus` + +## Abstract + +This paper specifies the Staking Plus module of the Finschia-sdk, which extends existing [Staking module](https://github.com/cosmos/cosmos-sdk/blob/v0.50.2/x/staking/README.md) of the Cosmos-SDK. + +The module enables Finschia-sdk based blockchain to support an advanced Proof-of-Stake system. In this system, holders of the native staking token of the chain can become validators and can delegate tokens to validators, ultimately determining the effective validator set for the system. + +This module is almost identical to the previous Staking module of the Cosmos-SDK, but introduces some breaking changes. For example, you must have x/foundation UpdateValidatorAuthsProposal passed before sending x/stakingplus MsgCreateValidator, or the message would fail. + +In this document, we describe only the changes introduced by Finschia-SDK. Refer to the [original document](https://github.com/cosmos/cosmos-sdk/blob/v0.50.2/x/staking/README.md) for more information. + +# Messages + +## Msg/CreateValidator + +A validator is created using the `Msg/CreateValidator` service message. + ++++ https://github.com/cosmos/cosmos-sdk/blob/v0.50.2/proto/cosmos/staking/v1beta1/tx.proto#L20-L21 + ++++ https://github.com/cosmos/cosmos-sdk/blob/v0.50.2/proto/cosmos/staking/v1beta1/tx.proto#L50-L73 + +This service message is expected to fail if: + +- one of the conditions described in the staking module of the Cosmos-SDK is met. +- the operator address is not registered on x/foundation through UpdateValidatorAuthsProposal. TODO: add a ref to x/foundation spec file. + +The other [statements](https://github.com/cosmos/cosmos-sdk/blob/v0.50.2/x/staking/README.md#msgcreatevalidator) on this message in the exising document are still valid. diff --git a/x/stakingplus/spec/01_state.md b/x/stakingplus/spec/01_state.md deleted file mode 100644 index 2964f3268f..0000000000 --- a/x/stakingplus/spec/01_state.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# State - -There is no difference in state with that of Staking module of the Cosmos-SDK. Refer to the [original document](../../staking/spec/01_state.md) for more information. diff --git a/x/stakingplus/spec/02_state_transitions.md b/x/stakingplus/spec/02_state_transitions.md deleted file mode 100644 index 67d4722346..0000000000 --- a/x/stakingplus/spec/02_state_transitions.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# State Transitions - -There is no difference in state trasitions with that of Staking module of the Cosmos-SDK. Refer to the [original document](../../staking/spec/02_state_transitions.md) for more information. diff --git a/x/stakingplus/spec/03_messages.md b/x/stakingplus/spec/03_messages.md deleted file mode 100644 index 4a94788b89..0000000000 --- a/x/stakingplus/spec/03_messages.md +++ /dev/null @@ -1,22 +0,0 @@ - - -# Messages - -In this section we describe only the changes introduced by Finschia-SDK. Refer to the [original document](../../staking/spec/03_messages.md) for more information. - -## Msg/CreateValidator - -A validator is created using the `Msg/CreateValidator` service message. - -+++ https://github.com/Finschia/finschia-sdk/blob/main/proto/cosmos/staking/v1beta1/tx.proto#L16-L17 - -+++ https://github.com/Finschia/finschia-sdk/blob/main/proto/cosmos/staking/v1beta1/tx.proto#L35-L51 - -This service message is expected to fail if: - -- one of the conditions described in the staking module of the Cosmos-SDK is met. -- the operator address is not registered on x/foundation through UpdateValidatorAuthsProposal. TODO: add a ref to x/foundation spec file. - -The other [statements](../../staking/spec/03_messages.md#msgcreatevalidator) on this message in the exising document are still valid. diff --git a/x/stakingplus/spec/04_begin_block.md b/x/stakingplus/spec/04_begin_block.md deleted file mode 100644 index e18353b6c7..0000000000 --- a/x/stakingplus/spec/04_begin_block.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# Begin-Block - -There is no difference in begin-block with that Staking module of the Cosmos-SDK. Refer to the [original document](../../staking/spec/04_begin_block.md) for more information. diff --git a/x/stakingplus/spec/05_end_block.md b/x/stakingplus/spec/05_end_block.md deleted file mode 100644 index 8742811019..0000000000 --- a/x/stakingplus/spec/05_end_block.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# End-Block - -There is no difference in end-block with that Staking module of the Cosmos-SDK. Refer to the [original document](../../staking/spec/05_end_block.md) for more information. diff --git a/x/stakingplus/spec/06_hooks.md b/x/stakingplus/spec/06_hooks.md deleted file mode 100644 index f0ddd0630e..0000000000 --- a/x/stakingplus/spec/06_hooks.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# Hooks - -There is no difference in hooks with that Staking module of the Cosmos-SDK. Refer to the [original document](../../staking/spec/06_hooks.md) for more information. diff --git a/x/stakingplus/spec/07_events.md b/x/stakingplus/spec/07_events.md deleted file mode 100644 index e533db8391..0000000000 --- a/x/stakingplus/spec/07_events.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# Events - -There is no difference in events with that Staking module of the Cosmos-SDK. Refer to the [original document](../../staking/spec/07_events.md) for more information. diff --git a/x/stakingplus/spec/08_params.md b/x/stakingplus/spec/08_params.md deleted file mode 100644 index 0277fb605c..0000000000 --- a/x/stakingplus/spec/08_params.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# Parameters - -There is no difference in parameters with that Staking module of the Cosmos-SDK. Refer to the [original document](../../staking/spec/08_params.md) for more information. diff --git a/x/stakingplus/spec/README.md b/x/stakingplus/spec/README.md deleted file mode 100644 index 22b9a8f079..0000000000 --- a/x/stakingplus/spec/README.md +++ /dev/null @@ -1,28 +0,0 @@ - - -# `stakingplus` - -## Abstract - -This paper specifies the Staking Plus module of the LBM-SDK, which extends existing [Staking module](../../staking/spec/README.md) of the Cosmos-SDK. - -The module enables LBM-SDK based blockchain to support an advanced Proof-of-Stake system. In this system, holders of the native staking token of the chain can become validators and can delegate tokens to validators, ultimately determining the effective validator set for the system. - -This module is almost identical to the previous Staking module of the Cosmos-SDK, but introduces some breaking changes. For example, you must have x/foundation UpdateValidatorAuthsProposal passed before sending x/stakingplus MsgCreateValidator, or the message would fail. - -## Contents - -1. **[State](01_state.md)** -2. **[State Transitions](02_state_transitions.md)** -3. **[Messages](03_messages.md)** - - [Msg/CreateValidator](03_messages.md#msgcreatevalidator) -4. **[Begin-Block](04_begin_block.md)** -5. **[End-Block ](05_end_block.md)** -6. **[Hooks](06_hooks.md)** -7. **[Events](07_events.md)** -8. **[Parameters](08_params.md)**