UNPKG

@hashgraph/sdk

Version:
276 lines (275 loc) 10.2 kB
/** * @namespace proto * @typedef {import("@hashgraph/proto").proto.ITransaction} ITransaction * @typedef {import("@hashgraph/proto").proto.ITransaction} ISignedTransaction * @typedef {import("@hashgraph/proto").proto.TransactionBody} TransactionBody * @typedef {import("@hashgraph/proto").proto.ITransactionBody} ITransactionBody * @typedef {import("@hashgraph/proto").proto.ITransactionResponse} ITransactionResponse */ /** * @namespace com.hedera.hapi.node.addressbook * @typedef {import("@hashgraph/proto").com.hedera.hapi.node.addressbook.INodeUpdateTransactionBody} INodeUpdateTransactionBody */ /** * @typedef {import("../channel/Channel.js").default} Channel * @typedef {import("../transaction/TransactionId.js").default} TransactionId * @typedef {import("../client/Client.js").default<*, *>} Client */ /** * @description A transaction to update a consensus node in the network. */ export default class NodeUpdateTransaction extends Transaction { /** * @internal * @param {ITransaction[]} transactions * @param {ISignedTransaction[]} signedTransactions * @param {TransactionId[]} transactionIds * @param {AccountId[]} nodeIds * @param {ITransactionBody[]} bodies * @returns {NodeUpdateTransaction} */ static _fromProtobuf(transactions: ITransaction[], signedTransactions: ISignedTransaction[], transactionIds: TransactionId[], nodeIds: AccountId[], bodies: ITransactionBody[]): NodeUpdateTransaction; /** * @param {object} [props] * @param {Long} [props.nodeId] * @param {AccountId} [props.accountId] * @param {?string} [props.description] * @param {Array<ServiceEndpoint>} [props.gossipEndpoints] * @param {?Array<ServiceEndpoint>} [props.serviceEndpoints] * @param {?Uint8Array} [props.gossipCaCertificate] * @param {?Uint8Array} [props.grpcCertificateHash] * @param {ServiceEndpoint} [props.grpcWebProxyEndpoint] * @param {Key} [props.adminKey] * @param {boolean} [props.declineReward] */ constructor(props?: { nodeId?: Long | undefined; accountId?: AccountId | undefined; description?: string | null | undefined; gossipEndpoints?: ServiceEndpoint[] | undefined; serviceEndpoints?: ServiceEndpoint[] | null | undefined; gossipCaCertificate?: Uint8Array<ArrayBufferLike> | null | undefined; grpcCertificateHash?: Uint8Array<ArrayBufferLike> | null | undefined; grpcWebProxyEndpoint?: ServiceEndpoint | undefined; adminKey?: Key | undefined; declineReward?: boolean | undefined; }); /** * @private * @type {?Long} * @description A consensus node identifier in the network state. It's required. */ private _nodeId; /** * @private * @type {?AccountId} * @description Desired new account identifier of the node. */ private _accountId; /** * @private * @type {?string} * @description Short description of the node. If set, this value SHALL replace the previous value. */ private _description; /** * @private * @type {?Array<ServiceEndpoint>} * @description List of service endpoints for gossip. */ private _gossipEndpoints; /** * @private * @type {?Array<ServiceEndpoint>} * @description List of service endpoints for gRPC calls. */ private _serviceEndpoints; /** * @private * @type {?Uint8Array} * @description Certificate used to sign gossip events. */ private _gossipCaCertificate; /** * @private * @type {?Uint8Array} * @description Hash of the node gRPC TLS certificate. */ private _grpcCertificateHash; /** * @private * @type {?ServiceEndpoint} * @description Proxy endpoint for gRPC web calls. */ private _grpcWebProxyEndpoint; /** * @private * @type {?Key} * @description Administrative key controlled by the node operator. */ private _adminKey; /** * @private * @type {?boolean} * @description Whether the node declines rewards. */ private _declineReward; /** * @param {Long} nodeId * @description Set consensus node identifier in the network state. * @returns {NodeUpdateTransaction} */ setNodeId(nodeId: Long): NodeUpdateTransaction; /** * @description Get consensus node identifier in the network state. * @returns {?Long} */ get nodeId(): Long | null; /** * @param {AccountId | string} accountId * @description Set desired new account identifier of the node. * @returns {NodeUpdateTransaction} */ setAccountId(accountId: AccountId | string): NodeUpdateTransaction; /** * @description Get desired new account identifier of the node. * @returns {?AccountId} */ get accountId(): AccountId | null; /** * @param {string} description * @description Set description of the node. * @returns {NodeUpdateTransaction} */ setDescription(description: string): NodeUpdateTransaction; /** * @description Clear description of the node. * @returns {void} */ clearDescription(): void; /** * @description Get description of the node. * @returns {?string} */ get description(): string | null; /** * @param {ServiceEndpoint[]} gossipEndpoints * @description Set list of service endpoints for gossip. * @returns {NodeUpdateTransaction} */ setGossipEndpoints(gossipEndpoints: ServiceEndpoint[]): NodeUpdateTransaction; /** * @description Get list of service endpoints for gossip. * @returns {?Array<ServiceEndpoint>} */ get gossipEndpoints(): Array<ServiceEndpoint> | null; /** * @param {ServiceEndpoint} endpoint * @description Add an endpoint to the list of service endpoints for gossip. * @returns {NodeUpdateTransaction} */ addGossipEndpoint(endpoint: ServiceEndpoint): NodeUpdateTransaction; /** * @param {ServiceEndpoint[]} serviceEndpoints * @description Set list of service endpoints for gRPC calls. * @returns {NodeUpdateTransaction} */ setServiceEndpoints(serviceEndpoints: ServiceEndpoint[]): NodeUpdateTransaction; /** * @description Get list of service endpoints for gRPC calls. * @returns {?Array<ServiceEndpoint>} */ get serviceEndpoints(): Array<ServiceEndpoint> | null; /** * @param {ServiceEndpoint} endpoint * @description Add an endpoint to the list of service endpoints for gRPC calls. * @returns {NodeUpdateTransaction} */ addServiceEndpoint(endpoint: ServiceEndpoint): NodeUpdateTransaction; /** * @param {Uint8Array} bytes * @description Set certificate used to sign gossip events. * @returns {NodeUpdateTransaction} */ setGossipCaCertificate(bytes: Uint8Array): NodeUpdateTransaction; /** * @description Get certificate used to sign gossip events. * @returns {?Uint8Array} */ get gossipCaCertificate(): Uint8Array | null; /** * @param {Uint8Array} bytes * @description Set hash of the node gRPC TLS certificate. * @returns {NodeUpdateTransaction} */ setCertificateHash(bytes: Uint8Array): NodeUpdateTransaction; /** * @description Get hash of the node gRPC TLS certificate. * @returns {?Uint8Array} */ get certificateHash(): Uint8Array | null; /** * @param {ServiceEndpoint} endpoint * @description Set proxy endpoint for gRPC web calls. * @returns {NodeUpdateTransaction} */ setGrpcWebProxyEndpoint(endpoint: ServiceEndpoint): NodeUpdateTransaction; /** * @description Get proxy endpoint for gRPC web calls. * @returns {?ServiceEndpoint} */ get grpcWebProxyEndpoint(): ServiceEndpoint | null; /** * @param {Key} adminKey * @description Set administrative key controlled by the node operator. * @returns {NodeUpdateTransaction} */ setAdminKey(adminKey: Key): NodeUpdateTransaction; /** * @description Get administrative key controlled by the node operator. * @returns {?Key} */ get adminKey(): Key | null; /** * @param {boolean} declineReward * @description Set whether the node declines rewards. * @returns {NodeUpdateTransaction} */ setDeclineReward(declineReward: boolean): NodeUpdateTransaction; /** * @description Get whether the node declines rewards. * @returns {?boolean} */ get declineReward(): boolean | null; /** * @description Deletes the gRPC proxy endpoint and sets it to null in the mirror node, effectively removing it from the network state. * @returns {NodeUpdateTransaction} */ deleteGrpcWebProxyEndpoint(): NodeUpdateTransaction; /** * @override * @param {?import("../client/Client.js").default<Channel, *>} client * @returns {this} */ override freezeWith(client: import("../client/Client.js").default<Channel, any> | null): this; /** * @override * @protected * @returns {INodeUpdateTransactionBody} */ protected override _makeTransactionData(): INodeUpdateTransactionBody; } export type ITransaction = import("@hashgraph/proto").proto.ITransaction; export type ISignedTransaction = import("@hashgraph/proto").proto.ITransaction; export type TransactionBody = import("@hashgraph/proto").proto.TransactionBody; export type ITransactionBody = import("@hashgraph/proto").proto.ITransactionBody; export type ITransactionResponse = import("@hashgraph/proto").proto.ITransactionResponse; export type INodeUpdateTransactionBody = import("@hashgraph/proto").com.hedera.hapi.node.addressbook.INodeUpdateTransactionBody; export type Channel = import("../channel/Channel.js").default; export type TransactionId = import("../transaction/TransactionId.js").default; export type Client = import("../client/Client.js").default<any, any>; import Transaction from "../transaction/Transaction.js"; import Long from "long"; import AccountId from "../account/AccountId.js"; import ServiceEndpoint from "./ServiceEndpoint.js"; import Key from "../Key.js";