class PersonalInterest extends SmartContract { @prop owner: PubKey; @prop name: ByteString: @prop(true) weight: BigInt; @method updateWeight(weight: BigInt, sig: Sig) { // update the weight property } @method updateValue(sig: Sig) { // update the number of satoshis held } @method remove(sig: Sig) { // remove the interest, reclaim the coins } }