Skip to content

Commit

Permalink
Merge pull request #412 from orbitlens/cap-0026
Browse files Browse the repository at this point in the history
Update CAP-0026 (Disable Inflation Mechanism) - discussion follow-up.
  • Loading branch information
MonsieurNicolas committed Sep 25, 2019
2 parents 80bdafc + aa0f769 commit 47d0e57
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 19 deletions.
2 changes: 1 addition & 1 deletion core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
| [CAP-0021](cap-0021.md) | Generalized transaction preconditions | David Mazières | Draft |
| [CAP-0022](cap-0022.md) | Invalid transactions must have no effects | David Mazières | Draft |
| [CAP-0023](cap-0023.md) | Two-Part Payments with BalanceEntry | Jonathan Jove | Draft |
| [cap_orbitlens_41fc89b6](cap_orbitlens_41fc89b6.md) | Disable Inflation Mechanism | OrbitLens | Draft |
| [CAP-0026](cap-0026.md) | Disable Inflation Mechanism | OrbitLens | Draft |

### Rejected Proposals
| Number | Title | Author | Status |
Expand Down
27 changes: 9 additions & 18 deletions core/cap_orbitlens_41fc89b6.md → core/cap-0026.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Title: Disable Inflation Mechanism
Author: OrbitLens <orbit.lens@gmail.com>
Status: Draft
Created: 2019-07-10
Updated: 2019-08-08
Updated: 2019-09-24
Discussion: https://groups.google.com/forum/#!topic/stellar-dev/LIFvbMi9jPo
Protocol version: TBD
```
Expand Down Expand Up @@ -36,35 +36,26 @@ distributions that require complex logic, like stimulating DEX liquidity provide

## Abstract

Turning off inflation requires several changes in Stellar Core, namely `Inflation` and
`SetOptions` operations behavior as well as fees processing routine.
At the same time, it can be implemented without XDR changes and breaking protocol changes.
Turning off inflation requires a minor change in Stellar Core, namely `Inflation`
operation behavior. At the same time, it can be implemented without XDR changes and
breaking protocol changes.

## Specification

This proposal requires the following Core behavior changes:

1. Inflation operation always returns `INFLATION_NOT_TIME` result code.
2. SetOptions operation returns `SET_OPTIONS_INVALID_INFLATION` result code when a users
tries to change `inflationDest`.
3. Fee processing routine discards paid transaction fees instead of adding them to the fee pool.
4. LedgerHeader properties `feePool` and `inflationSeq` for a newly created ledger are set to zero.
This proposal requires a single Core behavior change.
Transaction containing `Inflation` operation should always return
`opNOT_SUPPORTED` result code.

## Design Rationale

The proposed approach does not require breaking protocol changes and allows turning on
the inflation mechanism in the future if needed. Due to the simplicity of proposed changes,
the implementation potentially should require minimum efforts.
the implementation potentially requires minimum efforts.

## Security Concerns

None.

## Backwards Incompatibilities

This CAP contains no breaking changes and is fully backward compatible.

## Questions

- Is it possible (and does it makes sense) to remove `inflationDest` field from
the `Account` entry, as well as `feePool` and `inflationSeq` from `LedgerHeader`?
This CAP contains no breaking changes and is fully backward compatible.

0 comments on commit 47d0e57

Please sign in to comment.