Guest User

Untitled

a guest
Jun 30th, 2022
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.28 KB | None | 0 0
  1. from tvm_valuetypes.cell import Cell, CellData
  2. from ton.utils import detect_address
  3. import math
  4.  
  5. def create_transfer_body(new_owner, forward_amount: int, query_id=0):
  6.     cell = Cell()
  7.     cell.data.put_arbitrary_uint(1607220500, 32)
  8.     cell.data.put_arbitrary_uint(query_id, 64)
  9.     raw_form = detect_address(new_owner)['raw_form']
  10.     # Owner address
  11.     cell.data.put_arbitrary_uint(2, 2)
  12.     cell.data.put_arbitrary_uint(0, 1)
  13.     cell.data.put_arbitrary_int(int(raw_form.split(':')[0]), 8)
  14.     for ch in bytes.fromhex(raw_form.split(':')[1]):
  15.         cell.data.put_arbitrary_uint(ch, 8)
  16.     # Response address
  17.     cell.data.put_arbitrary_uint(0, 2)
  18.     # Write custom_payload
  19.     cell.data.put_bool(False)
  20.     # Write forward amount
  21.     length = math.ceil(len(hex(forward_amount)[2:]) / 2)
  22.     cell.data.put_arbitrary_uint(length, 4)
  23.     cell.data.put_arbitrary_uint(forward_amount, length * 8)
  24.     cell.data.put_bool(0)
  25.     return cell.serialize_boc()
  26.  
  27. from ton.sync import TonlibClient; client = TonlibClient(ls_index=2); TonlibClient.enable_unaudited_binaries(); client.init_tonlib()
  28.  
  29.  
  30. create_transfer_body('EQAl-Y4NMjCcM06hlTmXMXAPu82LkZHpQJVNuyRp76D4lT7Q', 0, query_id=1000)
  31. wallet.transfer('EQCVeomRpvcy1mSdVgxVrdRdzsLQUuQ6hZi06SvwIydL9x7s', client.to_nano(0.2), data=_)
Advertisement
Add Comment
Please, Sign In to add comment