"""Here hou can see all possibilities you can do with Address class"""
from pytoniq_core import Address
""" 1. Initializing """
# 1 way: from string (any form)
address = Address('0:6f5bc67986e06430961d9df00433926a4cd92e597ddd8aa6043645ac20bd1782') # raw hex
address = Address('EQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XggGG') # user-friendly bounceable
address = Address('UQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XglxD') # user-friendly non-bounceable
address = Address('kQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XgroM') # user-friendly bounceable test-only
address = Address('0QBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XgufJ') # user-friendly non-bounceable test-only
# 2 way: from another instance of Address
address1 = Address('EQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XggGG')
address2 = Address(address1)
# 3 way: from tuple (workchain, hash_part)
address = Address(
(0, b'o[\xc6y\x86\xe0d0\x96\x1d\x9d\xf0\x043\x92jL\xd9.Y}\xdd\x8a\xa6\x046E\xac \xbd\x17\x82')
)
""" 2. Converting """
# Once you got instance of class Address, you can convert it to any form, using method `to_str()`:
# raw (hex) form:
address.to_str(is_user_friendly=False) # 0:6f5bc67986e06430961d9df00433926a4cd92e597ddd8aa6043645ac20bd1782
# user-friendly form:
address.to_str(is_bounceable=True) # EQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XggGG
address.to_str(is_bounceable=False) # UQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XglxD
# test form:
address.to_str(is_test_only=True, is_bounceable=True) # kQBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XgroM
address.to_str(is_test_only=True, is_bounceable=False) # 0QBvW8Z5huBkMJYdnfAEM5JqTNkuWX3diqYENkWsIL0XgufJ
""" 3. Cell/Slice """
# you can convert address to cell just using `to_cell` method:
address.to_cell() # <Cell 267[800DEB78CF30DC0C8612C3B3BE0086724D499B25CB2FBBB154C086C8B58417A2F040] -> 0 refs>
# or store in builder:
from pytoniq_core import Builder
Builder()\
.store_address(address)\
.end_cell()