@proto-kit/sequencerDocs


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