@uprtcl/holochain-provider
Version:
_Prtcl provider wrappers around @holochain/hc-web-client
40 lines (39 loc) • 1.69 kB
TypeScript
import { SocketConnection, ConnectionOptions } from '@uprtcl/multiplatform';
import { Dictionary } from '@uprtcl/micro-orchestrator';
export interface HolochainCallOptions {
instance: string;
zome: string;
funcName: string;
params: any;
}
export interface HolochainConnectionOptions {
host: string;
devEnv?: {
templateDnasPaths: Dictionary<string>;
};
}
export declare class HolochainConnection extends SocketConnection {
protected hcConnectionOptions: HolochainConnectionOptions;
connection: (instance: string, zome: string, funcName: string, params: any) => Promise<any>;
private signalListeners;
onsignal: (callback: (params: any) => void) => void;
private genericCall;
constructor(hcConnectionOptions: HolochainConnectionOptions, options?: ConnectionOptions);
createSocket(): Promise<WebSocket>;
getAgentConfig(agentAddress: string): Promise<{
id: string;
public_address: string;
}>;
cloneDna(agentId: string, newDnaId: string, newInstanceId: string, templateDnaAddress: string, properties: any, findInterface: (interfaces: Array<any>) => any): Promise<void>;
/**
* Returns whether this connection is attached to an admin permissioned interface
*/
isAdminInterface(): Promise<boolean>;
/**
* Will return undefined if we are not on holoscape
*/
getHoloscapeDataDir(): string | undefined;
callAdmin(funcName: string, params: any): Promise<any>;
call(instance: string, zome: string, funcName: string, params: any): Promise<any>;
onSignal(signalName: string, callback: (params: any) => void): Promise<void>;
}