mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-15 12:51:00 +02:00
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
|
|
#include <primitives/confidential.h>
|
|
|
|
#include <tinyformat.h>
|
|
|
|
void CConfidentialAsset::SetToAsset(const CAsset& asset)
|
|
{
|
|
vchCommitment.clear();
|
|
vchCommitment.reserve(nExplicitSize);
|
|
vchCommitment.push_back(1);
|
|
vchCommitment.insert(vchCommitment.end(), asset.begin(), asset.end());
|
|
}
|
|
|
|
void CConfidentialValue::SetToAmount(const CAmount amount)
|
|
{
|
|
vchCommitment.resize(nExplicitSize);
|
|
vchCommitment[0] = 1;
|
|
WriteBE64(&vchCommitment[1], amount);
|
|
}
|
|
|
|
std::string CAssetIssuance::ToString() const
|
|
{
|
|
std::string str;
|
|
str += "CAssetIssuance(";
|
|
str += assetBlindingNonce.ToString();
|
|
str += ", ";
|
|
str += assetEntropy.ToString();
|
|
if (!nAmount.IsNull())
|
|
str += strprintf(", amount=%s", (nAmount.IsExplicit() ? strprintf("%d.%08d", nAmount.GetAmount() / COIN, nAmount.GetAmount() % COIN) : std::string("CONFIDENTIAL")));
|
|
if (!nInflationKeys.IsNull())
|
|
str += strprintf(", inflationkeys=%s", (nInflationKeys.IsExplicit() ? strprintf("%d.%08d", nInflationKeys.GetAmount() / COIN, nInflationKeys.GetAmount() % COIN) : std::string("CONFIDENTIAL")));
|
|
str += ")";
|
|
return str;
|
|
}
|