SPV Onchain Services
PD-SPV is registered on on several modules D-Chain as a DApp.
Interactions
Smart Contracts
- Notary Verifier: a simple contract that calls AVIDA sd-jwt verifier to verify the ODP verifiable presentation submitted by a user
- Notarised ODP: Stores information of the underlying ODP, i.e. the owner and states
- Orchestrator: the main contract with interfaces
- for
x/notaryto callPostVerExecto instantiate a notarised ODP contract - interacts with
x/tokenfactoryto create and burnSUprice syndication units to interact onx/orderbook - interacts with the instantiated notarised ODP contracts to instruct listing on
x/orderbookwhen specified by supplier - interacts with
x/orderbookto create orderbook for specificSU
- for
Module Registrations
- x/notary: for notarisation process for the ODP
- x/tokenfactory: for creating and burning
SU& EuroCredits tokens,SUare fungible across the same expiration date - x/orderbook: for creating price syndication orderbook for
SUand EuroCredits
Process Flows
sequenceDiagram
actor Supplier
participant M as module
participant SPV
participant DSD
participant ART
actor Investor
actor Obligor
autonumber
SPV ->> M: x/notary MsgRegisterAsset
Supplier ->> M: x/notary MsgNotarise;
M ->> DSD: verify
DSD -->> M: result
M ->> M: notarise and burn DTs
M ->> SPV: on notarise
SPV ->> M: sell order
M ->> M: x/matchengine: add sell order to AON orderbook
Investor ->> M: x/matchengine: add buy order
M ->> M: x/matchengine: order matching
M ->> SPV: x/matchengine: on match
SPV ->> DSD: issue request
DSD -->> M: x/tokenfactory mint & assign securities
DSD -->> Supplier: payment
DSD -->> SPV: ISIN
SPV -->> M: x/notary update ISIN and owner
Obligor ->> SPV: payment
SPV ->> DSD: mature
DSD ->> M: x/bank burn securities
DSD ->> Investor: Payment