package Ġio . api . blo xy . core . impl Ċ Ċ import Ġio . api . blo xy . executor . I HttpClient Ċ import Ġio . api . blo xy . model . dto . Address Ċ import Ġio . api . blo xy . model . dto . address . Addr Statistic Ċ import Ġio . api . blo xy . model . dto . address . Balance Ċ import Ġio . api . blo xy . model . dto . money flow .* Ċ import Ġio . api . blo xy . model . dto . token . Holder Ċ import Ġio . api . blo xy . model . dto . token . Token Details Ċ import Ġio . api . blo xy . model . dto . token . Token Statistic Ċ import Ġio . api . blo xy . model . dto . token . Token Transfer Ċ import Ġio . api . blo xy . model . dto . tokens ale . Sale Addr Stat Ċ import Ġio . api . blo xy . model . dto . transaction . Tx Detail Ċ import Ġio . api . blo xy . model . dto . transaction . Tx Transfer Ċ import Ġorg . jetbrains . annotations . NotNull Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime ĊĊ Ċ /** Ċ Ġ* ĠAPI Ġfor ĠMal te go Ġintegration Ċ Ġ* ĠMore Ġinformation Ġ- Ġhttps :// blo xy . info / api _ methods # mal te go Ċ Ġ* Ċ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api Ċ Ġ* Ġ@ see Ġio . api . blo xy . core . impl . Basic Provider Ċ Ġ* Ċ Ġ* Ġ@ author ĠGood for God Ċ Ġ* Ġ@ since Ġ 2 7 . 0 2 . 2 0 1 9 Ċ Ġ*/ Ċ class ĠMal te go Api Provider Ġinternal Ġconstructor ( client : ĠI HttpClient , Ġkey : ĠString ) Ġ: ĠBasic Provider ( client , Ġ" mal te go ", Ġkey ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġerrors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Tokens ? Ġnot Ġfound Ġby ". to Regex (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" No Ġcurrency Ġfound Ġby Ġtoken ". to Regex (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Currency Ġnot Ġfound Ġby ". to Regex () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhash As Param ( values : ĠList < String >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġas Param ( values , Ġ" tx _ hash [] =", Ġ"& tx _ hash [] =") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Balance ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġfun Ġaddr Balance ( ĊĠĠĠĠĠĠĠ Ġaddress : ĠString ĊĠĠĠ Ġ): ĠBalance Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBalance ( get (" balance ? address =${ check Addr Required ( address )} ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Statistics ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġfun Ġaddr Statistics ( ĊĠĠĠĠĠĠĠ Ġaddresses : ĠList < String > ĊĠĠĠ Ġ): ĠList < Addr Statistic > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalid Only ( get (" address _ stat ? ${ as Address Required ( addresses )} ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Top Send ers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġaddr Top Send ers ( ĊĠĠĠĠĠĠĠ Ġaddress : ĠString , ĊĠĠĠĠĠĠĠ Ġcontract : ĠString Ġ= Ġ" ETH ", ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDateTime Ġ= ĠMIN _ DATETIME , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDateTime Ġ= ĠMAX _ DATETIME ĊĠĠĠ Ġ): ĠList < Sender > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ time ", Ġsince )} ${ as Date (" till _ time ", Ġtill )}" ĊĠĠĠĠĠĠĠ Ġval Ġtoken Param Ġ= Ġif Ġ( contract Ġ== Ġ" ETH ") Ġ"" Ġelse Ġ"& token _ address =${ check Addr Required ( contract )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" send ers ? address =${ check Addr Required ( address )} $ token Param $ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( params , Ġlimit , Ġoffset , Ġ 1 0 0 0 , Ġskip Errors Ġ= Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Top Re ceiv ers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġaddr Top Re ceiv ers ( ĊĠĠĠĠĠĠĠ Ġaddress : ĠString , ĊĠĠĠĠĠĠĠ Ġcontract : ĠString Ġ= Ġ" ETH ", ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDateTime Ġ= ĠMIN _ DATETIME , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDateTime Ġ= ĠMAX _ DATETIME ĊĠĠĠ Ġ): ĠList < Receiver > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ time ", Ġsince )} ${ as Date (" till _ time ", Ġtill )}" ĊĠĠĠĠĠĠĠ Ġval Ġtoken Param Ġ= Ġif Ġ( contract Ġ== Ġ" ETH ") Ġ"" Ġelse Ġ"& token _ address =${ check Addr Required ( contract )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" re ceiv ers ? address =${ check Addr Required ( address )} $ token Param $ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( params , Ġlimit , Ġoffset , Ġ 1 0 0 0 , Ġskip Errors Ġ= Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Trans fers All ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġaddr Trans fers All ( ĊĠĠĠĠĠĠĠ Ġaddresses : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġcontracts : ĠList < String > Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDate Ġ= ĠMIN _ DATE , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDate Ġ= ĠMAX _ DATE ĊĠĠĠ Ġ): ĠList < Addr Transfer > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ date ", Ġsince )} ${ as Date (" till _ date ", Ġtill )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" trans fers ? ${ as Address Required ( addresses )} ${ as Token ( contracts , Ġ"& ") }$ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( params , Ġlimit , Ġoffset , Ġskip Errors Ġ= Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Trans fers Received ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġaddr Trans fers Received ( ĊĠĠĠĠĠĠĠ Ġaddresses : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġcontracts : ĠList < String > Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDate Ġ= ĠMIN _ DATE , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDate Ġ= ĠMAX _ DATE ĊĠĠĠ Ġ): ĠList < Addr Received > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ date ", Ġsince )} ${ as Date (" till _ date ", Ġtill )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" received ? ${ as Address Required ( addresses )} ${ as Token ( contracts , Ġ"& ") }$ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( params , Ġlimit , Ġoffset , Ġskip Errors Ġ= Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Trans fers Sent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġaddr Trans fers Sent ( ĊĠĠĠĠĠĠĠ Ġaddresses : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġcontracts : ĠList < String > Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDate Ġ= ĠMIN _ DATE , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDate Ġ= ĠMAX _ DATE ĊĠĠĠ Ġ): ĠList < Addr Sent > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ date ", Ġsince )} ${ as Date (" till _ date ", Ġtill )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" sent ? ${ as Address Required ( addresses )} ${ as Token ( contracts , Ġ"& ") }$ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( params , Ġlimit , Ġoffset , Ġskip Errors Ġ= Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Money Source ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġaddr Money Source ( ĊĠĠĠĠĠĠĠ Ġaddress : ĠString , ĊĠĠĠĠĠĠĠ Ġcontract : ĠString Ġ= Ġ" ETH ", ĊĠĠĠĠĠĠĠ Ġdepth : ĠInt Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġmin Tx Amount : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġmin Balance : ĠDouble Ġ= Ġ. 0 0 1 , ĊĠĠĠĠĠĠĠ Ġignore Address With T xs : ĠInt Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDateTime Ġ= ĠMIN _ DATETIME , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDateTime Ġ= ĠMAX _ DATETIME , ĊĠĠĠĠĠĠĠ Ġsnapshot : ĠLocalDateTime Ġ= ĠMIN _ DATETIME ĊĠĠĠ Ġ): ĠList < Address > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnap Param Ġ= Ġ"& depth _ limit =${ to Depth ( depth , Ġ 1 0 )} ${ as Date (" snapshot _ time ", Ġsnapshot )}" ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ time ", Ġsince )} ${ as Date (" till _ time ", Ġtill )} $ snap Param " ĊĠĠĠĠĠĠĠ Ġval Ġnum Params Ġ= Ġ"& min _ balance =${ to Zero ( min Balance )} & min _ tx _ amount =${ to Zero ( min Tx Amount )}" ĊĠĠĠĠĠĠĠ Ġval Ġignore Param Ġ= Ġas Ignored ( ignore Address With T xs , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġtoken Param Ġ= Ġif Ġ( contract Ġ== Ġ" ETH ") Ġ"" Ġelse Ġ"& token _ address =${ check Addr Required ( contract )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" sources ? address =${ check Addr Required ( address )} $ token Param $ num Params $ ignore Param $ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( params , Ġlimit , Ġoffset , Ġ 1 0 0 0 0 , Ġ 1 0 0 0 0 0 0 , Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . addr Money Distribution ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġaddr Money Distribution ( ĊĠĠĠĠĠĠĠ Ġaddress : ĠString , ĊĠĠĠĠĠĠĠ Ġcontract : ĠString Ġ= Ġ" ETH ", ĊĠĠĠĠĠĠĠ Ġdepth : ĠInt Ġ= Ġ 1 0 , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġmin Tx Amount : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġmin Balance : ĠDouble Ġ= Ġ. 0 0 1 , ĊĠĠĠĠĠĠĠ Ġignore Address With T xs : ĠInt Ġ= Ġ 2 0 0 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDateTime Ġ= ĠMIN _ DATETIME , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDateTime Ġ= ĠMAX _ DATETIME , ĊĠĠĠĠĠĠĠ Ġsnapshot : ĠLocalDateTime Ġ= ĠMIN _ DATETIME ĊĠĠĠ Ġ): ĠList < Address > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnap Param Ġ= Ġ"& depth _ limit =${ to Depth ( depth )} ${ as Date (" snapshot _ time ", Ġsnapshot )}" ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ time ", Ġsince )} ${ as Date (" till _ time ", Ġtill )} $ snap Param " ĊĠĠĠĠĠĠĠ Ġval Ġnum Params Ġ= Ġ"& min _ balance =${ to Zero ( min Balance )} & min _ tx _ amount =${ to Zero ( min Tx Amount )}" ĊĠĠĠĠĠĠĠ Ġval Ġignore Param Ġ= Ġas Ignored ( ignore Address With T xs ) ĊĠĠĠĠĠĠĠ Ġval Ġtoken Param Ġ= Ġif Ġ( contract Ġ== Ġ" ETH ") Ġ"" Ġelse Ġ"& token _ address =${ check Addr Required ( contract )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" distribution ? address =${ check Addr Required ( address )} $ token Param $ num Params $ ignore Param $ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( params , Ġlimit , Ġoffset , Ġ 1 0 0 0 0 , Ġ 1 0 0 0 0 0 0 , Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . tx Trans fers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġtx Trans fers ( ĊĠĠĠĠĠĠĠ Ġtx Hashes : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ): ĠList < Tx Transfer > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparam Ġ= Ġ" tx _ trans fers ? ${ hash As Param ( check Tx Required ( tx Hashes )) }" ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset ( param , Ġlimit , Ġoffset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . tx Details ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġfun Ġtx Details ( ĊĠĠĠĠĠĠĠ Ġtx Hashes : ĠList < String > ĊĠĠĠ Ġ): ĠList < Tx Detail > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget (" tx _ info ? ${ hash As Param ( check Tx Required ( tx Hashes )) }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ Ġ@ see Ġio . api . blo xy . core . IM al te go Api . token Sale Stats Address ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġfun Ġtoken Sale Stats Address ( ĊĠĠĠĠĠĠĠ Ġcontract : ĠString ĊĠĠĠ Ġ): ĠList < Sale Addr Stat > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget (" tokens ale _ addresses ? token _ address =${ check Addr Required ( contract )} ", Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . token Details ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġfun Ġtoken Details ( ĊĠĠĠĠĠĠĠ Ġcontracts : ĠList < String > ĊĠĠĠ Ġ): ĠList < Token Details > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget (" token _ info ? ${ as Token Required ( contracts )} ", Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . token Statistic ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġfun Ġtoken Statistic ( ĊĠĠĠĠĠĠĠ Ġcontract : ĠString ĊĠĠĠ Ġ): ĠList < Token Statistic > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget (" token _ stat ? token =${ check Addr Required ( contract )} ", Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġio . api . blo xy . core . IM al te go Api . token Hold ers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġtoken Hold ers ( ĊĠĠĠĠĠĠĠ Ġcontract : ĠString , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 ĊĠĠĠ Ġ): ĠList < Holder > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget (" token _ holders _ list ? token =${ check Addr Required ( contract )} & limit =${ to Limit ( limit )} ", Ġerrors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ Ġ@ see Ġio . api . blo xy . core . IM al te go Api . token Trans fers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġtoken Trans fers ( ĊĠĠĠĠĠĠĠ Ġcontract : ĠString , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġsince : ĠLocalDateTime Ġ= ĠMIN _ DATETIME , ĊĠĠĠĠĠĠĠ Ġtill : ĠLocalDateTime Ġ= ĠMAX _ DATETIME ĊĠĠĠ Ġ): ĠList < Token Transfer > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Params Ġ= Ġ"${ as Date (" from _ time ", Ġsince )} ${ as Date (" till _ time ", Ġtill )}" ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġ" token =${ check Addr Required ( contract )} $ date Params " ĊĠĠĠĠĠĠĠ Ġreturn Ġget Offset (" token _ trans fers ?$ params ", Ġlimit , Ġoffset , Ġskip Errors Ġ= Ġerrors ) ĊĠĠĠ Ġ} Ċ }