///
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from "@grpc/grpc-js";
import _m0 from "protobufjs/minimal";
import { ObservationRequest } from "../../gossip/v1/gossip";
export declare const protobufPackage = "node.v1";
export declare enum ModificationKind {
MODIFICATION_KIND_UNSPECIFIED = 0,
MODIFICATION_KIND_ADD = 1,
MODIFICATION_KIND_SUBTRACT = 2,
UNRECOGNIZED = -1
}
export declare function modificationKindFromJSON(object: any): ModificationKind;
export declare function modificationKindToJSON(object: ModificationKind): string;
export declare enum WormchainWasmInstantiateAllowlistAction {
WORMCHAIN_WASM_INSTANTIATE_ALLOWLIST_ACTION_UNSPECIFIED = 0,
WORMCHAIN_WASM_INSTANTIATE_ALLOWLIST_ACTION_ADD = 1,
WORMCHAIN_WASM_INSTANTIATE_ALLOWLIST_ACTION_DELETE = 2,
UNRECOGNIZED = -1
}
export declare function wormchainWasmInstantiateAllowlistActionFromJSON(object: any): WormchainWasmInstantiateAllowlistAction;
export declare function wormchainWasmInstantiateAllowlistActionToJSON(object: WormchainWasmInstantiateAllowlistAction): string;
export declare enum IbcUpdateChannelChainModule {
IBC_UPDATE_CHANNEL_CHAIN_MODULE_UNSPECIFIED = 0,
IBC_UPDATE_CHANNEL_CHAIN_MODULE_RECEIVER = 1,
IBC_UPDATE_CHANNEL_CHAIN_MODULE_TRANSLATOR = 2,
UNRECOGNIZED = -1
}
export declare function ibcUpdateChannelChainModuleFromJSON(object: any): IbcUpdateChannelChainModule;
export declare function ibcUpdateChannelChainModuleToJSON(object: IbcUpdateChannelChainModule): string;
export interface InjectGovernanceVAARequest {
/** Index of the current guardian set. */
currentSetIndex: number;
/** List of governance VAA messages to inject. */
messages: GovernanceMessage[];
/** UNIX wall time in seconds */
timestamp: number;
}
export interface GovernanceMessage {
/**
* Sequence number. This is critical for replay protection - make sure the sequence number
* is unique for every new manually injected governance VAA. Sequences are tracked
* by emitter, and manually injected VAAs all use a single hardcoded emitter.
*
* We use random sequence numbers for the manual emitter.
*/
sequence: string;
/** Random nonce for disambiguation. Must be identical across all nodes. */
nonce: number;
guardianSet: GuardianSetUpdate | undefined;
contractUpgrade: ContractUpgrade | undefined;
bridgeRegisterChain: BridgeRegisterChain | undefined;
bridgeContractUpgrade: BridgeUpgradeContract | undefined;
wormchainStoreCode: WormchainStoreCode | undefined;
wormchainInstantiateContract: WormchainInstantiateContract | undefined;
wormchainMigrateContract: WormchainMigrateContract | undefined;
wormchainWasmInstantiateAllowlist: WormchainWasmInstantiateAllowlist | undefined;
/** Gateway */
gatewayScheduleUpgrade: GatewayScheduleUpgrade | undefined;
gatewayCancelUpgrade: GatewayCancelUpgrade | undefined;
gatewayIbcComposabilityMwSetContract: GatewayIbcComposabilityMwSetContract | undefined;
/** Global Accountant */
accountantModifyBalance: AccountantModifyBalance | undefined;
/** Circle Integration */
circleIntegrationUpdateWormholeFinality: CircleIntegrationUpdateWormholeFinality | undefined;
circleIntegrationRegisterEmitterAndDomain: CircleIntegrationRegisterEmitterAndDomain | undefined;
circleIntegrationUpgradeContractImplementation: CircleIntegrationUpgradeContractImplementation | undefined;
/** IBC Receiver Integration */
ibcUpdateChannelChain: IbcUpdateChannelChain | undefined;
/** Wormhole Relayer module */
wormholeRelayerSetDefaultDeliveryProvider: WormholeRelayerSetDefaultDeliveryProvider | undefined;
}
export interface InjectGovernanceVAAResponse {
/** Canonical digests of the submitted VAAs. */
digests: Buffer[];
}
/**
* GuardianSet represents a new guardian set to be submitted to and signed by the node.
* During the genesis procedure, this data structure will be assembled using off-chain collaborative tooling
* like GitHub using a human-readable encoding, so readability is a concern.
*/
export interface GuardianSetUpdate {
guardians: GuardianSetUpdate_Guardian[];
}
/** List of guardian set members. */
export interface GuardianSetUpdate_Guardian {
/**
* Guardian key pubkey. Stored as hex string with 0x prefix for human readability -
* this is the canonical Ethereum representation.
*/
pubkey: string;
/** Optional descriptive name. Not stored on any chain, purely informational. */
name: string;
}
/** GuardianKey specifies the on-disk format for a node's guardian key. */
export interface GuardianKey {
/** data is the binary representation of the secp256k1 private key. */
data: Buffer;
/** Whether this key is deterministically generated and unsuitable for production mode. */
unsafeDeterministicKey: boolean;
}
export interface BridgeRegisterChain {
/** Module identifier of the token or NFT bridge (typically "TokenBridge" or "NFTBridge") */
module: string;
/** ID of the chain to be registered. */
chainId: number;
/** Hex-encoded emitter address to be registered (without leading 0x). */
emitterAddress: string;
}
export interface AccountantModifyBalance {
/** Module identifier of the accountant "GlobalAccountant" */
module: string;
/** ID of the chain to receive this modify. */
targetChainId: number;
/**
* The sequence number of this modification. Each modification must be
* uniquely identifiable just by its sequnce number.
*/
sequence: string;
/** U16 chain id of the account to be modified. */
chainId: number;
/** U16 the chain id of the native chain for the token. */
tokenChain: number;
/** The address of the token on its native chain, hex string encoded. */
tokenAddress: string;
/** The kind of modification to be made. */
kind: ModificationKind;
/**
* The amount to be modified. This should be a decimal formatted string indicating the
* "raw" amount, not adjusted by the decimals of the token.
*/
amount: string;
/** A human-readable reason for the modification (max 32 bytes). */
reason: string;
}
/** ContractUpgrade represents a Wormhole contract update to be submitted to and signed by the node. */
export interface ContractUpgrade {
/** ID of the chain where the Wormhole contract should be updated (uint8). */
chainId: number;
/** Hex-encoded address (without leading 0x) address of the new program/contract. */
newContract: string;
}
export interface BridgeUpgradeContract {
/** Module identifier of the token or NFT bridge (typically "TokenBridge" or "NFTBridge"). */
module: string;
/** ID of the chain where the bridge contract should be updated (uint16). */
targetChainId: number;
/** Hex-encoded address (without leading 0x) of the new program/contract. */
newContract: string;
}
export interface WormchainStoreCode {
/** payload is the hex string of the sha3 256 hash of the wasm binary being uploaded */
wasmHash: string;
}
export interface WormchainInstantiateContract {
/** CodeID is the reference to the stored WASM code */
codeId: string;
/** Label is optional metadata to be stored with a contract instance. */
label: string;
/** Json encoded message to be passed to the contract on instantiation */
instantiationMsg: string;
}
export interface WormchainMigrateContract {
/** CodeID is the reference to the stored WASM code that the contract should migrate to. */
codeId: string;
/** The address of the contract being migrated. */
contract: string;
/** Msg json encoded message to be passed to the contract on migration */
instantiationMsg: string;
}
export interface WormchainWasmInstantiateAllowlist {
/** CodeID is the reference to the stored WASM code. */
codeId: string;
/** The address of the contract that is allowlisted to call wasm instantiate without a VAA. */
contract: string;
/** Specifying whether to add or delete the allowlist entry */
action: WormchainWasmInstantiateAllowlistAction;
}
export interface GatewayIbcComposabilityMwSetContract {
/** The address of the contract that is set in the ibc composability middleware. */
contract: string;
}
export interface GatewayScheduleUpgrade {
/** Name of the upgrade */
name: string;
/** Height of the upgrade halt */
height: string;
}
export interface GatewayCancelUpgrade {
}
export interface CircleIntegrationUpdateWormholeFinality {
finality: number;
targetChainId: number;
}
export interface CircleIntegrationRegisterEmitterAndDomain {
foreignEmitterChainId: number;
foreignEmitterAddress: string;
circleDomain: number;
targetChainId: number;
}
export interface CircleIntegrationUpgradeContractImplementation {
newImplementationAddress: string;
targetChainId: number;
}
export interface IbcUpdateChannelChain {
/** Chain ID that this governance VAA should be redeemed on */
targetChainId: number;
/** IBC channel ID */
channelId: string;
/** ChainID corresponding to the IBC channel */
chainId: number;
/** Specifying which governance module this message is for */
module: IbcUpdateChannelChainModule;
}
export interface WormholeRelayerSetDefaultDeliveryProvider {
/** ID of the chain of the Wormhole Relayer contract where the default delivery provider should be updated (uint16). */
chainId: number;
/** Hex-encoded address (without leading 0x) of the new default delivery provider contract address. */
newDefaultDeliveryProviderAddress: string;
}
export interface FindMissingMessagesRequest {
/** Emitter chain ID to iterate. */
emitterChain: number;
/** Hex-encoded (without leading 0x) emitter address to iterate. */
emitterAddress: string;
/** Whether to attempt to backfill missing messages from a list of remote nodes. */
rpcBackfill: boolean;
/** List of remote nodes to backfill from. */
backfillNodes: string[];
}
export interface FindMissingMessagesResponse {
/** List of missing sequence numbers. */
missingMessages: string[];
/** Range processed */
firstSequence: string;
lastSequence: string;
}
export interface SendObservationRequestRequest {
observationRequest: ObservationRequest | undefined;
}
export interface SendObservationRequestResponse {
}
export interface ChainGovernorStatusRequest {
}
export interface ChainGovernorStatusResponse {
response: string;
}
export interface ChainGovernorReloadRequest {
}
export interface ChainGovernorReloadResponse {
response: string;
}
export interface ChainGovernorDropPendingVAARequest {
vaaId: string;
}
export interface ChainGovernorDropPendingVAAResponse {
response: string;
}
export interface ChainGovernorReleasePendingVAARequest {
vaaId: string;
}
export interface ChainGovernorReleasePendingVAAResponse {
response: string;
}
export interface ChainGovernorResetReleaseTimerRequest {
vaaId: string;
}
export interface ChainGovernorResetReleaseTimerResponse {
response: string;
}
export interface PurgePythNetVaasRequest {
daysOld: string;
logOnly: boolean;
}
export interface PurgePythNetVaasResponse {
response: string;
}
export interface SignExistingVAARequest {
vaa: Buffer;
newGuardianAddrs: string[];
newGuardianSetIndex: number;
}
export interface SignExistingVAAResponse {
vaa: Buffer;
}
export interface DumpRPCsRequest {
}
export interface DumpRPCsResponse {
response: {
[key: string]: string;
};
}
export interface DumpRPCsResponse_ResponseEntry {
key: string;
value: string;
}
export interface GetAndObserveMissingVAAsRequest {
url: string;
apiKey: string;
}
export interface GetAndObserveMissingVAAsResponse {
response: string;
}
export declare const InjectGovernanceVAARequest: {
encode(message: InjectGovernanceVAARequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): InjectGovernanceVAARequest;
fromJSON(object: any): InjectGovernanceVAARequest;
toJSON(message: InjectGovernanceVAARequest): unknown;
fromPartial(object: DeepPartial): InjectGovernanceVAARequest;
};
export declare const GovernanceMessage: {
encode(message: GovernanceMessage, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GovernanceMessage;
fromJSON(object: any): GovernanceMessage;
toJSON(message: GovernanceMessage): unknown;
fromPartial(object: DeepPartial): GovernanceMessage;
};
export declare const InjectGovernanceVAAResponse: {
encode(message: InjectGovernanceVAAResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): InjectGovernanceVAAResponse;
fromJSON(object: any): InjectGovernanceVAAResponse;
toJSON(message: InjectGovernanceVAAResponse): unknown;
fromPartial(object: DeepPartial): InjectGovernanceVAAResponse;
};
export declare const GuardianSetUpdate: {
encode(message: GuardianSetUpdate, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GuardianSetUpdate;
fromJSON(object: any): GuardianSetUpdate;
toJSON(message: GuardianSetUpdate): unknown;
fromPartial(object: DeepPartial): GuardianSetUpdate;
};
export declare const GuardianSetUpdate_Guardian: {
encode(message: GuardianSetUpdate_Guardian, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GuardianSetUpdate_Guardian;
fromJSON(object: any): GuardianSetUpdate_Guardian;
toJSON(message: GuardianSetUpdate_Guardian): unknown;
fromPartial(object: DeepPartial): GuardianSetUpdate_Guardian;
};
export declare const GuardianKey: {
encode(message: GuardianKey, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GuardianKey;
fromJSON(object: any): GuardianKey;
toJSON(message: GuardianKey): unknown;
fromPartial(object: DeepPartial): GuardianKey;
};
export declare const BridgeRegisterChain: {
encode(message: BridgeRegisterChain, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): BridgeRegisterChain;
fromJSON(object: any): BridgeRegisterChain;
toJSON(message: BridgeRegisterChain): unknown;
fromPartial(object: DeepPartial): BridgeRegisterChain;
};
export declare const AccountantModifyBalance: {
encode(message: AccountantModifyBalance, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): AccountantModifyBalance;
fromJSON(object: any): AccountantModifyBalance;
toJSON(message: AccountantModifyBalance): unknown;
fromPartial(object: DeepPartial): AccountantModifyBalance;
};
export declare const ContractUpgrade: {
encode(message: ContractUpgrade, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ContractUpgrade;
fromJSON(object: any): ContractUpgrade;
toJSON(message: ContractUpgrade): unknown;
fromPartial(object: DeepPartial): ContractUpgrade;
};
export declare const BridgeUpgradeContract: {
encode(message: BridgeUpgradeContract, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): BridgeUpgradeContract;
fromJSON(object: any): BridgeUpgradeContract;
toJSON(message: BridgeUpgradeContract): unknown;
fromPartial(object: DeepPartial): BridgeUpgradeContract;
};
export declare const WormchainStoreCode: {
encode(message: WormchainStoreCode, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): WormchainStoreCode;
fromJSON(object: any): WormchainStoreCode;
toJSON(message: WormchainStoreCode): unknown;
fromPartial(object: DeepPartial): WormchainStoreCode;
};
export declare const WormchainInstantiateContract: {
encode(message: WormchainInstantiateContract, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): WormchainInstantiateContract;
fromJSON(object: any): WormchainInstantiateContract;
toJSON(message: WormchainInstantiateContract): unknown;
fromPartial(object: DeepPartial): WormchainInstantiateContract;
};
export declare const WormchainMigrateContract: {
encode(message: WormchainMigrateContract, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): WormchainMigrateContract;
fromJSON(object: any): WormchainMigrateContract;
toJSON(message: WormchainMigrateContract): unknown;
fromPartial(object: DeepPartial): WormchainMigrateContract;
};
export declare const WormchainWasmInstantiateAllowlist: {
encode(message: WormchainWasmInstantiateAllowlist, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): WormchainWasmInstantiateAllowlist;
fromJSON(object: any): WormchainWasmInstantiateAllowlist;
toJSON(message: WormchainWasmInstantiateAllowlist): unknown;
fromPartial(object: DeepPartial): WormchainWasmInstantiateAllowlist;
};
export declare const GatewayIbcComposabilityMwSetContract: {
encode(message: GatewayIbcComposabilityMwSetContract, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GatewayIbcComposabilityMwSetContract;
fromJSON(object: any): GatewayIbcComposabilityMwSetContract;
toJSON(message: GatewayIbcComposabilityMwSetContract): unknown;
fromPartial(object: DeepPartial): GatewayIbcComposabilityMwSetContract;
};
export declare const GatewayScheduleUpgrade: {
encode(message: GatewayScheduleUpgrade, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GatewayScheduleUpgrade;
fromJSON(object: any): GatewayScheduleUpgrade;
toJSON(message: GatewayScheduleUpgrade): unknown;
fromPartial(object: DeepPartial): GatewayScheduleUpgrade;
};
export declare const GatewayCancelUpgrade: {
encode(_: GatewayCancelUpgrade, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GatewayCancelUpgrade;
fromJSON(_: any): GatewayCancelUpgrade;
toJSON(_: GatewayCancelUpgrade): unknown;
fromPartial(_: DeepPartial): GatewayCancelUpgrade;
};
export declare const CircleIntegrationUpdateWormholeFinality: {
encode(message: CircleIntegrationUpdateWormholeFinality, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CircleIntegrationUpdateWormholeFinality;
fromJSON(object: any): CircleIntegrationUpdateWormholeFinality;
toJSON(message: CircleIntegrationUpdateWormholeFinality): unknown;
fromPartial(object: DeepPartial): CircleIntegrationUpdateWormholeFinality;
};
export declare const CircleIntegrationRegisterEmitterAndDomain: {
encode(message: CircleIntegrationRegisterEmitterAndDomain, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CircleIntegrationRegisterEmitterAndDomain;
fromJSON(object: any): CircleIntegrationRegisterEmitterAndDomain;
toJSON(message: CircleIntegrationRegisterEmitterAndDomain): unknown;
fromPartial(object: DeepPartial): CircleIntegrationRegisterEmitterAndDomain;
};
export declare const CircleIntegrationUpgradeContractImplementation: {
encode(message: CircleIntegrationUpgradeContractImplementation, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): CircleIntegrationUpgradeContractImplementation;
fromJSON(object: any): CircleIntegrationUpgradeContractImplementation;
toJSON(message: CircleIntegrationUpgradeContractImplementation): unknown;
fromPartial(object: DeepPartial): CircleIntegrationUpgradeContractImplementation;
};
export declare const IbcUpdateChannelChain: {
encode(message: IbcUpdateChannelChain, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): IbcUpdateChannelChain;
fromJSON(object: any): IbcUpdateChannelChain;
toJSON(message: IbcUpdateChannelChain): unknown;
fromPartial(object: DeepPartial): IbcUpdateChannelChain;
};
export declare const WormholeRelayerSetDefaultDeliveryProvider: {
encode(message: WormholeRelayerSetDefaultDeliveryProvider, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): WormholeRelayerSetDefaultDeliveryProvider;
fromJSON(object: any): WormholeRelayerSetDefaultDeliveryProvider;
toJSON(message: WormholeRelayerSetDefaultDeliveryProvider): unknown;
fromPartial(object: DeepPartial): WormholeRelayerSetDefaultDeliveryProvider;
};
export declare const FindMissingMessagesRequest: {
encode(message: FindMissingMessagesRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): FindMissingMessagesRequest;
fromJSON(object: any): FindMissingMessagesRequest;
toJSON(message: FindMissingMessagesRequest): unknown;
fromPartial(object: DeepPartial): FindMissingMessagesRequest;
};
export declare const FindMissingMessagesResponse: {
encode(message: FindMissingMessagesResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): FindMissingMessagesResponse;
fromJSON(object: any): FindMissingMessagesResponse;
toJSON(message: FindMissingMessagesResponse): unknown;
fromPartial(object: DeepPartial): FindMissingMessagesResponse;
};
export declare const SendObservationRequestRequest: {
encode(message: SendObservationRequestRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SendObservationRequestRequest;
fromJSON(object: any): SendObservationRequestRequest;
toJSON(message: SendObservationRequestRequest): unknown;
fromPartial(object: DeepPartial): SendObservationRequestRequest;
};
export declare const SendObservationRequestResponse: {
encode(_: SendObservationRequestResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SendObservationRequestResponse;
fromJSON(_: any): SendObservationRequestResponse;
toJSON(_: SendObservationRequestResponse): unknown;
fromPartial(_: DeepPartial): SendObservationRequestResponse;
};
export declare const ChainGovernorStatusRequest: {
encode(_: ChainGovernorStatusRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorStatusRequest;
fromJSON(_: any): ChainGovernorStatusRequest;
toJSON(_: ChainGovernorStatusRequest): unknown;
fromPartial(_: DeepPartial): ChainGovernorStatusRequest;
};
export declare const ChainGovernorStatusResponse: {
encode(message: ChainGovernorStatusResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorStatusResponse;
fromJSON(object: any): ChainGovernorStatusResponse;
toJSON(message: ChainGovernorStatusResponse): unknown;
fromPartial(object: DeepPartial): ChainGovernorStatusResponse;
};
export declare const ChainGovernorReloadRequest: {
encode(_: ChainGovernorReloadRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorReloadRequest;
fromJSON(_: any): ChainGovernorReloadRequest;
toJSON(_: ChainGovernorReloadRequest): unknown;
fromPartial(_: DeepPartial): ChainGovernorReloadRequest;
};
export declare const ChainGovernorReloadResponse: {
encode(message: ChainGovernorReloadResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorReloadResponse;
fromJSON(object: any): ChainGovernorReloadResponse;
toJSON(message: ChainGovernorReloadResponse): unknown;
fromPartial(object: DeepPartial): ChainGovernorReloadResponse;
};
export declare const ChainGovernorDropPendingVAARequest: {
encode(message: ChainGovernorDropPendingVAARequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorDropPendingVAARequest;
fromJSON(object: any): ChainGovernorDropPendingVAARequest;
toJSON(message: ChainGovernorDropPendingVAARequest): unknown;
fromPartial(object: DeepPartial): ChainGovernorDropPendingVAARequest;
};
export declare const ChainGovernorDropPendingVAAResponse: {
encode(message: ChainGovernorDropPendingVAAResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorDropPendingVAAResponse;
fromJSON(object: any): ChainGovernorDropPendingVAAResponse;
toJSON(message: ChainGovernorDropPendingVAAResponse): unknown;
fromPartial(object: DeepPartial): ChainGovernorDropPendingVAAResponse;
};
export declare const ChainGovernorReleasePendingVAARequest: {
encode(message: ChainGovernorReleasePendingVAARequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorReleasePendingVAARequest;
fromJSON(object: any): ChainGovernorReleasePendingVAARequest;
toJSON(message: ChainGovernorReleasePendingVAARequest): unknown;
fromPartial(object: DeepPartial): ChainGovernorReleasePendingVAARequest;
};
export declare const ChainGovernorReleasePendingVAAResponse: {
encode(message: ChainGovernorReleasePendingVAAResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorReleasePendingVAAResponse;
fromJSON(object: any): ChainGovernorReleasePendingVAAResponse;
toJSON(message: ChainGovernorReleasePendingVAAResponse): unknown;
fromPartial(object: DeepPartial): ChainGovernorReleasePendingVAAResponse;
};
export declare const ChainGovernorResetReleaseTimerRequest: {
encode(message: ChainGovernorResetReleaseTimerRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorResetReleaseTimerRequest;
fromJSON(object: any): ChainGovernorResetReleaseTimerRequest;
toJSON(message: ChainGovernorResetReleaseTimerRequest): unknown;
fromPartial(object: DeepPartial): ChainGovernorResetReleaseTimerRequest;
};
export declare const ChainGovernorResetReleaseTimerResponse: {
encode(message: ChainGovernorResetReleaseTimerResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ChainGovernorResetReleaseTimerResponse;
fromJSON(object: any): ChainGovernorResetReleaseTimerResponse;
toJSON(message: ChainGovernorResetReleaseTimerResponse): unknown;
fromPartial(object: DeepPartial): ChainGovernorResetReleaseTimerResponse;
};
export declare const PurgePythNetVaasRequest: {
encode(message: PurgePythNetVaasRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): PurgePythNetVaasRequest;
fromJSON(object: any): PurgePythNetVaasRequest;
toJSON(message: PurgePythNetVaasRequest): unknown;
fromPartial(object: DeepPartial): PurgePythNetVaasRequest;
};
export declare const PurgePythNetVaasResponse: {
encode(message: PurgePythNetVaasResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): PurgePythNetVaasResponse;
fromJSON(object: any): PurgePythNetVaasResponse;
toJSON(message: PurgePythNetVaasResponse): unknown;
fromPartial(object: DeepPartial): PurgePythNetVaasResponse;
};
export declare const SignExistingVAARequest: {
encode(message: SignExistingVAARequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SignExistingVAARequest;
fromJSON(object: any): SignExistingVAARequest;
toJSON(message: SignExistingVAARequest): unknown;
fromPartial(object: DeepPartial): SignExistingVAARequest;
};
export declare const SignExistingVAAResponse: {
encode(message: SignExistingVAAResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SignExistingVAAResponse;
fromJSON(object: any): SignExistingVAAResponse;
toJSON(message: SignExistingVAAResponse): unknown;
fromPartial(object: DeepPartial): SignExistingVAAResponse;
};
export declare const DumpRPCsRequest: {
encode(_: DumpRPCsRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): DumpRPCsRequest;
fromJSON(_: any): DumpRPCsRequest;
toJSON(_: DumpRPCsRequest): unknown;
fromPartial(_: DeepPartial): DumpRPCsRequest;
};
export declare const DumpRPCsResponse: {
encode(message: DumpRPCsResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): DumpRPCsResponse;
fromJSON(object: any): DumpRPCsResponse;
toJSON(message: DumpRPCsResponse): unknown;
fromPartial(object: DeepPartial): DumpRPCsResponse;
};
export declare const DumpRPCsResponse_ResponseEntry: {
encode(message: DumpRPCsResponse_ResponseEntry, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): DumpRPCsResponse_ResponseEntry;
fromJSON(object: any): DumpRPCsResponse_ResponseEntry;
toJSON(message: DumpRPCsResponse_ResponseEntry): unknown;
fromPartial(object: DeepPartial): DumpRPCsResponse_ResponseEntry;
};
export declare const GetAndObserveMissingVAAsRequest: {
encode(message: GetAndObserveMissingVAAsRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GetAndObserveMissingVAAsRequest;
fromJSON(object: any): GetAndObserveMissingVAAsRequest;
toJSON(message: GetAndObserveMissingVAAsRequest): unknown;
fromPartial(object: DeepPartial): GetAndObserveMissingVAAsRequest;
};
export declare const GetAndObserveMissingVAAsResponse: {
encode(message: GetAndObserveMissingVAAsResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): GetAndObserveMissingVAAsResponse;
fromJSON(object: any): GetAndObserveMissingVAAsResponse;
toJSON(message: GetAndObserveMissingVAAsResponse): unknown;
fromPartial(object: DeepPartial): GetAndObserveMissingVAAsResponse;
};
/**
* NodePrivilegedService exposes an administrative API. It runs on a UNIX socket and is authenticated
* using Linux filesystem permissions.
*/
export declare const NodePrivilegedServiceService: {
/**
* InjectGovernanceVAA injects a governance VAA into the guardian node.
* The node will inject the VAA into the aggregator and sign/broadcast the VAA signature.
*
* A consensus majority of nodes on the network will have to inject the VAA within the
* VAA timeout window for it to reach consensus.
*/
readonly injectGovernanceVAA: {
readonly path: "/node.v1.NodePrivilegedService/InjectGovernanceVAA";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: InjectGovernanceVAARequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => InjectGovernanceVAARequest;
readonly responseSerialize: (value: InjectGovernanceVAAResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => InjectGovernanceVAAResponse;
};
/**
* FindMissingMessages will detect message sequence gaps in the local VAA store for a
* specific emitter chain and address. Start and end slots are the lowest and highest
* sequence numbers available in the local store, respectively.
*
* An error is returned if more than 1000 gaps are found.
*/
readonly findMissingMessages: {
readonly path: "/node.v1.NodePrivilegedService/FindMissingMessages";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: FindMissingMessagesRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => FindMissingMessagesRequest;
readonly responseSerialize: (value: FindMissingMessagesResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => FindMissingMessagesResponse;
};
/**
* SendObservationRequest broadcasts a signed observation request to the gossip network
* using the node's guardian key. The network rate limits these requests to one per second.
* Requests at higher rates will fail silently.
*/
readonly sendObservationRequest: {
readonly path: "/node.v1.NodePrivilegedService/SendObservationRequest";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: SendObservationRequestRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => SendObservationRequestRequest;
readonly responseSerialize: (value: SendObservationRequestResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => SendObservationRequestResponse;
};
/** ChainGovernorStatus displays the status of the chain governor. */
readonly chainGovernorStatus: {
readonly path: "/node.v1.NodePrivilegedService/ChainGovernorStatus";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ChainGovernorStatusRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ChainGovernorStatusRequest;
readonly responseSerialize: (value: ChainGovernorStatusResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ChainGovernorStatusResponse;
};
/** ChainGovernorReload clears the chain governor history and reloads it from the database. */
readonly chainGovernorReload: {
readonly path: "/node.v1.NodePrivilegedService/ChainGovernorReload";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ChainGovernorReloadRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ChainGovernorReloadRequest;
readonly responseSerialize: (value: ChainGovernorReloadResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ChainGovernorReloadResponse;
};
/** ChainGovernorDropPendingVAA drops a VAA from the chain governor pending list. */
readonly chainGovernorDropPendingVAA: {
readonly path: "/node.v1.NodePrivilegedService/ChainGovernorDropPendingVAA";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ChainGovernorDropPendingVAARequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ChainGovernorDropPendingVAARequest;
readonly responseSerialize: (value: ChainGovernorDropPendingVAAResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ChainGovernorDropPendingVAAResponse;
};
/** ChainGovernorReleasePendingVAA release a VAA from the chain governor pending list, publishing it immediately. */
readonly chainGovernorReleasePendingVAA: {
readonly path: "/node.v1.NodePrivilegedService/ChainGovernorReleasePendingVAA";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ChainGovernorReleasePendingVAARequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ChainGovernorReleasePendingVAARequest;
readonly responseSerialize: (value: ChainGovernorReleasePendingVAAResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ChainGovernorReleasePendingVAAResponse;
};
/** ChainGovernorResetReleaseTimer resets the release timer for a chain governor pending VAA to the configured maximum. */
readonly chainGovernorResetReleaseTimer: {
readonly path: "/node.v1.NodePrivilegedService/ChainGovernorResetReleaseTimer";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ChainGovernorResetReleaseTimerRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ChainGovernorResetReleaseTimerRequest;
readonly responseSerialize: (value: ChainGovernorResetReleaseTimerResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ChainGovernorResetReleaseTimerResponse;
};
/** PurgePythNetVaas deletes PythNet VAAs from the database that are more than the specified number of days old. */
readonly purgePythNetVaas: {
readonly path: "/node.v1.NodePrivilegedService/PurgePythNetVaas";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: PurgePythNetVaasRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => PurgePythNetVaasRequest;
readonly responseSerialize: (value: PurgePythNetVaasResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => PurgePythNetVaasResponse;
};
/** SignExistingVAA signs an existing VAA for a new guardian set using the local guardian key. */
readonly signExistingVAA: {
readonly path: "/node.v1.NodePrivilegedService/SignExistingVAA";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: SignExistingVAARequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => SignExistingVAARequest;
readonly responseSerialize: (value: SignExistingVAAResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => SignExistingVAAResponse;
};
/** DumpRPCs returns the RPCs being used by the guardian */
readonly dumpRPCs: {
readonly path: "/node.v1.NodePrivilegedService/DumpRPCs";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: DumpRPCsRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => DumpRPCsRequest;
readonly responseSerialize: (value: DumpRPCsResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => DumpRPCsResponse;
};
/** GetMissingVAAs returns the VAAs from a cloud function that need to be reobserved. */
readonly getAndObserveMissingVAAs: {
readonly path: "/node.v1.NodePrivilegedService/GetAndObserveMissingVAAs";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: GetAndObserveMissingVAAsRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => GetAndObserveMissingVAAsRequest;
readonly responseSerialize: (value: GetAndObserveMissingVAAsResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => GetAndObserveMissingVAAsResponse;
};
};
export interface NodePrivilegedServiceServer extends UntypedServiceImplementation {
/**
* InjectGovernanceVAA injects a governance VAA into the guardian node.
* The node will inject the VAA into the aggregator and sign/broadcast the VAA signature.
*
* A consensus majority of nodes on the network will have to inject the VAA within the
* VAA timeout window for it to reach consensus.
*/
injectGovernanceVAA: handleUnaryCall;
/**
* FindMissingMessages will detect message sequence gaps in the local VAA store for a
* specific emitter chain and address. Start and end slots are the lowest and highest
* sequence numbers available in the local store, respectively.
*
* An error is returned if more than 1000 gaps are found.
*/
findMissingMessages: handleUnaryCall;
/**
* SendObservationRequest broadcasts a signed observation request to the gossip network
* using the node's guardian key. The network rate limits these requests to one per second.
* Requests at higher rates will fail silently.
*/
sendObservationRequest: handleUnaryCall;
/** ChainGovernorStatus displays the status of the chain governor. */
chainGovernorStatus: handleUnaryCall;
/** ChainGovernorReload clears the chain governor history and reloads it from the database. */
chainGovernorReload: handleUnaryCall;
/** ChainGovernorDropPendingVAA drops a VAA from the chain governor pending list. */
chainGovernorDropPendingVAA: handleUnaryCall;
/** ChainGovernorReleasePendingVAA release a VAA from the chain governor pending list, publishing it immediately. */
chainGovernorReleasePendingVAA: handleUnaryCall;
/** ChainGovernorResetReleaseTimer resets the release timer for a chain governor pending VAA to the configured maximum. */
chainGovernorResetReleaseTimer: handleUnaryCall;
/** PurgePythNetVaas deletes PythNet VAAs from the database that are more than the specified number of days old. */
purgePythNetVaas: handleUnaryCall;
/** SignExistingVAA signs an existing VAA for a new guardian set using the local guardian key. */
signExistingVAA: handleUnaryCall;
/** DumpRPCs returns the RPCs being used by the guardian */
dumpRPCs: handleUnaryCall;
/** GetMissingVAAs returns the VAAs from a cloud function that need to be reobserved. */
getAndObserveMissingVAAs: handleUnaryCall;
}
export interface NodePrivilegedServiceClient extends Client {
/**
* InjectGovernanceVAA injects a governance VAA into the guardian node.
* The node will inject the VAA into the aggregator and sign/broadcast the VAA signature.
*
* A consensus majority of nodes on the network will have to inject the VAA within the
* VAA timeout window for it to reach consensus.
*/
injectGovernanceVAA(request: InjectGovernanceVAARequest, callback: (error: ServiceError | null, response: InjectGovernanceVAAResponse) => void): ClientUnaryCall;
injectGovernanceVAA(request: InjectGovernanceVAARequest, metadata: Metadata, callback: (error: ServiceError | null, response: InjectGovernanceVAAResponse) => void): ClientUnaryCall;
injectGovernanceVAA(request: InjectGovernanceVAARequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: InjectGovernanceVAAResponse) => void): ClientUnaryCall;
/**
* FindMissingMessages will detect message sequence gaps in the local VAA store for a
* specific emitter chain and address. Start and end slots are the lowest and highest
* sequence numbers available in the local store, respectively.
*
* An error is returned if more than 1000 gaps are found.
*/
findMissingMessages(request: FindMissingMessagesRequest, callback: (error: ServiceError | null, response: FindMissingMessagesResponse) => void): ClientUnaryCall;
findMissingMessages(request: FindMissingMessagesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: FindMissingMessagesResponse) => void): ClientUnaryCall;
findMissingMessages(request: FindMissingMessagesRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: FindMissingMessagesResponse) => void): ClientUnaryCall;
/**
* SendObservationRequest broadcasts a signed observation request to the gossip network
* using the node's guardian key. The network rate limits these requests to one per second.
* Requests at higher rates will fail silently.
*/
sendObservationRequest(request: SendObservationRequestRequest, callback: (error: ServiceError | null, response: SendObservationRequestResponse) => void): ClientUnaryCall;
sendObservationRequest(request: SendObservationRequestRequest, metadata: Metadata, callback: (error: ServiceError | null, response: SendObservationRequestResponse) => void): ClientUnaryCall;
sendObservationRequest(request: SendObservationRequestRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: SendObservationRequestResponse) => void): ClientUnaryCall;
/** ChainGovernorStatus displays the status of the chain governor. */
chainGovernorStatus(request: ChainGovernorStatusRequest, callback: (error: ServiceError | null, response: ChainGovernorStatusResponse) => void): ClientUnaryCall;
chainGovernorStatus(request: ChainGovernorStatusRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ChainGovernorStatusResponse) => void): ClientUnaryCall;
chainGovernorStatus(request: ChainGovernorStatusRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ChainGovernorStatusResponse) => void): ClientUnaryCall;
/** ChainGovernorReload clears the chain governor history and reloads it from the database. */
chainGovernorReload(request: ChainGovernorReloadRequest, callback: (error: ServiceError | null, response: ChainGovernorReloadResponse) => void): ClientUnaryCall;
chainGovernorReload(request: ChainGovernorReloadRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ChainGovernorReloadResponse) => void): ClientUnaryCall;
chainGovernorReload(request: ChainGovernorReloadRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ChainGovernorReloadResponse) => void): ClientUnaryCall;
/** ChainGovernorDropPendingVAA drops a VAA from the chain governor pending list. */
chainGovernorDropPendingVAA(request: ChainGovernorDropPendingVAARequest, callback: (error: ServiceError | null, response: ChainGovernorDropPendingVAAResponse) => void): ClientUnaryCall;
chainGovernorDropPendingVAA(request: ChainGovernorDropPendingVAARequest, metadata: Metadata, callback: (error: ServiceError | null, response: ChainGovernorDropPendingVAAResponse) => void): ClientUnaryCall;
chainGovernorDropPendingVAA(request: ChainGovernorDropPendingVAARequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ChainGovernorDropPendingVAAResponse) => void): ClientUnaryCall;
/** ChainGovernorReleasePendingVAA release a VAA from the chain governor pending list, publishing it immediately. */
chainGovernorReleasePendingVAA(request: ChainGovernorReleasePendingVAARequest, callback: (error: ServiceError | null, response: ChainGovernorReleasePendingVAAResponse) => void): ClientUnaryCall;
chainGovernorReleasePendingVAA(request: ChainGovernorReleasePendingVAARequest, metadata: Metadata, callback: (error: ServiceError | null, response: ChainGovernorReleasePendingVAAResponse) => void): ClientUnaryCall;
chainGovernorReleasePendingVAA(request: ChainGovernorReleasePendingVAARequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ChainGovernorReleasePendingVAAResponse) => void): ClientUnaryCall;
/** ChainGovernorResetReleaseTimer resets the release timer for a chain governor pending VAA to the configured maximum. */
chainGovernorResetReleaseTimer(request: ChainGovernorResetReleaseTimerRequest, callback: (error: ServiceError | null, response: ChainGovernorResetReleaseTimerResponse) => void): ClientUnaryCall;
chainGovernorResetReleaseTimer(request: ChainGovernorResetReleaseTimerRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ChainGovernorResetReleaseTimerResponse) => void): ClientUnaryCall;
chainGovernorResetReleaseTimer(request: ChainGovernorResetReleaseTimerRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ChainGovernorResetReleaseTimerResponse) => void): ClientUnaryCall;
/** PurgePythNetVaas deletes PythNet VAAs from the database that are more than the specified number of days old. */
purgePythNetVaas(request: PurgePythNetVaasRequest, callback: (error: ServiceError | null, response: PurgePythNetVaasResponse) => void): ClientUnaryCall;
purgePythNetVaas(request: PurgePythNetVaasRequest, metadata: Metadata, callback: (error: ServiceError | null, response: PurgePythNetVaasResponse) => void): ClientUnaryCall;
purgePythNetVaas(request: PurgePythNetVaasRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: PurgePythNetVaasResponse) => void): ClientUnaryCall;
/** SignExistingVAA signs an existing VAA for a new guardian set using the local guardian key. */
signExistingVAA(request: SignExistingVAARequest, callback: (error: ServiceError | null, response: SignExistingVAAResponse) => void): ClientUnaryCall;
signExistingVAA(request: SignExistingVAARequest, metadata: Metadata, callback: (error: ServiceError | null, response: SignExistingVAAResponse) => void): ClientUnaryCall;
signExistingVAA(request: SignExistingVAARequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: SignExistingVAAResponse) => void): ClientUnaryCall;
/** DumpRPCs returns the RPCs being used by the guardian */
dumpRPCs(request: DumpRPCsRequest, callback: (error: ServiceError | null, response: DumpRPCsResponse) => void): ClientUnaryCall;
dumpRPCs(request: DumpRPCsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: DumpRPCsResponse) => void): ClientUnaryCall;
dumpRPCs(request: DumpRPCsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: DumpRPCsResponse) => void): ClientUnaryCall;
/** GetMissingVAAs returns the VAAs from a cloud function that need to be reobserved. */
getAndObserveMissingVAAs(request: GetAndObserveMissingVAAsRequest, callback: (error: ServiceError | null, response: GetAndObserveMissingVAAsResponse) => void): ClientUnaryCall;
getAndObserveMissingVAAs(request: GetAndObserveMissingVAAsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetAndObserveMissingVAAsResponse) => void): ClientUnaryCall;
getAndObserveMissingVAAs(request: GetAndObserveMissingVAAsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: GetAndObserveMissingVAAsResponse) => void): ClientUnaryCall;
}
export declare const NodePrivilegedServiceClient: new (address: string, credentials: ChannelCredentials, options?: Partial) => NodePrivilegedServiceClient;
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? {
[K in keyof T]?: DeepPartial;
} : Partial;
export {};