def test_discover_v4_message_pack(): sender, recipient = AddressFactory.create_batch(2) version = rlp.sedes.big_endian_int.serialize(PROTO_VERSION) payload = (version, sender.to_endpoint(), recipient.to_endpoint()) privkey = PrivateKeyFactory() message = _pack_v4(CMD_PING.id, payload, privkey) pubkey, cmd_id, payload, _ = _unpack_v4(message) assert pubkey == privkey.public_key assert cmd_id == CMD_PING.id
def test_pack(): sender, recipient = random_address(), random_address() version = rlp.sedes.big_endian_int.serialize(discovery.PROTO_VERSION) payload = (version, sender.to_endpoint(), recipient.to_endpoint()) privkey = keys.PrivateKey(keccak(b"seed")) message = discovery._pack_v4(discovery.CMD_PING.id, payload, privkey) pubkey, cmd_id, payload, _ = discovery._unpack_v4(message) assert pubkey == privkey.public_key assert cmd_id == discovery.CMD_PING.id assert len(payload) == discovery.CMD_PING.elem_count