package Ġorg . know ledger . ledger . service . pools . transaction Ċ Ċ import Ġorg . know ledger . ledger . adapters . Adapter Manager Ċ import Ġorg . know ledger . ledger . config . adapters . Chain Id Storage Adapter Ċ import Ġorg . know ledger . ledger . crypto . Hash Ċ import Ġorg . know ledger . ledger . database . Managed Session Ċ import Ġorg . know ledger . ledger . database . Storage Element Ċ import Ġorg . know ledger . ledger . database . Storage Type Ċ import Ġorg . know ledger . ledger . results . Outcome Ċ import Ġorg . know ledger . ledger . results . all Values Ċ import Ġorg . know ledger . ledger . results . try Or Ledger Unknown Failure Ċ import Ġorg . know ledger . ledger . results . zip Ċ import Ġorg . know ledger . ledger . service . adapters . Pool Transaction Storage Adapter Ċ import Ġorg . know ledger . ledger . service . adapters . Service Storage Adapter Ċ import Ġorg . know ledger . ledger . service . results . Ledger Failure Ċ Ċ internal Ġclass ĠSU Transaction Pool Storage Adapter ( ĊĠĠĠ Ġprivate Ġval Ġadapter Manager : ĠAdapter Manager , ĊĠĠĠ Ġprivate Ġval Ġpool Transaction Storage Adapter : ĠPool Transaction Storage Adapter Ċ ) Ġ: ĠService Storage Adapter < Transaction Pool Impl > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġid : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" Transaction Pool " ĊĊĠĠĠ Ġoverride Ġval Ġproperties : ĠMap < String , ĠStorage Type > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" chain Id " Ġto ĠStorage Type . LINK , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" transactions " Ġto ĠStorage Type . SET ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġstore ( ĊĠĠĠĠĠĠĠ Ġto Store : ĠTransaction Pool Impl , ĊĠĠĠĠĠĠĠ Ġsession : ĠManaged Session ĊĠĠĠ Ġ): ĠStorage Element Ġ= ĊĠĠĠĠĠĠĠ Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. newInstance ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Linked ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" chain Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChain Id Storage Adapter . persist ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Store . chain Id , Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Element Set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" transactions ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Store . transactions . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpool Transaction Storage Adapter . persist ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Suppress (" NAME _ SH ADO WING ") ĊĠĠĠ Ġoverride Ġfun Ġload ( ĊĠĠĠĠĠĠĠ Ġledger Hash : ĠHash , ĊĠĠĠĠĠĠĠ Ġelement : ĠStorage Element ĊĠĠĠ Ġ): ĠOut come < Transaction Pool Impl , ĠLed ger Failure > Ġ= ĊĠĠĠĠĠĠĠ Ġtry Or Ledger Unknown Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchain Id Ġ= Ġelement . get Linked (" chain Id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransactions Ġ= Ġelement . getElement Set (" transactions ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġzip ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChain Id Storage Adapter . load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġledger Hash , Ġchain Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransactions . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpool Transaction Storage Adapter . load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġledger Hash , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. all Values () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġchain Id , Ġtransactions Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTransaction Pool Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchain Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransactions . to Mutable Set () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ }