MCPcopy Create free account
hub / github.com/BTCGPU/BTCGPU / DescribeAddressVisitor

Class DescribeAddressVisitor

src/rpc/util.cpp:69–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67}
68
69class DescribeAddressVisitor : public boost::static_visitor<UniValue>
70{
71public:
72 explicit DescribeAddressVisitor() {}
73
74 UniValue operator()(const CNoDestination& dest) const
75 {
76 return UniValue(UniValue::VOBJ);
77 }
78
79 UniValue operator()(const CKeyID& keyID) const
80 {
81 UniValue obj(UniValue::VOBJ);
82 obj.pushKV("isscript", false);
83 obj.pushKV("iswitness", false);
84 return obj;
85 }
86
87 UniValue operator()(const CScriptID& scriptID) const
88 {
89 UniValue obj(UniValue::VOBJ);
90 obj.pushKV("isscript", true);
91 obj.pushKV("iswitness", false);
92 return obj;
93 }
94
95 UniValue operator()(const WitnessV0KeyHash& id) const
96 {
97 UniValue obj(UniValue::VOBJ);
98 obj.pushKV("isscript", false);
99 obj.pushKV("iswitness", true);
100 obj.pushKV("witness_version", 0);
101 obj.pushKV("witness_program", HexStr(id.begin(), id.end()));
102 return obj;
103 }
104
105 UniValue operator()(const WitnessV0ScriptHash& id) const
106 {
107 UniValue obj(UniValue::VOBJ);
108 obj.pushKV("isscript", true);
109 obj.pushKV("iswitness", true);
110 obj.pushKV("witness_version", 0);
111 obj.pushKV("witness_program", HexStr(id.begin(), id.end()));
112 return obj;
113 }
114
115 UniValue operator()(const WitnessUnknown& id) const
116 {
117 UniValue obj(UniValue::VOBJ);
118 obj.pushKV("iswitness", true);
119 obj.pushKV("witness_version", (int)id.version);
120 obj.pushKV("witness_program", HexStr(id.program, id.program + id.length));
121 return obj;
122 }
123};
124
125UniValue DescribeAddress(const CTxDestination& dest)
126{

Callers 1

DescribeAddressFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected