> ## Documentation Index
> Fetch the complete documentation index at: https://docs.genlabs.co/llms.txt
> Use this file to discover all available pages before exploring further.

# SelfRefError

> `const` **SelfRefError**: [`EnumFactories`](/reference/sdk/typescript/index/type-aliases/EnumFactories)\<`"SelfRefError"`, \{ `ContractMismatch`: \{ `struct`: \{ `expected`: [`StructDefinition`](/reference/sdk/typescript/index/interfaces/StructDefinition)\<`"GvmContract"`, \{ `deployer`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"EntityId"`, readonly \[[`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"H256"`, readonly \[...]>]>; `component_index`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"GvmComponentIndex"`, readonly \[[`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>]>; }>; `actual`: [`StructDefinition`](/reference/sdk/typescript/index/interfaces/StructDefinition)\<`"GvmContract"`, \{ `deployer`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"EntityId"`, readonly \[[`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"H256"`, readonly \[...]>]>; `component_index`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"GvmComponentIndex"`, readonly \[[`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>]>; }>; }; }; `ComponentTypeMismatch`: \{ `struct`: \{ `expected`: [`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>; `actual`: [`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>; }; }; }> & [`EnumDefinition`](/reference/sdk/typescript/index/interfaces/EnumDefinition)\<`"SelfRefError"`, \{ `ContractMismatch`: \{ `struct`: \{ `expected`: [`StructDefinition`](/reference/sdk/typescript/index/interfaces/StructDefinition)\<`"GvmContract"`, \{ `deployer`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"EntityId"`, readonly \[[`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"H256"`, readonly \[...]>]>; `component_index`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"GvmComponentIndex"`, readonly \[[`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>]>; }>; `actual`: [`StructDefinition`](/reference/sdk/typescript/index/interfaces/StructDefinition)\<`"GvmContract"`, \{ `deployer`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"EntityId"`, readonly \[[`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"H256"`, readonly \[...]>]>; `component_index`: [`TupleDefinition`](/reference/sdk/typescript/index/interfaces/TupleDefinition)\<`"GvmComponentIndex"`, readonly \[[`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>]>; }>; }; }; `ComponentTypeMismatch`: \{ `struct`: \{ `expected`: [`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>; `actual`: [`GenType`](/reference/sdk/typescript/index/interfaces/GenType)\<`number`, `"u32"`>; }; }; }>

Defined in: [metacomputer/gen-framework/client-and-test-utils/client-sdk-ts/packages/client-sdk/src/schemas/system-types.ts:103](https://github.com/gen-bc/gen/blob/main/metacomputer/gen-framework/client-and-test-utils/client-sdk-ts/packages/client-sdk/src/schemas/system-types.ts#L103)
