Skip to content

Commit d91b8a8

Browse files
committed
rpc: decodepsbt: return input and output asset blinding factor
1 parent f811059 commit d91b8a8

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/rpc/rawtransaction.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -1272,6 +1272,7 @@ static RPCHelpMan decodepsbt()
12721272
{RPCResult::Type::STR_HEX, "explicit_asset", /*optional=*/true, "The explicit asset for this input"},
12731273
{RPCResult::Type::STR_HEX, "asset_proof", /*optional=*/true, "The explicit asset proof for this input"},
12741274
{RPCResult::Type::BOOL, "blinded_issuance", /*optional=*/true, "Whether the issuance should be blinded prior to signing"},
1275+
{RPCResult::Type::STR_HEX, "asset_blinder", /*optional=*/true, "The asset blinding factor for this input"},
12751276
{RPCResult::Type::OBJ_DYN, "ripemd160_preimages", /*optional=*/ true, "",
12761277
{
12771278
{RPCResult::Type::STR, "hash", "The hash and preimage that corresponds to it."},
@@ -1342,6 +1343,7 @@ static RPCHelpMan decodepsbt()
13421343
{RPCResult::Type::STR_HEX, "blinding_pubkey", "The blinding pubkey for the output"},
13431344
{RPCResult::Type::STR_HEX, "blind_value_proof", "Explicit value rangeproof that proves the value commitment matches the value"},
13441345
{RPCResult::Type::STR_HEX, "blind_asset_proof", "Assert surjection proof that proves the assert commitment matches the asset"},
1346+
{RPCResult::Type::STR_HEX, "asset_blinder", /*optional=*/true, "The asset blinding factor for the output"},
13451347
{RPCResult::Type::STR, "status", "information about how the output has been blinded, if available"},
13461348
{RPCResult::Type::OBJ_DYN, "unknown", /*optional=*/true, "The unknown global fields",
13471349
{
@@ -1687,6 +1689,10 @@ static RPCHelpMan decodepsbt()
16871689
in.pushKV("blinded_issuance", *input.m_blinded_issuance);
16881690
}
16891691

1692+
if (input.m_asset_blinding_factor.has_value()) {
1693+
in.pushKV("asset_blinder", input.m_asset_blinding_factor.value().GetHex());
1694+
}
1695+
16901696
switch (VerifyBlindProofs(input)) {
16911697
case BlindProofResult::OK:
16921698
// all good
@@ -1864,6 +1870,11 @@ static RPCHelpMan decodepsbt()
18641870
out.pushKV("blind_asset_proof", HexStr(output.m_blind_asset_proof));
18651871
}
18661872

1873+
// Asset blinding factor
1874+
if (output.m_asset_blinding_factor.has_value()) {
1875+
out.pushKV("asset_blinder", output.m_asset_blinding_factor.value().GetHex());
1876+
}
1877+
18671878
switch (VerifyBlindProofs(output)) {
18681879
case BlindProofResult::OK:
18691880
// all good

0 commit comments

Comments
 (0)