Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tvm_valuetypes.cell import Cell, CellData
- from ton.utils import detect_address
- import math
- def create_transfer_body(new_owner, forward_amount: int, query_id=0):
- cell = Cell()
- cell.data.put_arbitrary_uint(1607220500, 32)
- cell.data.put_arbitrary_uint(query_id, 64)
- raw_form = detect_address(new_owner)['raw_form']
- # Owner address
- cell.data.put_arbitrary_uint(2, 2)
- cell.data.put_arbitrary_uint(0, 1)
- cell.data.put_arbitrary_int(int(raw_form.split(':')[0]), 8)
- for ch in bytes.fromhex(raw_form.split(':')[1]):
- cell.data.put_arbitrary_uint(ch, 8)
- # Response address
- cell.data.put_arbitrary_uint(0, 2)
- # Write custom_payload
- cell.data.put_bool(False)
- # Write forward amount
- length = math.ceil(len(hex(forward_amount)[2:]) / 2)
- cell.data.put_arbitrary_uint(length, 4)
- cell.data.put_arbitrary_uint(forward_amount, length * 8)
- cell.data.put_bool(0)
- return cell.serialize_boc()
- from ton.sync import TonlibClient; client = TonlibClient(ls_index=2); TonlibClient.enable_unaudited_binaries(); client.init_tonlib()
- create_transfer_body('EQAl-Y4NMjCcM06hlTmXMXAPu82LkZHpQJVNuyRp76D4lT7Q', 0, query_id=1000)
- wallet.transfer('EQCVeomRpvcy1mSdVgxVrdRdzsLQUuQ6hZi06SvwIydL9x7s', client.to_nano(0.2), data=_)
Advertisement
Add Comment
Please, Sign In to add comment