From aa5cc857711444c42fbda326782bf9e5af57e169 Mon Sep 17 00:00:00 2001 From: Ashwin Sekar Date: Tue, 9 Apr 2024 17:40:49 +0000 Subject: [PATCH 1/2] SIMD-138: Deprecate legacy vote instructions --- ...0138-deprecate-legacy-vote-instructions.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 proposals/0138-deprecate-legacy-vote-instructions.md diff --git a/proposals/0138-deprecate-legacy-vote-instructions.md b/proposals/0138-deprecate-legacy-vote-instructions.md new file mode 100644 index 000000000..67e832dcd --- /dev/null +++ b/proposals/0138-deprecate-legacy-vote-instructions.md @@ -0,0 +1,56 @@ +--- +simd: '0138' +title: Deprecate legacy vote instructions +authors: + - Ashwin Sekar +category: Standard +type: Core +status: Review +created: 2024-04-09 +feature: (fill in with feature tracking issues once accepted) +--- + +## Summary + +Disables the legacy `Vote`, `UpdateVoteState` and `CompactUpdateVoteState` +instruction variants. + +## Motivation + +These instructions are no longer sent by validator clients. +It is cumbersome to support these old vote instructions and ensure parity. + +## Alternatives Considered + +None + +## New Terminology + +None + +## Detailed Design + +When the feature - `deprecate legacy vote instructions`, with key +`depVvnQ2UysGrhwdiwU42tCadZL8GcBb1i2GYhMopQv` is activated, processing of the +following instructions will result in an `InvalidInstructionData` error: + +* `Vote` +* `VoteSwitch` +* `UpdateVoteState` +* `UpdateVoteStateSwitch` +* `CompactUpdateVoteState` +* `CompactUpdateVoteStateSwitch` + +## Impact + +Sending transactions that include the mentioned instructions will fail. + +## Security Considerations + +Implementations should ensure that the `TowerSync` instruction has been +activated before enabling the `deprecate legacy vote instructions` feature, +in order to ensure that at least one vote instruction available for the client. + +## Backwards Compatibility + +Incompatible From b03556c5db41f530137d932f8b493fc53e91400a Mon Sep 17 00:00:00 2001 From: Ashwin Sekar Date: Wed, 10 Apr 2024 15:58:07 +0000 Subject: [PATCH 2/2] Clarify the tower sync feature flag interaction --- ...0138-deprecate-legacy-vote-instructions.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/proposals/0138-deprecate-legacy-vote-instructions.md b/proposals/0138-deprecate-legacy-vote-instructions.md index 67e832dcd..97ba768e7 100644 --- a/proposals/0138-deprecate-legacy-vote-instructions.md +++ b/proposals/0138-deprecate-legacy-vote-instructions.md @@ -30,9 +30,15 @@ None ## Detailed Design -When the feature - `deprecate legacy vote instructions`, with key -`depVvnQ2UysGrhwdiwU42tCadZL8GcBb1i2GYhMopQv` is activated, processing of the -following instructions will result in an `InvalidInstructionData` error: +When the features: + +* `deprecate legacy vote instructions`, with key + `depVvnQ2UysGrhwdiwU42tCadZL8GcBb1i2GYhMopQv` +* `enable tower sync vote instruction`, with key + `tSynMCspg4xFiCj1v3TDb4c7crMR5tSBhLz4sF7rrNA` + +are activated, the following instructions will result in an +`InvalidInstructionData` error: * `Vote` * `VoteSwitch` @@ -41,15 +47,16 @@ following instructions will result in an `InvalidInstructionData` error: * `CompactUpdateVoteState` * `CompactUpdateVoteStateSwitch` +Enabling `deprecate legacy vote instructions` without +`enable tower sync vote instruction` should have no effect. + ## Impact Sending transactions that include the mentioned instructions will fail. ## Security Considerations -Implementations should ensure that the `TowerSync` instruction has been -activated before enabling the `deprecate legacy vote instructions` feature, -in order to ensure that at least one vote instruction available for the client. +None ## Backwards Compatibility