centrifuge / centrifuge-chain

Centrifuge Chain: the layer-1 blockchain for real-world assets, built on Substrate.
https://centrifuge.io
GNU Lesser General Public License v3.0
182 stars 78 forks source link

lp-gateway: Add multi-router support #1948

Closed cdamian closed 1 month ago

cdamian commented 1 month ago

Description

LP Gateway:

Multi-router

Added new extrinsic for adding multi-routers, and 2 new storages for multi routers:

Inbound/outbound message handing:

Message proofs

The LPEnconding trait has 2 new methods used for:

Outbound

The OutboundMessageHandler implementation is now queueing one message using one router and message proofs using the remaining routers.

Inbound

Added 2 new storages for keeping track of inbound messages and message proofs.

The inbound message processing logic is checking that the required number of proofs are received before submitting the message to the InboundMessageHandler.

Checklist:

cdamian commented 1 month ago

Too many conflicts, gonna start fresh from main.

cdamian commented 1 month ago

Will close this and rebase on https://github.com/centrifuge/centrifuge-chain/pull/1958 soon.