program log pubkey as base58 (#12901)
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
|
||||
#![cfg(feature = "program")]
|
||||
|
||||
use crate::{account_info::AccountInfo, pubkey::Pubkey};
|
||||
use crate::account_info::AccountInfo;
|
||||
|
||||
/// Prints a string
|
||||
/// There are two forms and are fast
|
||||
@ -63,18 +63,6 @@ pub fn sol_log_slice(slice: &[u8]) {
|
||||
}
|
||||
}
|
||||
|
||||
/// Prints a pubkey
|
||||
pub trait Log {
|
||||
fn log(&self);
|
||||
}
|
||||
impl Log for Pubkey {
|
||||
fn log(&self) {
|
||||
for (i, k) in self.to_bytes().iter().enumerate() {
|
||||
info!(0, 0, 0, i, *k);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Prints the hexadecimal representation of the program's input parameters
|
||||
///
|
||||
/// @param ka - A pointer to an array of `AccountInfo` to print
|
||||
|
@ -202,9 +202,16 @@ impl Pubkey {
|
||||
pub fn to_bytes(self) -> [u8; 32] {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
|
||||
// TODO localalize this
|
||||
/// Log a `Pubkey` from a program
|
||||
#[cfg(feature = "program")]
|
||||
pub fn log(&self) {
|
||||
extern "C" {
|
||||
fn sol_log_pubkey(pubkey_addr: *const u8);
|
||||
};
|
||||
unsafe { sol_log_pubkey(self.as_ref() as *const _ as *const u8) };
|
||||
}
|
||||
}
|
||||
|
||||
impl AsRef<[u8]> for Pubkey {
|
||||
fn as_ref(&self) -> &[u8] {
|
||||
|
Reference in New Issue
Block a user