inkpad_sandbox/
transfer.rs1use crate::Sandbox;
3use inkpad_executor::Result;
4use inkpad_std::Vec;
5
6#[derive(Default)]
8pub struct TransferEntry {
9 pub to: [u8; 32],
10 pub value: u64,
11 pub data: Vec<u8>,
12}
13
14impl Sandbox {
15 pub fn transfer(&mut self, to: [u8; 32], value: u64) -> Result<()> {
17 self.ext.transfers.push(TransferEntry {
18 to,
19 value,
20 data: Vec::new(),
21 });
22 Ok(())
23 }
24
25 pub fn caller(&self) -> [u8; 32] {
26 self.tx.caller()
27 }
28
29 pub fn address(&self) -> [u8; 32] {
30 self.tx.address()
31 }
32
33 pub fn balance(&self) -> Vec<u8> {
34 self.tx.balance()
35 }
36
37 pub fn value_transferred(&self) -> Vec<u8> {
38 self.tx.value_transferred()
39 }
40
41 pub fn now(&self) -> [u8; 32] {
42 self.tx.now()
43 }
44
45 pub fn minimum_balance(&self) -> Vec<u8> {
46 self.tx.minimum_balance()
47 }
48}