def from_signature_request_message(cls, message): payload = message.payload requester = message.authentication.signed_members[0] responder = message.authentication.signed_members[1] return cls( (requester[1].public_key, responder[1].public_key, payload.up, payload.down, payload.total_up_requester, payload.total_down_requester, payload.sequence_number_requester, payload.previous_hash_requester, requester[0], sha256( encode_block_requester_half(payload, requester[1].public_key, responder[1].public_key, requester[0])).digest(), 0, 0, -1, EMPTY_HASH, "", EMPTY_HASH, None))
def from_block_response_message(cls, message, requester, responder): payload = message.payload return cls( (requester.public_key, responder.public_key, payload.up, payload.down, payload.total_up_requester, payload.total_down_requester, payload.sequence_number_requester, payload.previous_hash_requester, payload.signature_requester, sha256( encode_block_requester_half( payload, payload.public_key_requester, payload.public_key_responder, payload.signature_requester)).digest(), payload.total_up_responder, payload.total_down_responder, payload.sequence_number_responder, payload.previous_hash_responder, payload.signature_responder, sha256(encode_block_crawl(payload)).digest(), None))