@dojoengine/sdk
Version:
Dojo SDK: Build onchain and provable apps faster
88 lines (83 loc) • 5.21 kB
TypeScript
import * as torii$1 from '@dojoengine/torii-wasm';
import { S as SchemaType, b as SDKConfig, c as SDK } from './index.d-BxgvEQ4x.js';
export { A as AndComposeClause, d as AttributesFilter, C as ClauseBuilder, e as ContractType, G as GetParams, f as GetTokenBalanceRequest, g as GetTokenContracts, h as GetTokenRequest, H as HashedKeysClause, i as HistoricalToriiQueryBuilder, j as HistoricalToriiQueryBuilderOptions, K as KeysClause, M as MemberClause, k as MemberValueParam, l as MergedModels, N as NO_ACCOUNT, m as NO_IDENTITY, n as NO_SIGNER, O as OrComposeClause, P as Pagination, o as ParsedEntity, p as SDKClientConfig, q as SDKFunctionOptions, a as StandardizedQueryResult, r as SubscribeParams, s as SubscribeResponse, t as SubscribeTokenBalanceRequest, u as SubscribeTokenRequest, v as SubscriptionCallback, w as SubscriptionCallbackArgs, T as ToriiQueryBuilder, x as ToriiResponse, U as UNDEFINED_CLAUSE, y as UnionOfModelData, z as UpdateTokenBalanceSubscriptionRequest, B as convertToPrimitive, D as deepMerge, E as defaultToken, F as defaultTokenBalance, I as defaultToriiPagination, J as generateTypedData, L as getModel, Q as getModelByEntityId, R as getTokenBalances, V as getTokenContracts, W as getTokens, X as isCairoCustomEnum, Y as isCairoOption, Z as mergeCairoCustomEnum, _ as mergeCairoOption, $ as onTokenBalanceUpdated, a0 as onTokenUpdated, a1 as parseEntities, a2 as parseTokenRequest, a3 as safeCallback, a4 as subscribeQueryModelCallback, a5 as subscribeToken, a6 as subscribeTokenBalance, a7 as updateTokenBalanceSubscription } from './index.d-BxgvEQ4x.js';
import * as torii from '@dojoengine/torii-wasm/types';
import '@dojoengine/torii-wasm/node';
import 'starknet';
import 'neverthrow';
interface GrpcClientInterface {
getEntities(query: torii.Query): Promise<torii.Entities>;
onEntityUpdated(clause: torii.Clause | undefined, callback: (entityData: torii.Entity) => void): Promise<torii.Subscription>;
updateEntitySubscription(subscription: torii.Subscription, clauses: torii.Clause): Promise<void>;
getEventMessages(query: torii.Query): Promise<torii.Entities>;
onEventMessageUpdated(clause: torii.Clause | undefined, callback: (entityData: torii.Entity) => void): Promise<torii.Subscription>;
updateEventMessageSubscription(subscription: torii.Subscription, clauses: torii.Clause): Promise<void>;
getTokens(params: {
contract_addresses?: string[];
token_ids?: any[];
pagination?: torii.Pagination;
}): Promise<torii.Tokens>;
getTokenContracts(params: {
contract_addresses?: string[];
contract_types?: torii.ContractType[];
pagination?: torii.Pagination;
}): Promise<torii.TokenContracts>;
getTokenBalances(params: {
contract_addresses?: string[];
account_addresses?: string[];
token_ids?: any[];
pagination?: torii.Pagination;
}): Promise<torii.TokenBalances>;
onTokenBalanceUpdated(contractAddresses: string[], accountAddresses: string[], tokenIds: any[], callback: (res: torii.TokenBalance) => void): Promise<torii.Subscription>;
onTokenUpdated(contractAddresses: string[], tokenIds: any[], callback: (res: torii.Token) => void): Promise<torii.Subscription>;
updateTokenBalanceSubscription(subscription: torii.Subscription, contract_addresses: string[], account_addresses: string[], token_ids: any[]): Promise<void>;
publishMessage(message: torii.Message): Promise<string>;
publishMessageBatch(messages: torii.Message[]): Promise<string[]>;
getControllers(params: {
contract_addresses?: string[];
usernames?: string[];
pagination?: torii.Pagination;
}): Promise<torii.Controllers>;
}
interface InitGrpcOptions {
toriiUrl?: string;
worldAddress: string;
}
declare function initGrpc(options: InitGrpcOptions): GrpcClientInterface;
/**
* Creates a new Torii client instance.
*
* @param {torii.ClientConfig} config - The configuration object for the Torii client.
* @returns {Promise<torii.ToriiClient>} - A promise that resolves to the Torii client instance.
*/
declare function createClient(config: torii$1.ClientConfig): Promise<torii$1.ToriiClient>;
declare const defaultClientConfig: Partial<torii$1.ClientConfig>;
/**
* Initializes the SDK for web environment with the provided configuration and schema.
*
* @template T - The schema type.
* @param {SDKConfig} options - The configuration object for the SDK.
* @returns {Promise<SDK<T>>} - A promise that resolves to the initialized SDK instance.
*
* @example
* ```typescript
* import { init } from "@dojoengine/sdk";
* import { schema } from "./models.gen";
*
* const sdk = await init<typeof schema>({
* client: {
* worldAddress: "0x...",
* toriiUrl: "http://localhost:8080",
* },
* domain: {
* name: "MyApp",
* version: "1.0.0",
* chainId: "SN_MAIN",
* },
* });
* ```
*/
declare function init<T extends SchemaType>(options: SDKConfig & {
grpcClient?: GrpcClientInterface;
}): Promise<SDK<T>>;
export { type GrpcClientInterface, type InitGrpcOptions, SDK, SDKConfig, SchemaType, createClient, defaultClientConfig, init, initGrpc };