Quellcode durchsuchen

improve Rust close-account fn performance (#42)

* improve Rust close-account fn performance

* Add changeset

* add system program import
Samuel Vanderwaal vor 1 Jahr
Ursprung
Commit
2d199b4a66

+ 5 - 0
.changeset/fifty-experts-hunt.md

@@ -0,0 +1,5 @@
+---
+"create-solana-program": patch
+---
+
+Improve close account helper function performance in Rust client

+ 3 - 5
template/programs/counter-shank/program/src/utils.rs

@@ -5,7 +5,7 @@ use solana_program::{
     program_error::ProgramError,
     pubkey::Pubkey,
     rent::Rent,
-    system_instruction,
+    system_instruction, system_program,
     sysvar::Sysvar,
 };
 
@@ -83,10 +83,8 @@ pub fn close_account<'a>(
         .unwrap();
     **target_account.lamports.borrow_mut() = 0;
 
-    let mut src_data = target_account.data.borrow_mut();
-    src_data.fill(0);
-
-    Ok(())
+    target_account.assign(&system_program::ID);
+    target_account.realloc(0, false)
 }
 
 /// Transfer lamports.