dev@locazia: fix ton cell deserialize
This commit is contained in:
parent
5f4f2b656b
commit
d2a10eaf1e
|
|
@ -41,7 +41,7 @@ async def indexer_loop(platform_found: bool, seqno: int) -> [bool, int]:
|
||||||
make_log("Indexer", f"Resolve item error: {resolve_item_result}", level="error")
|
make_log("Indexer", f"Resolve item error: {resolve_item_result}", level="error")
|
||||||
return platform_found, seqno
|
return platform_found, seqno
|
||||||
|
|
||||||
item_address_cell_b64 = resolve_item_result['stack'][0][1]
|
item_address_cell_b64 = resolve_item_result['stack'][0][1]["bytes"]
|
||||||
item_address_slice = Cell.one_from_boc(b64decode(item_address_cell_b64)).begin_parse()
|
item_address_slice = Cell.one_from_boc(b64decode(item_address_cell_b64)).begin_parse()
|
||||||
item_address = item_address_slice.read_msg_addr()
|
item_address = item_address_slice.read_msg_addr()
|
||||||
|
|
||||||
|
|
@ -52,7 +52,7 @@ async def indexer_loop(platform_found: bool, seqno: int) -> [bool, int]:
|
||||||
|
|
||||||
assert item_get_data_result['stack'][0][0] == 'num', "Item type is not a number"
|
assert item_get_data_result['stack'][0][0] == 'num', "Item type is not a number"
|
||||||
assert int(item_get_data_result['stack'][0][1], 16) == 1, "Item is not COP NFT"
|
assert int(item_get_data_result['stack'][0][1], 16) == 1, "Item is not COP NFT"
|
||||||
item_returned_address = Cell.one_from_boc(b64decode(item_get_data_result['stack'][1][1])).begin_parse().read_msg_addr()
|
item_returned_address = Cell.one_from_boc(b64decode(item_get_data_result['stack'][1][1]['bytes'])).begin_parse().read_msg_addr()
|
||||||
assert (
|
assert (
|
||||||
item_returned_address.to_string(1, 1, 1) == item_address.to_string(1, 1, 1)
|
item_returned_address.to_string(1, 1, 1) == item_address.to_string(1, 1, 1)
|
||||||
), "Item address mismatch"
|
), "Item address mismatch"
|
||||||
|
|
@ -61,7 +61,7 @@ async def indexer_loop(platform_found: bool, seqno: int) -> [bool, int]:
|
||||||
item_index = int(item_get_data_result['stack'][2][1], 16)
|
item_index = int(item_get_data_result['stack'][2][1], 16)
|
||||||
assert item_index == next_item_index, "Item index mismatch"
|
assert item_index == next_item_index, "Item index mismatch"
|
||||||
|
|
||||||
item_platform_address = Cell.one_from_boc(b64decode(item_get_data_result['stack'][3][1])).begin_parse().read_msg_addr()
|
item_platform_address = Cell.one_from_boc(b64decode(item_get_data_result['stack'][3][1]['bytes'])).begin_parse().read_msg_addr()
|
||||||
assert item_platform_address.to_string(1, 1, 1) == Address(platform.address.to_string(1, 1, 1)).to_string(1, 1, 1), "Item platform address mismatch"
|
assert item_platform_address.to_string(1, 1, 1) == Address(platform.address.to_string(1, 1, 1)).to_string(1, 1, 1), "Item platform address mismatch"
|
||||||
|
|
||||||
assert item_get_data_result['stack'][4][0] == 'num', "Item license type is not a number"
|
assert item_get_data_result['stack'][4][0] == 'num', "Item license type is not a number"
|
||||||
|
|
@ -69,9 +69,9 @@ async def indexer_loop(platform_found: bool, seqno: int) -> [bool, int]:
|
||||||
assert item_license_type == 0, "Item license type is not 0"
|
assert item_license_type == 0, "Item license type is not 0"
|
||||||
|
|
||||||
item_owner_address = Cell.one_from_boc(b64decode(item_get_data_result['stack'][5][1])).begin_parse().read_msg_addr()
|
item_owner_address = Cell.one_from_boc(b64decode(item_get_data_result['stack'][5][1])).begin_parse().read_msg_addr()
|
||||||
item_values = Cell.one_from_boc(b64decode(item_get_data_result['stack'][6][1]))
|
item_values = Cell.one_from_boc(b64decode(item_get_data_result['stack'][6][1]['bytes']))
|
||||||
item_derivates = Cell.one_from_boc(b64decode(item_get_data_result['stack'][7][1]))
|
item_derivates = Cell.one_from_boc(b64decode(item_get_data_result['stack'][7][1]['bytes']))
|
||||||
item_platform_variables = Cell.one_from_boc(b64decode(item_get_data_result['stack'][8][1]))
|
item_platform_variables = Cell.one_from_boc(b64decode(item_get_data_result['stack'][8][1]['bytes']))
|
||||||
|
|
||||||
item_values_slice = item_values.begin_parse()
|
item_values_slice = item_values.begin_parse()
|
||||||
item_content_hash_int = item_values_slice.read_uint(256)
|
item_content_hash_int = item_values_slice.read_uint(256)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue