# DefineDisplayReactorOptions

Defined in: [react/src/defineDisplayReactor.ts:10](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/react/src/defineDisplayReactor.ts#L10)

Options for [defineDisplayReactor](https://ic-reactor.b3pay.net/v3/libs/functions/definedisplayreactor/): `defineReactor`'s, plus validators.

## Extends

- [`DefineReactorSharedParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/)

## Extended by

- [`DefineDisplayReactorParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definedisplayreactorparameters/)

## Type Parameters

### Service

`Service`

## Properties

### agentOptions?

> `optional` **agentOptions?**: `HttpAgentOptions`

Defined in: [core/src/types/client.ts:18](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/core/src/types/client.ts#L18)

Optional configuration for the underlying HttpAgent.

#### Inherited from

[`ClientManagerParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/clientmanagerparameters/).[`agentOptions`](https://ic-reactor.b3pay.net/v3/libs/interfaces/clientmanagerparameters/#agentoptions)

***

### allowEnvConfig?

> `optional` **allowEnvConfig?**: `boolean`

Defined in: [core/src/types/client.ts:37](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/core/src/types/client.ts#L37)

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 its subdomains). 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`. That includes Codespaces and Gitpod, whose workspaces
share a parent domain with every other user's.

#### Inherited from

[`ClientManagerParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/clientmanagerparameters/).[`allowEnvConfig`](https://ic-reactor.b3pay.net/v3/libs/interfaces/clientmanagerparameters/#allowenvconfig)

***

### ~~allowEnvRootKey?~~

> `optional` **allowEnvRootKey?**: `boolean`

Defined in: [core/src/types/client.ts:47](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/core/src/types/client.ts#L47)

#### Deprecated

Superseded by [allowEnvConfig](https://ic-reactor.b3pay.net/v3/libs/interfaces/clientmanagerparameters/#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.

#### Inherited from

[`ClientManagerParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/clientmanagerparameters/).[`allowEnvRootKey`](https://ic-reactor.b3pay.net/v3/libs/interfaces/clientmanagerparameters/#allowenvrootkey)

***

### name

> **name**: `string`

Defined in: [core/src/types/reactor.ts:72](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/core/src/types/reactor.ts#L72)

#### Inherited from

[`ReactorParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/).[`name`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/#name)

***

### idlFactory

> **idlFactory**: (`IDL`) => `any`

Defined in: [core/src/types/reactor.ts:73](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/core/src/types/reactor.ts#L73)

#### Parameters

##### IDL

`any`

#### Returns

`any`

#### Inherited from

[`ReactorParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/).[`idlFactory`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/#idlfactory)

***

### canisterId?

> `optional` **canisterId?**: [`CanisterId`](https://ic-reactor.b3pay.net/v3/libs/type-aliases/canisterid/)

Defined in: [core/src/types/reactor.ts:74](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/core/src/types/reactor.ts#L74)

#### Inherited from

[`ReactorParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/).[`canisterId`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/#canisterid)

***

### pollingOptions?

> `optional` **pollingOptions?**: `PollingOptions`

Defined in: [core/src/types/reactor.ts:84](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/core/src/types/reactor.ts#L84)

How update calls poll read_state for their result. The reactor passes
this one object to every update call, so a `strategy` here is shared by
all of them. Use `createPollingStrategy`, which keeps each request's
state apart, or leave `strategy` out to get a fresh `defaultStrategy()`
per request. A strategy from `@icp-sdk/core/agent` such as
`defaultStrategy()` serves a single request: pass it per call through
`callConfig.pollingOptions` instead.

#### Inherited from

[`ReactorParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/).[`pollingOptions`](https://ic-reactor.b3pay.net/v3/libs/interfaces/reactorparameters/#pollingoptions)

***

### validators?

> `optional` **validators?**: `Partial`\<`{ [M in string]: DisplayValidator<Service, M> }`\>

Defined in: [react/src/defineDisplayReactor.ts:14](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/react/src/defineDisplayReactor.ts#L14)

Optional initial argument validators (receive display types).

***

### clientManager?

> `optional` **clientManager?**: [`ClientManager`](https://ic-reactor.b3pay.net/v3/libs/classes/clientmanager/)

Defined in: [react/src/defineReactorShared.ts:41](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/react/src/defineReactorShared.ts#L41)

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.

#### Inherited from

[`DefineReactorSharedParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/).[`clientManager`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/#clientmanager)

***

### queryClient?

> `optional` **queryClient?**: `QueryClient`

Defined in: [react/src/defineReactorShared.ts:48](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/react/src/defineReactorShared.ts#L48)

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.

#### Inherited from

[`DefineReactorSharedParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/).[`queryClient`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/#queryclient)

***

### authentication?

> `optional` **authentication?**: [`AuthenticationManager`](https://ic-reactor.b3pay.net/v3/libs/classes/authenticationmanager/)

Defined in: [react/src/defineReactorShared.ts:57](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/react/src/defineReactorShared.ts#L57)

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.

#### Inherited from

[`DefineReactorSharedParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/).[`authentication`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/#authentication)

***

### auth?

> `optional` **auth?**: `Omit`\<[`AuthenticationManagerParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/authenticationmanagerparameters/), `"clientManager"`\>

Defined in: [react/src/defineReactorShared.ts:71](https://github.com/B3Pay/ic-reactor/blob/f1956947ae037304fce1675a38695964c1aa9e32/packages/react/src/defineReactorShared.ts#L71)

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

Not every option reaches both `@icp-sdk/auth` majors. `idleOptions`,
`storage`, `keyType` and `identity` are honoured only by v8: v10 has no
equivalent, so IC Reactor drops each with a one-time warning. For idle
handling on v10, pass `maxTimeToIdle` to `login()` and set
`disableBrowserActivity` here. `disableBrowserActivity` is v10-only.

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

#### Inherited from

[`DefineReactorSharedParameters`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/).[`auth`](https://ic-reactor.b3pay.net/v3/libs/interfaces/definereactorsharedparameters/#auth)