diff --git a/src/core/pubkeys.py b/src/core/pubkeys.py index e365ee5..0a8cd0c 100644 --- a/src/core/pubkeys.py +++ b/src/core/pubkeys.py @@ -4,7 +4,6 @@ This module contains only system-level addresses that are shared across all plat Platform-specific addresses are handled by their respective AddressProvider implementations. """ -from dataclasses import dataclass from typing import Final from solders.pubkey import Pubkey @@ -13,29 +12,35 @@ from solders.pubkey import Pubkey LAMPORTS_PER_SOL: Final[int] = 1_000_000_000 TOKEN_DECIMALS: Final[int] = 6 +# Core system programs +SYSTEM_PROGRAM: Final[Pubkey] = Pubkey.from_string("11111111111111111111111111111111") +TOKEN_PROGRAM: Final[Pubkey] = Pubkey.from_string( + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" +) +ASSOCIATED_TOKEN_PROGRAM: Final[Pubkey] = Pubkey.from_string( + "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" +) + +# System accounts +RENT: Final[Pubkey] = Pubkey.from_string( + "SysvarRent111111111111111111111111111111111" +) + +# Native SOL token +SOL_MINT: Final[Pubkey] = Pubkey.from_string( + "So11111111111111111111111111111111111111112" +) + -@dataclass class SystemAddresses: """System-level Solana addresses shared across all platforms.""" - - # Core system programs - SYSTEM_PROGRAM: Final[Pubkey] = Pubkey.from_string("11111111111111111111111111111111") - TOKEN_PROGRAM: Final[Pubkey] = Pubkey.from_string( - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" - ) - ASSOCIATED_TOKEN_PROGRAM: Final[Pubkey] = Pubkey.from_string( - "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" - ) - # System accounts - RENT: Final[Pubkey] = Pubkey.from_string( - "SysvarRent111111111111111111111111111111111" - ) - - # Native SOL token - SOL_MINT: Final[Pubkey] = Pubkey.from_string( - "So11111111111111111111111111111111111111112" - ) + # Reference the module-level constants + SYSTEM_PROGRAM = SYSTEM_PROGRAM + TOKEN_PROGRAM = TOKEN_PROGRAM + ASSOCIATED_TOKEN_PROGRAM = ASSOCIATED_TOKEN_PROGRAM + RENT = RENT + SOL_MINT = SOL_MINT @classmethod def get_all_system_addresses(cls) -> dict[str, Pubkey]: