package Ġjp . co . sor am its u . common . data . network Ċ Ċ import Ġjp . co . sor am its u . core . model . Node Ċ import Ġjp . co . sor am its u . fe ar less _ utils . extensions . require Prefix Ċ Ċ class ĠApp Links Provider ( ĊĠĠĠ Ġval Ġterms Url : ĠString , ĊĠĠĠ Ġval Ġprivacy Url : ĠString , ĊĊĠĠĠ Ġprivate Ġval Ġexternal Analyzer Templates : ĠMap < External Analyzer , ĠExternal Analyzer Links >, ĊĊĠĠĠ Ġval Ġroad Map Url : ĠString , ĊĠĠĠ Ġval Ġdev Status Url : ĠString , ĊĊĠĠĠ Ġval Ġnom inator Learn More : ĠString , ĊĠĠĠ Ġval Ġpay outs Learn More : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġget External Transaction Url ( ĊĠĠĠĠĠĠĠ Ġanalyzer : ĠExternal Analyzer , ĊĠĠĠĠĠĠĠ Ġhash : ĠString , ĊĠĠĠĠĠĠĠ Ġnetwork Type : ĠNode . Network Type ĊĠĠĠ Ġ) Ġ= Ġget External Url ( analyzer , Ġhash With Prefix ( hash ), Ġnetwork Type , ĠExternal Analyzer Links :: transaction ) ĊĊĠĠĠ Ġfun Ġget External Address Url ( ĊĠĠĠĠĠĠĠ Ġanalyzer : ĠExternal Analyzer , ĊĠĠĠĠĠĠĠ Ġaddress : ĠString , ĊĠĠĠĠĠĠĠ Ġnetwork Type : ĠNode . Network Type ĊĠĠĠ Ġ) Ġ= Ġget External Url ( analyzer , Ġaddress , Ġnetwork Type , ĠExternal Analyzer Links :: account ) ĊĊĠĠĠ Ġprivate Ġfun Ġget External Url ( ĊĠĠĠĠĠĠĠ Ġanalyzer : ĠExternal Analyzer , ĊĠĠĠĠĠĠĠ Ġvalue : ĠString , ĊĠĠĠĠĠĠĠ Ġnetwork Type : ĠNode . Network Type , ĊĠĠĠĠĠĠĠ Ġextractor : Ġ( External Analyzer Links ) Ġ-> ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemplate Ġ= Ġexternal Analyzer Templates [ analyzer ] Ġ?: Ġerror (" No Ġtemplate Ġfor Ġ$ analyzer ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġextractor ( template ). format ( network Path Segment ( network Type ), Ġvalue ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠExternal Analyzer Links ( val Ġtransaction : ĠString , Ġval Ġaccount : ĠString ) Ċ Ċ enum Ġclass ĠExternal Analyzer ( val Ġsupported Networks : ĠList < Node . Network Type >) Ġ{ ĊĠĠĠ ĠSUB SCAN ( ĊĠĠĠĠĠĠĠ Ġsupported Networks Ġ= ĠlistOf ( Node . Network Type . K USA MA , ĠNode . Network Type . WEST END , ĠNode . Network Type . POL K AD OT ) ĊĠĠĠ Ġ), ĊĊĠĠĠ ĠPOL K AS CAN ( ĊĠĠĠĠĠĠĠ Ġsupported Networks Ġ= ĠlistOf ( Node . Network Type . K USA MA , ĠNode . Network Type . POL K AD OT ) ĊĠĠĠ Ġ); ĊĊĠĠĠ Ġfun Ġis Network Supported ( network Type : ĠNode . Network Type ) Ġ= Ġnetwork Type Ġin Ġsupported Networks Ċ } Ċ Ċ private Ġfun Ġnetwork Path Segment ( network Type : ĠNode . Network Type ) Ġ= Ġnetwork Type . readable Name . toLowerCase () Ċ Ċ private Ġfun Ġhash With Prefix ( hash : ĠString ) Ġ= Ġhash . require Prefix (" 0 x ")