# Don't talk about this first
# Merchant only cares about these (Infra contract) (Xfers Accept / Xfers Send)
# User only cares about these (Product contract) (Topup / Withdrawal)
DGWTopupContract <-- in dashboard
DGWWithdrawalContractV2 (Legacy Handling contract)
CorporateAccount -(request)-> DGW BusinessAccount
Xfers Send (v4)
DGW BusinessAccount -(request)-> Outgoing --> World
1 auditing system will only cares about
Topup and Withdrawal And Business Account
1 auditing system will only cares about (Xfers Accept / Xfers Send)
[reference link]
[Product ] [Infra ]
# Want to have short-term solution
# In the future if we want to split
TopupContract ---> Generate Xfers Accept into our new database
TopupContract
TopupContract
TopupContract
TopupContract
TopupContract
World Account -(settle<bank_row>)--> Incoming --(notify)--> CorporateAccount
Xfers Accept + Recon contract
World Account ---(settle)--- Incoming -(notif)-> DGW SettlementAccount -(settle)-> DGW Business Account (it's specially handled)
Some Contract (DGWTopupContract) (source, destination)
------ DGW BusinessAccount -(notify)-> CorporateAccount