MCPcopy Create free account
hub / github.com/ElementsProject/elements / GetIssuanceBlindingFactor

Method GetIssuanceBlindingFactor

src/wallet/wallet.cpp:3949–3965  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3947}
3948
3949uint256 CWalletTx::GetIssuanceBlindingFactor(const CWallet& wallet, unsigned int input_index, bool reissuance_token) const {
3950 assert(input_index < tx->vin.size());
3951 CAsset asset;
3952 const CAssetIssuance& issuance = tx->vin[input_index].assetIssuance;
3953 const CTxWitness& wit = tx->witness;
3954 GetIssuanceAssets(input_index, reissuance_token ? nullptr : &asset, reissuance_token ? &asset : nullptr);
3955 if (asset.IsNull()) {
3956 return uint256();
3957 }
3958 const std::vector<unsigned char>& rangeproof = wit.vtxinwit.size() <= input_index ? std::vector<unsigned char>() : (reissuance_token ? wit.vtxinwit[input_index].vchInflationKeysRangeproof : wit.vtxinwit[input_index].vchIssuanceAmountRangeproof);
3959 unsigned int mapValueInd = GetPseudoInputOffset(input_index, reissuance_token) + tx->vout.size();
3960
3961 uint256 ret;
3962 CScript blindingScript(CScript() << OP_RETURN << std::vector<unsigned char>(tx->vin[input_index].prevout.hash.begin(), tx->vin[input_index].prevout.hash.end()) << tx->vin[input_index].prevout.n);
3963 GetBlindingData(wallet, mapValueInd, rangeproof, reissuance_token ? issuance.nInflationKeys : issuance.nAmount, CConfidentialAsset(asset), CConfidentialNonce(), blindingScript, nullptr, nullptr, &ret, nullptr, nullptr);
3964 return ret;
3965}
3966
3967CAmount CWalletTx::GetIssuanceAmount(const CWallet& wallet, unsigned int input_index, bool reissuance_token) const {
3968 assert(input_index < tx->vin.size());

Callers 1

listissuancesFunction · 0.80

Calls 8

CConfidentialAssetClass · 0.85
CConfidentialNonceClass · 0.85
uint256Class · 0.70
CScriptClass · 0.70
sizeMethod · 0.45
IsNullMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected