package Ġjp . co . sor am its u . feature _ c rowd loan _ impl . presentation . contribute . custom . inter lay Ċ Ċ import Ġjp . co . sor am its u . common . resources . ResourceManager Ċ import Ġjp . co . sor am its u . fe ar less _ utils . extensions . require Hex Prefix Ċ import Ġjp . co . sor am its u . feature _ c rowd loan _ impl . R Ċ import Ġjp . co . sor am its u . feature _ c rowd loan _ impl . domain . contribute . custom . inter lay . Inter lay Contribut e Interactor Ċ import Ġjp . co . sor am its u . feature _ c rowd loan _ impl . presentation . contribute . custom . model . Custom Contribut e Payload Ċ import Ġjp . co . sor am its u . feature _ c rowd loan _ impl . presentation . contribute . custom . ref erral . Ref erral Code Payload Ċ import Ġjp . co . sor am its u . feature _ c rowd loan _ impl . presentation . contribute . custom . ref erral . Ref erral Contribut e ViewState Ċ Ċ class ĠInter lay Contribut e ViewState ( ĊĠĠĠ Ġprivate Ġval Ġinter actor : ĠInter lay Contribut e Interactor , ĊĠĠĠ Ġcustom Contribut e Payload : ĠCustom Contribut e Payload , ĊĠĠĠ Ġresource Manager : ĠResourceManager Ċ ) Ġ: ĠRef erral Contribut e ViewState ( ĊĠĠĠ Ġcustom Contribut e Payload Ġ= Ġcustom Contribut e Payload , ĊĠĠĠ Ġresource Manager Ġ= Ġresource Manager , Ċ ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Bonus Payload ( ref erral Code : ĠString , Ġemail : ĠString ?, Ġagree Receive Email : ĠBoolean ?) Ġ= ĊĠĠĠĠĠĠĠ ĠInter lay Bonus Payload ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġref erral Code Ġ= Ġref erral Code . require Hex Prefix (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpar ach ain Id Ġ= Ġcustom Contribut e Payload . para Id ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġvalidate Payload ( payload : ĠRef erral Code Payload ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Ref erral Valid Ġ= Ġinter actor . is Ref erral Valid ( payload . ref erral Code ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! is Ref erral Valid ) Ġthrow ĠIllegalArgumentException ( resource Manager . getString ( R . string . c rowd loan _ ref erral _ code _ invalid )) ĊĠĠĠ Ġ} Ċ } Ċ