package Ġcom . lin dev hard . fel ia . component . wallet . send . store Ċ Ċ import Ġcom . ark iv an ov . mv ik otlin . core . store . Store Ċ import Ġcom . lin dev hard . fel ia . component . wallet . send . store . Wallet Send Store . Intent Ċ import Ġcom . lin dev hard . fel ia . component . wallet . send . store . Wallet Send Store . State Ċ import Ġcom . lin dev hard . fel ia . component . wallet . send . store . Wallet Send Store . Label Ċ import Ġcom . lin dev hard . fel ia . wallet . main . domain . model . Wallet Ċ import Ġcom . lin dev hard . fel ia . wallet . main . domain . model . Wallet Detail Domain Ċ import Ġjava . math . BigDecimal Ċ Ċ interface ĠWallet Send Store : ĠStore < Intent , ĠState , ĠLabel > Ġ{ ĊĊĠĠĠ Ġsealed Ġclass ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠUpdate Address Input ( val Ġaddress : ĠString ): ĠIntent () ĊĠĠĠĠĠĠĠ Ġclass ĠUpdate Amount Input ( val Ġamount : ĠString ): ĠIntent () ĊĠĠĠĠĠĠĠ Ġobject ĠOn Confirm Click : ĠIntent () ĊĠĠĠĠĠĠĠ Ġobject ĠHide Confirm : ĠIntent () ĊĠĠĠĠĠĠĠ Ġobject ĠStart Transaction : ĠIntent () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠState ( ĊĠĠĠĠĠĠĠ Ġval Ġwallet : ĠWallet Detail Domain ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġaddress Input : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġval Ġaddress IsValid : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġval Ġamount Input : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġval Ġamount IsValid : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠBigDecimal Ġ= ĠBigDecimal . ZERO , ĊĠĠĠĠĠĠĠ Ġval Ġamount Fi at : ĠBigDecimal Ġ= ĠBigDecimal . ZERO , ĊĠĠĠĠĠĠĠ Ġval ĠisLoading : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġval Ġis Show Confirm Dialog : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġsealed Ġclass ĠLabel Ġ{ ĊĠĠĠĠĠĠĠ Ġobject ĠTransaction Success Ġ: ĠLabel () ĊĠĠĠĠĠĠĠ Ġclass ĠTransaction Error ( val Ġexception : ĠThrowable ): ĠLabel () ĊĠĠĠ Ġ} Ċ }