@dfinity/agent
Version:
JavaScript and TypeScript library to interact with the Internet Computer
81 lines • 2.37 kB
TypeScript
import type { Principal } from '@dfinity/principal';
import { Expiry } from './transforms.ts';
/**
* @internal
*/
export declare enum Endpoint {
Query = "read",
ReadState = "read_state",
Call = "call"
}
export type HttpAgentRequest = HttpAgentQueryRequest | HttpAgentSubmitRequest | HttpAgentReadStateRequest;
export interface HttpAgentBaseRequest {
readonly endpoint: Endpoint;
request: RequestInit;
}
export type HttpHeaderField = [string, string];
export interface HttpAgentSubmitRequest extends HttpAgentBaseRequest {
readonly endpoint: Endpoint.Call;
body: CallRequest;
}
export interface HttpAgentQueryRequest extends HttpAgentBaseRequest {
readonly endpoint: Endpoint.Query;
body: ReadRequest;
}
export interface HttpAgentReadStateRequest extends HttpAgentBaseRequest {
readonly endpoint: Endpoint.ReadState;
body: ReadRequest;
}
export interface Signed<T> {
content: T;
sender_pubkey: ArrayBuffer;
sender_sig: ArrayBuffer;
}
export interface UnSigned<T> {
content: T;
}
export type Envelope<T> = Signed<T> | UnSigned<T>;
export interface HttpAgentRequestTransformFn {
(args: HttpAgentRequest): Promise<HttpAgentRequest | undefined | void>;
priority?: number;
}
export interface CallRequest extends Record<string, any> {
request_type: SubmitRequestType.Call;
canister_id: Principal;
method_name: string;
arg: Uint8Array;
sender: Uint8Array | Principal;
ingress_expiry: Expiry;
nonce?: Nonce;
}
export declare enum SubmitRequestType {
Call = "call"
}
export declare enum ReadRequestType {
Query = "query",
ReadState = "read_state"
}
export interface QueryRequest extends Record<string, any> {
request_type: ReadRequestType.Query;
canister_id: Principal;
method_name: string;
arg: Uint8Array;
sender: Uint8Array | Principal;
ingress_expiry: Expiry;
nonce?: Nonce;
}
export interface ReadStateRequest extends Record<string, any> {
request_type: ReadRequestType.ReadState;
paths: Uint8Array[][];
ingress_expiry: Expiry;
sender: Uint8Array | Principal;
}
export type ReadRequest = QueryRequest | ReadStateRequest;
export type Nonce = Uint8Array & {
__nonce__: void;
};
/**
* Create a random Nonce, based on random values
*/
export declare function makeNonce(): Nonce;
//# sourceMappingURL=types.d.ts.map