Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CAP-0026 (Disable Inflation Mechanism) - discussion follow-up. #412

Merged
merged 2 commits into from
Sep 25, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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.