package com.subgraph.orchid.circuits.hs; import com.subgraph.orchid.crypto.TorPublicKey; import com.subgraph.orchid.data.HexDigest; import com.subgraph.orchid.data.IPv4Address; public class IntroductionPoint { private HexDigest identity; private IPv4Address address; private int onionPort; private TorPublicKey onionKey; private TorPublicKey serviceKey; IntroductionPoint(HexDigest identity) { this.identity = identity; } void setAddress(IPv4Address address) { this.address = address; } void setOnionPort(int onionPort) { this.onionPort = onionPort; } void setOnionKey(TorPublicKey onionKey) { this.onionKey = onionKey; } void setServiceKey(TorPublicKey serviceKey) { this.serviceKey = serviceKey; } boolean isValidDocument() { return identity != null && address != null && onionPort != 0 && onionKey != null && serviceKey != null; } public HexDigest getIdentity() { return identity; } public IPv4Address getAddress() { return address; } public int getPort() { return onionPort; } public TorPublicKey getOnionKey() { return onionKey; } public TorPublicKey getServiceKey() { return serviceKey; } }