// ĠVer i Block ĠNode Core Ċ // ĠCopyright Ġ 2 0 1 7 - 2 0 2 1 ĠX en ios ĠSE ZC Ċ // ĠAll Ġrights Ġreserved . Ċ // Ġhttps :// www . ver ib lock . org Ċ // ĠDistributed Ġunder Ġthe ĠMIT Ġsoftware Ġlicense , Ġsee Ġthe Ġaccompanying Ċ // Ġfile ĠLICENSE Ġor Ġhttp :// www . opensource . org / licenses / mit - license . php . Ċ package Ġnode core . p 2 p Ċ Ċ import Ġorg . ver ib lock . core . utilities . Utility Ċ Ċ private Ġconst Ġval ĠB AN _ DURATION Ġ= Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 4 L Ġ// Ġ 4 Ġhours Ċ Ċ class ĠB an ( ĊĠĠĠ Ġval Ġtype : ĠType , ĊĠĠĠ Ġval Ġaddress : ĠString , ĊĠĠĠ Ġval Ġexpiration : ĠLong Ċ ) Ġ{ ĊĠĠĠ Ġenum Ġclass ĠType Ġ{ ĊĠĠĠĠĠĠĠ ĠTemporary , ĠPer manent ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġval Ġis Expired : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtype Ġ!= ĠType . Permanent Ġ&& ĠUtility . getCurrent Time Seconds () Ġ> Ġexpiration Ċ } Ċ Ċ fun Ġcreate Temporary Ban ( address : ĠString ): ĠB an Ġ{ ĊĠĠĠ Ġreturn ĠB an ( Ban . Type . Temporary , Ġaddress , ĠUtility . getCurrent Time Seconds () Ġ+ ĠB AN _ DURATION ) Ċ } Ċ Ċ fun Ġcreate Permanent Ban ( address : ĠString ): ĠB an Ġ{ ĊĠĠĠ Ġreturn ĠB an ( Ban . Type . Permanent , Ġaddress , Ġ- 1 ) Ċ } Ċ