package Ġcom . template . states Ċ Ċ import Ġcom . template . contracts . Asset Contract Ċ import Ġnet . cord a . core . contracts . Own able State Ċ import Ġnet . cord a . core . crypto . Null Keys Ċ import Ġnet . cord a . core . contracts .* Ċ import Ġnet . cord a . core . identity . Abstract Party Ċ import Ġnet . cord a . core . identity . Anonymous Party Ċ import Ġnet . cord a . core . identity . Party Ċ Ċ @ Bel ongsTo Contract ( Asset Contract :: class ) Ċ data Ġclass ĠAs setState ( override Ġval Ġowner : ĠAbstract Party , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġasset Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġamount : ĠAmount < Int >): ĠOwn able State , ĠF ung ible State < Int > Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġparticipants : ĠList < Abstract Party > Ġget () Ġ= ĠlistOf ( owner ) ĊĊĠĠĠ Ġfun Ġwithout Owner () Ġ= Ġcopy ( owner Ġ= ĠAn onymous Party ( Null Keys . Null PublicKey )) ĊĊĠĠĠ Ġoverride Ġfun Ġwith New Owner ( new Owner : ĠAbstract Party ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCommand And State ( Asset Contract . Commands . Move (), Ġcopy ( owner Ġ= Ġnew Owner )) Ċ }