@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
Overrides
Defined in
packages/sequencer/src/settlement/BridgingModule.ts:110
Properties
currentConfig
protectedcurrentConfig:undefined|BridgingModuleConfig
Store the config separately, so that we can apply additional checks when retrieving it via the getter
Inherited from
Defined in
packages/common/dist/config/ConfigurableModule.d.ts:17
dispatchContract?
protectedoptionaldispatchContract:DispatchContractType&SmartContract
Defined in
packages/sequencer/src/settlement/BridgingModule.ts:108
presets
staticpresets:Presets<unknown> ={}
Inherited from
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
Defined in
packages/common/dist/config/ConfigurableModule.d.ts:18
Methods
create()
create(
childContainerProvider):void
Parameters
• childContainerProvider: ChildContainerProvider
Returns
void
Inherited from
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
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()
protectedsettlementContractModule():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
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()
staticdependencies():object
Returns
object
IncomingMessagesService
IncomingMessagesService:
object
IncomingMessagesService.useClass
IncomingMessagesService.useClass: typeof
IncomingMessagesService=IncomingMessagesService