func NewPublicCoinFromValue(p *Params, coin *big.Int, d Denomination) (*PublicCoin, error) {
	if !p.Initialized {
		return nil, errors.New("Params are not initialized")
	}

	pub := &PublicCoin{}
	pub.value = coin
	pub.denomination = d
	return pub, nil
}
// NewPublicCoinFromValue initializes a new public coin from an
// existing value and denomination.
NewPublicCoinFromValue initializes a new public coin from an
existing value and denomination.
// NewPublicCoinFromValue initializes a new public coin from an // existing value and denomination .
func NewPublicCoinFromValue(p *Params, coin *big.Int, d Denomination) (*PublicCoin, error) {
	if !p.Initialized {
		return nil, errors.New("Params are not initialized")
	}
	pub := &PublicCoin{}
	pub.value = coin
	pub.denomination = d
	return pub, nil
}
func NewPublicCoinFromValue ( p * Params , coin * big . Int , d Denomination ) ( * PublicCoin , error ) { if ! p . Initialized { return nil , errors . New ( " " ) } pub := & PublicCoin { } pub . value = coin pub . denomination = d return pub , nil }
NewPublicCoinFromValue initializes a new public coin from an
existing value and denomination.
NewPublicCoinFromValue initializes a new public coin from an existing value and denomination .