Skip to content

Commit 5dbfe08

Browse files
tac0turtletac0turtle
tac0turtle
authored and
tac0turtle
committed
address comments
1 parent 5db528a commit 5dbfe08

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

cips/cip-031.md

+5-13
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ By integrating staking rewards directly into the lockup schedule, this proposal
6565
- Unlocked & Unstaked
6666
- Unlocked & Staked
6767

68-
4. **Mathematical Model & Example:**
68+
4. **Example Implementation:**
6969

7070
### Continuous Vesting Accounts
7171

@@ -102,15 +102,7 @@ Periodic account creation will be removed, and update schedule will be a noop
102102

103103
### Permanent Vesting Accounts
104104

105-
Periodic account creation will be removed, and update schedule will be a noop
106-
107-
*NOTE: reward calculation is arbitrary, it is not based on Celestia's inflation.*
108-
109-
5. **Error Handling:**
110-
111-
- Ensure sufficient balance checks before processing rewards.
112-
- Validate that the lockup period is still active.
113-
- Separate commission transfers from reward lockup updates.
105+
Permanent account creation will be removed, and update schedule will be a noop
114106

115107
### Module Interaction
116108

@@ -156,7 +148,7 @@ When upgrading to v4 we propose introducing a migration that will set the Parame
156148

157149
# Backwards Compatibility
158150

159-
Continuous Vesting, Delayed Vesting will implement the `UpdateSchedule` function allowing for the original amount to be added to. Periodic and Permanent will implement the design as a noop, and they will be disallowed from being created.
151+
The continuous and delayed vesting account types will be updated to implement CIP-31. Specifically, they will implement the `UpdateSchedule` function so that the original vesting amount can account for staking rewards. The periodic and permanent account types will not support CIP-31. They will be disallowed from being created.
160152

161153
# Test Cases
162154

@@ -169,7 +161,7 @@ The implementation should include test cases covering:
169161

170162
# Reference Implementation
171163

172-
The `VestingAccount` interface will be updated to account for an UpdateSchedule method which includes the amount to update the schedule with and teh blocktime at which it occured. We must pass in the blocktime in order to understand if the account is fully vested or not.
164+
The `VestingAccount` interface will be updated to account for an UpdateSchedule method which includes the amount to update the schedule with and the blocktime at which it occured. We must pass in the blocktime in order to understand if the account is fully vested or not.
173165

174166
```diff
175167
// VestingAccount defines an account type that vests coins via a vesting schedule.
@@ -204,7 +196,7 @@ type VestingAccount interface {
204196
GetDelegatedFree() sdk.Coins
205197
GetDelegatedVesting() sdk.Coins
206198

207-
// UpdateSchedule updates the original vesting amount for the account.
199+
+ // UpdateSchedule updates the original vesting amount for the account.
208200
+ UpdateSchedule(blockTime time.Time, amount sdk.Coins) error
209201
}
210202
```

0 commit comments

Comments
 (0)