package com.robonobo.wang.beans;
import java.math.BigInteger;
import com.robonobo.wang.proto.WangProtocol.CoinMsg;
import com.robonobo.wang.proto.WangProtocol.CoinMsg.Builder;
/**
* All wang coins are valued as a power of 2. So, denom 1 means 2 wang, denom 0
* means 1 wang, denom 4 means 8 wang, denom -2 means 0.25 wang, etc
*/
public class Coin extends uk.co.aldigital.ben.lucre.Coin {
private int denom;
public Coin() {
}
public Coin(BigInteger coinId, BigInteger signature) {
super(coinId, signature);
}
public Coin(CoinMsg msg) {
super(new BigInteger(msg.getCoinId(), 16), new BigInteger(msg.getSignature(), 16));
denom = msg.getDenom();
}
public int getDenom() {
return denom;
}
public void setDenom(int value) {
this.denom = value;
}
public String toString() {
return "WangCoin[" + denom + "]";
}
public CoinMsg toMsg() {
Builder bldr = CoinMsg.newBuilder();
bldr.setCoinId(getCoinId().toString(16));
bldr.setDenom(denom);
bldr.setSignature(getSignature().toString(16));
return bldr.build();
}
}