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

Class DescribeAddressVisitor

src/rpc/util.cpp:274–346  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

272}
273
274class DescribeAddressVisitor
275{
276public:
277 explicit DescribeAddressVisitor() {}
278
279 UniValue operator()(const CNoDestination& dest) const
280 {
281 return UniValue(UniValue::VOBJ);
282 }
283
284 UniValue operator()(const PKHash& keyID) const
285 {
286 UniValue obj(UniValue::VOBJ);
287 obj.pushKV("isscript", false);
288 obj.pushKV("iswitness", false);
289 return obj;
290 }
291
292 UniValue operator()(const ScriptHash& scriptID) const
293 {
294 UniValue obj(UniValue::VOBJ);
295 obj.pushKV("isscript", true);
296 obj.pushKV("iswitness", false);
297 return obj;
298 }
299
300 UniValue operator()(const WitnessV0KeyHash& id) const
301 {
302 UniValue obj(UniValue::VOBJ);
303 obj.pushKV("isscript", false);
304 obj.pushKV("iswitness", true);
305 obj.pushKV("witness_version", 0);
306 obj.pushKV("witness_program", HexStr(id));
307 return obj;
308 }
309
310 UniValue operator()(const WitnessV0ScriptHash& id) const
311 {
312 UniValue obj(UniValue::VOBJ);
313 obj.pushKV("isscript", true);
314 obj.pushKV("iswitness", true);
315 obj.pushKV("witness_version", 0);
316 obj.pushKV("witness_program", HexStr(id));
317 return obj;
318 }
319
320 UniValue operator()(const WitnessV1Taproot& tap) const
321 {
322 UniValue obj(UniValue::VOBJ);
323 obj.pushKV("isscript", true);
324 obj.pushKV("iswitness", true);
325 obj.pushKV("witness_version", 1);
326 obj.pushKV("witness_program", HexStr(tap));
327 return obj;
328 }
329
330 UniValue operator()(const WitnessUnknown& id) const
331 {

Callers 1

DescribeAddressFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected