@proto-kit/sdkDocs


Documentation / @proto-kit/sdk / TestingAppChain

Class: TestingAppChain<AppChainModules>

AppChain acts as a wrapper connecting Runtime, Protocol and Sequencer

Extends

Type Parameters

AppChainModules extends MinimalAppChainDefinition

Constructors

new TestingAppChain()

new TestingAppChain<AppChainModules>(definition): TestingAppChain<AppChainModules>

Parameters

definition: AppChainModules

Returns

TestingAppChain<AppChainModules>

Inherited from

ClientAppChain.constructor

Defined in

sequencer/dist/appChain/AppChain.d.ts:18

Properties

currentConfig

protected currentConfig: undefined | CombinedModuleContainerConfig<AppChainModules, NoConfig>

Store the config separately, so that we can apply additional checks when retrieving it via the getter

Inherited from

ClientAppChain.currentConfig

Defined in

common/dist/config/ConfigurableModule.d.ts:17


definition

definition: AppChainModules

Inherited from

ClientAppChain.definition

Defined in

common/dist/config/ModuleContainer.d.ts:61

Accessors

config

Get Signature

get config(): CombinedModuleContainerConfig<Modules, ContainerConfig>

Returns

CombinedModuleContainerConfig<Modules, ContainerConfig>

Set Signature

set config(config): void

Parameters

config: CombinedModuleContainerConfig<Modules, ContainerConfig>

Returns

void

Inherited from

ClientAppChain.config

Defined in

common/dist/config/ModuleContainer.d.ts:121


container

Get Signature

get protected container(): DependencyContainer

Returns

DependencyContainer

Inherited from

ClientAppChain.container

Defined in

common/dist/config/ModuleContainer.d.ts:86


containerConfig

Get Signature

get containerConfig(): ContainerConfig

Returns the container’s own configuration.

Returns

ContainerConfig

Inherited from

ClientAppChain.containerConfig

Defined in

common/dist/config/ModuleContainer.d.ts:73


dependencyContainer

Get Signature

get dependencyContainer(): DependencyContainer

Returns

DependencyContainer

Inherited from

ClientAppChain.dependencyContainer

Defined in

common/dist/config/ModuleContainer.d.ts:167


events

Get Signature

get events(): EventEmitterProxy<Modules>

Returns

EventEmitterProxy<Modules>

Inherited from

ClientAppChain.events

Defined in

common/dist/config/ModuleContainer.d.ts:105


moduleNames

Get Signature

get moduleNames(): string[]

Returns

string[]

list of module names

Inherited from

ClientAppChain.moduleNames

Defined in

common/dist/config/ModuleContainer.d.ts:77


protocol

Get Signature

get protocol(): InstanceType<Modules["Protocol"]>

Returns

InstanceType<Modules["Protocol"]>

Inherited from

ClientAppChain.protocol

Defined in

sequencer/dist/appChain/AppChain.d.ts:21


query

Get Signature

get query(): QueryService<InferModules<AppChainModules["Runtime"]>, InferModules<AppChainModules["Protocol"]>>

Returns

QueryService<InferModules<AppChainModules["Runtime"]>, InferModules<AppChainModules["Protocol"]>>

Inherited from

ClientAppChain.query

Defined in

sdk/src/client/ClientAppChain.ts:190


runtime

Get Signature

get runtime(): InstanceType<Modules["Runtime"]>

Returns

InstanceType<Modules["Runtime"]>

Inherited from

ClientAppChain.runtime

Defined in

sequencer/dist/appChain/AppChain.d.ts:19


sequencer

Get Signature

get sequencer(): InstanceType<Modules["Sequencer"]>

Returns

InstanceType<Modules["Sequencer"]>

Inherited from

ClientAppChain.sequencer

Defined in

sequencer/dist/appChain/AppChain.d.ts:20

Methods

assertContainerInitialized()

assertContainerInitialized(container): asserts container is DependencyContainer

Parameters

container: undefined | DependencyContainer

Returns

asserts container is DependencyContainer

Inherited from

ClientAppChain.assertContainerInitialized

Defined in

common/dist/config/ModuleContainer.d.ts:95


assertIsValidModuleName()

assertIsValidModuleName(moduleName): asserts moduleName is StringKeyOf<AppChainModules>

Assert that the iterated moduleName is of ModuleName type, otherwise it may be just string e.g. when modules are iterated over using e.g. a for loop.

Parameters

moduleName: string

Returns

asserts moduleName is StringKeyOf<AppChainModules>

Inherited from

ClientAppChain.assertIsValidModuleName

Defined in

common/dist/config/ModuleContainer.d.ts:92


close()

close(): Promise<void>

Returns

Promise<void>

Inherited from

ClientAppChain.close

Defined in

sequencer/dist/appChain/AppChain.d.ts:26


configure()

configure(config): void

Provide additional configuration after the ModuleContainer was created.

Keep in mind that modules are only decorated once after they are resolved, therefore applying any configuration must happen before the first resolution.

Parameters

config: CombinedModuleContainerConfig<AppChainModules, NoConfig>

Returns

void

Inherited from

ClientAppChain.configure

Defined in

common/dist/config/ModuleContainer.d.ts:119


configurePartial()

configurePartial(config): void

Parameters

config: RecursivePartial<CombinedModuleContainerConfig<AppChainModules, NoConfig>>

Returns

void

Inherited from

ClientAppChain.configurePartial

Defined in

common/dist/config/ModuleContainer.d.ts:120


create()

create(childContainerProvider): void

This is a placeholder for individual modules to override. This method will be called whenever the underlying container fully initialized

Parameters

childContainerProvider: ChildContainerProvider

Returns

void

Inherited from

ClientAppChain.create

Defined in

common/dist/config/ModuleContainer.d.ts:166


decorateModule()

protected decorateModule(moduleName, containedModule): void

Override this in the child class to provide custom features or module checks

Parameters

moduleName: StringKeyOf<AppChainModules>

containedModule: InstanceType<AppChainModules[StringKeyOf<AppChainModules>]>

Returns

void

Inherited from

ClientAppChain.decorateModule

Defined in

common/dist/config/ModuleContainer.d.ts:139


initializeDependencyFactories()

protected initializeDependencyFactories(factories): void

Inject a set of dependencies using the given list of DependencyFactories This method should be called during startup

Parameters

factories: StringKeyOf<AppChainModules>[]

Returns

void

Inherited from

ClientAppChain.initializeDependencyFactories

Defined in

common/dist/config/ModuleContainer.d.ts:145


isValidModuleName()

isValidModuleName(modules, moduleName): moduleName is StringKeyOf<AppChainModules>

Parameters

modules: AppChainModules

moduleName: string | number | symbol

Returns

moduleName is StringKeyOf<AppChainModules>

Inherited from

ClientAppChain.isValidModuleName

Defined in

common/dist/config/ModuleContainer.d.ts:93


onAfterModuleResolution()

protected onAfterModuleResolution(moduleName): void

Handle module resolution, e.g. by decorating resolved modules

Parameters

moduleName: StringKeyOf<AppChainModules>

Returns

void

Inherited from

ClientAppChain.onAfterModuleResolution

Defined in

common/dist/config/ModuleContainer.d.ts:160


produceBlock()

produceBlock(): Promise<undefined | Block>

Returns

Promise<undefined | Block>

Defined in

sdk/src/testing/TestingAppChain.ts:96


produceBlockWithResult()

produceBlockWithResult(): Promise<undefined | BlockWithResult>

Returns

Promise<undefined | BlockWithResult>

Defined in

sdk/src/testing/TestingAppChain.ts:105


registerAliases()

protected registerAliases(originalToken, clas): void

Parameters

originalToken: string

clas: TypedClass<any>

Returns

void

Inherited from

ClientAppChain.registerAliases

Defined in

common/dist/config/ModuleContainer.d.ts:96


registerModules()

protected registerModules(modules): void

Register modules into the current container, and registers a respective resolution hook in order to decorate the module upon/after resolution.

Parameters

modules: AppChainModules

Returns

void

Inherited from

ClientAppChain.registerModules

Defined in

common/dist/config/ModuleContainer.d.ts:104


registerValue()

registerValue<Value>(modules): void

Register a non-module value into the current container

Type Parameters

Value

Parameters

modules: Record<string, Value>

Returns

void

Inherited from

ClientAppChain.registerValue

Defined in

common/dist/config/ModuleContainer.d.ts:110


resolve()

resolve<KeyType>(moduleName): InstanceType<ResolvableModules<AppChainModules>[KeyType]>

Resolves a module from the current module container

We have to narrow down the ModuleName type here to ResolvableModuleName, otherwise the resolved value might be any module instance, not the one specifically requested as argument.

Type Parameters

KeyType extends string

Parameters

moduleName: KeyType

Returns

InstanceType<ResolvableModules<AppChainModules>[KeyType]>

Inherited from

ClientAppChain.resolve

Defined in

common/dist/config/ModuleContainer.d.ts:133


resolveOrFail()

resolveOrFail<ModuleType>(moduleName, moduleType?): ModuleType

Type Parameters

ModuleType

Parameters

moduleName: string

moduleType?: TypedClass<ModuleType>

Returns

ModuleType

Inherited from

ClientAppChain.resolveOrFail

Defined in

common/dist/config/ModuleContainer.d.ts:134


setSigner()

setSigner(signer): void

Parameters

signer: PrivateKey

Returns

void

Defined in

sdk/src/testing/TestingAppChain.ts:91


start()

start(proofsEnabled?, dependencyContainer?): Promise<void>

Starts the appchain and cross-registers runtime to sequencer

Parameters

proofsEnabled?: boolean

dependencyContainer?: DependencyContainer

Returns

Promise<void>

Inherited from

ClientAppChain.start

Defined in

sequencer/dist/appChain/AppChain.d.ts:25


transaction()

transaction(sender, callback, options?): Promise<AppChainTransaction>

Parameters

sender: PublicKey

callback

options?

options.nonce?: number

Returns

Promise<AppChainTransaction>

Inherited from

ClientAppChain.transaction

Defined in

sdk/src/client/ClientAppChain.ts:104


validateModule()

protected validateModule(moduleName, containedModule): void

Check if the provided module satisfies the container requirements, such as only injecting other known modules.

Parameters

moduleName: StringKeyOf<AppChainModules>

containedModule: ConfigurableModule<unknown>

Returns

void

Inherited from

ClientAppChain.validateModule

Defined in

common/dist/config/ModuleContainer.d.ts:85


from()

static from<Modules>(definition): ClientAppChain<Modules>

Type Parameters

Modules extends MinimalAppChainDefinition

Parameters

definition: Modules

Returns

ClientAppChain<Modules>

Inherited from

ClientAppChain.from

Defined in

sdk/src/client/ClientAppChain.ts:51


fromRemoteEndpoint()

static fromRemoteEndpoint<RuntimeModules, ProtocolModules, SignerType>(runtime, protocol, signer): ClientAppChain<object>

Type Parameters

RuntimeModules extends RuntimeModulesRecord

ProtocolModules extends ProtocolModulesRecord & MandatoryProtocolModulesRecord

SignerType extends Signer & AppChainModule<unknown>

Parameters

runtime: TypedClass<Runtime<RuntimeModules>>

protocol: TypedClass<Protocol<ProtocolModules>>

signer: TypedClass<SignerType>

Returns

ClientAppChain<object>

GraphqlClient

GraphqlClient: typeof GraphqlClient

NetworkStateTransportModule

NetworkStateTransportModule: typeof GraphqlNetworkStateTransportModule = GraphqlNetworkStateTransportModule

Protocol

Protocol: TypedClass<Protocol<ProtocolModules>> = protocol

QueryTransportModule

QueryTransportModule: typeof GraphqlQueryTransportModule = GraphqlQueryTransportModule

Runtime

Runtime: TypedClass<Runtime<RuntimeModules>> = runtime

Sequencer

Sequencer: TypedClass<Sequencer<object>>

Signer

Signer: TypedClass<SignerType> = signer

TransactionSender

TransactionSender: typeof GraphqlTransactionSender = GraphqlTransactionSender

Inherited from

ClientAppChain.fromRemoteEndpoint

Defined in

sdk/src/client/ClientAppChain.ts:57


fromRuntime()

static fromRuntime<RuntimeModules>(runtimeModules): TestingAppChain<object>

Type Parameters

RuntimeModules extends RuntimeModulesRecord & PartialVanillaRuntimeModulesRecord

Parameters

runtimeModules: RuntimeModules

Returns

TestingAppChain<object>

BlockExplorerTransportModule

BlockExplorerTransportModule: typeof InMemoryBlockExplorer = InMemoryBlockExplorer

NetworkStateTransportModule

NetworkStateTransportModule: typeof BlockStorageNetworkStateModule = BlockStorageNetworkStateModule

Protocol

Protocol: TypedClass<Protocol<MandatoryProtocolModulesRecord & object>>

QueryTransportModule

QueryTransportModule: typeof StateServiceQueryModule = StateServiceQueryModule

Runtime

Runtime: TypedClass<Runtime<object & RuntimeModules>>

Sequencer

Sequencer: TypedClass<Sequencer<object>>

Signer

Signer: typeof InMemorySigner = InMemorySigner

TransactionSender

TransactionSender: typeof InMemoryTransactionSender = InMemoryTransactionSender

Defined in

sdk/src/testing/TestingAppChain.ts:38