package Ġio . nova foundation . nova . feature _ assets . data . buy Token . providers Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . net . Uri Ċ import Ġio . nova foundation . nova . common . utils . append Nullable QueryParameter Ċ import Ġio . nova foundation . nova . common . utils . show Browser Ċ import Ġio . nova foundation . nova . feature _ assets . R Ċ import Ġio . nova foundation . nova . feature _ assets . data . buy Token . Buy Token Registry Ċ import Ġio . nova foundation . nova . feature _ assets . data . buy Token . External Provider Ċ import Ġio . nova foundation . nova . runtime . multi Network . chain . model . Chain Ċ Ċ private Ġconst Ġval ĠR AMP _ APP _ NAME Ġ= Ġ" Nova ĠWallet " Ċ private Ġconst Ġval ĠR AMP _ APP _ LOG O Ġ= Ġ" https :// raw . githubusercontent . com / nova - wallet / brand ing / master / logos / Nova _ Wallet _ Horizontal _ On _ White _ 2 0 0 px . png " Ċ Ċ class ĠR amp Provider ( ĊĠĠĠ Ġprivate Ġval Ġhost : ĠString , ĊĠĠĠ Ġprivate Ġval Ġapi Token : ĠString ? Ċ ) Ġ: ĠExternal Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġid Ġ= Ġ" ramp " ĊĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġ" R amp " ĊĊĠĠĠ Ġoverride Ġval Ġicon : ĠInt Ġ= ĠR . drawable . ic _ ramp ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Integr ator ( chain Asset : ĠChain . Asset , Ġaddress : ĠString ): ĠExternal Provider . Integr ator Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Token Supported ( chain Asset )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠBu y Token Registry . Provider . Unsupported Token Exception () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠR amp Integr ator ( host , Ġapi Token , Ġchain Asset , Ġaddress ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠR amp Integr ator ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġhost : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapi Token : ĠString ?, ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġchain Asset : ĠChain . Asset , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġaddress : ĠString ĊĠĠĠ Ġ) Ġ: ĠExternal Provider . Integr ator Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġopen Buy Flow ( using : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġusing . show Browser ( create Purchase Link ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Purchase Link (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠUri . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. scheme (" https ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. authority ( host ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter (" swap Asset ", Ġchain Asset . symbol ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter (" user Address ", Ġaddress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Nullable QueryParameter (" host ApiKey ", Ġapi Token ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter (" host AppName ", ĠR AMP _ APP _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter (" host Logo Url ", ĠR AMP _ APP _ LOG O ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter (" final Url ", ĠExternal Provider . RE DIRECT _ URL _ BASE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ