From 5cea25ac3e9f7acc37f774bec34513aa32d87910 Mon Sep 17 00:00:00 2001 From: Kirill Fomichev Date: Tue, 13 Jul 2021 19:01:32 +0300 Subject: [PATCH] Add method `id` to SysbarId trait (#18604) --- sdk/program/src/sysvar/mod.rs | 10 ++++++++++ sdk/src/keyed_account.rs | 3 +++ 2 files changed, 13 insertions(+) diff --git a/sdk/program/src/sysvar/mod.rs b/sdk/program/src/sysvar/mod.rs index 51f739aef7..1cc67068d9 100644 --- a/sdk/program/src/sysvar/mod.rs +++ b/sdk/program/src/sysvar/mod.rs @@ -32,6 +32,10 @@ macro_rules! declare_sysvar_id( $crate::declare_id!($name); impl $crate::sysvar::SysvarId for $type { + fn id() -> $crate::pubkey::Pubkey { + id() + } + fn check_id(pubkey: &$crate::pubkey::Pubkey) -> bool { check_id(pubkey) } @@ -51,6 +55,8 @@ macro_rules! declare_sysvar_id( crate::declare_id!("Sysvar1111111111111111111111111111111111111"); pub trait SysvarId { + fn id() -> Pubkey; + fn check_id(pubkey: &Pubkey) -> bool; } @@ -113,6 +119,10 @@ mod tests { } crate::declare_id!("TestSysvar111111111111111111111111111111111"); impl crate::sysvar::SysvarId for TestSysvar { + fn id() -> crate::pubkey::Pubkey { + id() + } + fn check_id(pubkey: &crate::pubkey::Pubkey) -> bool { check_id(pubkey) } diff --git a/sdk/src/keyed_account.rs b/sdk/src/keyed_account.rs index 19cc48eb1a..6188ae8fb4 100644 --- a/sdk/src/keyed_account.rs +++ b/sdk/src/keyed_account.rs @@ -270,6 +270,9 @@ mod tests { } crate::declare_id!("TestSysvar111111111111111111111111111111111"); impl solana_program::sysvar::SysvarId for TestSysvar { + fn id() -> crate::pubkey::Pubkey { + id() + } fn check_id(pubkey: &crate::pubkey::Pubkey) -> bool { check_id(pubkey) }