stateDiagram-v2
classDef userState fill:white
state "Cash Registry" as CashApp {
[*] --> Cash_Holding
Cash_Holding: Buyer's Initial Cash {Holding}
Buyer_Must_Allocate: Buyer sees allocation request and own holdings
Cash_Remaining: Buyer's Remaining Cash {Holding}
Cash_Allocated: Allocated Cash {Holding}
Cash_Allocation: Filled Cash Allocation Request {Allocation}
Cash_Settled: Seller's Cash Holding {Holding}
Cash_Allocation_Request: Cash {AllocationRequest}
Cash_Holding --> Buyer_Must_Allocate
Cash_Holding --> Cash_Remaining
Cash_Remaining --> [*]
Buyer_Must_Allocate --> Cash_Remaining: Allocate
Buyer_Must_Allocate --> Cash_Allocated: Allocate
Cash_Allocated --> Cash_Allocation
Cash_Allocation_Request --> Buyer_Must_Allocate
Buyer_Must_Allocate --> Cash_Allocation: Allocate
Cash_Allocated --> Cash_Settled
}
state "Trading Venue App" as RepoVenue {
[*] --> Agreement: If Venue has GMRA
[*] --> Buyer_Service: No GMRA
[*] --> Seller_Service: No GMRA
Agreement: {Gmra.Service}
Delegated_Agreement: {Repo.Unsigned}
Buyer_Service: Buyer {Trading.Service}
Seller_Service: Seller {Trading.Service}
Repo_Confirmed: {Repo.Confirmed}
Must_Settle_Near_DvP: Venue Can Settle Near DvP
Repo_Live: Live Repo
Must_Settle_Far_DvP: Venu Can Settle Far DvP (Registry flows not show)
Repo_Settled: Settled Repo
Agreement --> Repo_Confirmed: Nonconsuming {ConfirmRepo}
Buyer_Service --> Delegated_Agreement: Nonconsuming {SignRepo}
Seller_Service --> Delegated_Agreement: Nonconsuming {SignRepo}
Delegated_Agreement --> Repo_Confirmed: {Confirm}
Repo_Confirmed --> Must_Settle_Near_DvP
Must_Settle_Near_DvP --> Repo_Live: {SettleNearDvp}, Execute Transfers
Repo_Live --> Must_Settle_Far_DvP
Must_Settle_Far_DvP --> Repo_Settled: {SettleFarDvp}
}
state "Security Registry" as SecurityApp {
Seller_Must_Allocate: Seller sees allocation request and own holdings
Sec_Allocated: Allocated Security {Holding}
Sec_Remaining: Seller's Remaining Security {Holding}
Sec_Allocation: Filled Security Allocation Request {Allocation}
Sec_Settled: Buyers's Security {Holding}
Sec_Allocation_Request: Security {AllocationRequest}
Sec_Holding: Sellers's Initial Security {Holding}
Sec_Allocation_Request --> Seller_Must_Allocate
[*] --> Sec_Holding
Sec_Holding --> Seller_Must_Allocate
Seller_Must_Allocate --> Sec_Allocated: Allocate
Seller_Must_Allocate --> Sec_Allocation: Allocate
Seller_Must_Allocate --> Sec_Remaining: Allocate
Sec_Allocated --> Sec_Allocation
Sec_Allocated --> Sec_Settled
Sec_Holding --> Sec_Remaining
Sec_Remaining --> [*]
}
Repo_Confirmed --> Cash_Allocation_Request: CIP-56 {AllocationRequest} Interface
Repo_Confirmed --> Sec_Allocation_Request: CIP-56 {AllocationRequest} Interface
Cash_Allocation --> Must_Settle_Near_DvP
Sec_Allocation --> Must_Settle_Near_DvP
Must_Settle_Near_DvP --> Cash_Settled: Execute Transfer
Must_Settle_Near_DvP --> Sec_Settled: Execute Transfer
class Buyer_Must_Allocate, Must_Settle_Near_DvP, Must_Settle_Far_DvP, Seller_Must_Allocate userState
LeventeBarczyDA/token-standard-samples
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|