瀏覽代碼

refactor(renderers-rust): extract solana-cpi, solana-msg and cleanup (#654)

* refactor: extract solana-cpi, solana-msg and cleanup

* fix: linter error in tests due to the line len
Sonic 5 月之前
父節點
當前提交
480026d2bd
共有 44 個文件被更改,包括 645 次插入210 次删除
  1. 5 0
      .changeset/nasty-cars-smile.md
  2. 3 1
      packages/renderers-rust/e2e/anchor/Cargo.lock
  3. 6 4
      packages/renderers-rust/e2e/anchor/Cargo.toml
  4. 2 2
      packages/renderers-rust/e2e/anchor/src/generated/errors/wen_transfer_guard.rs
  5. 2 2
      packages/renderers-rust/e2e/anchor/src/generated/instructions/create_guard.rs
  6. 2 2
      packages/renderers-rust/e2e/anchor/src/generated/instructions/execute.rs
  7. 2 2
      packages/renderers-rust/e2e/anchor/src/generated/instructions/initialize.rs
  8. 2 2
      packages/renderers-rust/e2e/anchor/src/generated/instructions/update_guard.rs
  9. 3 1
      packages/renderers-rust/e2e/dummy/Cargo.lock
  10. 5 3
      packages/renderers-rust/e2e/dummy/Cargo.toml
  11. 2 2
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction1.rs
  12. 2 2
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction2.rs
  13. 2 2
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction3.rs
  14. 2 2
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction4.rs
  15. 2 2
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction5.rs
  16. 2 2
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction6.rs
  17. 2 2
      packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction7.rs
  18. 3 1
      packages/renderers-rust/e2e/memo/Cargo.lock
  19. 5 3
      packages/renderers-rust/e2e/memo/Cargo.toml
  20. 2 2
      packages/renderers-rust/e2e/memo/src/generated/instructions/add_memo.rs
  21. 534 119
      packages/renderers-rust/e2e/meteora/Cargo.lock
  22. 6 4
      packages/renderers-rust/e2e/meteora/Cargo.toml
  23. 3 1
      packages/renderers-rust/e2e/system/Cargo.lock
  24. 7 5
      packages/renderers-rust/e2e/system/Cargo.toml
  25. 2 2
      packages/renderers-rust/e2e/system/src/generated/errors/system.rs
  26. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/advance_nonce_account.rs
  27. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/allocate.rs
  28. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/allocate_with_seed.rs
  29. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/assign.rs
  30. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/assign_with_seed.rs
  31. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/authorize_nonce_account.rs
  32. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/create_account.rs
  33. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/create_account_with_seed.rs
  34. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/initialize_nonce_account.rs
  35. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/transfer_sol.rs
  36. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/transfer_sol_with_seed.rs
  37. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/upgrade_nonce_account.rs
  38. 2 2
      packages/renderers-rust/e2e/system/src/generated/instructions/withdraw_nonce_account.rs
  39. 2 2
      packages/renderers-rust/public/templates/errorsPage.njk
  40. 2 2
      packages/renderers-rust/public/templates/instructionsCpiPage.njk
  41. 2 2
      packages/renderers-rust/src/getTypeManifestVisitor.ts
  42. 1 1
      packages/renderers-rust/src/renderValueNodeVisitor.ts
  43. 2 2
      packages/renderers-rust/test/types/array.test.ts
  44. 2 5
      packages/renderers-rust/test/types/number.test.ts

+ 5 - 0
.changeset/nasty-cars-smile.md

@@ -0,0 +1,5 @@
+---
+'@codama/renderers-rust': minor
+---
+
+extract solana-cpi, solana-msg and cleanup

+ 3 - 1
packages/renderers-rust/e2e/anchor/Cargo.lock

@@ -1010,8 +1010,10 @@ dependencies = [
  "serde_with 3.12.0",
  "solana-account-info",
  "solana-client",
+ "solana-cpi",
+ "solana-decode-error",
  "solana-instruction",
- "solana-program 2.2.1",
+ "solana-msg",
  "solana-program-entrypoint",
  "solana-program-error",
  "solana-pubkey",

+ 6 - 4
packages/renderers-rust/e2e/anchor/Cargo.toml

@@ -19,12 +19,14 @@ num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
 serde_with = { version = "^3.0", optional = true }
 solana-account-info = "2.2.1"
-solana-program = "2.2.1"
+solana-client = { version = "~1.18", optional = true }
+solana-cpi = "2.2.1"
+solana-decode-error = "2.2.1"
+solana-instruction = "2.2.1"
+solana-msg = "2.2.1"
 solana-program-entrypoint = "2.2.1"
 solana-program-error = "2.2.1"
-solana-instruction = "2.2.1"
-solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
-solana-client = { version = "~1.18", optional = true }
+solana-pubkey = { version = "2.2.1", features = ["curve25519", "borsh"] }
 solana-sdk = { version = "~1.18", optional = true }
 thiserror = "^1.0"
 

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

@@ -38,11 +38,11 @@ pub enum WenTransferGuardError {
 
 impl solana_program_error::PrintProgramError for WenTransferGuardError {
     fn print<E>(&self) {
-        solana_program::msg!(&self.to_string());
+        solana_msg::msg!(&self.to_string());
     }
 }
 
-impl<T> solana_program::decode_error::DecodeError<T> for WenTransferGuardError {
+impl<T> solana_decode_error::DecodeError<T> for WenTransferGuardError {
     fn type_of() -> &'static str {
         "WenTransferGuardError"
     }

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

@@ -420,9 +420,9 @@ impl<'a, 'b> CreateGuardCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -357,9 +357,9 @@ impl<'a, 'b> ExecuteCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -303,9 +303,9 @@ impl<'a, 'b> InitializeCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -351,9 +351,9 @@ impl<'a, 'b> UpdateGuardCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

+ 3 - 1
packages/renderers-rust/e2e/dummy/Cargo.lock

@@ -707,8 +707,10 @@ dependencies = [
  "serde-big-array",
  "serde_with",
  "solana-account-info",
+ "solana-cpi",
+ "solana-decode-error",
  "solana-instruction",
- "solana-program 2.2.1",
+ "solana-msg",
  "solana-program-entrypoint",
  "solana-program-error",
  "solana-pubkey",

+ 5 - 3
packages/renderers-rust/e2e/dummy/Cargo.toml

@@ -16,14 +16,16 @@ kaigan = "0.2.5"
 num-derive = "^0.3"
 num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
+serde-big-array = { version = "^0.5", optional = true }
 serde_with = { version = "^3.0", optional = true }
 solana-account-info = "2.2.1"
-solana-program = "2.2.1"
+solana-cpi = "2.2.1"
+solana-decode-error = "2.2.1"
+solana-instruction = "2.2.1"
+solana-msg = "2.2.1"
 solana-program-entrypoint = "2.2.1"
 solana-program-error = "2.2.1"
-solana-instruction = "2.2.1"
 solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
-serde-big-array = { version = "^0.5", optional = true }
 thiserror = "^1.0"
 
 [dev-dependencies]

+ 2 - 2
packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction1.rs

@@ -144,9 +144,9 @@ impl<'a, 'b> Instruction1Cpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

+ 2 - 2
packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction2.rs

@@ -144,9 +144,9 @@ impl<'a, 'b> Instruction2Cpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

+ 2 - 2
packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction3.rs

@@ -146,9 +146,9 @@ impl<'a, 'b> Instruction3Cpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

+ 2 - 2
packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction4.rs

@@ -175,9 +175,9 @@ impl<'a, 'b> Instruction4Cpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

+ 2 - 2
packages/renderers-rust/e2e/dummy/src/generated/instructions/instruction5.rs

@@ -176,9 +176,9 @@ impl<'a, 'b> Instruction5Cpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -174,9 +174,9 @@ impl<'a, 'b> Instruction6Cpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -188,9 +188,9 @@ impl<'a, 'b> Instruction7Cpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

+ 3 - 1
packages/renderers-rust/e2e/memo/Cargo.lock

@@ -695,8 +695,10 @@ dependencies = [
  "serde-big-array",
  "serde_with",
  "solana-account-info",
+ "solana-cpi",
+ "solana-decode-error",
  "solana-instruction",
- "solana-program 2.2.1",
+ "solana-msg",
  "solana-program-entrypoint",
  "solana-program-error",
  "solana-pubkey",

+ 5 - 3
packages/renderers-rust/e2e/memo/Cargo.toml

@@ -16,14 +16,16 @@ kaigan = "0.2.5"
 num-derive = "^0.3"
 num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
+serde-big-array = { version = "^0.5", optional = true }
 serde_with = { version = "^3.0", optional = true }
 solana-account-info = "2.2.1"
-solana-program = "2.2.1"
+solana-cpi = "2.2.1"
+solana-decode-error = "2.2.1"
+solana-instruction = "2.2.1"
+solana-msg = "2.2.1"
 solana-program-entrypoint = "2.2.1"
 solana-program-error = "2.2.1"
-solana-instruction = "2.2.1"
 solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
-serde-big-array = { version = "^0.5", optional = true }
 thiserror = "^1.0"
 
 [dev-dependencies]

+ 2 - 2
packages/renderers-rust/e2e/memo/src/generated/instructions/add_memo.rs

@@ -173,9 +173,9 @@ impl<'a, 'b> AddMemoCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

File diff suppressed because it is too large
+ 534 - 119
packages/renderers-rust/e2e/meteora/Cargo.lock


+ 6 - 4
packages/renderers-rust/e2e/meteora/Cargo.toml

@@ -18,15 +18,17 @@ num-derive = "^0.3"
 num-traits = "^0.2"
 serde = { version = "^1.0", features = ["derive"], optional = true }
 serde_with = { version = "^3.0", optional = true }
+solana-account = { version = "2.2.1", optional = true }
 solana-account-info = "2.2.1"
-solana-program = "2.2.1"
+solana-client = { version = "~1.18", optional = true }
+solana-cpi = "2.2.1"
+solana-decode-error = "2.2.1"
+solana-instruction = "2.2.1"
+solana-msg = "2.2.1"
 solana-program-entrypoint = "2.2.1"
 solana-program-error = "2.2.1"
-solana-instruction = "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 }
-solana-account = { version = "2.2.1", optional = true }
 thiserror = "^1.0"
 
 [dev-dependencies]

+ 3 - 1
packages/renderers-rust/e2e/system/Cargo.lock

@@ -1011,8 +1011,10 @@ dependencies = [
  "solana-account",
  "solana-account-info",
  "solana-client",
+ "solana-cpi",
+ "solana-decode-error",
  "solana-instruction",
- "solana-program 2.2.1",
+ "solana-msg",
  "solana-program-entrypoint",
  "solana-program-error",
  "solana-pubkey",

+ 7 - 5
packages/renderers-rust/e2e/system/Cargo.toml

@@ -16,15 +16,17 @@ borsh = "^0.10"
 num-derive = "^0.3"
 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 }
+serde_with = { version = "^3.0", optional = true }
 solana-account-info = "2.2.1"
-solana-program = "2.2.1"
+solana-client = { version = "~1.18", optional = true }
+solana-cpi = "2.2.1"
+solana-decode-error = "2.2.1"
+solana-instruction = "2.2.1"
+solana-msg = "2.2.1"
 solana-program-entrypoint = "2.2.1"
 solana-program-error = "2.2.1"
-solana-instruction = "2.2.1"
-solana-pubkey = { version = "2.2.1", features = ["curve25519"] }
-solana-client = { version = "~1.18", optional = true }
+solana-pubkey = { version = "2.2.1", features = ["curve25519", "borsh"] }
 solana-sdk = { version = "~1.18", optional = true }
 thiserror = "^1.0"
 

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

@@ -41,11 +41,11 @@ pub enum SystemError {
 
 impl solana_program_error::PrintProgramError for SystemError {
     fn print<E>(&self) {
-        solana_program::msg!(&self.to_string());
+        solana_msg::msg!(&self.to_string());
     }
 }
 
-impl<T> solana_program::decode_error::DecodeError<T> for SystemError {
+impl<T> solana_decode_error::DecodeError<T> for SystemError {
     fn type_of() -> &'static str {
         "SystemError"
     }

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

@@ -233,9 +233,9 @@ impl<'a, 'b> AdvanceNonceAccountCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -200,9 +200,9 @@ impl<'a, 'b> AllocateCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -258,9 +258,9 @@ impl<'a, 'b> AllocateWithSeedCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -204,9 +204,9 @@ impl<'a, 'b> AssignCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -247,9 +247,9 @@ impl<'a, 'b> AssignWithSeedCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -234,9 +234,9 @@ impl<'a, 'b> AuthorizeNonceAccountCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -241,9 +241,9 @@ impl<'a, 'b> CreateAccountCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -284,9 +284,9 @@ impl<'a, 'b> CreateAccountWithSeedCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -267,9 +267,9 @@ impl<'a, 'b> InitializeNonceAccountCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -221,9 +221,9 @@ impl<'a, 'b> TransferSolCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -268,9 +268,9 @@ impl<'a, 'b> TransferSolWithSeedCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -179,9 +179,9 @@ impl<'a, 'b> UpgradeNonceAccountCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -316,9 +316,9 @@ impl<'a, 'b> WithdrawNonceAccountCpi<'a, 'b> {
             .for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
         if signers_seeds.is_empty() {
-            solana_program::program::invoke(&instruction, &account_infos)
+            solana_cpi::invoke(&instruction, &account_infos)
         } else {
-            solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+            solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
         }
     }
 }

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

@@ -16,11 +16,11 @@ pub enum {{ program.name | pascalCase }}Error {
 
 impl solana_program_error::PrintProgramError for {{ program.name | pascalCase }}Error {
     fn print<E>(&self) {
-        solana_program::msg!(&self.to_string());
+        solana_msg::msg!(&self.to_string());
     }
 }
 
-impl<T> solana_program::decode_error::DecodeError<T> for {{ program.name | pascalCase }}Error {
+impl<T> solana_decode_error::DecodeError<T> for {{ program.name | pascalCase }}Error {
     fn type_of() -> &'static str {
         "{{ program.name | pascalCase }}Error"
     }

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

@@ -176,9 +176,9 @@ impl<'a, 'b> {{ instruction.name | pascalCase }}Cpi<'a, 'b> {
     remaining_accounts.iter().for_each(|remaining_account| account_infos.push(remaining_account.0.clone()));
 
     if signers_seeds.is_empty() {
-      solana_program::program::invoke(&instruction, &account_infos)
+      solana_cpi::invoke(&instruction, &account_infos)
     } else {
-      solana_program::program::invoke_signed(&instruction, &account_infos, signers_seeds)
+      solana_cpi::invoke_signed(&instruction, &account_infos, signers_seeds)
     }
   }
 }

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

@@ -98,7 +98,7 @@ export function getTypeManifestVisitor(options: {
                                 };
                             }
                             case 'shortU16': {
-                                childManifest.imports.add('solana_program::short_vec::ShortVec');
+                                childManifest.imports.add('solana_short_vec::ShortVec');
                                 return {
                                     ...childManifest,
                                     type: `ShortVec<${childManifest.type}>`,
@@ -261,7 +261,7 @@ export function getTypeManifestVisitor(options: {
 
                     if (numberType.format === 'shortU16') {
                         return {
-                            imports: new ImportMap().add('solana_program::short_vec::ShortU16'),
+                            imports: new ImportMap().add('solana_short_vec::ShortU16'),
                             nestedStructs: [],
                             type: 'ShortU16',
                         };

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

@@ -114,7 +114,7 @@ export function renderValueNodeVisitor(
         },
         visitPublicKeyValue(node) {
             return {
-                imports: new ImportMap().add('solana_program::pubkey'),
+                imports: new ImportMap().add('solana_pubkey'),
                 render: `pubkey!("${node.publicKey}")`,
             };
         },

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

@@ -27,7 +27,7 @@ test('it exports short vecs', () => {
     codeContains(renderMap.get('types/my_short_vec.rs'), [
         /pub type MyShortVec = ShortVec<Pubkey>;/,
         /use solana_pubkey::Pubkey/,
-        /use solana_program::short_vec::ShortVec/,
+        /use solana_short_vec::ShortVec/,
     ]);
     codeDoesNotContains(renderMap.get('types/my_short_vec.rs'), [
         /use borsh::BorshSerialize/,
@@ -54,6 +54,6 @@ test('it exports short vecs as struct fields', () => {
     codeContains(renderMap.get('types/my_short_vec.rs'), [
         /pub value: ShortVec<Pubkey>,/,
         /use solana_pubkey::Pubkey/,
-        /use solana_program::short_vec::ShortVec/,
+        /use solana_short_vec::ShortVec/,
     ]);
 });

+ 2 - 5
packages/renderers-rust/test/types/number.test.ts

@@ -18,7 +18,7 @@ test('it exports short u16 numbers', () => {
     // Then we expect a short u16 to be exported.
     codeContains(renderMap.get('types/my_short_u16.rs'), [
         /pub type MyShortU16 = ShortU16/,
-        /use solana_program::short_vec::ShortU16/,
+        /use solana_short_vec::ShortU16/,
     ]);
     codeDoesNotContains(renderMap.get('types/my_short_u16.rs'), [
         /use borsh::BorshSerialize/,
@@ -37,8 +37,5 @@ test('it exports short u16 numbers as struct fields', () => {
     const renderMap = visit(node, getRenderMapVisitor());
 
     // Then we expect a short u16 to be exported as a struct field.
-    codeContains(renderMap.get('types/my_short_u16.rs'), [
-        /pub value: ShortU16/,
-        /use solana_program::short_vec::ShortU16/,
-    ]);
+    codeContains(renderMap.get('types/my_short_u16.rs'), [/pub value: ShortU16/, /use solana_short_vec::ShortU16/]);
 });

Some files were not shown because too many files changed in this diff