57 lines
3.3 KiB
TypeScript
57 lines
3.3 KiB
TypeScript
import { type AxiosRequestConfig } from 'axios';
|
|
import type { KeyPairHex } from 'sm-crypto';
|
|
import type { ClientResponse, ConfigNodeArgs, ExecuteContractArgs, ListAllUsersResponseData, ListNodesResponse, ListProjectPermissionRequest, ListProjectPermissionResponseData, LoadNodeConfigResponseData, ExecuteContractResponse, PingResponse, SaveFileRequest, StartContractByYpkRequest } from './types';
|
|
export * from './types';
|
|
export declare class HttpClient {
|
|
private baseUrl;
|
|
private sm2Key;
|
|
private fetch;
|
|
constructor(baseUrl: string, sm2Key: KeyPairHex, config?: AxiosRequestConfig<any>);
|
|
requestWithSignature<Data>(path: string, init?: Partial<RequestInit>, sm2Key?: KeyPairHex): Promise<ClientResponse<Data>>;
|
|
retryRequestWithSignature<Data>(retryTimes: number, path: string, init?: Partial<RequestInit>, sm2Key?: KeyPairHex): Promise<ClientResponse<Data>>;
|
|
sign(data: string, privateKey?: string): string;
|
|
ping(): Promise<PingResponse>;
|
|
startContract(code: string): Promise<ClientResponse<string>>;
|
|
startContractByYPK(_request: StartContractByYpkRequest): Promise<ClientResponse<string>>;
|
|
executeContract(contractID: string, operation: string, arg: string, { method, withDynamicAnalysis, withSignature, }?: ExecuteContractArgs): Promise<ClientResponse<ExecuteContractResponse<string>>>;
|
|
killContractProcess(contractID: string, requestID?: string): Promise<ClientResponse<string>>;
|
|
killAllContract(): Promise<ClientResponse<string>>;
|
|
applyNodeRole(role: string): Promise<ClientResponse<{
|
|
action: string;
|
|
data: string;
|
|
role?: string;
|
|
}>>;
|
|
authNodeRole(isAccept: boolean, authorizedPubKey: string, managerPair?: KeyPairHex): Promise<ClientResponse<{
|
|
action: string;
|
|
data: string;
|
|
}>>;
|
|
distributeContract(nodeIDs: string, projectName: string, isPrivate: boolean): void;
|
|
saveFile(_request: SaveFileRequest): Promise<ClientResponse<string>>;
|
|
listProjectPermission(_request: ListProjectPermissionRequest): Promise<ClientResponse<ListProjectPermissionResponseData>>;
|
|
startContractMultiPoint(peersID: string, type: number, selectUnitNum: number, projectName: string, isPrivate: boolean, sponsorPeerID: string): Promise<ClientResponse<string>>;
|
|
loadNodeConfig(): Promise<ClientResponse<LoadNodeConfigResponseData>>;
|
|
updateConfig(key: string, val: string): Promise<ClientResponse<boolean>>;
|
|
resetNodeManager(): Promise<boolean>;
|
|
lockEdit(): Promise<ClientResponse<string>>;
|
|
unlockEdit(): Promise<ClientResponse<string>>;
|
|
addNode(nodePubKey: string): Promise<ClientResponse<string>>;
|
|
applyRole(role: string): Promise<ClientResponse<string>>;
|
|
authNodeManager(isAccept: boolean, authorizedPubKey: string): Promise<ClientResponse<string>>;
|
|
listAllUsers(): Promise<ClientResponse<ListAllUsersResponseData>>;
|
|
listNodes(): Promise<ListNodesResponse>;
|
|
createTrustUnit(data: {
|
|
nodeName: string;
|
|
pubkey: string;
|
|
}[], Msg: string): Promise<{
|
|
action: string;
|
|
status: string;
|
|
}>;
|
|
listTrustUnits(): Promise<ClientResponse<{
|
|
key: string;
|
|
value: string;
|
|
}[]>>;
|
|
listContractProcess(): Promise<ClientResponse<string>>;
|
|
downloadContract(projectName: string, isPrivate: boolean, timestamp: number): Promise<ClientResponse<string>>;
|
|
configNode(args: ConfigNodeArgs): Promise<boolean>;
|
|
}
|