Skip to content
IC Reactor

DefineReactorParameters

Defined in: react/src/defineReactor.ts:121

Parameters for a standard (raw Candid types) reactor.

optional agentOptions?: HttpAgentOptions

Defined in: core/src/types/client.ts:18

Optional configuration for the underlying HttpAgent.

ClientManagerParameters.agentOptions


optional allowEnvConfig?: boolean

Defined in: core/src/types/client.ts:36

Whether to trust the configuration carried by the ic_env cookie.

Three values are read from that cookie, and this flag governs all of them: the agent root key certificate verification is checked against, the Internet Identity provider, and the canister ID a reactor resolves by name when none is configured.

Defaults to true only when the agent host AND the page the code is running on are both unambiguously a local replica (loopback, localhost, and the dev-container domains that tunnel one). Cookies are not origin-isolated — any sibling subdomain of the registrable domain can write ic_env — and it is the PAGE that decides who those siblings are, so a document on a real domain is not trusted even when it points its agent at a loopback replica. Anything else must opt in: set this when you run a custom testnet on a real domain and trust its ic_env.

ClientManagerParameters.allowEnvConfig


optional allowEnvRootKey?: boolean

Defined in: core/src/types/client.ts:46

Superseded by allowEnvConfig, which governs every value read from the ic_env cookie rather than the root key alone.

Still honoured, and still scoped to what it always granted: the root key. It deliberately does not extend to the Internet Identity provider or to a reactor’s canister ID — setting it for a custom testnet was not an agreement to take those from a cookie too. Use allowEnvConfig for that.

ClientManagerParameters.allowEnvRootKey


name: string

Defined in: core/src/types/reactor.ts:71

ReactorParameters.name


idlFactory: (IDL) => any

Defined in: core/src/types/reactor.ts:72

any

any

ReactorParameters.idlFactory


optional canisterId?: CanisterId

Defined in: core/src/types/reactor.ts:73

ReactorParameters.canisterId


optional pollingOptions?: PollingOptions

Defined in: core/src/types/reactor.ts:74

ReactorParameters.pollingOptions


optional clientManager?: ClientManager

Defined in: react/src/defineReactor.ts:93

Reuse an existing ClientManager (e.g. to share one agent across canisters). When omitted, a ClientManager is created from the agent options below.

A supplied or adopted manager brings its own agent and QueryClient, so agentOptions, queryClient and allowEnvConfig apply only when this call creates one.

DefineReactorSharedParameters.clientManager


optional queryClient?: QueryClient

Defined in: react/src/defineReactor.ts:100

QueryClient for a ClientManager created by this call.

Ignored when clientManager or authentication is supplied — queries run against that manager’s own QueryClient, which is what is returned.

DefineReactorSharedParameters.queryClient


optional authentication?: AuthenticationManager

Defined in: react/src/defineReactor.ts:109

Reuse an existing AuthenticationManager, so several reactors share one Internet Identity session. When omitted, one is created for this reactor.

Its clientManager is adopted for this reactor, so sign-in updates the same agent the reactor calls through. Supplying a different clientManager alongside it is rejected.

DefineReactorSharedParameters.authentication


optional auth?: Omit<AuthenticationManagerParameters, "clientManager">

Defined in: react/src/defineReactor.ts:117

Internet Identity options forwarded to the AuthenticationManager (identityProvider, derivationOrigin, idleOptions, storage, …).

Mutually exclusive with authentication: a manager built elsewhere is already configured, so these could not be applied to it.

DefineReactorSharedParameters.auth


optional display?: false

Defined in: react/src/defineReactor.ts:122