@ic-reactor/core 3.0.2-beta.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +48 -4
- package/dist/client.js.map +1 -1
- package/dist/display/types.d.ts +2 -2
- package/dist/display/types.d.ts.map +1 -1
- package/dist/display/visitor.d.ts +2 -1
- package/dist/display/visitor.d.ts.map +1 -1
- package/dist/display/visitor.js +146 -121
- package/dist/display/visitor.js.map +1 -1
- package/dist/display-reactor.d.ts +9 -92
- package/dist/display-reactor.d.ts.map +1 -1
- package/dist/display-reactor.js +5 -41
- package/dist/display-reactor.js.map +1 -1
- package/dist/reactor.d.ts +35 -3
- package/dist/reactor.d.ts.map +1 -1
- package/dist/reactor.js +101 -61
- package/dist/reactor.js.map +1 -1
- package/dist/types/client.d.ts +11 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/display-reactor.d.ts +54 -0
- package/dist/types/display-reactor.d.ts.map +1 -0
- package/dist/types/display-reactor.js +5 -0
- package/dist/types/display-reactor.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/reactor.d.ts +10 -15
- package/dist/types/reactor.d.ts.map +1 -1
- package/dist/types/transform.d.ts +1 -1
- package/dist/types/transform.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/helper.d.ts +20 -1
- package/dist/utils/helper.d.ts.map +1 -1
- package/dist/utils/helper.js +37 -6
- package/dist/utils/helper.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/zod.d.ts +34 -0
- package/dist/utils/zod.d.ts.map +1 -0
- package/dist/utils/zod.js +39 -0
- package/dist/utils/zod.js.map +1 -0
- package/package.json +7 -6
- package/src/client.ts +571 -0
- package/src/display/helper.ts +92 -0
- package/src/display/index.ts +3 -0
- package/src/display/types.ts +91 -0
- package/src/display/visitor.ts +415 -0
- package/src/display-reactor.ts +361 -0
- package/src/errors/index.ts +246 -0
- package/src/index.ts +8 -0
- package/src/reactor.ts +461 -0
- package/src/types/client.ts +110 -0
- package/src/types/display-reactor.ts +73 -0
- package/src/types/index.ts +6 -0
- package/src/types/reactor.ts +188 -0
- package/src/types/result.ts +50 -0
- package/src/types/transform.ts +29 -0
- package/src/types/variant.ts +39 -0
- package/src/utils/agent.ts +201 -0
- package/src/utils/candid.ts +112 -0
- package/src/utils/constants.ts +12 -0
- package/src/utils/helper.ts +155 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/polling.ts +330 -0
- package/src/utils/zod.ts +56 -0
- package/src/version.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +1,6 @@
|
|
|
1
1
|
import { Reactor } from "./reactor";
|
|
2
|
-
import { ActorMethodParameters, ActorMethodReturnType, FunctionName, ReactorArgs, ReactorReturnOk, ActorMethodCodecs,
|
|
3
|
-
import {
|
|
4
|
-
/**
|
|
5
|
-
* Validation result returned by a validator function.
|
|
6
|
-
* Either success (true) or failure with issues.
|
|
7
|
-
*/
|
|
8
|
-
export type ValidationResult = {
|
|
9
|
-
success: true;
|
|
10
|
-
} | {
|
|
11
|
-
success: false;
|
|
12
|
-
issues: ValidationIssue[];
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* A validator function that validates method arguments.
|
|
16
|
-
* Receives display types (strings for Principal, bigint, etc.).
|
|
17
|
-
*
|
|
18
|
-
* @param args - The display-type arguments to validate
|
|
19
|
-
* @returns ValidationResult indicating success or failure with issues
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* // Validator receives display types
|
|
24
|
-
* reactor.registerValidator("transfer", ([input]) => {
|
|
25
|
-
* const issues = []
|
|
26
|
-
*
|
|
27
|
-
* // input.to is string (not Principal)
|
|
28
|
-
* if (!input.to) {
|
|
29
|
-
* issues.push({ path: ["to"], message: "Recipient is required" })
|
|
30
|
-
* }
|
|
31
|
-
*
|
|
32
|
-
* // input.amount is string (not bigint)
|
|
33
|
-
* if (!/^\d+$/.test(input.amount)) {
|
|
34
|
-
* issues.push({ path: ["amount"], message: "Must be a valid number" })
|
|
35
|
-
* }
|
|
36
|
-
*
|
|
37
|
-
* return issues.length > 0 ? { success: false, issues } : { success: true }
|
|
38
|
-
* })
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export type Validator<Args = unknown[]> = (args: Args) => ValidationResult | Promise<ValidationResult>;
|
|
42
|
-
/**
|
|
43
|
-
* Validator that receives display types for a specific method.
|
|
44
|
-
*/
|
|
45
|
-
export type DisplayValidator<A, M extends FunctionName<A>> = Validator<ReactorArgs<A, M, "display">>;
|
|
46
|
-
export type DisplayReactorParameters<A = BaseActor> = ReactorParameters<A> & {
|
|
47
|
-
/**
|
|
48
|
-
* Optional initial validators to register.
|
|
49
|
-
* Validators receive display types (strings for Principal, bigint, etc.)
|
|
50
|
-
*/
|
|
51
|
-
validators?: Partial<{
|
|
52
|
-
[M in FunctionName<A>]: DisplayValidator<A, M>;
|
|
53
|
-
}>;
|
|
54
|
-
};
|
|
2
|
+
import { ActorMethodParameters, ActorMethodReturnType, FunctionName, ReactorArgs, ReactorReturnOk, ActorMethodCodecs, BaseActor, TransformKey } from "./types/reactor";
|
|
3
|
+
import { DisplayReactorParameters, DisplayValidator, ValidationResult } from "./types/display-reactor";
|
|
55
4
|
/**
|
|
56
5
|
* DisplayReactor provides automatic type transformations between Candid and
|
|
57
6
|
* display-friendly types, plus optional argument validation.
|
|
@@ -97,8 +46,8 @@ export type DisplayReactorParameters<A = BaseActor> = ReactorParameters<A> & {
|
|
|
97
46
|
* })
|
|
98
47
|
* ```
|
|
99
48
|
*/
|
|
100
|
-
export declare class DisplayReactor<A = BaseActor> extends Reactor<A,
|
|
101
|
-
readonly transform
|
|
49
|
+
export declare class DisplayReactor<A = BaseActor, T extends TransformKey = "display"> extends Reactor<A, T> {
|
|
50
|
+
readonly transform: T;
|
|
102
51
|
private codecs;
|
|
103
52
|
private validators;
|
|
104
53
|
constructor(config: DisplayReactorParameters<A>);
|
|
@@ -167,7 +116,7 @@ export declare class DisplayReactor<A = BaseActor> extends Reactor<A, "display">
|
|
|
167
116
|
* }
|
|
168
117
|
* ```
|
|
169
118
|
*/
|
|
170
|
-
validate<M extends FunctionName<A>>(methodName: M, args: ReactorArgs<A, M,
|
|
119
|
+
validate<M extends FunctionName<A>>(methodName: M, args: ReactorArgs<A, M, T>): Promise<ValidationResult>;
|
|
171
120
|
/**
|
|
172
121
|
* Call a method with async validation support.
|
|
173
122
|
* Use this instead of callMethod() when you have async validators.
|
|
@@ -194,52 +143,20 @@ export declare class DisplayReactor<A = BaseActor> extends Reactor<A, "display">
|
|
|
194
143
|
*/
|
|
195
144
|
callMethodWithValidation<M extends FunctionName<A>>(params: {
|
|
196
145
|
functionName: M;
|
|
197
|
-
args?: ReactorArgs<A, M,
|
|
146
|
+
args?: ReactorArgs<A, M, T>;
|
|
198
147
|
callConfig?: Parameters<Reactor<A, "display">["callMethod"]>[0]["callConfig"];
|
|
199
|
-
}): Promise<ReactorReturnOk<A, M,
|
|
148
|
+
}): Promise<ReactorReturnOk<A, M, T>>;
|
|
200
149
|
/**
|
|
201
150
|
* Transform arguments before calling the actor method.
|
|
202
151
|
* 1. Validates display-type args (if validator registered)
|
|
203
152
|
* 2. Converts Display → Candid
|
|
204
153
|
*/
|
|
205
|
-
protected transformArgs<M extends FunctionName<A>>(methodName: M, args?: ReactorArgs<A, M,
|
|
154
|
+
protected transformArgs<M extends FunctionName<A>>(methodName: M, args?: ReactorArgs<A, M, T>): ActorMethodParameters<A[M]>;
|
|
206
155
|
/**
|
|
207
156
|
* Transform the result after calling the actor method.
|
|
208
157
|
* Always extracts the Ok value from Result types (throws CanisterError on Err).
|
|
209
158
|
* Also converts Candid → Display format.
|
|
210
159
|
*/
|
|
211
|
-
protected transformResult<M extends FunctionName<A>>(methodName: M, result: ActorMethodReturnType<A[M]>): ReactorReturnOk<A, M,
|
|
160
|
+
protected transformResult<M extends FunctionName<A>>(methodName: M, result: ActorMethodReturnType<A[M]>): ReactorReturnOk<A, M, T>;
|
|
212
161
|
}
|
|
213
|
-
/**
|
|
214
|
-
* Create a validator from a Zod schema.
|
|
215
|
-
* This is a utility function to easily integrate Zod schemas as validators.
|
|
216
|
-
*
|
|
217
|
-
* @param schema - A Zod schema to validate against
|
|
218
|
-
* @returns A Validator function compatible with DisplayReactor
|
|
219
|
-
*
|
|
220
|
-
* @example
|
|
221
|
-
* ```typescript
|
|
222
|
-
* import { z } from "zod"
|
|
223
|
-
* import { fromZodSchema } from "@ic-reactor/core"
|
|
224
|
-
*
|
|
225
|
-
* const transferSchema = z.object({
|
|
226
|
-
* to: z.string().min(1, "Recipient is required"),
|
|
227
|
-
* amount: z.string().regex(/^\d+$/, "Must be a valid number"),
|
|
228
|
-
* })
|
|
229
|
-
*
|
|
230
|
-
* reactor.registerValidator("transfer", fromZodSchema(transferSchema))
|
|
231
|
-
* ```
|
|
232
|
-
*/
|
|
233
|
-
export declare function fromZodSchema<T>(schema: {
|
|
234
|
-
safeParse: (data: unknown) => {
|
|
235
|
-
success: boolean;
|
|
236
|
-
error?: {
|
|
237
|
-
issues: Array<{
|
|
238
|
-
path: (string | number)[];
|
|
239
|
-
message: string;
|
|
240
|
-
code?: string;
|
|
241
|
-
}>;
|
|
242
|
-
};
|
|
243
|
-
};
|
|
244
|
-
}): Validator<T[]>;
|
|
245
162
|
//# sourceMappingURL=display-reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-reactor.d.ts","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"display-reactor.d.ts","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,YAAY,EACb,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,yBAAyB,CAAA;AAMhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,cAAc,CACzB,CAAC,GAAG,SAAS,EACb,CAAC,SAAS,YAAY,GAAG,SAAS,CAClC,SAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACrB,SAAgB,SAAS,EAAgB,CAAC,CAAA;IAC1C,OAAO,CAAC,MAAM,CAGD;IACb,OAAO,CAAC,UAAU,CAAyC;gBAE/C,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAc/C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACvC,UAAU,EAAE,CAAC,GACZ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAajC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,iBAAiB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACzC,UAAU,EAAE,CAAC,EACb,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,IAAI;IAIP;;OAEG;IACH,mBAAmB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI;IAInE;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO;IAI/D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACtC,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAS5B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,wBAAwB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;QAChE,YAAY,EAAE,CAAC,CAAA;QACf,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,UAAU,CAAC,EAAE,UAAU,CACrB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,YAAY,CAAC,CACpC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IA8BrC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/C,UAAU,EAAE,CAAC,EACb,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC1B,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAuC9B;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACjD,UAAU,EAAE,CAAC,EACb,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAgB5B"}
|
package/dist/display-reactor.js
CHANGED
|
@@ -230,6 +230,7 @@ export class DisplayReactor extends Reactor {
|
|
|
230
230
|
this.validators.delete(params.functionName);
|
|
231
231
|
}
|
|
232
232
|
try {
|
|
233
|
+
// @ts-ignore
|
|
233
234
|
return await this.callMethod(params);
|
|
234
235
|
}
|
|
235
236
|
finally {
|
|
@@ -250,8 +251,9 @@ export class DisplayReactor extends Reactor {
|
|
|
250
251
|
transformArgs(methodName, args) {
|
|
251
252
|
// 1. Validate FIRST (on display types)
|
|
252
253
|
const validator = this.validators.get(methodName);
|
|
253
|
-
|
|
254
|
-
|
|
254
|
+
const displayArgs = args;
|
|
255
|
+
if (validator && displayArgs) {
|
|
256
|
+
const result = validator(displayArgs);
|
|
255
257
|
// Handle Promise (async validator)
|
|
256
258
|
if (result &&
|
|
257
259
|
typeof result.then === "function") {
|
|
@@ -266,7 +268,7 @@ export class DisplayReactor extends Reactor {
|
|
|
266
268
|
// 2. THEN transform: Display → Candid
|
|
267
269
|
if (this.codecs.has(methodName)) {
|
|
268
270
|
const codec = this.codecs.get(methodName);
|
|
269
|
-
return transformArgsWithCodec(codec.args,
|
|
271
|
+
return transformArgsWithCodec(codec.args, displayArgs);
|
|
270
272
|
}
|
|
271
273
|
if (!args) {
|
|
272
274
|
return [];
|
|
@@ -290,42 +292,4 @@ export class DisplayReactor extends Reactor {
|
|
|
290
292
|
return extractOkResult(transformedResult);
|
|
291
293
|
}
|
|
292
294
|
}
|
|
293
|
-
// ============================================================================
|
|
294
|
-
// Zod Integration Helper
|
|
295
|
-
// ============================================================================
|
|
296
|
-
/**
|
|
297
|
-
* Create a validator from a Zod schema.
|
|
298
|
-
* This is a utility function to easily integrate Zod schemas as validators.
|
|
299
|
-
*
|
|
300
|
-
* @param schema - A Zod schema to validate against
|
|
301
|
-
* @returns A Validator function compatible with DisplayReactor
|
|
302
|
-
*
|
|
303
|
-
* @example
|
|
304
|
-
* ```typescript
|
|
305
|
-
* import { z } from "zod"
|
|
306
|
-
* import { fromZodSchema } from "@ic-reactor/core"
|
|
307
|
-
*
|
|
308
|
-
* const transferSchema = z.object({
|
|
309
|
-
* to: z.string().min(1, "Recipient is required"),
|
|
310
|
-
* amount: z.string().regex(/^\d+$/, "Must be a valid number"),
|
|
311
|
-
* })
|
|
312
|
-
*
|
|
313
|
-
* reactor.registerValidator("transfer", fromZodSchema(transferSchema))
|
|
314
|
-
* ```
|
|
315
|
-
*/
|
|
316
|
-
export function fromZodSchema(schema) {
|
|
317
|
-
return (args) => {
|
|
318
|
-
// Validate the first argument (common IC pattern)
|
|
319
|
-
const result = schema.safeParse(args[0]);
|
|
320
|
-
if (result.success) {
|
|
321
|
-
return { success: true };
|
|
322
|
-
}
|
|
323
|
-
const issues = result.error.issues.map((issue) => ({
|
|
324
|
-
path: issue.path,
|
|
325
|
-
message: issue.message,
|
|
326
|
-
code: issue.code,
|
|
327
|
-
}));
|
|
328
|
-
return { success: false, issues };
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
295
|
//# sourceMappingURL=display-reactor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-reactor.js","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,WAAW,CAAA;AAWlB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"display-reactor.js","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"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"}
|
package/dist/reactor.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CallConfig, PollingOptions, ReadStateOptions } from "@icp-sdk/core/agent";
|
|
2
2
|
import type { ClientManager } from "./client";
|
|
3
3
|
import type { QueryKey, FetchQueryOptions } from "@tanstack/query-core";
|
|
4
|
-
import type { ReactorParameters, BaseActor, ActorMethodParameters, ActorMethodReturnType, FunctionName, TransformKey, ReactorArgs, ReactorReturnOk, ReactorQueryParams, ReactorCallParams } from "./types/reactor";
|
|
4
|
+
import type { ReactorParameters, BaseActor, ActorMethodParameters, ActorMethodReturnType, FunctionName, TransformKey, ReactorArgs, ReactorReturnOk, ReactorQueryParams, ReactorCallParams, CanisterId } from "./types/reactor";
|
|
5
5
|
import { IDL } from "@icp-sdk/core/candid";
|
|
6
6
|
import { Principal } from "@icp-sdk/core/principal";
|
|
7
7
|
/**
|
|
@@ -18,13 +18,45 @@ import { Principal } from "@icp-sdk/core/principal";
|
|
|
18
18
|
export declare class Reactor<A = BaseActor, T extends TransformKey = "candid"> {
|
|
19
19
|
/** Phantom type brand for inference - never assigned at runtime */
|
|
20
20
|
readonly _actor: A;
|
|
21
|
-
readonly transform:
|
|
21
|
+
readonly transform: TransformKey;
|
|
22
22
|
clientManager: ClientManager;
|
|
23
23
|
name: string;
|
|
24
24
|
canisterId: Principal;
|
|
25
25
|
service: IDL.ServiceClass;
|
|
26
26
|
pollingOptions: PollingOptions;
|
|
27
|
-
constructor(config: ReactorParameters
|
|
27
|
+
constructor(config: ReactorParameters);
|
|
28
|
+
/**
|
|
29
|
+
* Set the canister ID for this reactor.
|
|
30
|
+
* Useful for dynamically switching between canisters of the same type (e.g., multiple ICRC tokens).
|
|
31
|
+
*
|
|
32
|
+
* @param canisterId - The new canister ID (as string or Principal)
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // Switch to a different ledger canister
|
|
37
|
+
* ledgerReactor.setCanisterId("ryjl3-tyaaa-aaaaa-aaaba-cai")
|
|
38
|
+
*
|
|
39
|
+
* // Then use queries/mutations as normal
|
|
40
|
+
* const { data } = icrc1NameQuery.useQuery()
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
setCanisterId(canisterId: CanisterId): void;
|
|
44
|
+
/**
|
|
45
|
+
* Set the canister name for this reactor.
|
|
46
|
+
* Useful for dynamically switching between canisters of the same type (e.g., multiple ICRC tokens).
|
|
47
|
+
*
|
|
48
|
+
* @param name - The new canister name
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // Switch to a different ledger canister
|
|
53
|
+
* ledgerReactor.setCanisterName("icrc1")
|
|
54
|
+
*
|
|
55
|
+
* // Then use queries/mutations as normal
|
|
56
|
+
* const { data } = icrc1NameQuery.useQuery()
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
setCanisterName(name: string): void;
|
|
28
60
|
protected verifyCanister(): void;
|
|
29
61
|
/**
|
|
30
62
|
* Get the service interface (IDL.ServiceClass) for this reactor.
|
package/dist/reactor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"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"}
|
package/dist/reactor.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEFAULT_POLLING_OPTIONS } from "@icp-sdk/core/agent";
|
|
2
2
|
import { IDL } from "@icp-sdk/core/candid";
|
|
3
3
|
import { Principal } from "@icp-sdk/core/principal";
|
|
4
4
|
import { generateKey, extractOkResult } from "./utils/helper";
|
|
5
5
|
import { processQueryCallResponse, processUpdateCallResponse, } from "./utils/agent";
|
|
6
|
-
import { CallError, CanisterError } from "./errors";
|
|
6
|
+
import { CallError, CanisterError, ValidationError } from "./errors";
|
|
7
|
+
import { safeGetCanisterEnv } from "@icp-sdk/core/agent/canister-env";
|
|
7
8
|
/**
|
|
8
9
|
* Reactor class for interacting with IC canisters.
|
|
9
10
|
*
|
|
@@ -54,27 +55,68 @@ export class Reactor {
|
|
|
54
55
|
value: void 0
|
|
55
56
|
});
|
|
56
57
|
this.clientManager = config.clientManager;
|
|
57
|
-
this.name = config.name
|
|
58
|
+
this.name = config.name;
|
|
58
59
|
this.pollingOptions =
|
|
59
60
|
"pollingOptions" in config && config.pollingOptions
|
|
60
61
|
? config.pollingOptions
|
|
61
62
|
: DEFAULT_POLLING_OPTIONS;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
this.service = Actor.interfaceOf(config.actor);
|
|
63
|
+
const { idlFactory } = config;
|
|
64
|
+
if (!idlFactory) {
|
|
65
|
+
throw new Error(`[ic-reactor] idlFactory is missing for ${this.name}`);
|
|
66
66
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
let canisterId = config.canisterId;
|
|
68
|
+
if (!canisterId) {
|
|
69
|
+
const env = safeGetCanisterEnv();
|
|
70
|
+
const key = `PUBLIC_CANISTER_ID:${this.name}`;
|
|
71
|
+
canisterId = env?.[key];
|
|
72
|
+
if (!canisterId) {
|
|
73
|
+
console.warn(`[ic-reactor] ${this.name} canister ID not found in ic_env cookie`);
|
|
74
|
+
canisterId = "aaaaa-aa"; // Fallback
|
|
75
|
+
}
|
|
74
76
|
}
|
|
77
|
+
this.canisterId = Principal.from(canisterId);
|
|
78
|
+
this.service = idlFactory({ IDL });
|
|
75
79
|
// Register this canister ID for delegation during login
|
|
76
80
|
this.clientManager.registerCanisterId(this.canisterId.toString(), this.name);
|
|
77
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Set the canister ID for this reactor.
|
|
84
|
+
* Useful for dynamically switching between canisters of the same type (e.g., multiple ICRC tokens).
|
|
85
|
+
*
|
|
86
|
+
* @param canisterId - The new canister ID (as string or Principal)
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* // Switch to a different ledger canister
|
|
91
|
+
* ledgerReactor.setCanisterId("ryjl3-tyaaa-aaaaa-aaaba-cai")
|
|
92
|
+
*
|
|
93
|
+
* // Then use queries/mutations as normal
|
|
94
|
+
* const { data } = icrc1NameQuery.useQuery()
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
setCanisterId(canisterId) {
|
|
98
|
+
this.canisterId = Principal.from(canisterId);
|
|
99
|
+
// Register the new canister ID for delegation
|
|
100
|
+
this.clientManager.registerCanisterId(this.canisterId.toString(), this.name);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Set the canister name for this reactor.
|
|
104
|
+
* Useful for dynamically switching between canisters of the same type (e.g., multiple ICRC tokens).
|
|
105
|
+
*
|
|
106
|
+
* @param name - The new canister name
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* // Switch to a different ledger canister
|
|
111
|
+
* ledgerReactor.setCanisterName("icrc1")
|
|
112
|
+
*
|
|
113
|
+
* // Then use queries/mutations as normal
|
|
114
|
+
* const { data } = icrc1NameQuery.useQuery()
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
setCanisterName(name) {
|
|
118
|
+
this.name = name;
|
|
119
|
+
}
|
|
78
120
|
verifyCanister() {
|
|
79
121
|
// Optional: add any verification logic here
|
|
80
122
|
}
|
|
@@ -145,23 +187,7 @@ export class Reactor {
|
|
|
145
187
|
getQueryOptions(params) {
|
|
146
188
|
return {
|
|
147
189
|
queryKey: this.generateQueryKey(params),
|
|
148
|
-
queryFn:
|
|
149
|
-
try {
|
|
150
|
-
return await this.callMethod(params);
|
|
151
|
-
}
|
|
152
|
-
catch (error) {
|
|
153
|
-
// Re-throw CanisterError as-is (business logic error from canister)
|
|
154
|
-
if (error instanceof CanisterError) {
|
|
155
|
-
throw error;
|
|
156
|
-
}
|
|
157
|
-
let message = `Failed to query method "${String(params.functionName)}": `;
|
|
158
|
-
// Wrap other errors in CallError (network/agent issues)
|
|
159
|
-
if (error instanceof Error) {
|
|
160
|
-
throw new CallError(message + error.message, error);
|
|
161
|
-
}
|
|
162
|
-
throw new CallError(message + String(error), error);
|
|
163
|
-
}
|
|
164
|
-
},
|
|
190
|
+
queryFn: () => this.callMethod(params),
|
|
165
191
|
};
|
|
166
192
|
}
|
|
167
193
|
/**
|
|
@@ -218,34 +244,48 @@ export class Reactor {
|
|
|
218
244
|
* ```
|
|
219
245
|
*/
|
|
220
246
|
async callMethod(params) {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
func.annotations.includes("
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
247
|
+
try {
|
|
248
|
+
const func = this.getFuncClass(params.functionName);
|
|
249
|
+
if (!func) {
|
|
250
|
+
throw new Error(`Method ${String(params.functionName)} not found`);
|
|
251
|
+
}
|
|
252
|
+
// Transform args
|
|
253
|
+
const transformedArgs = this.transformArgs(params.functionName, params.args);
|
|
254
|
+
// Encode arguments using Candid
|
|
255
|
+
const arg = IDL.encode(func.argTypes, transformedArgs);
|
|
256
|
+
// Determine if this is a query or update call
|
|
257
|
+
const isQuery = func.annotations.includes("query") ||
|
|
258
|
+
func.annotations.includes("composite_query");
|
|
259
|
+
// Execute the call
|
|
260
|
+
let rawResponse;
|
|
261
|
+
if (isQuery) {
|
|
262
|
+
rawResponse = await this.executeQuery(String(params.functionName), arg, params.callConfig);
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
rawResponse = await this.executeCall(String(params.functionName), arg, params.callConfig);
|
|
266
|
+
}
|
|
267
|
+
// Decode the result
|
|
268
|
+
const decoded = IDL.decode(func.retTypes, rawResponse);
|
|
269
|
+
// Handle single, zero, and multiple return values appropriately
|
|
270
|
+
const response = (decoded.length === 0
|
|
271
|
+
? undefined
|
|
272
|
+
: decoded.length === 1
|
|
273
|
+
? decoded[0]
|
|
274
|
+
: decoded);
|
|
275
|
+
return this.transformResult(params.functionName, response);
|
|
236
276
|
}
|
|
237
|
-
|
|
238
|
-
|
|
277
|
+
catch (error) {
|
|
278
|
+
// Re-throw CanisterError as-is (business logic error from canister)
|
|
279
|
+
if (error instanceof CanisterError || error instanceof ValidationError) {
|
|
280
|
+
throw error;
|
|
281
|
+
}
|
|
282
|
+
const message = `Failed to call method "${String(params.functionName)}": `;
|
|
283
|
+
// Wrap other errors in CallError (network/agent issues)
|
|
284
|
+
if (error instanceof Error) {
|
|
285
|
+
throw new CallError(message + error.message, error);
|
|
286
|
+
}
|
|
287
|
+
throw new CallError(message + String(error), error);
|
|
239
288
|
}
|
|
240
|
-
// Decode the result
|
|
241
|
-
const decoded = IDL.decode(func.retTypes, rawResult);
|
|
242
|
-
// Handle single, zero, and multiple return values appropriately
|
|
243
|
-
const result = (decoded.length === 0
|
|
244
|
-
? undefined
|
|
245
|
-
: decoded.length === 1
|
|
246
|
-
? decoded[0]
|
|
247
|
-
: decoded);
|
|
248
|
-
return this.transformResult(params.functionName, result);
|
|
249
289
|
}
|
|
250
290
|
/**
|
|
251
291
|
* Fetch data from the canister and cache it using React Query.
|
|
@@ -268,25 +308,25 @@ export class Reactor {
|
|
|
268
308
|
async executeQuery(methodName, arg, callConfig) {
|
|
269
309
|
const agent = this.clientManager.agent;
|
|
270
310
|
const effectiveCanisterId = callConfig?.effectiveCanisterId ?? this.canisterId;
|
|
271
|
-
const
|
|
311
|
+
const response = await agent.query(this.canisterId, {
|
|
272
312
|
methodName,
|
|
273
313
|
arg,
|
|
274
314
|
effectiveCanisterId,
|
|
275
315
|
});
|
|
276
|
-
return processQueryCallResponse(
|
|
316
|
+
return processQueryCallResponse(response, this.canisterId, methodName);
|
|
277
317
|
}
|
|
278
318
|
/**
|
|
279
319
|
* Execute an update call using agent.call()
|
|
280
320
|
*/
|
|
281
321
|
async executeCall(methodName, arg, callConfig) {
|
|
282
322
|
const agent = this.clientManager.agent;
|
|
283
|
-
const
|
|
323
|
+
const response = await agent.call(this.canisterId, {
|
|
284
324
|
methodName,
|
|
285
325
|
arg,
|
|
286
326
|
effectiveCanisterId: callConfig?.effectiveCanisterId,
|
|
287
327
|
nonce: callConfig?.nonce,
|
|
288
328
|
});
|
|
289
|
-
return await processUpdateCallResponse(
|
|
329
|
+
return await processUpdateCallResponse(response, this.canisterId, methodName, agent, this.pollingOptions);
|
|
290
330
|
}
|
|
291
331
|
// ══════════════════════════════════════════════════════════════════════
|
|
292
332
|
// SUBNET
|