浏览代码

renderers-rust: extract pubkey from solana-program (#535)

Joe C 6 月之前
父节点
当前提交
ae3ca97d2d
共有 46 个文件被更改,包括 2574 次插入746 次删除
  1. 5 0
      .changeset/gold-monkeys-breathe.md
  2. 522 138
      packages/renderers-rust/e2e/anchor/Cargo.lock
  3. 2 1
      packages/renderers-rust/e2e/anchor/Cargo.toml
  4. 5 5
      packages/renderers-rust/e2e/anchor/src/generated/accounts/guard_v1.rs
  5. 27 33
      packages/renderers-rust/e2e/anchor/src/generated/instructions/create_guard.rs
  6. 22 28
      packages/renderers-rust/e2e/anchor/src/generated/instructions/execute.rs
  7. 19 22
      packages/renderers-rust/e2e/anchor/src/generated/instructions/initialize.rs
  8. 20 23
      packages/renderers-rust/e2e/anchor/src/generated/instructions/update_guard.rs
  9. 1 1
      packages/renderers-rust/e2e/anchor/src/generated/programs.rs
  10. 2 2
      packages/renderers-rust/e2e/anchor/src/generated/shared.rs
  11. 1 1
      packages/renderers-rust/e2e/anchor/src/generated/types/cpi_rule.rs
  12. 617 112
      packages/renderers-rust/e2e/dummy/Cargo.lock
  13. 2 1
      packages/renderers-rust/e2e/dummy/Cargo.toml
  14. 3 3
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction6.rs
  15. 3 3
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction7.rs
  16. 1 1
      packages/renderers-rust/e2e/dummy/src/generated/programs.rs
  17. 608 104
      packages/renderers-rust/e2e/memo/Cargo.lock
  18. 2 1
      packages/renderers-rust/e2e/memo/Cargo.toml
  19. 1 1
      packages/renderers-rust/e2e/memo/src/generated/programs.rs
  20. 2 1
      packages/renderers-rust/e2e/meteora/Cargo.toml
  21. 575 120
      packages/renderers-rust/e2e/system/Cargo.lock
  22. 2 1
      packages/renderers-rust/e2e/system/Cargo.toml
  23. 5 5
      packages/renderers-rust/e2e/system/src/generated/accounts/nonce.rs
  24. 10 13
      packages/renderers-rust/e2e/system/src/generated/instructions/advance_nonce_account.rs
  25. 3 3
      packages/renderers-rust/e2e/system/src/generated/instructions/allocate.rs
  26. 7 7
      packages/renderers-rust/e2e/system/src/generated/instructions/allocate_with_seed.rs
  27. 4 4
      packages/renderers-rust/e2e/system/src/generated/instructions/assign.rs
  28. 7 7
      packages/renderers-rust/e2e/system/src/generated/instructions/assign_with_seed.rs
  29. 7 10
      packages/renderers-rust/e2e/system/src/generated/instructions/authorize_nonce_account.rs
  30. 7 7
      packages/renderers-rust/e2e/system/src/generated/instructions/create_account.rs
  31. 10 10
      packages/renderers-rust/e2e/system/src/generated/instructions/create_account_with_seed.rs
  32. 12 12
      packages/renderers-rust/e2e/system/src/generated/instructions/initialize_nonce_account.rs
  33. 6 6
      packages/renderers-rust/e2e/system/src/generated/instructions/transfer_sol.rs
  34. 10 10
      packages/renderers-rust/e2e/system/src/generated/instructions/transfer_sol_with_seed.rs
  35. 3 3
      packages/renderers-rust/e2e/system/src/generated/instructions/upgrade_nonce_account.rs
  36. 17 23
      packages/renderers-rust/e2e/system/src/generated/instructions/withdraw_nonce_account.rs
  37. 1 1
      packages/renderers-rust/e2e/system/src/generated/programs.rs
  38. 2 2
      packages/renderers-rust/e2e/system/src/generated/shared.rs
  39. 8 8
      packages/renderers-rust/public/templates/accountsPage.njk
  40. 2 2
      packages/renderers-rust/public/templates/instructionsPage.njk
  41. 4 4
      packages/renderers-rust/public/templates/instructionsPageBuilder.njk
  42. 1 1
      packages/renderers-rust/public/templates/programsMod.njk
  43. 2 2
      packages/renderers-rust/public/templates/sharedPage.njk
  44. 1 1
      packages/renderers-rust/src/getTypeManifestVisitor.ts
  45. 2 2
      packages/renderers-rust/test/types/array.test.ts
  46. 1 1
      packages/renderers-vixen-parser/src/getTypeManifestVisitor.ts

+ 5 - 0
.changeset/gold-monkeys-breathe.md

@@ -0,0 +1,5 @@
+---
+"@codama/renderers-rust": minor
+---
+
+renderers-rust: extract pubkey from solana-program

文件差异内容过多而无法显示
+ 522 - 138
packages/renderers-rust/e2e/anchor/Cargo.lock


+ 2 - 1
packages/renderers-rust/e2e/anchor/Cargo.toml

@@ -18,7 +18,8 @@ num-derive = "^0.3"
 num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
 serde_with = { version = "^3.0", optional = true }
-solana-program = "^2.1.6"
+solana-program = "2.2.1"
+solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
 solana-client = { version = "~1.18", optional = true }
 solana-sdk = { version = "~1.18", optional = true }
 thiserror = "^1.0"

+ 5 - 5
packages/renderers-rust/e2e/anchor/src/generated/accounts/guard_v1.rs

@@ -10,7 +10,7 @@ use crate::generated::types::MetadataAdditionalFieldRule;
 use crate::generated::types::TransferAmountRule;
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 #[derive(BorshSerialize, BorshDeserialize, Clone, Debug, Eq, PartialEq)]
 #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
@@ -54,7 +54,7 @@ impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for GuardV1 {
 #[cfg(feature = "fetch")]
 pub fn fetch_guard_v1(
     rpc: &solana_client::rpc_client::RpcClient,
-    address: &solana_program::pubkey::Pubkey,
+    address: &solana_pubkey::Pubkey,
 ) -> Result<crate::shared::DecodedAccount<GuardV1>, std::io::Error> {
     let accounts = fetch_all_guard_v1(rpc, &[*address])?;
     Ok(accounts[0].clone())
@@ -63,7 +63,7 @@ pub fn fetch_guard_v1(
 #[cfg(feature = "fetch")]
 pub fn fetch_all_guard_v1(
     rpc: &solana_client::rpc_client::RpcClient,
-    addresses: &[solana_program::pubkey::Pubkey],
+    addresses: &[solana_pubkey::Pubkey],
 ) -> Result<Vec<crate::shared::DecodedAccount<GuardV1>>, std::io::Error> {
     let accounts = rpc
         .get_multiple_accounts(addresses)
@@ -88,7 +88,7 @@ pub fn fetch_all_guard_v1(
 #[cfg(feature = "fetch")]
 pub fn fetch_maybe_guard_v1(
     rpc: &solana_client::rpc_client::RpcClient,
-    address: &solana_program::pubkey::Pubkey,
+    address: &solana_pubkey::Pubkey,
 ) -> Result<crate::shared::MaybeAccount<GuardV1>, std::io::Error> {
     let accounts = fetch_all_maybe_guard_v1(rpc, &[*address])?;
     Ok(accounts[0].clone())
@@ -97,7 +97,7 @@ pub fn fetch_maybe_guard_v1(
 #[cfg(feature = "fetch")]
 pub fn fetch_all_maybe_guard_v1(
     rpc: &solana_client::rpc_client::RpcClient,
-    addresses: &[solana_program::pubkey::Pubkey],
+    addresses: &[solana_pubkey::Pubkey],
 ) -> Result<Vec<crate::shared::MaybeAccount<GuardV1>>, std::io::Error> {
     let accounts = rpc
         .get_multiple_accounts(addresses)

+ 27 - 33
packages/renderers-rust/e2e/anchor/src/generated/instructions/create_guard.rs

@@ -14,21 +14,21 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct CreateGuard {
-    pub guard: solana_program::pubkey::Pubkey,
+    pub guard: solana_pubkey::Pubkey,
 
-    pub mint: solana_program::pubkey::Pubkey,
+    pub mint: solana_pubkey::Pubkey,
 
-    pub mint_token_account: solana_program::pubkey::Pubkey,
+    pub mint_token_account: solana_pubkey::Pubkey,
 
-    pub guard_authority: solana_program::pubkey::Pubkey,
+    pub guard_authority: solana_pubkey::Pubkey,
 
-    pub payer: solana_program::pubkey::Pubkey,
+    pub payer: solana_pubkey::Pubkey,
 
-    pub associated_token_program: solana_program::pubkey::Pubkey,
+    pub associated_token_program: solana_pubkey::Pubkey,
 
-    pub token_program: solana_program::pubkey::Pubkey,
+    pub token_program: solana_pubkey::Pubkey,
 
-    pub system_program: solana_program::pubkey::Pubkey,
+    pub system_program: solana_pubkey::Pubkey,
 }
 
 impl CreateGuard {
@@ -133,14 +133,14 @@ pub struct CreateGuardInstructionArgs {
 ///   7. `[optional]` system_program (default to `11111111111111111111111111111111`)
 #[derive(Clone, Debug, Default)]
 pub struct CreateGuardBuilder {
-    guard: Option<solana_program::pubkey::Pubkey>,
-    mint: Option<solana_program::pubkey::Pubkey>,
-    mint_token_account: Option<solana_program::pubkey::Pubkey>,
-    guard_authority: Option<solana_program::pubkey::Pubkey>,
-    payer: Option<solana_program::pubkey::Pubkey>,
-    associated_token_program: Option<solana_program::pubkey::Pubkey>,
-    token_program: Option<solana_program::pubkey::Pubkey>,
-    system_program: Option<solana_program::pubkey::Pubkey>,
+    guard: Option<solana_pubkey::Pubkey>,
+    mint: Option<solana_pubkey::Pubkey>,
+    mint_token_account: Option<solana_pubkey::Pubkey>,
+    guard_authority: Option<solana_pubkey::Pubkey>,
+    payer: Option<solana_pubkey::Pubkey>,
+    associated_token_program: Option<solana_pubkey::Pubkey>,
+    token_program: Option<solana_pubkey::Pubkey>,
+    system_program: Option<solana_pubkey::Pubkey>,
     name: Option<String>,
     symbol: Option<String>,
     uri: Option<String>,
@@ -155,33 +155,27 @@ impl CreateGuardBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn guard(&mut self, guard: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn guard(&mut self, guard: solana_pubkey::Pubkey) -> &mut Self {
         self.guard = Some(guard);
         self
     }
     #[inline(always)]
-    pub fn mint(&mut self, mint: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn mint(&mut self, mint: solana_pubkey::Pubkey) -> &mut Self {
         self.mint = Some(mint);
         self
     }
     #[inline(always)]
-    pub fn mint_token_account(
-        &mut self,
-        mint_token_account: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn mint_token_account(&mut self, mint_token_account: solana_pubkey::Pubkey) -> &mut Self {
         self.mint_token_account = Some(mint_token_account);
         self
     }
     #[inline(always)]
-    pub fn guard_authority(
-        &mut self,
-        guard_authority: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn guard_authority(&mut self, guard_authority: solana_pubkey::Pubkey) -> &mut Self {
         self.guard_authority = Some(guard_authority);
         self
     }
     #[inline(always)]
-    pub fn payer(&mut self, payer: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn payer(&mut self, payer: solana_pubkey::Pubkey) -> &mut Self {
         self.payer = Some(payer);
         self
     }
@@ -189,20 +183,20 @@ impl CreateGuardBuilder {
     #[inline(always)]
     pub fn associated_token_program(
         &mut self,
-        associated_token_program: solana_program::pubkey::Pubkey,
+        associated_token_program: solana_pubkey::Pubkey,
     ) -> &mut Self {
         self.associated_token_program = Some(associated_token_program);
         self
     }
     /// `[optional account, default to 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb']`
     #[inline(always)]
-    pub fn token_program(&mut self, token_program: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn token_program(&mut self, token_program: solana_pubkey::Pubkey) -> &mut Self {
         self.token_program = Some(token_program);
         self
     }
     /// `[optional account, default to '11111111111111111111111111111111']`
     #[inline(always)]
-    pub fn system_program(&mut self, system_program: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn system_program(&mut self, system_program: solana_pubkey::Pubkey) -> &mut Self {
         self.system_program = Some(system_program);
         self
     }
@@ -270,14 +264,14 @@ impl CreateGuardBuilder {
             guard_authority: self.guard_authority.expect("guard_authority is not set"),
             payer: self.payer.expect("payer is not set"),
             associated_token_program: self.associated_token_program.unwrap_or(
-                solana_program::pubkey!("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),
+                solana_pubkey::pubkey!("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),
             ),
-            token_program: self.token_program.unwrap_or(solana_program::pubkey!(
+            token_program: self.token_program.unwrap_or(solana_pubkey::pubkey!(
                 "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
             )),
             system_program: self
                 .system_program
-                .unwrap_or(solana_program::pubkey!("11111111111111111111111111111111")),
+                .unwrap_or(solana_pubkey::pubkey!("11111111111111111111111111111111")),
         };
         let args = CreateGuardInstructionArgs {
             name: self.name.clone().expect("name is not set"),

+ 22 - 28
packages/renderers-rust/e2e/anchor/src/generated/instructions/execute.rs

@@ -11,19 +11,19 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct Execute {
-    pub source_account: solana_program::pubkey::Pubkey,
+    pub source_account: solana_pubkey::Pubkey,
 
-    pub mint: solana_program::pubkey::Pubkey,
+    pub mint: solana_pubkey::Pubkey,
 
-    pub destination_account: solana_program::pubkey::Pubkey,
+    pub destination_account: solana_pubkey::Pubkey,
 
-    pub owner_delegate: solana_program::pubkey::Pubkey,
+    pub owner_delegate: solana_pubkey::Pubkey,
 
-    pub extra_metas_account: solana_program::pubkey::Pubkey,
+    pub extra_metas_account: solana_pubkey::Pubkey,
 
-    pub guard: solana_program::pubkey::Pubkey,
+    pub guard: solana_pubkey::Pubkey,
 
-    pub instruction_sysvar_account: solana_program::pubkey::Pubkey,
+    pub instruction_sysvar_account: solana_pubkey::Pubkey,
 }
 
 impl Execute {
@@ -119,13 +119,13 @@ pub struct ExecuteInstructionArgs {
 ///   6. `[optional]` instruction_sysvar_account (default to `Sysvar1nstructions1111111111111111111111111`)
 #[derive(Clone, Debug, Default)]
 pub struct ExecuteBuilder {
-    source_account: Option<solana_program::pubkey::Pubkey>,
-    mint: Option<solana_program::pubkey::Pubkey>,
-    destination_account: Option<solana_program::pubkey::Pubkey>,
-    owner_delegate: Option<solana_program::pubkey::Pubkey>,
-    extra_metas_account: Option<solana_program::pubkey::Pubkey>,
-    guard: Option<solana_program::pubkey::Pubkey>,
-    instruction_sysvar_account: Option<solana_program::pubkey::Pubkey>,
+    source_account: Option<solana_pubkey::Pubkey>,
+    mint: Option<solana_pubkey::Pubkey>,
+    destination_account: Option<solana_pubkey::Pubkey>,
+    owner_delegate: Option<solana_pubkey::Pubkey>,
+    extra_metas_account: Option<solana_pubkey::Pubkey>,
+    guard: Option<solana_pubkey::Pubkey>,
+    instruction_sysvar_account: Option<solana_pubkey::Pubkey>,
     amount: Option<u64>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
@@ -135,38 +135,32 @@ impl ExecuteBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn source_account(&mut self, source_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn source_account(&mut self, source_account: solana_pubkey::Pubkey) -> &mut Self {
         self.source_account = Some(source_account);
         self
     }
     #[inline(always)]
-    pub fn mint(&mut self, mint: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn mint(&mut self, mint: solana_pubkey::Pubkey) -> &mut Self {
         self.mint = Some(mint);
         self
     }
     #[inline(always)]
-    pub fn destination_account(
-        &mut self,
-        destination_account: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn destination_account(&mut self, destination_account: solana_pubkey::Pubkey) -> &mut Self {
         self.destination_account = Some(destination_account);
         self
     }
     #[inline(always)]
-    pub fn owner_delegate(&mut self, owner_delegate: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn owner_delegate(&mut self, owner_delegate: solana_pubkey::Pubkey) -> &mut Self {
         self.owner_delegate = Some(owner_delegate);
         self
     }
     #[inline(always)]
-    pub fn extra_metas_account(
-        &mut self,
-        extra_metas_account: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn extra_metas_account(&mut self, extra_metas_account: solana_pubkey::Pubkey) -> &mut Self {
         self.extra_metas_account = Some(extra_metas_account);
         self
     }
     #[inline(always)]
-    pub fn guard(&mut self, guard: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn guard(&mut self, guard: solana_pubkey::Pubkey) -> &mut Self {
         self.guard = Some(guard);
         self
     }
@@ -174,7 +168,7 @@ impl ExecuteBuilder {
     #[inline(always)]
     pub fn instruction_sysvar_account(
         &mut self,
-        instruction_sysvar_account: solana_program::pubkey::Pubkey,
+        instruction_sysvar_account: solana_pubkey::Pubkey,
     ) -> &mut Self {
         self.instruction_sysvar_account = Some(instruction_sysvar_account);
         self
@@ -216,7 +210,7 @@ impl ExecuteBuilder {
                 .expect("extra_metas_account is not set"),
             guard: self.guard.expect("guard is not set"),
             instruction_sysvar_account: self.instruction_sysvar_account.unwrap_or(
-                solana_program::pubkey!("Sysvar1nstructions1111111111111111111111111"),
+                solana_pubkey::pubkey!("Sysvar1nstructions1111111111111111111111111"),
             ),
         };
         let args = ExecuteInstructionArgs {

+ 19 - 22
packages/renderers-rust/e2e/anchor/src/generated/instructions/initialize.rs

@@ -11,17 +11,17 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct Initialize {
-    pub extra_metas_account: solana_program::pubkey::Pubkey,
+    pub extra_metas_account: solana_pubkey::Pubkey,
 
-    pub guard: solana_program::pubkey::Pubkey,
+    pub guard: solana_pubkey::Pubkey,
 
-    pub mint: solana_program::pubkey::Pubkey,
+    pub mint: solana_pubkey::Pubkey,
 
-    pub transfer_hook_authority: solana_program::pubkey::Pubkey,
+    pub transfer_hook_authority: solana_pubkey::Pubkey,
 
-    pub system_program: solana_program::pubkey::Pubkey,
+    pub system_program: solana_pubkey::Pubkey,
 
-    pub payer: solana_program::pubkey::Pubkey,
+    pub payer: solana_pubkey::Pubkey,
 }
 
 impl Initialize {
@@ -99,12 +99,12 @@ impl Default for InitializeInstructionData {
 ///   5. `[writable, signer]` payer
 #[derive(Clone, Debug, Default)]
 pub struct InitializeBuilder {
-    extra_metas_account: Option<solana_program::pubkey::Pubkey>,
-    guard: Option<solana_program::pubkey::Pubkey>,
-    mint: Option<solana_program::pubkey::Pubkey>,
-    transfer_hook_authority: Option<solana_program::pubkey::Pubkey>,
-    system_program: Option<solana_program::pubkey::Pubkey>,
-    payer: Option<solana_program::pubkey::Pubkey>,
+    extra_metas_account: Option<solana_pubkey::Pubkey>,
+    guard: Option<solana_pubkey::Pubkey>,
+    mint: Option<solana_pubkey::Pubkey>,
+    transfer_hook_authority: Option<solana_pubkey::Pubkey>,
+    system_program: Option<solana_pubkey::Pubkey>,
+    payer: Option<solana_pubkey::Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
 
@@ -113,39 +113,36 @@ impl InitializeBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn extra_metas_account(
-        &mut self,
-        extra_metas_account: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn extra_metas_account(&mut self, extra_metas_account: solana_pubkey::Pubkey) -> &mut Self {
         self.extra_metas_account = Some(extra_metas_account);
         self
     }
     #[inline(always)]
-    pub fn guard(&mut self, guard: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn guard(&mut self, guard: solana_pubkey::Pubkey) -> &mut Self {
         self.guard = Some(guard);
         self
     }
     #[inline(always)]
-    pub fn mint(&mut self, mint: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn mint(&mut self, mint: solana_pubkey::Pubkey) -> &mut Self {
         self.mint = Some(mint);
         self
     }
     #[inline(always)]
     pub fn transfer_hook_authority(
         &mut self,
-        transfer_hook_authority: solana_program::pubkey::Pubkey,
+        transfer_hook_authority: solana_pubkey::Pubkey,
     ) -> &mut Self {
         self.transfer_hook_authority = Some(transfer_hook_authority);
         self
     }
     /// `[optional account, default to '11111111111111111111111111111111']`
     #[inline(always)]
-    pub fn system_program(&mut self, system_program: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn system_program(&mut self, system_program: solana_pubkey::Pubkey) -> &mut Self {
         self.system_program = Some(system_program);
         self
     }
     #[inline(always)]
-    pub fn payer(&mut self, payer: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn payer(&mut self, payer: solana_pubkey::Pubkey) -> &mut Self {
         self.payer = Some(payer);
         self
     }
@@ -180,7 +177,7 @@ impl InitializeBuilder {
                 .expect("transfer_hook_authority is not set"),
             system_program: self
                 .system_program
-                .unwrap_or(solana_program::pubkey!("11111111111111111111111111111111")),
+                .unwrap_or(solana_pubkey::pubkey!("11111111111111111111111111111111")),
             payer: self.payer.expect("payer is not set"),
         };
 

+ 20 - 23
packages/renderers-rust/e2e/anchor/src/generated/instructions/update_guard.rs

@@ -14,17 +14,17 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct UpdateGuard {
-    pub guard: solana_program::pubkey::Pubkey,
+    pub guard: solana_pubkey::Pubkey,
 
-    pub mint: solana_program::pubkey::Pubkey,
+    pub mint: solana_pubkey::Pubkey,
 
-    pub token_account: solana_program::pubkey::Pubkey,
+    pub token_account: solana_pubkey::Pubkey,
 
-    pub guard_authority: solana_program::pubkey::Pubkey,
+    pub guard_authority: solana_pubkey::Pubkey,
 
-    pub token_program: solana_program::pubkey::Pubkey,
+    pub token_program: solana_pubkey::Pubkey,
 
-    pub system_program: solana_program::pubkey::Pubkey,
+    pub system_program: solana_pubkey::Pubkey,
 }
 
 impl UpdateGuard {
@@ -117,12 +117,12 @@ pub struct UpdateGuardInstructionArgs {
 ///   5. `[optional]` system_program (default to `11111111111111111111111111111111`)
 #[derive(Clone, Debug, Default)]
 pub struct UpdateGuardBuilder {
-    guard: Option<solana_program::pubkey::Pubkey>,
-    mint: Option<solana_program::pubkey::Pubkey>,
-    token_account: Option<solana_program::pubkey::Pubkey>,
-    guard_authority: Option<solana_program::pubkey::Pubkey>,
-    token_program: Option<solana_program::pubkey::Pubkey>,
-    system_program: Option<solana_program::pubkey::Pubkey>,
+    guard: Option<solana_pubkey::Pubkey>,
+    mint: Option<solana_pubkey::Pubkey>,
+    token_account: Option<solana_pubkey::Pubkey>,
+    guard_authority: Option<solana_pubkey::Pubkey>,
+    token_program: Option<solana_pubkey::Pubkey>,
+    system_program: Option<solana_pubkey::Pubkey>,
     cpi_rule: Option<CpiRule>,
     transfer_amount_rule: Option<TransferAmountRule>,
     additional_fields_rule: Option<Vec<MetadataAdditionalFieldRule>>,
@@ -134,37 +134,34 @@ impl UpdateGuardBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn guard(&mut self, guard: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn guard(&mut self, guard: solana_pubkey::Pubkey) -> &mut Self {
         self.guard = Some(guard);
         self
     }
     #[inline(always)]
-    pub fn mint(&mut self, mint: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn mint(&mut self, mint: solana_pubkey::Pubkey) -> &mut Self {
         self.mint = Some(mint);
         self
     }
     #[inline(always)]
-    pub fn token_account(&mut self, token_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn token_account(&mut self, token_account: solana_pubkey::Pubkey) -> &mut Self {
         self.token_account = Some(token_account);
         self
     }
     #[inline(always)]
-    pub fn guard_authority(
-        &mut self,
-        guard_authority: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn guard_authority(&mut self, guard_authority: solana_pubkey::Pubkey) -> &mut Self {
         self.guard_authority = Some(guard_authority);
         self
     }
     /// `[optional account, default to 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb']`
     #[inline(always)]
-    pub fn token_program(&mut self, token_program: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn token_program(&mut self, token_program: solana_pubkey::Pubkey) -> &mut Self {
         self.token_program = Some(token_program);
         self
     }
     /// `[optional account, default to '11111111111111111111111111111111']`
     #[inline(always)]
-    pub fn system_program(&mut self, system_program: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn system_program(&mut self, system_program: solana_pubkey::Pubkey) -> &mut Self {
         self.system_program = Some(system_program);
         self
     }
@@ -213,12 +210,12 @@ impl UpdateGuardBuilder {
             mint: self.mint.expect("mint is not set"),
             token_account: self.token_account.expect("token_account is not set"),
             guard_authority: self.guard_authority.expect("guard_authority is not set"),
-            token_program: self.token_program.unwrap_or(solana_program::pubkey!(
+            token_program: self.token_program.unwrap_or(solana_pubkey::pubkey!(
                 "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
             )),
             system_program: self
                 .system_program
-                .unwrap_or(solana_program::pubkey!("11111111111111111111111111111111")),
+                .unwrap_or(solana_pubkey::pubkey!("11111111111111111111111111111111")),
         };
         let args = UpdateGuardInstructionArgs {
             cpi_rule: self.cpi_rule.clone(),

+ 1 - 1
packages/renderers-rust/e2e/anchor/src/generated/programs.rs

@@ -5,7 +5,7 @@
 //! <https://github.com/codama-idl/codama>
 //!
 
-use solana_program::{pubkey, pubkey::Pubkey};
+use solana_pubkey::{pubkey, Pubkey};
 
 /// `wen_transfer_guard` program ID.
 pub const WEN_TRANSFER_GUARD_ID: Pubkey = pubkey!("LockdqYQ9X2kwtWB99ioSbxubAmEi8o9jqYwbXgrrRw");

+ 2 - 2
packages/renderers-rust/e2e/anchor/src/generated/shared.rs

@@ -8,7 +8,7 @@
 #[cfg(feature = "fetch")]
 #[derive(Debug, Clone)]
 pub struct DecodedAccount<T> {
-    pub address: solana_program::pubkey::Pubkey,
+    pub address: solana_pubkey::Pubkey,
     pub account: solana_sdk::account::Account,
     pub data: T,
 }
@@ -17,5 +17,5 @@ pub struct DecodedAccount<T> {
 #[derive(Debug, Clone)]
 pub enum MaybeAccount<T> {
     Exists(DecodedAccount<T>),
-    NotFound(solana_program::pubkey::Pubkey),
+    NotFound(solana_pubkey::Pubkey),
 }

+ 1 - 1
packages/renderers-rust/e2e/anchor/src/generated/types/cpi_rule.rs

@@ -7,7 +7,7 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Controls which protocols can interact with the token by
 /// enforcing Allow and Deny lists.

文件差异内容过多而无法显示
+ 617 - 112
packages/renderers-rust/e2e/dummy/Cargo.lock


+ 2 - 1
packages/renderers-rust/e2e/dummy/Cargo.toml

@@ -17,7 +17,8 @@ num-derive = "^0.3"
 num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
 serde_with = { version = "^3.0", optional = true }
-solana-program = "^2.1.6"
+solana-program = "2.2.1"
+solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
 serde-big-array = { version = "^0.5", optional = true }
 thiserror = "^1.0"
 

+ 3 - 3
packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction6.rs

@@ -11,7 +11,7 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct Instruction6 {
-    pub my_account: solana_program::pubkey::Pubkey,
+    pub my_account: solana_pubkey::Pubkey,
 }
 
 impl Instruction6 {
@@ -63,7 +63,7 @@ impl Default for Instruction6InstructionData {
 ///   0. `[writable]` my_account
 #[derive(Clone, Debug, Default)]
 pub struct Instruction6Builder {
-    my_account: Option<solana_program::pubkey::Pubkey>,
+    my_account: Option<solana_pubkey::Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
 
@@ -72,7 +72,7 @@ impl Instruction6Builder {
         Self::default()
     }
     #[inline(always)]
-    pub fn my_account(&mut self, my_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn my_account(&mut self, my_account: solana_pubkey::Pubkey) -> &mut Self {
         self.my_account = Some(my_account);
         self
     }

+ 3 - 3
packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction7.rs

@@ -11,7 +11,7 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct Instruction7 {
-    pub my_account: Option<solana_program::pubkey::Pubkey>,
+    pub my_account: Option<solana_pubkey::Pubkey>,
 }
 
 impl Instruction7 {
@@ -69,7 +69,7 @@ impl Default for Instruction7InstructionData {
 ///   0. `[writable, optional]` my_account
 #[derive(Clone, Debug, Default)]
 pub struct Instruction7Builder {
-    my_account: Option<solana_program::pubkey::Pubkey>,
+    my_account: Option<solana_pubkey::Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
 
@@ -79,7 +79,7 @@ impl Instruction7Builder {
     }
     /// `[optional account]`
     #[inline(always)]
-    pub fn my_account(&mut self, my_account: Option<solana_program::pubkey::Pubkey>) -> &mut Self {
+    pub fn my_account(&mut self, my_account: Option<solana_pubkey::Pubkey>) -> &mut Self {
         self.my_account = my_account;
         self
     }

+ 1 - 1
packages/renderers-rust/e2e/dummy/src/generated/programs.rs

@@ -5,7 +5,7 @@
 //! <https://github.com/codama-idl/codama>
 //!
 
-use solana_program::{pubkey, pubkey::Pubkey};
+use solana_pubkey::{pubkey, Pubkey};
 
 /// `dummy` program ID.
 pub const DUMMY_ID: Pubkey = pubkey!("Dummy11111111111111111111111111111111111111");

文件差异内容过多而无法显示
+ 608 - 104
packages/renderers-rust/e2e/memo/Cargo.lock


+ 2 - 1
packages/renderers-rust/e2e/memo/Cargo.toml

@@ -17,7 +17,8 @@ num-derive = "^0.3"
 num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
 serde_with = { version = "^3.0", optional = true }
-solana-program = "^2.1.6"
+solana-program = "2.2.1"
+solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
 serde-big-array = { version = "^0.5", optional = true }
 thiserror = "^1.0"
 

+ 1 - 1
packages/renderers-rust/e2e/memo/src/generated/programs.rs

@@ -5,7 +5,7 @@
 //! <https://github.com/codama-idl/codama>
 //!
 
-use solana_program::{pubkey, pubkey::Pubkey};
+use solana_pubkey::{pubkey, Pubkey};
 
 /// `memo` program ID.
 pub const MEMO_ID: Pubkey = pubkey!("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr");

+ 2 - 1
packages/renderers-rust/e2e/meteora/Cargo.toml

@@ -18,7 +18,8 @@ num-derive = "^0.3"
 num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
 serde_with = { version = "^3.0", optional = true }
-solana-program = "^2.1.6"
+solana-program = "2.2.1"
+solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
 solana-client = { version = "~1.18", optional = true }
 solana-sdk = { version = "~1.18", optional = true }
 thiserror = "^1.0"

文件差异内容过多而无法显示
+ 575 - 120
packages/renderers-rust/e2e/system/Cargo.lock


+ 2 - 1
packages/renderers-rust/e2e/system/Cargo.toml

@@ -18,7 +18,8 @@ num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
 serde_with = { version = "^3.0", optional = true }
 serde-big-array = { version = "^0.5", optional = true }
-solana-program = "^2.1.6"
+solana-program = "2.2.1"
+solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
 solana-client = { version = "~1.18", optional = true }
 solana-sdk = { version = "~1.18", optional = true }
 thiserror = "^1.0"

+ 5 - 5
packages/renderers-rust/e2e/system/src/generated/accounts/nonce.rs

@@ -9,7 +9,7 @@ use crate::generated::types::NonceState;
 use crate::generated::types::NonceVersion;
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 #[derive(BorshSerialize, BorshDeserialize, Clone, Debug, Eq, PartialEq)]
 #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
@@ -53,7 +53,7 @@ impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for Nonce {
 #[cfg(feature = "fetch")]
 pub fn fetch_nonce(
     rpc: &solana_client::rpc_client::RpcClient,
-    address: &solana_program::pubkey::Pubkey,
+    address: &solana_pubkey::Pubkey,
 ) -> Result<crate::shared::DecodedAccount<Nonce>, std::io::Error> {
     let accounts = fetch_all_nonce(rpc, &[*address])?;
     Ok(accounts[0].clone())
@@ -62,7 +62,7 @@ pub fn fetch_nonce(
 #[cfg(feature = "fetch")]
 pub fn fetch_all_nonce(
     rpc: &solana_client::rpc_client::RpcClient,
-    addresses: &[solana_program::pubkey::Pubkey],
+    addresses: &[solana_pubkey::Pubkey],
 ) -> Result<Vec<crate::shared::DecodedAccount<Nonce>>, std::io::Error> {
     let accounts = rpc
         .get_multiple_accounts(addresses)
@@ -87,7 +87,7 @@ pub fn fetch_all_nonce(
 #[cfg(feature = "fetch")]
 pub fn fetch_maybe_nonce(
     rpc: &solana_client::rpc_client::RpcClient,
-    address: &solana_program::pubkey::Pubkey,
+    address: &solana_pubkey::Pubkey,
 ) -> Result<crate::shared::MaybeAccount<Nonce>, std::io::Error> {
     let accounts = fetch_all_maybe_nonce(rpc, &[*address])?;
     Ok(accounts[0].clone())
@@ -96,7 +96,7 @@ pub fn fetch_maybe_nonce(
 #[cfg(feature = "fetch")]
 pub fn fetch_all_maybe_nonce(
     rpc: &solana_client::rpc_client::RpcClient,
-    addresses: &[solana_program::pubkey::Pubkey],
+    addresses: &[solana_pubkey::Pubkey],
 ) -> Result<Vec<crate::shared::MaybeAccount<Nonce>>, std::io::Error> {
     let accounts = rpc
         .get_multiple_accounts(addresses)

+ 10 - 13
packages/renderers-rust/e2e/system/src/generated/instructions/advance_nonce_account.rs

@@ -11,11 +11,11 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct AdvanceNonceAccount {
-    pub nonce_account: solana_program::pubkey::Pubkey,
+    pub nonce_account: solana_pubkey::Pubkey,
 
-    pub recent_blockhashes_sysvar: solana_program::pubkey::Pubkey,
+    pub recent_blockhashes_sysvar: solana_pubkey::Pubkey,
 
-    pub nonce_authority: solana_program::pubkey::Pubkey,
+    pub nonce_authority: solana_pubkey::Pubkey,
 }
 
 impl AdvanceNonceAccount {
@@ -79,9 +79,9 @@ impl Default for AdvanceNonceAccountInstructionData {
 ///   2. `[signer]` nonce_authority
 #[derive(Clone, Debug, Default)]
 pub struct AdvanceNonceAccountBuilder {
-    nonce_account: Option<solana_program::pubkey::Pubkey>,
-    recent_blockhashes_sysvar: Option<solana_program::pubkey::Pubkey>,
-    nonce_authority: Option<solana_program::pubkey::Pubkey>,
+    nonce_account: Option<solana_pubkey::Pubkey>,
+    recent_blockhashes_sysvar: Option<solana_pubkey::Pubkey>,
+    nonce_authority: Option<solana_pubkey::Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
 
@@ -90,7 +90,7 @@ impl AdvanceNonceAccountBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn nonce_account(&mut self, nonce_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn nonce_account(&mut self, nonce_account: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_account = Some(nonce_account);
         self
     }
@@ -98,16 +98,13 @@ impl AdvanceNonceAccountBuilder {
     #[inline(always)]
     pub fn recent_blockhashes_sysvar(
         &mut self,
-        recent_blockhashes_sysvar: solana_program::pubkey::Pubkey,
+        recent_blockhashes_sysvar: solana_pubkey::Pubkey,
     ) -> &mut Self {
         self.recent_blockhashes_sysvar = Some(recent_blockhashes_sysvar);
         self
     }
     #[inline(always)]
-    pub fn nonce_authority(
-        &mut self,
-        nonce_authority: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn nonce_authority(&mut self, nonce_authority: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_authority = Some(nonce_authority);
         self
     }
@@ -134,7 +131,7 @@ impl AdvanceNonceAccountBuilder {
         let accounts = AdvanceNonceAccount {
             nonce_account: self.nonce_account.expect("nonce_account is not set"),
             recent_blockhashes_sysvar: self.recent_blockhashes_sysvar.unwrap_or(
-                solana_program::pubkey!("SysvarRecentB1ockHashes11111111111111111111"),
+                solana_pubkey::pubkey!("SysvarRecentB1ockHashes11111111111111111111"),
             ),
             nonce_authority: self.nonce_authority.expect("nonce_authority is not set"),
         };

+ 3 - 3
packages/renderers-rust/e2e/system/src/generated/instructions/allocate.rs

@@ -11,7 +11,7 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct Allocate {
-    pub new_account: solana_program::pubkey::Pubkey,
+    pub new_account: solana_pubkey::Pubkey,
 }
 
 impl Allocate {
@@ -77,7 +77,7 @@ pub struct AllocateInstructionArgs {
 ///   0. `[writable, signer]` new_account
 #[derive(Clone, Debug, Default)]
 pub struct AllocateBuilder {
-    new_account: Option<solana_program::pubkey::Pubkey>,
+    new_account: Option<solana_pubkey::Pubkey>,
     space: Option<u64>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
@@ -87,7 +87,7 @@ impl AllocateBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn new_account(&mut self, new_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn new_account(&mut self, new_account: solana_pubkey::Pubkey) -> &mut Self {
         self.new_account = Some(new_account);
         self
     }

+ 7 - 7
packages/renderers-rust/e2e/system/src/generated/instructions/allocate_with_seed.rs

@@ -7,14 +7,14 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct AllocateWithSeed {
-    pub new_account: solana_program::pubkey::Pubkey,
+    pub new_account: solana_pubkey::Pubkey,
 
-    pub base_account: solana_program::pubkey::Pubkey,
+    pub base_account: solana_pubkey::Pubkey,
 }
 
 impl AllocateWithSeed {
@@ -88,8 +88,8 @@ pub struct AllocateWithSeedInstructionArgs {
 ///   1. `[signer]` base_account
 #[derive(Clone, Debug, Default)]
 pub struct AllocateWithSeedBuilder {
-    new_account: Option<solana_program::pubkey::Pubkey>,
-    base_account: Option<solana_program::pubkey::Pubkey>,
+    new_account: Option<solana_pubkey::Pubkey>,
+    base_account: Option<solana_pubkey::Pubkey>,
     base: Option<Pubkey>,
     seed: Option<String>,
     space: Option<u64>,
@@ -102,12 +102,12 @@ impl AllocateWithSeedBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn new_account(&mut self, new_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn new_account(&mut self, new_account: solana_pubkey::Pubkey) -> &mut Self {
         self.new_account = Some(new_account);
         self
     }
     #[inline(always)]
-    pub fn base_account(&mut self, base_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn base_account(&mut self, base_account: solana_pubkey::Pubkey) -> &mut Self {
         self.base_account = Some(base_account);
         self
     }

+ 4 - 4
packages/renderers-rust/e2e/system/src/generated/instructions/assign.rs

@@ -7,12 +7,12 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct Assign {
-    pub account: solana_program::pubkey::Pubkey,
+    pub account: solana_pubkey::Pubkey,
 }
 
 impl Assign {
@@ -78,7 +78,7 @@ pub struct AssignInstructionArgs {
 ///   0. `[writable, signer]` account
 #[derive(Clone, Debug, Default)]
 pub struct AssignBuilder {
-    account: Option<solana_program::pubkey::Pubkey>,
+    account: Option<solana_pubkey::Pubkey>,
     program_address: Option<Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
@@ -88,7 +88,7 @@ impl AssignBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn account(&mut self, account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn account(&mut self, account: solana_pubkey::Pubkey) -> &mut Self {
         self.account = Some(account);
         self
     }

+ 7 - 7
packages/renderers-rust/e2e/system/src/generated/instructions/assign_with_seed.rs

@@ -7,14 +7,14 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct AssignWithSeed {
-    pub account: solana_program::pubkey::Pubkey,
+    pub account: solana_pubkey::Pubkey,
 
-    pub base_account: solana_program::pubkey::Pubkey,
+    pub base_account: solana_pubkey::Pubkey,
 }
 
 impl AssignWithSeed {
@@ -87,8 +87,8 @@ pub struct AssignWithSeedInstructionArgs {
 ///   1. `[signer]` base_account
 #[derive(Clone, Debug, Default)]
 pub struct AssignWithSeedBuilder {
-    account: Option<solana_program::pubkey::Pubkey>,
-    base_account: Option<solana_program::pubkey::Pubkey>,
+    account: Option<solana_pubkey::Pubkey>,
+    base_account: Option<solana_pubkey::Pubkey>,
     base: Option<Pubkey>,
     seed: Option<String>,
     program_address: Option<Pubkey>,
@@ -100,12 +100,12 @@ impl AssignWithSeedBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn account(&mut self, account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn account(&mut self, account: solana_pubkey::Pubkey) -> &mut Self {
         self.account = Some(account);
         self
     }
     #[inline(always)]
-    pub fn base_account(&mut self, base_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn base_account(&mut self, base_account: solana_pubkey::Pubkey) -> &mut Self {
         self.base_account = Some(base_account);
         self
     }

+ 7 - 10
packages/renderers-rust/e2e/system/src/generated/instructions/authorize_nonce_account.rs

@@ -7,14 +7,14 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct AuthorizeNonceAccount {
-    pub nonce_account: solana_program::pubkey::Pubkey,
+    pub nonce_account: solana_pubkey::Pubkey,
 
-    pub nonce_authority: solana_program::pubkey::Pubkey,
+    pub nonce_authority: solana_pubkey::Pubkey,
 }
 
 impl AuthorizeNonceAccount {
@@ -85,8 +85,8 @@ pub struct AuthorizeNonceAccountInstructionArgs {
 ///   1. `[signer]` nonce_authority
 #[derive(Clone, Debug, Default)]
 pub struct AuthorizeNonceAccountBuilder {
-    nonce_account: Option<solana_program::pubkey::Pubkey>,
-    nonce_authority: Option<solana_program::pubkey::Pubkey>,
+    nonce_account: Option<solana_pubkey::Pubkey>,
+    nonce_authority: Option<solana_pubkey::Pubkey>,
     new_nonce_authority: Option<Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
@@ -96,15 +96,12 @@ impl AuthorizeNonceAccountBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn nonce_account(&mut self, nonce_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn nonce_account(&mut self, nonce_account: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_account = Some(nonce_account);
         self
     }
     #[inline(always)]
-    pub fn nonce_authority(
-        &mut self,
-        nonce_authority: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn nonce_authority(&mut self, nonce_authority: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_authority = Some(nonce_authority);
         self
     }

+ 7 - 7
packages/renderers-rust/e2e/system/src/generated/instructions/create_account.rs

@@ -7,14 +7,14 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct CreateAccount {
-    pub payer: solana_program::pubkey::Pubkey,
+    pub payer: solana_pubkey::Pubkey,
 
-    pub new_account: solana_program::pubkey::Pubkey,
+    pub new_account: solana_pubkey::Pubkey,
 }
 
 impl CreateAccount {
@@ -86,8 +86,8 @@ pub struct CreateAccountInstructionArgs {
 ///   1. `[writable, signer]` new_account
 #[derive(Clone, Debug, Default)]
 pub struct CreateAccountBuilder {
-    payer: Option<solana_program::pubkey::Pubkey>,
-    new_account: Option<solana_program::pubkey::Pubkey>,
+    payer: Option<solana_pubkey::Pubkey>,
+    new_account: Option<solana_pubkey::Pubkey>,
     lamports: Option<u64>,
     space: Option<u64>,
     program_address: Option<Pubkey>,
@@ -99,12 +99,12 @@ impl CreateAccountBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn payer(&mut self, payer: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn payer(&mut self, payer: solana_pubkey::Pubkey) -> &mut Self {
         self.payer = Some(payer);
         self
     }
     #[inline(always)]
-    pub fn new_account(&mut self, new_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn new_account(&mut self, new_account: solana_pubkey::Pubkey) -> &mut Self {
         self.new_account = Some(new_account);
         self
     }

+ 10 - 10
packages/renderers-rust/e2e/system/src/generated/instructions/create_account_with_seed.rs

@@ -7,16 +7,16 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct CreateAccountWithSeed {
-    pub payer: solana_program::pubkey::Pubkey,
+    pub payer: solana_pubkey::Pubkey,
 
-    pub new_account: solana_program::pubkey::Pubkey,
+    pub new_account: solana_pubkey::Pubkey,
 
-    pub base_account: solana_program::pubkey::Pubkey,
+    pub base_account: solana_pubkey::Pubkey,
 }
 
 impl CreateAccountWithSeed {
@@ -95,9 +95,9 @@ pub struct CreateAccountWithSeedInstructionArgs {
 ///   2. `[signer]` base_account
 #[derive(Clone, Debug, Default)]
 pub struct CreateAccountWithSeedBuilder {
-    payer: Option<solana_program::pubkey::Pubkey>,
-    new_account: Option<solana_program::pubkey::Pubkey>,
-    base_account: Option<solana_program::pubkey::Pubkey>,
+    payer: Option<solana_pubkey::Pubkey>,
+    new_account: Option<solana_pubkey::Pubkey>,
+    base_account: Option<solana_pubkey::Pubkey>,
     base: Option<Pubkey>,
     seed: Option<String>,
     amount: Option<u64>,
@@ -111,17 +111,17 @@ impl CreateAccountWithSeedBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn payer(&mut self, payer: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn payer(&mut self, payer: solana_pubkey::Pubkey) -> &mut Self {
         self.payer = Some(payer);
         self
     }
     #[inline(always)]
-    pub fn new_account(&mut self, new_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn new_account(&mut self, new_account: solana_pubkey::Pubkey) -> &mut Self {
         self.new_account = Some(new_account);
         self
     }
     #[inline(always)]
-    pub fn base_account(&mut self, base_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn base_account(&mut self, base_account: solana_pubkey::Pubkey) -> &mut Self {
         self.base_account = Some(base_account);
         self
     }

+ 12 - 12
packages/renderers-rust/e2e/system/src/generated/instructions/initialize_nonce_account.rs

@@ -7,16 +7,16 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct InitializeNonceAccount {
-    pub nonce_account: solana_program::pubkey::Pubkey,
+    pub nonce_account: solana_pubkey::Pubkey,
 
-    pub recent_blockhashes_sysvar: solana_program::pubkey::Pubkey,
+    pub recent_blockhashes_sysvar: solana_pubkey::Pubkey,
 
-    pub rent_sysvar: solana_program::pubkey::Pubkey,
+    pub rent_sysvar: solana_pubkey::Pubkey,
 }
 
 impl InitializeNonceAccount {
@@ -92,9 +92,9 @@ pub struct InitializeNonceAccountInstructionArgs {
 ///   2. `[optional]` rent_sysvar (default to `SysvarRent111111111111111111111111111111111`)
 #[derive(Clone, Debug, Default)]
 pub struct InitializeNonceAccountBuilder {
-    nonce_account: Option<solana_program::pubkey::Pubkey>,
-    recent_blockhashes_sysvar: Option<solana_program::pubkey::Pubkey>,
-    rent_sysvar: Option<solana_program::pubkey::Pubkey>,
+    nonce_account: Option<solana_pubkey::Pubkey>,
+    recent_blockhashes_sysvar: Option<solana_pubkey::Pubkey>,
+    rent_sysvar: Option<solana_pubkey::Pubkey>,
     nonce_authority: Option<Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
@@ -104,7 +104,7 @@ impl InitializeNonceAccountBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn nonce_account(&mut self, nonce_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn nonce_account(&mut self, nonce_account: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_account = Some(nonce_account);
         self
     }
@@ -112,14 +112,14 @@ impl InitializeNonceAccountBuilder {
     #[inline(always)]
     pub fn recent_blockhashes_sysvar(
         &mut self,
-        recent_blockhashes_sysvar: solana_program::pubkey::Pubkey,
+        recent_blockhashes_sysvar: solana_pubkey::Pubkey,
     ) -> &mut Self {
         self.recent_blockhashes_sysvar = Some(recent_blockhashes_sysvar);
         self
     }
     /// `[optional account, default to 'SysvarRent111111111111111111111111111111111']`
     #[inline(always)]
-    pub fn rent_sysvar(&mut self, rent_sysvar: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn rent_sysvar(&mut self, rent_sysvar: solana_pubkey::Pubkey) -> &mut Self {
         self.rent_sysvar = Some(rent_sysvar);
         self
     }
@@ -151,9 +151,9 @@ impl InitializeNonceAccountBuilder {
         let accounts = InitializeNonceAccount {
             nonce_account: self.nonce_account.expect("nonce_account is not set"),
             recent_blockhashes_sysvar: self.recent_blockhashes_sysvar.unwrap_or(
-                solana_program::pubkey!("SysvarRecentB1ockHashes11111111111111111111"),
+                solana_pubkey::pubkey!("SysvarRecentB1ockHashes11111111111111111111"),
             ),
-            rent_sysvar: self.rent_sysvar.unwrap_or(solana_program::pubkey!(
+            rent_sysvar: self.rent_sysvar.unwrap_or(solana_pubkey::pubkey!(
                 "SysvarRent111111111111111111111111111111111"
             )),
         };

+ 6 - 6
packages/renderers-rust/e2e/system/src/generated/instructions/transfer_sol.rs

@@ -11,9 +11,9 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct TransferSol {
-    pub source: solana_program::pubkey::Pubkey,
+    pub source: solana_pubkey::Pubkey,
 
-    pub destination: solana_program::pubkey::Pubkey,
+    pub destination: solana_pubkey::Pubkey,
 }
 
 impl TransferSol {
@@ -84,8 +84,8 @@ pub struct TransferSolInstructionArgs {
 ///   1. `[writable]` destination
 #[derive(Clone, Debug, Default)]
 pub struct TransferSolBuilder {
-    source: Option<solana_program::pubkey::Pubkey>,
-    destination: Option<solana_program::pubkey::Pubkey>,
+    source: Option<solana_pubkey::Pubkey>,
+    destination: Option<solana_pubkey::Pubkey>,
     amount: Option<u64>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
@@ -95,12 +95,12 @@ impl TransferSolBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn source(&mut self, source: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn source(&mut self, source: solana_pubkey::Pubkey) -> &mut Self {
         self.source = Some(source);
         self
     }
     #[inline(always)]
-    pub fn destination(&mut self, destination: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn destination(&mut self, destination: solana_pubkey::Pubkey) -> &mut Self {
         self.destination = Some(destination);
         self
     }

+ 10 - 10
packages/renderers-rust/e2e/system/src/generated/instructions/transfer_sol_with_seed.rs

@@ -7,16 +7,16 @@
 
 use borsh::BorshDeserialize;
 use borsh::BorshSerialize;
-use solana_program::pubkey::Pubkey;
+use solana_pubkey::Pubkey;
 
 /// Accounts.
 #[derive(Debug)]
 pub struct TransferSolWithSeed {
-    pub source: solana_program::pubkey::Pubkey,
+    pub source: solana_pubkey::Pubkey,
 
-    pub base_account: solana_program::pubkey::Pubkey,
+    pub base_account: solana_pubkey::Pubkey,
 
-    pub destination: solana_program::pubkey::Pubkey,
+    pub destination: solana_pubkey::Pubkey,
 }
 
 impl TransferSolWithSeed {
@@ -94,9 +94,9 @@ pub struct TransferSolWithSeedInstructionArgs {
 ///   2. `[writable]` destination
 #[derive(Clone, Debug, Default)]
 pub struct TransferSolWithSeedBuilder {
-    source: Option<solana_program::pubkey::Pubkey>,
-    base_account: Option<solana_program::pubkey::Pubkey>,
-    destination: Option<solana_program::pubkey::Pubkey>,
+    source: Option<solana_pubkey::Pubkey>,
+    base_account: Option<solana_pubkey::Pubkey>,
+    destination: Option<solana_pubkey::Pubkey>,
     amount: Option<u64>,
     from_seed: Option<String>,
     from_owner: Option<Pubkey>,
@@ -108,17 +108,17 @@ impl TransferSolWithSeedBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn source(&mut self, source: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn source(&mut self, source: solana_pubkey::Pubkey) -> &mut Self {
         self.source = Some(source);
         self
     }
     #[inline(always)]
-    pub fn base_account(&mut self, base_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn base_account(&mut self, base_account: solana_pubkey::Pubkey) -> &mut Self {
         self.base_account = Some(base_account);
         self
     }
     #[inline(always)]
-    pub fn destination(&mut self, destination: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn destination(&mut self, destination: solana_pubkey::Pubkey) -> &mut Self {
         self.destination = Some(destination);
         self
     }

+ 3 - 3
packages/renderers-rust/e2e/system/src/generated/instructions/upgrade_nonce_account.rs

@@ -11,7 +11,7 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct UpgradeNonceAccount {
-    pub nonce_account: solana_program::pubkey::Pubkey,
+    pub nonce_account: solana_pubkey::Pubkey,
 }
 
 impl UpgradeNonceAccount {
@@ -65,7 +65,7 @@ impl Default for UpgradeNonceAccountInstructionData {
 ///   0. `[writable]` nonce_account
 #[derive(Clone, Debug, Default)]
 pub struct UpgradeNonceAccountBuilder {
-    nonce_account: Option<solana_program::pubkey::Pubkey>,
+    nonce_account: Option<solana_pubkey::Pubkey>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
 
@@ -74,7 +74,7 @@ impl UpgradeNonceAccountBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn nonce_account(&mut self, nonce_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn nonce_account(&mut self, nonce_account: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_account = Some(nonce_account);
         self
     }

+ 17 - 23
packages/renderers-rust/e2e/system/src/generated/instructions/withdraw_nonce_account.rs

@@ -11,15 +11,15 @@ use borsh::BorshSerialize;
 /// Accounts.
 #[derive(Debug)]
 pub struct WithdrawNonceAccount {
-    pub nonce_account: solana_program::pubkey::Pubkey,
+    pub nonce_account: solana_pubkey::Pubkey,
 
-    pub recipient_account: solana_program::pubkey::Pubkey,
+    pub recipient_account: solana_pubkey::Pubkey,
 
-    pub recent_blockhashes_sysvar: solana_program::pubkey::Pubkey,
+    pub recent_blockhashes_sysvar: solana_pubkey::Pubkey,
 
-    pub rent_sysvar: solana_program::pubkey::Pubkey,
+    pub rent_sysvar: solana_pubkey::Pubkey,
 
-    pub nonce_authority: solana_program::pubkey::Pubkey,
+    pub nonce_authority: solana_pubkey::Pubkey,
 }
 
 impl WithdrawNonceAccount {
@@ -105,11 +105,11 @@ pub struct WithdrawNonceAccountInstructionArgs {
 ///   4. `[signer]` nonce_authority
 #[derive(Clone, Debug, Default)]
 pub struct WithdrawNonceAccountBuilder {
-    nonce_account: Option<solana_program::pubkey::Pubkey>,
-    recipient_account: Option<solana_program::pubkey::Pubkey>,
-    recent_blockhashes_sysvar: Option<solana_program::pubkey::Pubkey>,
-    rent_sysvar: Option<solana_program::pubkey::Pubkey>,
-    nonce_authority: Option<solana_program::pubkey::Pubkey>,
+    nonce_account: Option<solana_pubkey::Pubkey>,
+    recipient_account: Option<solana_pubkey::Pubkey>,
+    recent_blockhashes_sysvar: Option<solana_pubkey::Pubkey>,
+    rent_sysvar: Option<solana_pubkey::Pubkey>,
+    nonce_authority: Option<solana_pubkey::Pubkey>,
     withdraw_amount: Option<u64>,
     __remaining_accounts: Vec<solana_program::instruction::AccountMeta>,
 }
@@ -119,15 +119,12 @@ impl WithdrawNonceAccountBuilder {
         Self::default()
     }
     #[inline(always)]
-    pub fn nonce_account(&mut self, nonce_account: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn nonce_account(&mut self, nonce_account: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_account = Some(nonce_account);
         self
     }
     #[inline(always)]
-    pub fn recipient_account(
-        &mut self,
-        recipient_account: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn recipient_account(&mut self, recipient_account: solana_pubkey::Pubkey) -> &mut Self {
         self.recipient_account = Some(recipient_account);
         self
     }
@@ -135,22 +132,19 @@ impl WithdrawNonceAccountBuilder {
     #[inline(always)]
     pub fn recent_blockhashes_sysvar(
         &mut self,
-        recent_blockhashes_sysvar: solana_program::pubkey::Pubkey,
+        recent_blockhashes_sysvar: solana_pubkey::Pubkey,
     ) -> &mut Self {
         self.recent_blockhashes_sysvar = Some(recent_blockhashes_sysvar);
         self
     }
     /// `[optional account, default to 'SysvarRent111111111111111111111111111111111']`
     #[inline(always)]
-    pub fn rent_sysvar(&mut self, rent_sysvar: solana_program::pubkey::Pubkey) -> &mut Self {
+    pub fn rent_sysvar(&mut self, rent_sysvar: solana_pubkey::Pubkey) -> &mut Self {
         self.rent_sysvar = Some(rent_sysvar);
         self
     }
     #[inline(always)]
-    pub fn nonce_authority(
-        &mut self,
-        nonce_authority: solana_program::pubkey::Pubkey,
-    ) -> &mut Self {
+    pub fn nonce_authority(&mut self, nonce_authority: solana_pubkey::Pubkey) -> &mut Self {
         self.nonce_authority = Some(nonce_authority);
         self
     }
@@ -185,9 +179,9 @@ impl WithdrawNonceAccountBuilder {
                 .recipient_account
                 .expect("recipient_account is not set"),
             recent_blockhashes_sysvar: self.recent_blockhashes_sysvar.unwrap_or(
-                solana_program::pubkey!("SysvarRecentB1ockHashes11111111111111111111"),
+                solana_pubkey::pubkey!("SysvarRecentB1ockHashes11111111111111111111"),
             ),
-            rent_sysvar: self.rent_sysvar.unwrap_or(solana_program::pubkey!(
+            rent_sysvar: self.rent_sysvar.unwrap_or(solana_pubkey::pubkey!(
                 "SysvarRent111111111111111111111111111111111"
             )),
             nonce_authority: self.nonce_authority.expect("nonce_authority is not set"),

+ 1 - 1
packages/renderers-rust/e2e/system/src/generated/programs.rs

@@ -5,7 +5,7 @@
 //! <https://github.com/codama-idl/codama>
 //!
 
-use solana_program::{pubkey, pubkey::Pubkey};
+use solana_pubkey::{pubkey, Pubkey};
 
 /// `system` program ID.
 pub const SYSTEM_ID: Pubkey = pubkey!("11111111111111111111111111111111");

+ 2 - 2
packages/renderers-rust/e2e/system/src/generated/shared.rs

@@ -8,7 +8,7 @@
 #[cfg(feature = "fetch")]
 #[derive(Debug, Clone)]
 pub struct DecodedAccount<T> {
-    pub address: solana_program::pubkey::Pubkey,
+    pub address: solana_pubkey::Pubkey,
     pub account: solana_sdk::account::Account,
     pub data: T,
 }
@@ -17,5 +17,5 @@ pub struct DecodedAccount<T> {
 #[derive(Debug, Clone)]
 pub enum MaybeAccount<T> {
     Exists(DecodedAccount<T>),
-    NotFound(solana_program::pubkey::Pubkey),
+    NotFound(solana_pubkey::Pubkey),
 }

+ 8 - 8
packages/renderers-rust/public/templates/accountsPage.njk

@@ -58,8 +58,8 @@ impl {{ account.name | pascalCase }} {
           {% endfor %}
       {% endif %}
       bump: u8,
-    ) -> Result<solana_program::pubkey::Pubkey, solana_program::pubkey::PubkeyError> {
-      solana_program::pubkey::Pubkey::create_program_address(
+    ) -> Result<solana_pubkey::Pubkey, solana_pubkey::PubkeyError> {
+      solana_pubkey::Pubkey::create_program_address(
         &[
           {% for seed in seeds %}
             {% if seed.kind === 'constantPdaSeedNode' and seed.value.kind === 'programIdValueNode' %}
@@ -90,8 +90,8 @@ impl {{ account.name | pascalCase }} {
           {% endif %}
         {% endfor %}
     {% endif %}
-    ) -> (solana_program::pubkey::Pubkey, u8) {
-      solana_program::pubkey::Pubkey::find_program_address(
+    ) -> (solana_pubkey::Pubkey, u8) {
+      solana_pubkey::Pubkey::find_program_address(
         &[
           {% for seed in seeds %}
             {% if seed.kind === 'constantPdaSeedNode' and seed.value.kind === 'programIdValueNode' %}
@@ -131,7 +131,7 @@ impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for {{ account.
 #[cfg(feature = "fetch")]
 pub fn fetch_{{ account.name | snakeCase }}(
   rpc: &solana_client::rpc_client::RpcClient,
-  address: &solana_program::pubkey::Pubkey,
+  address: &solana_pubkey::Pubkey,
 ) -> Result<crate::shared::DecodedAccount<{{ account.name | pascalCase }}>, std::io::Error> {
   let accounts = fetch_all_{{ account.name | snakeCase }}(rpc, &[*address])?;
   Ok(accounts[0].clone())
@@ -140,7 +140,7 @@ pub fn fetch_{{ account.name | snakeCase }}(
 #[cfg(feature = "fetch")]
 pub fn fetch_all_{{ account.name | snakeCase }}(
   rpc: &solana_client::rpc_client::RpcClient,
-  addresses: &[solana_program::pubkey::Pubkey],
+  addresses: &[solana_pubkey::Pubkey],
 ) -> Result<Vec<crate::shared::DecodedAccount<{{ account.name | pascalCase }}>>, std::io::Error> {
     let accounts = rpc.get_multiple_accounts(addresses)
       .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e.to_string()))?;
@@ -158,7 +158,7 @@ pub fn fetch_all_{{ account.name | snakeCase }}(
 #[cfg(feature = "fetch")]
 pub fn fetch_maybe_{{ account.name | snakeCase }}(
   rpc: &solana_client::rpc_client::RpcClient,
-  address: &solana_program::pubkey::Pubkey,
+  address: &solana_pubkey::Pubkey,
 ) -> Result<crate::shared::MaybeAccount<{{ account.name | pascalCase }}>, std::io::Error> {
     let accounts = fetch_all_maybe_{{ account.name | snakeCase }}(rpc, &[*address])?;
     Ok(accounts[0].clone())
@@ -167,7 +167,7 @@ pub fn fetch_maybe_{{ account.name | snakeCase }}(
 #[cfg(feature = "fetch")]
 pub fn fetch_all_maybe_{{ account.name | snakeCase }}(
   rpc: &solana_client::rpc_client::RpcClient,
-  addresses: &[solana_program::pubkey::Pubkey],
+  addresses: &[solana_pubkey::Pubkey],
 ) -> Result<Vec<crate::shared::MaybeAccount<{{ account.name | pascalCase }}>>, std::io::Error> {
     let accounts = rpc.get_multiple_accounts(addresses)
       .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e.to_string()))?;

+ 2 - 2
packages/renderers-rust/public/templates/instructionsPage.njk

@@ -14,9 +14,9 @@ pub struct {{ instruction.name | pascalCase }} {
     {% endif %}
 
     {% if account.isSigner === 'either' %}
-      {% set type = '(solana_program::pubkey::Pubkey, bool)' %}
+      {% set type = '(solana_pubkey::Pubkey, bool)' %}
     {% else %}
-      {% set type = 'solana_program::pubkey::Pubkey' %}
+      {% set type = 'solana_pubkey::Pubkey' %}
     {% endif %}
 
     {% if account.isOptional %}

+ 4 - 4
packages/renderers-rust/public/templates/instructionsPageBuilder.njk

@@ -20,9 +20,9 @@
 pub struct {{ instruction.name | pascalCase }}Builder {
   {% for account in instruction.accounts %}
     {% if account.isSigner === 'either' %}
-      {{ account.name | snakeCase }}: Option<(solana_program::pubkey::Pubkey, bool)>,
+      {{ account.name | snakeCase }}: Option<(solana_pubkey::Pubkey, bool)>,
     {% else %}
-      {{ account.name | snakeCase }}: Option<solana_program::pubkey::Pubkey>,
+      {{ account.name | snakeCase }}: Option<solana_pubkey::Pubkey>,
     {% endif %}
   {% endfor %}
   {% for arg in instructionArgs %}
@@ -45,7 +45,7 @@ impl {{ instruction.name | pascalCase }}Builder {
     {% endif %}
     {{- macros.docblock(account.docs) -}}
     #[inline(always)]
-    pub fn {{ account.name | snakeCase }}(&mut self, {{ account.name | snakeCase }}: {{ 'Option<solana_program::pubkey::Pubkey>' if account.isOptional else 'solana_program::pubkey::Pubkey' }}{{ ', as_signer: bool' if account.isSigner === 'either' }}) -> &mut Self {
+    pub fn {{ account.name | snakeCase }}(&mut self, {{ account.name | snakeCase }}: {{ 'Option<solana_pubkey::Pubkey>' if account.isOptional else 'solana_pubkey::Pubkey' }}{{ ', as_signer: bool' if account.isSigner === 'either' }}) -> &mut Self {
       {% if account.isOptional %}
         {% if account.isSigner === 'either' %}
           if let Some({{ account.name | snakeCase }}) = {{ account.name | snakeCase }} {
@@ -99,7 +99,7 @@ impl {{ instruction.name | pascalCase }}Builder {
           {% elif account.defaultValue.kind === 'programId' %}
             {{ account.name | snakeCase }}: self.{{ account.name | snakeCase }}, {# Program ID set on the instruction creation. #}
           {% elif account.defaultValue.kind === 'publicKeyValueNode' %}
-            {{ account.name | snakeCase }}: self.{{ account.name | snakeCase }}.unwrap_or(solana_program::pubkey!("{{ account.defaultValue.publicKey }}")),
+            {{ account.name | snakeCase }}: self.{{ account.name | snakeCase }}.unwrap_or(solana_pubkey::pubkey!("{{ account.defaultValue.publicKey }}")),
           {% else %}
             {{ account.name | snakeCase }}: self.{{ account.name | snakeCase }}.expect("{{ account.name | snakeCase }} is not set"),
           {% endif %}

+ 1 - 1
packages/renderers-rust/public/templates/programsMod.njk

@@ -2,7 +2,7 @@
 
 {% block main %}
 
-use solana_program::{pubkey, pubkey::Pubkey};
+use solana_pubkey::{pubkey, Pubkey};
 
 {% for program in programsToExport | sort(false, false, 'name') %}
 

+ 2 - 2
packages/renderers-rust/public/templates/sharedPage.njk

@@ -16,7 +16,7 @@ For now, we just define them here. This the following caveat:
     #[cfg(feature = "fetch")]
     #[derive(Debug, Clone)]
     pub struct DecodedAccount<T> {
-        pub address: solana_program::pubkey::Pubkey,
+        pub address: solana_pubkey::Pubkey,
         pub account: solana_sdk::account::Account,
         pub data: T,
     }
@@ -25,7 +25,7 @@ For now, we just define them here. This the following caveat:
     #[derive(Debug, Clone)]
     pub enum MaybeAccount<T> {
         Exists(DecodedAccount<T>),
-        NotFound(solana_program::pubkey::Pubkey),
+        NotFound(solana_pubkey::Pubkey),
     }
 
 {% endif %}

+ 1 - 1
packages/renderers-rust/src/getTypeManifestVisitor.ts

@@ -291,7 +291,7 @@ export function getTypeManifestVisitor(options: {
 
                 visitPublicKeyType() {
                     return {
-                        imports: new ImportMap().add('solana_program::pubkey::Pubkey'),
+                        imports: new ImportMap().add('solana_pubkey::Pubkey'),
                         nestedStructs: [],
                         type: 'Pubkey',
                     };

+ 2 - 2
packages/renderers-rust/test/types/array.test.ts

@@ -26,7 +26,7 @@ test('it exports short vecs', () => {
     // Then we expect a short vec to be exported.
     codeContains(renderMap.get('types/my_short_vec.rs'), [
         /pub type MyShortVec = ShortVec<Pubkey>;/,
-        /use solana_program::pubkey::Pubkey/,
+        /use solana_pubkey::Pubkey/,
         /use solana_program::short_vec::ShortVec/,
     ]);
     codeDoesNotContains(renderMap.get('types/my_short_vec.rs'), [
@@ -53,7 +53,7 @@ test('it exports short vecs as struct fields', () => {
     // Then we expect a short vec to be exported as a struct field.
     codeContains(renderMap.get('types/my_short_vec.rs'), [
         /pub value: ShortVec<Pubkey>,/,
-        /use solana_program::pubkey::Pubkey/,
+        /use solana_pubkey::Pubkey/,
         /use solana_program::short_vec::ShortVec/,
     ]);
 });

+ 1 - 1
packages/renderers-vixen-parser/src/getTypeManifestVisitor.ts

@@ -291,7 +291,7 @@ export function getTypeManifestVisitor(options: {
 
                 visitPublicKeyType() {
                     return {
-                        imports: new ImportMap().add('solana_program::pubkey::Pubkey'),
+                        imports: new ImportMap().add('solana_pubkey::Pubkey'),
                         nestedStructs: [],
                         type: 'Pubkey',
                     };

部分文件因为文件数量过多而无法显示