import { GenesisNetworkDataWrapper } from './genesis_network_data_wrapper.js';
export class GenesisNetworkNodeDataWrapper extends GenesisNetworkDataWrapper {
    nodeId;
    adminKey;
    description;
    accountId;
    serviceEndpoint = [];
    grpcCertificateHash;
    deleted = false;
    constructor(nodeId, adminKey, description) {
        super(nodeId);
        this.nodeId = nodeId;
        this.adminKey = adminKey;
        this.description = description;
    }
    /**
     * @param domainName - a fully qualified domain name
     * @param port
     */
    addServiceEndpoint(domainName, port) {
        this.serviceEndpoint.push({ domainName, port, ipAddressV4: '' });
    }
    toObject() {
        return {
            nodeId: this.nodeId,
            accountId: { accountNum: `${this.accountId.num}` },
            description: this.description,
            gossipEndpoint: this.gossipEndpoint,
            serviceEndpoint: this.serviceEndpoint,
            gossipCaCertificate: this.gossipCaCertificate,
            grpcCertificateHash: this.grpcCertificateHash,
            weight: this.weight,
            deleted: this.deleted,
            adminKey: this.adminKey,
        };
    }
}
//# sourceMappingURL=genesis_network_node_data_wrapper.js.map