Remove the 5 integer msg! form
This commit is contained in:
parent
eeb97fe7ce
commit
c5c699a918
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate alloc;
|
extern crate alloc;
|
||||||
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg};
|
use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, msg};
|
||||||
use std::{alloc::Layout, mem};
|
use std::{alloc::Layout, mem};
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
|
@ -46,7 +46,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||||
for i in 0..ITERS {
|
for i in 0..ITERS {
|
||||||
assert_eq!(*ptr.add(i as usize), i as u8);
|
assert_eq!(*ptr.add(i as usize), i as u8);
|
||||||
}
|
}
|
||||||
msg!(0x3, 0, 0, 0, u64::from(*ptr.add(42)));
|
sol_log_64(0x3, 0, 0, 0, u64::from(*ptr.add(42)));
|
||||||
assert_eq!(*ptr.add(42), 42);
|
assert_eq!(*ptr.add(42), 42);
|
||||||
alloc::alloc::dealloc(ptr, layout);
|
alloc::alloc::dealloc(ptr, layout);
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||||
for v in ones.iter() {
|
for v in ones.iter() {
|
||||||
sum += ones[*v];
|
sum += ones[*v];
|
||||||
}
|
}
|
||||||
msg!(0x0, 0, 0, 0, sum as u64);
|
sol_log_64(0x0, 0, 0, 0, sum as u64);
|
||||||
assert_eq!(sum, ITERS);
|
assert_eq!(sum, ITERS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||||
for i in 0..ITERS {
|
for i in 0..ITERS {
|
||||||
v.push(i);
|
v.push(i);
|
||||||
}
|
}
|
||||||
msg!(0x4, 0, 0, 0, v.len() as u64);
|
sol_log_64(0x4, 0, 0, 0, v.len() as u64);
|
||||||
assert_eq!(v.len(), ITERS);
|
assert_eq!(v.len(), ITERS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//! Example Rust-based BPF program that tests call depth and stack usage
|
//! Example Rust-based BPF program that tests call depth and stack usage
|
||||||
|
|
||||||
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg};
|
use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, msg};
|
||||||
|
|
||||||
#[inline(never)]
|
#[inline(never)]
|
||||||
pub fn recurse(data: &mut [u8]) {
|
pub fn recurse(data: &mut [u8]) {
|
||||||
|
@ -8,7 +8,7 @@ pub fn recurse(data: &mut [u8]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
recurse(&mut data[1..]);
|
recurse(&mut data[1..]);
|
||||||
msg!(line!(), 0, 0, 0, data[0]);
|
sol_log_64(line!() as u64, 0, 0, 0, data[0] as u64);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// # Safety
|
/// # Safety
|
||||||
|
@ -17,7 +17,7 @@ pub fn recurse(data: &mut [u8]) {
|
||||||
pub unsafe extern "C" fn entrypoint(input: *mut u8) -> u64 {
|
pub unsafe extern "C" fn entrypoint(input: *mut u8) -> u64 {
|
||||||
msg!("Call depth");
|
msg!("Call depth");
|
||||||
let depth = *(input.add(16) as *mut u8);
|
let depth = *(input.add(16) as *mut u8);
|
||||||
msg!(line!(), 0, 0, 0, depth);
|
sol_log_64(line!() as u64, 0, 0, 0, depth as u64);
|
||||||
let mut data = Vec::with_capacity(depth as usize);
|
let mut data = Vec::with_capacity(depth as usize);
|
||||||
for i in 0_u8..depth {
|
for i in 0_u8..depth {
|
||||||
data.push(i);
|
data.push(i);
|
||||||
|
|
|
@ -7,6 +7,7 @@ use solana_program::{
|
||||||
account_info::AccountInfo,
|
account_info::AccountInfo,
|
||||||
bpf_loader, entrypoint,
|
bpf_loader, entrypoint,
|
||||||
entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE},
|
entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE},
|
||||||
|
log::sol_log_64,
|
||||||
msg,
|
msg,
|
||||||
program::{get_return_data, invoke, invoke_signed, set_return_data},
|
program::{get_return_data, invoke, invoke_signed, set_return_data},
|
||||||
program_error::ProgramError,
|
program_error::ProgramError,
|
||||||
|
@ -105,7 +106,7 @@ fn process_instruction(
|
||||||
assert!(accounts[INVOKED_PROGRAM_DUP_INDEX]
|
assert!(accounts[INVOKED_PROGRAM_DUP_INDEX]
|
||||||
.try_borrow_mut_data()
|
.try_borrow_mut_data()
|
||||||
.is_err());
|
.is_err());
|
||||||
msg!(data[0], 0, 0, 0, 0);
|
sol_log_64(data[0] as u64, 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RETURN_OK => {
|
RETURN_OK => {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
//! Example Rust-based BPF program tests loop iteration
|
//! Example Rust-based BPF program tests loop iteration
|
||||||
|
|
||||||
extern crate solana_program;
|
extern crate solana_program;
|
||||||
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg};
|
use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64};
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||||
|
@ -12,7 +12,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||||
for v in ones.iter() {
|
for v in ones.iter() {
|
||||||
sum += *v;
|
sum += *v;
|
||||||
}
|
}
|
||||||
msg!(0xff, 0, 0, 0, sum);
|
sol_log_64(0xff, 0, 0, 0, sum);
|
||||||
assert_eq!(sum, ITERS as u64);
|
assert_eq!(sum, ITERS as u64);
|
||||||
|
|
||||||
SUCCESS
|
SUCCESS
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
//! Solana Rust-based BPF program utility functions and types
|
//! Solana Rust-based BPF program utility functions and types
|
||||||
|
|
||||||
extern crate solana_program;
|
extern crate solana_program;
|
||||||
use solana_program::msg;
|
use solana_program::{log::sol_log_64, msg};
|
||||||
|
|
||||||
pub fn many_args(
|
pub fn many_args(
|
||||||
arg1: u64,
|
arg1: u64,
|
||||||
|
@ -15,8 +15,8 @@ pub fn many_args(
|
||||||
arg9: u64,
|
arg9: u64,
|
||||||
) -> u64 {
|
) -> u64 {
|
||||||
msg!("Another package - many_args");
|
msg!("Another package - many_args");
|
||||||
msg!(arg1, arg2, arg3, arg4, arg5);
|
sol_log_64(arg1, arg2, arg3, arg4, arg5);
|
||||||
msg!(arg6, arg7, arg8, arg9, 0);
|
sol_log_64(arg6, arg7, arg8, arg9, 0);
|
||||||
arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9
|
arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ pub fn many_args_sret(
|
||||||
arg9: u64,
|
arg9: u64,
|
||||||
) -> Ret {
|
) -> Ret {
|
||||||
msg!("Another package - many_args_sret");
|
msg!("Another package - many_args_sret");
|
||||||
msg!(arg1, arg2, arg3, arg4, arg5);
|
sol_log_64(arg1, arg2, arg3, arg4, arg5);
|
||||||
msg!(arg6, arg7, arg8, arg9, 0);
|
sol_log_64(arg6, arg7, arg8, arg9, 0);
|
||||||
Ret {
|
Ret {
|
||||||
group1: u128::from(arg1) + u128::from(arg2) + u128::from(arg3),
|
group1: u128::from(arg1) + u128::from(arg2) + u128::from(arg3),
|
||||||
group2: u128::from(arg4) + u128::from(arg5) + u128::from(arg6),
|
group2: u128::from(arg4) + u128::from(arg5) + u128::from(arg6),
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
extern crate solana_program;
|
extern crate solana_program;
|
||||||
use solana_bpf_rust_param_passing_dep::{Data, TestDep};
|
use solana_bpf_rust_param_passing_dep::{Data, TestDep};
|
||||||
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg};
|
use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64};
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||||
|
@ -17,7 +17,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||||
};
|
};
|
||||||
|
|
||||||
let test_dep = TestDep::new(&data, 1, 2, 3, 4, 5);
|
let test_dep = TestDep::new(&data, 1, 2, 3, 4, 5);
|
||||||
msg!(0, 0, 0, 0, test_dep.thirty);
|
sol_log_64(0, 0, 0, 0, test_dep.thirty as u64);
|
||||||
assert!(test_dep.thirty == 30);
|
assert!(test_dep.thirty == 30);
|
||||||
|
|
||||||
SUCCESS
|
SUCCESS
|
||||||
|
|
|
@ -21,12 +21,10 @@ macro_rules! info {
|
||||||
|
|
||||||
/// Print a message to the log
|
/// Print a message to the log
|
||||||
///
|
///
|
||||||
/// There are two fast forms:
|
/// Fast form:
|
||||||
/// 1. Single string: `msg!("hi")`
|
/// 1. Single string: `msg!("hi")`
|
||||||
/// 2. 5 integers: `msg!(1, 2, 3, 4, 5)`
|
|
||||||
///
|
///
|
||||||
/// The third form is more generic and incurs a very large runtime overhead so it should be used
|
/// The generic form incurs a very large runtime overhead so it should be used with care:
|
||||||
/// with care:
|
|
||||||
/// 3. Generalized format string: `msg!("Hello {}: 1, 2, {}", "World", 3)`
|
/// 3. Generalized format string: `msg!("Hello {}: 1, 2, {}", "World", 3)`
|
||||||
///
|
///
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
|
@ -34,15 +32,6 @@ macro_rules! msg {
|
||||||
($msg:expr) => {
|
($msg:expr) => {
|
||||||
$crate::log::sol_log($msg)
|
$crate::log::sol_log($msg)
|
||||||
};
|
};
|
||||||
($arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr) => {
|
|
||||||
$crate::log::sol_log_64(
|
|
||||||
$arg1 as u64,
|
|
||||||
$arg2 as u64,
|
|
||||||
$arg3 as u64,
|
|
||||||
$arg4 as u64,
|
|
||||||
$arg5 as u64,
|
|
||||||
)
|
|
||||||
};
|
|
||||||
($($arg:tt)*) => ($crate::log::sol_log(&format!($($arg)*)));
|
($($arg:tt)*) => ($crate::log::sol_log(&format!($($arg)*)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,7 +97,7 @@ pub fn sol_log_data(data: &[&[u8]]) {
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub fn sol_log_slice(slice: &[u8]) {
|
pub fn sol_log_slice(slice: &[u8]) {
|
||||||
for (i, s) in slice.iter().enumerate() {
|
for (i, s) in slice.iter().enumerate() {
|
||||||
msg!(0, 0, 0, i, *s);
|
sol_log_64(0, 0, 0, i as u64, *s as u64);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,15 +109,15 @@ pub fn sol_log_slice(slice: &[u8]) {
|
||||||
pub fn sol_log_params(accounts: &[AccountInfo], data: &[u8]) {
|
pub fn sol_log_params(accounts: &[AccountInfo], data: &[u8]) {
|
||||||
for (i, account) in accounts.iter().enumerate() {
|
for (i, account) in accounts.iter().enumerate() {
|
||||||
msg!("AccountInfo");
|
msg!("AccountInfo");
|
||||||
msg!(0, 0, 0, 0, i);
|
sol_log_64(0, 0, 0, 0, i as u64);
|
||||||
msg!("- Is signer");
|
msg!("- Is signer");
|
||||||
msg!(0, 0, 0, 0, account.is_signer);
|
sol_log_64(0, 0, 0, 0, account.is_signer as u64);
|
||||||
msg!("- Key");
|
msg!("- Key");
|
||||||
account.key.log();
|
account.key.log();
|
||||||
msg!("- Lamports");
|
msg!("- Lamports");
|
||||||
msg!(0, 0, 0, 0, account.lamports());
|
sol_log_64(0, 0, 0, 0, account.lamports());
|
||||||
msg!("- Account data length");
|
msg!("- Account data length");
|
||||||
msg!(0, 0, 0, 0, account.data_len());
|
sol_log_64(0, 0, 0, 0, account.data_len() as u64);
|
||||||
msg!("- Owner");
|
msg!("- Owner");
|
||||||
account.owner.log();
|
account.owner.log();
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,13 +11,4 @@ macro_rules! info {
|
||||||
($msg:expr) => {
|
($msg:expr) => {
|
||||||
$crate::log::sol_log($msg)
|
$crate::log::sol_log($msg)
|
||||||
};
|
};
|
||||||
($arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr) => {
|
|
||||||
$crate::log::sol_log_64(
|
|
||||||
$arg1 as u64,
|
|
||||||
$arg2 as u64,
|
|
||||||
$arg3 as u64,
|
|
||||||
$arg4 as u64,
|
|
||||||
$arg5 as u64,
|
|
||||||
)
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue