From ab9264a8e85196a12777ca1814ab85f34a8ddba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Mei=C3=9Fner?= Date: Tue, 5 Nov 2024 13:48:49 +0000 Subject: [PATCH] Adds loader-v4 to write lock demotion exemptions. --- sdk/program/src/message/legacy.rs | 3 ++- sdk/program/src/message/versions/v0/loaded.rs | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sdk/program/src/message/legacy.rs b/sdk/program/src/message/legacy.rs index f225e5a646b654..8889c12803ee94 100644 --- a/sdk/program/src/message/legacy.rs +++ b/sdk/program/src/message/legacy.rs @@ -20,6 +20,7 @@ use { bpf_loader, bpf_loader_deprecated, bpf_loader_upgradeable, hash::Hash, instruction::{CompiledInstruction, Instruction}, + loader_v4, message::{compiled_keys::CompiledKeys, MessageHeader}, pubkey::Pubkey, system_instruction, system_program, sysvar, @@ -691,7 +692,7 @@ impl Message { pub fn is_upgradeable_loader_present(&self) -> bool { self.account_keys .iter() - .any(|&key| key == bpf_loader_upgradeable::id()) + .any(|key| bpf_loader_upgradeable::check_id(key) || loader_v4::check_id(key)) } } diff --git a/sdk/program/src/message/versions/v0/loaded.rs b/sdk/program/src/message/versions/v0/loaded.rs index 1825c5e748e3f4..be067667d7c195 100644 --- a/sdk/program/src/message/versions/v0/loaded.rs +++ b/sdk/program/src/message/versions/v0/loaded.rs @@ -1,6 +1,6 @@ use { crate::{ - bpf_loader_upgradeable, + bpf_loader_upgradeable, loader_v4, message::{v0, AccountKeys}, pubkey::Pubkey, }, @@ -179,7 +179,7 @@ impl<'a> LoadedMessage<'a> { pub fn is_upgradeable_loader_present(&self) -> bool { self.account_keys() .iter() - .any(|&key| key == bpf_loader_upgradeable::id()) + .any(|key| bpf_loader_upgradeable::check_id(key) || loader_v4::check_id(key)) } }