Ton
29 строк · 1.2 Кб
1cell pack_jetton_wallet_data(int balance, slice owner_address, slice jetton_master_address, cell jetton_wallet_code) inline {
2return begin_cell()
3.store_coins(balance)
4.store_slice(owner_address)
5.store_slice(jetton_master_address)
6.store_ref(jetton_wallet_code)
7.end_cell();
8}
9
10cell calculate_jetton_wallet_state_init(slice owner_address, slice jetton_master_address, cell jetton_wallet_code) inline {
11return begin_cell()
12.store_uint(0, 2)
13.store_dict(jetton_wallet_code)
14.store_dict(pack_jetton_wallet_data(0, owner_address, jetton_master_address, jetton_wallet_code))
15.store_uint(0, 1)
16.end_cell();
17}
18
19slice calculate_jetton_wallet_address(cell state_init) inline {
20return begin_cell().store_uint(4, 3)
21.store_int(workchain(), 8)
22.store_uint(cell_hash(state_init), 256)
23.end_cell()
24.begin_parse();
25}
26
27slice calculate_user_jetton_wallet_address(slice owner_address, slice jetton_master_address, cell jetton_wallet_code) inline {
28return calculate_jetton_wallet_address(calculate_jetton_wallet_state_init(owner_address, jetton_master_address, jetton_wallet_code));
29}
30
31