Skip to content

Enforce the fee-payer immutability in case of un-delegated accounts #519

@bmuddha

Description

@bmuddha

For the fee-payer accounts which are not delegated, in order to allow for transparent transaction execution flow, we employ a smart trick inside of the SVM, when either:

  1. the escrow account (derived from the specified on-curve fee-payer account) is charged by replacing the feepayer in the list of loaded accounts
  2. no account is charged if the ER is running in gas-less mode

In both cases we need to make sure that if the feepayer wasn't delegated, it shouldn't have changed in any way before the transaction is committed, as otherwise an instruction can be inserted into transaction which drains the fee-payer, which violates the invariant that only delegated accounts can be modified inside of the ER.

Metadata

Metadata

Assignees

Labels

featuretechdebtIssues outlining shortcuts we took that need to be fixed when we have time

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions