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

Method GetIssuanceAmount

src/wallet/wallet.cpp:3967–3983  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3965}
3966
3967CAmount CWalletTx::GetIssuanceAmount(const CWallet& wallet, unsigned int input_index, bool reissuance_token) const {
3968 assert(input_index < tx->vin.size());
3969 CAsset asset;
3970 const CAssetIssuance& issuance = tx->vin[input_index].assetIssuance;
3971 const CTxWitness& wit = tx->witness;
3972 GetIssuanceAssets(input_index, reissuance_token ? nullptr : &asset, reissuance_token ? &asset : nullptr);
3973 if (asset.IsNull()) {
3974 return -1;
3975 }
3976 unsigned int mapValueInd = GetPseudoInputOffset(input_index, reissuance_token) + tx->vout.size();
3977 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);
3978
3979 CAmount ret;
3980 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);
3981 GetBlindingData(wallet, mapValueInd, rangeproof, reissuance_token ? issuance.nInflationKeys : issuance.nAmount, CConfidentialAsset(asset), CConfidentialNonce(), blindingScript, nullptr, &ret, nullptr, nullptr, nullptr);
3982 return ret;
3983}
3984
3985void CWallet::ComputeBlindingData(const CConfidentialValue& conf_value, const CConfidentialAsset& conf_asset, const CConfidentialNonce& nonce, const CScript& scriptPubKey, const std::vector<unsigned char>& vchRangeproof, CAmount& value, CPubKey& blinding_pubkey, uint256& value_factor, CAsset& asset, uint256& asset_factor) const
3986{

Callers 3

MakeWalletTxFunction · 0.80
dumpissuanceblindingkeyFunction · 0.80
listissuancesFunction · 0.80

Calls 7

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

Tested by

no test coverage detected