@proto-kit/sequencer • Docs


Documentation / @proto-kit/sequencer / BridgingModule

Class: BridgingModule

Module that facilitates all transaction creation and monitoring for bridging related operations. Additionally, this keeps track of all deployed bridges and created the contracts for those as needed

Extends

Constructors

new BridgingModule()

new BridgingModule(protocol, settlementModule, outgoingMessageCollector, linkedLeafStore, treeStore, feeStrategy, baseLayer, signer, transactionSender, addressRegistry, argsRegistry): BridgingModule

Parameters

• protocol: Protocol<MandatoryProtocolModulesRecord>

• settlementModule: SettlementModule

• outgoingMessageCollector: OutgoingMessageCollector

• linkedLeafStore: AsyncLinkedLeafStore

• treeStore: AsyncMerkleTreeStore

• feeStrategy: FeeStrategy

• baseLayer: MinaBaseLayer

• signer: MinaSigner

• transactionSender: MinaTransactionSender

• addressRegistry: AddressRegistry

• argsRegistry: ContractArgsRegistry

Returns

BridgingModule

Overrides

SequencerModule.constructor

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:110

Properties

currentConfig

protected currentConfig: undefined | BridgingModuleConfig

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

Inherited from

SequencerModule.currentConfig

Defined in

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


dispatchContract?

protected optional dispatchContract: DispatchContractType & SmartContract

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:108


presets

static presets: Presets<unknown> = {}

Inherited from

SequencerModule.presets

Defined in

packages/sequencer/src/sequencer/builder/SequencerModule.ts:20

Accessors

config

Get Signature

get config(): Config

Returns

Config

Set Signature

set config(config): void

Parameters

• config: Config

Returns

void

Inherited from

SequencerModule.config

Defined in

packages/common/dist/config/ConfigurableModule.d.ts:18

Methods

create()

create(childContainerProvider): void

Parameters

• childContainerProvider: ChildContainerProvider

Returns

void

Inherited from

SequencerModule.create

Defined in

packages/common/dist/config/ConfigurableModule.d.ts:20


createBridgeContract()

createBridgeContract(contractAddress, tokenId): BridgeContractType & TokenContract

Parameters

• contractAddress: PublicKey

• tokenId: Field

Returns

BridgeContractType & TokenContract

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:444


deployMinaBridge()

deployMinaBridge(contractKey, options): Promise<void>

Parameters

• contractKey: PublicKey

• options

• options.nonce?: number

Returns

Promise<void>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:217


deployTokenBridge()

deployTokenBridge(owner, contractKey, options): Promise<void>

Deploys a token bridge (BridgeContract) and authorizes it on the DispatchContract

Invariant: The owner has to be specified, unless the bridge is for the mina token

Parameters

• owner: undefined | TokenContract

reference to the token owner contract (used to approve the deployment AUs)

• contractKey: PublicKey

PublicKey to which the new bridge contract should be deployed to

• options

• options.nonce?: number

Returns

Promise<void>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:235


getBridgeAddress()

getBridgeAddress(tokenId): Promise<undefined | PublicKey>

Parameters

• tokenId: Field

Returns

Promise<undefined | PublicKey>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:282


getBridgeContract()

getBridgeContract(tokenId): Promise<BridgeContractType & TokenContract>

Parameters

• tokenId: Field

Returns

Promise<BridgeContractType & TokenContract>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:453


getBridgingModuleConfig()

getBridgingModuleConfig(): BridgeContractConfig

Returns

BridgeContractConfig

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:176


getDepositContractAttestation()

getDepositContractAttestation(tokenId): Promise<TokenBridgeAttestation>

Parameters

• tokenId: Field

Returns

Promise<TokenBridgeAttestation>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:299


getDispatchContract()

getDispatchContract(): DispatchContractType & SmartContract

Returns

DispatchContractType & SmartContract

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:143


getDispatchContractAddress()

getDispatchContractAddress(): PublicKey

Returns

PublicKey

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:154


pullStateRoot()

pullStateRoot(tokenWrapper, tokenId, options): Promise<object | object>

Parameters

• tokenWrapper

• tokenId: Field

• options

• options.contractKeys: PublicKey[]

• options.nonce: number

Returns

Promise<object | object>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:484


sendRollupTransactions()

sendRollupTransactions(batches, tokenConfigs, initialNonceOverride?): Promise<object[]>

Parameters

• batches: SettleableBatch[]

• tokenConfigs: SettlementTokenConfig

• initialNonceOverride?: number

Returns

Promise<object[]>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:320


sendRollupTransactionsBase()

sendRollupTransactionsBase(tokenWrapper, tokenId, events, options): Promise<object[]>

Parameters

• tokenWrapper

• tokenId: Field

• events: OutgoingMessageEvent<any>[]

• options

• options.contractKeys: PublicKey[]

• options.nonce: number

Returns

Promise<object[]>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:550


sendRollupTransactionsForToken()

sendRollupTransactionsForToken(events, options): Promise<object[]>

Parameters

• events: OutgoingMessageEvent<any>[]

• options: object | object

Returns

Promise<object[]>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:373


settlementContractModule()

protected settlementContractModule(): SettlementContractModule<BridgingSettlementModulesRecord>

Returns

SettlementContractModule<BridgingSettlementModulesRecord>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:170


start()

start(): Promise<void>

Start the module and all it’s functionality. The returned Promise has to resolve after initialization, since it will block in the sequencer init. That means that you mustn’t await server.start() for example.

Returns

Promise<void>

Overrides

SequencerModule.start

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:687


updateBridgeAddresses()

updateBridgeAddresses(): Promise<void>

Returns

Promise<void>

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:188


dependencies()

static dependencies(): object

Returns

object

IncomingMessagesService

IncomingMessagesService: object

IncomingMessagesService.useClass

IncomingMessagesService.useClass: typeof IncomingMessagesService = IncomingMessagesService

Defined in

packages/sequencer/src/settlement/BridgingModule.ts:135