UNPKG

@dfinity/agent

Version:

JavaScript and TypeScript library to interact with the Internet Computer

81 lines 2.37 kB
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