Skip to content

DeployedContract

Defined in: src/Contract.ts:387

A deployed contract — connected to the network, ready for calls.

Created from LoadedContract.deploy() or LoadedContract.join(). Has a known address and all operational methods.

Since

0.7.0

Type Parameters

TLedger

TLedger = unknown

The ledger state type (inferred from module)

TCircuits

TCircuits extends string = string

Union of circuit names (inferred from module)

TActions

TActions extends Record<string, (…args) => Promise<CallResult>> = Record<string, (…args) => Promise<CallResult>>

Properties

actions

readonly actions: TActions

Defined in: src/Contract.ts:410

Type-safe action methods — each circuit is a direct method with inferred parameter types.

Example

await contract.actions.increment(5n);

Since

0.8.0


address

readonly address: string

Defined in: src/Contract.ts:394

The deployed contract address (always known).


effect

readonly effect: object

Defined in: src/Contract.ts:469

Effect versions of deployed contract methods

actions

readonly actions: ToEffectActions<TActions>

Type-safe Effect action methods.

call()

call(action, …args): Effect<CallResult, ContractError>

Parameters
action

TCircuits

args

unknown[]

Returns

Effect<CallResult, ContractError>

getState()

getState(): Effect<unknown, ContractError>

Returns

Effect<unknown, ContractError>

getStateAt()

getStateAt(blockHeight): Effect<unknown, ContractError>

Parameters
blockHeight

number

Returns

Effect<unknown, ContractError>

ledgerState()

ledgerState(): Effect<TLedger, ContractError>

Returns

Effect<TLedger, ContractError>

ledgerStateAt()

ledgerStateAt(blockHeight): Effect<TLedger, ContractError>

Parameters
blockHeight

number

Returns

Effect<TLedger, ContractError>

watchRawState()

watchRawState(options?): Stream<unknown, ContractError>

Watch raw state as an Effect.Stream.

Parameters
options?

WatchOptions

Returns

Stream<unknown, ContractError>

watchState()

watchState(options?): Stream<TLedger, ContractError>

Watch parsed state as an Effect.Stream.

Parameters
options?

WatchOptions

Returns

Stream<TLedger, ContractError>


module

readonly module: LoadedContractModule<TLedger, TCircuits>

Defined in: src/Contract.ts:396

The loaded contract module


providers

readonly providers: ContractProviders

Defined in: src/Contract.ts:398

Contract providers (for advanced use)

Methods

call()

call(action, …args): Promise<CallResult>

Defined in: src/Contract.ts:417

Call a contract action by name (untyped fallback).

Prefer contract.actions.actionName(...) for type-safe calls.

Parameters

action

TCircuits

args

unknown[]

Returns

Promise<CallResult>


getState()

getState(): Promise<unknown>

Defined in: src/Contract.ts:420

Get raw contract state.

Returns

Promise<unknown>


getStateAt()

getStateAt(blockHeight): Promise<unknown>

Defined in: src/Contract.ts:423

Get raw contract state at a specific block height.

Parameters

blockHeight

number

Returns

Promise<unknown>


ledgerState()

ledgerState(): Promise<TLedger>

Defined in: src/Contract.ts:426

Get parsed ledger state.

Returns

Promise<TLedger>


ledgerStateAt()

ledgerStateAt(blockHeight): Promise<TLedger>

Defined in: src/Contract.ts:429

Get parsed ledger state at a specific block height.

Parameters

blockHeight

number

Returns

Promise<TLedger>


onRawStateChange()

onRawStateChange(callback, options?): Unsubscribe

Defined in: src/Contract.ts:463

Watch for raw state changes (callback).

Parameters

callback

(state) => void

options?

WatchOptions

Returns

Unsubscribe


onStateChange()

onStateChange(callback, options?): Unsubscribe

Defined in: src/Contract.ts:445

Watch for parsed ledger state changes (callback style). Returns an unsubscribe function.

Parameters

callback

(state) => void

options?

WatchOptions

Returns

Unsubscribe

Example

const unsub = contract.onStateChange((state) => {
console.log(state.counter);
});
// later: unsub();

Since

0.9.0


watchRawState()

watchRawState(options?): AsyncIterableIterator<unknown>

Defined in: src/Contract.ts:466

Watch for raw state changes (async iterator).

Parameters

options?

WatchOptions

Returns

AsyncIterableIterator<unknown>


watchState()

watchState(options?): AsyncIterableIterator<TLedger>

Defined in: src/Contract.ts:460

Watch for parsed ledger state changes (async iterator style).

Parameters

options?

WatchOptions

Returns

AsyncIterableIterator<TLedger>

Example

for await (const state of contract.watchState()) {
console.log(state.counter);
if (state.counter > 10n) break;
}

Since

0.9.0