@meshsdk/midnight-setup
Version:
Midnight Network integration SDK for MeshSDK - https://meshjs.dev/midnight
88 lines (82 loc) • 3.64 kB
TypeScript
import { ContractAddress } from '@midnight-ntwrk/compact-runtime';
import { Logger } from 'pino';
import { Observable } from 'rxjs';
import { PrivateStateProvider, ZKConfigProvider, ProofProvider, PublicDataProvider, WalletProvider, MidnightProvider } from '@midnight-ntwrk/midnight-js-types';
declare const MidnightSetupPrivateStateId = "midnight-setup-private-state";
type MidnightSetupPrivateStateId = typeof MidnightSetupPrivateStateId;
type TokenCircuitKeys = string;
interface MidnightSetupContractProviders {
privateStateProvider: PrivateStateProvider;
zkConfigProvider: ZKConfigProvider<TokenCircuitKeys>;
proofProvider: ProofProvider<TokenCircuitKeys>;
publicDataProvider: PublicDataProvider;
walletProvider: WalletProvider;
midnightProvider: MidnightProvider;
}
interface DeployedContract {
deployTxData: {
public: {
contractAddress: string;
};
};
}
type ContractInstance = any;
interface QueryContractState {
data: unknown;
blockHeight?: number | bigint;
blockHash?: string | Uint8Array;
}
interface ContractStateData {
readonly address: string;
readonly data: unknown;
readonly blockHeight?: string;
readonly blockHash?: string;
readonly message?: string;
readonly error?: string;
}
interface LedgerStateData {
readonly address: string;
readonly ledgerState?: {
readonly message: string | null;
};
readonly blockHeight?: string;
readonly blockHash?: string;
readonly rawData?: unknown;
readonly parseError?: string;
readonly error?: string;
}
type DerivedMidnightSetupContractState = {
readonly protocolTVL: unknown[];
readonly projects: unknown[];
};
declare const randomNonceBytes: (length: number, logger?: Logger) => Uint8Array;
declare function hexStringToUint8Array(hexStr: string): Uint8Array;
declare const _default: {
randomNonceBytes: (length: number, logger?: Logger) => Uint8Array;
hexStringToUint8Array: typeof hexStringToUint8Array;
};
declare const utils_hexStringToUint8Array: typeof hexStringToUint8Array;
declare const utils_randomNonceBytes: typeof randomNonceBytes;
declare namespace utils {
export { _default as default, utils_hexStringToUint8Array as hexStringToUint8Array, utils_randomNonceBytes as randomNonceBytes };
}
interface DeployedMidnightSetupAPI {
readonly deployedContractAddress: ContractAddress;
readonly state: Observable<DerivedMidnightSetupContractState>;
getContractState: () => Promise<ContractStateData>;
getLedgerState: () => Promise<LedgerStateData>;
}
declare class MidnightSetupAPI implements DeployedMidnightSetupAPI {
private providers;
readonly deployedContract: DeployedContract;
private logger?;
deployedContractAddress: string;
state: Observable<DerivedMidnightSetupContractState>;
private constructor();
getContractState(): Promise<ContractStateData>;
getLedgerState(): Promise<LedgerStateData>;
static deployContract(providers: MidnightSetupContractProviders, contractInstance: ContractInstance, logger?: Logger): Promise<MidnightSetupAPI>;
static joinContract(providers: MidnightSetupContractProviders, contractInstance: ContractInstance, contractAddress: string, logger?: Logger): Promise<MidnightSetupAPI>;
private static getPrivateState;
}
export { type ContractInstance, type ContractStateData, type DeployedContract, type DeployedMidnightSetupAPI, type DerivedMidnightSetupContractState, type LedgerStateData, MidnightSetupAPI, type MidnightSetupContractProviders, MidnightSetupPrivateStateId, type QueryContractState, type TokenCircuitKeys, utils };