1use wevm_proc_macro::module;
2
3#[module(env1)]
4mod test {
5 fn get_balance(
7 offset_asset_id: *const u8,
8 length_asset_id: usize,
9 offset_holder: *const u8,
10 length_holder: usize,
11 type_: u32,
12 version: u32,
13 ) -> (i32, i64) {
14 |caller: Caller<Runtime>| {
15 env::asset::get_balance(
16 offset_asset_id,
17 length_asset_id,
18 offset_holder,
19 length_holder,
20 type_,
21 version,
22 caller,
23 )
24 }
25 }
26
27 fn transfer(
28 offset_asset_id: *const u8,
29 length_asset_id: usize,
30 offset_recipient: *const u8,
31 length_recipient: usize,
32 type_: u32,
33 version: u32,
34 amount: i64,
35 ) -> i32 {
36 |caller: Caller<Runtime>| {
37 env::asset::transfer(
38 offset_asset_id,
39 length_asset_id,
40 offset_recipient,
41 length_recipient,
42 type_,
43 version,
44 amount,
45 caller,
46 )
47 }
48 }
49
50 fn issue(
51 offset_name: *const u8,
52 length_name: usize,
53 offset_description: *const u8,
54 length_description: usize,
55 quantity: i64,
56 decimals: i64,
57 is_reissuable: bool,
58 ) -> (i32, *const u8, usize) {
59 |caller: Caller<Runtime>| {
60 env::asset::issue(
61 offset_name,
62 length_name,
63 offset_description,
64 length_description,
65 quantity,
66 decimals,
67 is_reissuable,
68 caller,
69 )
70 }
71 }
72
73 fn block(offset_field: *const u8, length_field: usize) -> (i32, *const u8, usize) {
75 |caller: Caller<Runtime>| {
76 env::block::block(env::Field::Binary(offset_field, length_field), caller)
77 }
78 }
79
80 fn get_payments() -> (i32, i64) {
82 |caller: Caller<Runtime>| env::tx::get_payments(caller)
83 }
84
85 fn get_payment_asset_id(number: i64) -> (i32, *const u8, usize) {
86 |caller: Caller<Runtime>| env::tx::get_payment_asset_id(number, caller)
87 }
88
89 fn get_payment_amount(number: i64) -> (i32, i64) {
90 |caller: Caller<Runtime>| env::tx::get_payment_amount(number, caller)
91 }
92
93 fn tx(offset_field: *const u8, length_field: usize) -> (i32, *const u8, usize) {
94 |caller: Caller<Runtime>| {
95 env::tx::tx(env::Field::Binary(offset_field, length_field), caller)
96 }
97 }
98}