> ## 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.

# GenClient

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

High-level TypeScript client for Gen JSON-RPC, activation submission, views,
simulation, and trace polling.

## Constructors

### Constructor

> **new GenClient**(`rpcClient`, `config?`): `GenClient`

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

Creates a client wrapping an existing RPC transport with optional config overrides.

#### Parameters

##### rpcClient

[`GenRpcClient`](/reference/sdk/typescript/index/classes/GenRpcClient)

##### config?

`GenClientConfigInit` | [`GenClientConfig`](/reference/sdk/typescript/index/classes/GenClientConfig)

#### Returns

`GenClient`

## Methods

### newHttp()

> `static` **newHttp**(`url`, `options?`): `GenClient`

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

Creates an HTTP-backed client with the SDK's default JSON-RPC headers.

#### Parameters

##### url

`string`

##### options?

`GenClientHttpOptions` = `{}`

#### Returns

`GenClient`

***

### newHttpWithoutDefaultHeaders()

> `static` **newHttpWithoutDefaultHeaders**(`url`, `options?`): `GenClient`

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

Creates an HTTP client without adding the SDK's default JSON-RPC headers.

#### Parameters

##### url

`string`

##### options?

`GenClientHttpOptions` = `{}`

#### Returns

`GenClient`

***

### rpc()

> **rpc**(): [`GenRpcClient`](/reference/sdk/typescript/index/classes/GenRpcClient)

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

Returns the underlying generated JSON-RPC client.

#### Returns

[`GenRpcClient`](/reference/sdk/typescript/index/classes/GenRpcClient)

***

### config()

> **config**(): [`GenClientConfig`](/reference/sdk/typescript/index/classes/GenClientConfig)

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

Returns the resolved client configuration used for headers and polling.

#### Returns

[`GenClientConfig`](/reference/sdk/typescript/index/classes/GenClientConfig)

***

### getFreshValidUntilBlock()

> **getFreshValidUntilBlock**(): `Promise`\<`bigint`>

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

Fetches a fresh `validUntilBlock` from the current finalized block index
plus the SDK's short validity buffer. Retries on transient "latest
finalized block index is not cached yet" JSON-RPC errors.

#### Returns

`Promise`\<`bigint`>

***

### buildSignableActivation()

> **buildSignableActivation**(`signerPublicKey`, `payload`, `options?`): `Promise`\<[`SignableGenExternalActivation`](/reference/sdk/typescript/index/classes/SignableGenExternalActivation)>

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

Builds an unsigned activation with optional per-submission header options.

When `validUntilBlock` is not supplied in `options`, the client fetches
the current finalized block and adds the SDK's short validity buffer.

#### Parameters

##### signerPublicKey

[`GenPublicKey`](/reference/sdk/typescript/index/classes/GenPublicKey)

##### payload

[`ActivationPayload`](/reference/sdk/typescript/index/classes/ActivationPayload)

##### options?

[`ActivationOptionsInit`](/reference/sdk/typescript/index/interfaces/ActivationOptionsInit)

#### Returns

`Promise`\<[`SignableGenExternalActivation`](/reference/sdk/typescript/index/classes/SignableGenExternalActivation)>

***

### submitActivation()

> **submitActivation**(`activation`): `Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

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

Submits a pre-signed activation and returns its activation ID.

#### Parameters

##### activation

[`GenExternalActivation`](/reference/sdk/typescript/index/classes/GenExternalActivation)

#### Returns

`Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

***

### signAndSubmitActivation()

> **signAndSubmitActivation**(`signer`, `payload`, `options?`): `Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

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

Signs an activation with the provided signer and submits it.

#### Parameters

##### signer

[`EddsaSigner`](/reference/sdk/typescript/index/interfaces/EddsaSigner)

##### payload

[`ActivationPayload`](/reference/sdk/typescript/index/classes/ActivationPayload)

##### options?

[`ActivationOptionsInit`](/reference/sdk/typescript/index/interfaces/ActivationOptionsInit)

#### Returns

`Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

***

### waitForTraceCompletion()

> **waitForTraceCompletion**(`activationId`): `Promise`\<[`ActivationTrace`](/reference/sdk/typescript/index/classes/ActivationTrace)>

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

Collects the full activation trace by BFS traversal of continuations.

#### Parameters

##### activationId

[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)

#### Returns

`Promise`\<[`ActivationTrace`](/reference/sdk/typescript/index/classes/ActivationTrace)>

***

### wait()

> **wait**(`activationId`): `Promise`\<[`TraceOutcome`](/reference/sdk/typescript/index/classes/TraceOutcome)>

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

Waits for the activation trace and resolves the terminal result event.

#### Parameters

##### activationId

[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)

#### Returns

`Promise`\<[`TraceOutcome`](/reference/sdk/typescript/index/classes/TraceOutcome)>

***

### submitActivationAndWait()

> **submitActivationAndWait**(`activation`): `Promise`\<[`TraceOutcome`](/reference/sdk/typescript/index/classes/TraceOutcome)>

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

Submits a pre-signed activation and waits for the terminal result event.

#### Parameters

##### activation

[`GenExternalActivation`](/reference/sdk/typescript/index/classes/GenExternalActivation)

#### Returns

`Promise`\<[`TraceOutcome`](/reference/sdk/typescript/index/classes/TraceOutcome)>

***

### signAndSubmitActivationAndWait()

> **signAndSubmitActivationAndWait**(`signer`, `payload`, `options?`): `Promise`\<[`TraceOutcome`](/reference/sdk/typescript/index/classes/TraceOutcome)>

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

Signs, submits, and waits for the terminal result event.

#### Parameters

##### signer

[`EddsaSigner`](/reference/sdk/typescript/index/interfaces/EddsaSigner)

##### payload

[`ActivationPayload`](/reference/sdk/typescript/index/classes/ActivationPayload)

##### options?

[`ActivationOptionsInit`](/reference/sdk/typescript/index/interfaces/ActivationOptionsInit)

#### Returns

`Promise`\<[`TraceOutcome`](/reference/sdk/typescript/index/classes/TraceOutcome)>

***

### createAccount()

> **createAccount**(`account`): `Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

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

Submits the built-in account creation flow using the faucet signer.

#### Parameters

##### account

[`GvmAccount`](/reference/sdk/typescript/index/type-aliases/GvmAccount)

#### Returns

`Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

***

### faucet()

> **faucet**(`account`, `amount`, `options?`): `Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

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

Submits the built-in faucet transfer flow using the faucet signer.

#### Parameters

##### account

[`GvmAccount`](/reference/sdk/typescript/index/type-aliases/GvmAccount)

##### amount

`bigint`

##### options?

[`FaucetTransferOptionsInit`](/reference/sdk/typescript/index/interfaces/FaucetTransferOptionsInit) = `{}`

#### Returns

`Promise`\<[`ActivationId`](/reference/sdk/typescript/index/type-aliases/ActivationId)>

***

### view()

> **view**(`payload`): `Promise`\<`Uint8Array`\<`ArrayBufferLike`>>

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

Executes a read-only activation and returns the raw response bytes.

#### Parameters

##### payload

[`ViewPayload`](/reference/sdk/typescript/index/classes/ViewPayload)

#### Returns

`Promise`\<`Uint8Array`\<`ArrayBufferLike`>>

***

### simulateActivation()

> **simulateActivation**(`payload`, `signerPublicKey`, `blockIndex?`, `options?`): `Promise`\<[`SimulateActivationResponse`](/reference/sdk/typescript/index/interfaces/SimulateActivationResponse)>

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

Simulates an activation without submitting it to the chain.

#### Parameters

##### payload

[`ActivationPayload`](/reference/sdk/typescript/index/classes/ActivationPayload)

##### signerPublicKey

[`GenPublicKey`](/reference/sdk/typescript/index/classes/GenPublicKey)

##### blockIndex?

`string` | `number` | `bigint`

##### options?

[`ActivationOptionsInit`](/reference/sdk/typescript/index/interfaces/ActivationOptionsInit)

#### Returns

`Promise`\<[`SimulateActivationResponse`](/reference/sdk/typescript/index/interfaces/SimulateActivationResponse)>
