package Ġorg . know ledger . ledger . service . pools . transaction Ċ Ċ import Ġorg . know ledger . ledger . config . Chain Id Ċ import Ġorg . know ledger . ledger . crypto . Hash Ċ import Ġorg . know ledger . ledger . service . Service Class Ċ import Ġorg . know ledger . ledger . storage . Transaction Ċ Ċ internal Ġinterface ĠTransaction Pool Ġ: ĠService Class Ġ{ ĊĠĠĠ Ġval Ġtransactions : ĠSet < Pool Transaction > ĊĠĠĠ Ġval Ġchain Id : ĠChain Id ĊĠĠĠ Ġval Ġun confirmed : ĠList < Transaction > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtransactions . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! it . confirmed ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . transaction ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġfirst Un confirmed : ĠTransaction ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġun confirmed . first OrNull () ĊĊĠĠĠ Ġfun Ġinvalidate ( hash : ĠHash ) ĊĊĠĠĠ Ġfun Ġun confirmed ( hash : ĠHash ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġun confirmed . any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . hash Ġ== Ġhash ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconfirmed ( hash : ĠHash ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġtransactions . first OrNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . transaction . hash Ġ== Ġhash ĊĠĠĠĠĠĠĠ Ġ} ?. confirmed Ġ?: Ġfalse ĊĊĠĠĠ Ġoperator Ġfun Ġget ( transaction : ĠTransaction ): ĠPool Transaction ? Ġ= ĊĠĠĠĠĠĠĠ Ġget ( transaction . hash ) ĊĊĠĠĠ Ġoperator Ġfun Ġget ( hash : ĠHash ): ĠPool Transaction ? Ġ= ĊĠĠĠĠĠĠĠ Ġtransactions . first OrNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . transaction . hash Ġ== Ġhash ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġplus Assign ( transaction : ĠTransaction ) ĊĊĠĠĠ Ġoperator Ġfun Ġminus Assign ( transaction : ĠTransaction ) Ċ }