SIMD-0444

Relax program data account check in migration

Author: febo (Anza) · Category: Core Protocol GitHub →

Feature Gate Status

Mainnet Inactive
Testnet Active E915
Devnet Active E1043

rexav5eNTUSNT1K2N7cfRjnthwhcP5BC25v2tA4rW4h

Min Agave: v3.1.7 · Firedancer: v0.811.30108 · Jito: v3.1.7

TL;DR

This proposal relaxes the requirements for runtime-level migrations of programs (such as builtins) to permit system-owned programdata accounts to hold lamports.

Summary

This proposal relaxes the requirements for runtime-level migrations of programs (such as builtins) to permit system-owned programdata accounts to hold lamports.

Motivation

Currently, runtime-level program migrations require that the target program data account must not already exist. This means the account must have zero lamports. If the program data account is pre-funded (i.e., has a lamports balance greater than `0`), the migration will not proceed.

Impact

This change prevents the migration from failing when the target program data account is pre-funded.

Backwards Compatibility

This proposal itself does not introduce any breaking changes.

Security Considerations

N/A