Skip to content

Commit cfa2484

Browse files
committed
Include Base58 encoded prefixes chainparams
1 parent 07f9733 commit cfa2484

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

src/kernel/chainparams.cpp

+30
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,12 @@ class CMainParams : public CChainParams {
160160
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
161161
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};
162162

163+
base58EncodedPrefixes[PUBKEY_ADDRESS] = {"1"};
164+
base58EncodedPrefixes[SCRIPT_ADDRESS] = {"3"};
165+
base58EncodedPrefixes[SECRET_KEY] = {"5","K","L"};
166+
base58EncodedPrefixes[EXT_PUBLIC_KEY] = {"xpub"};
167+
base58EncodedPrefixes[EXT_SECRET_KEY] = {"xpriv"};
168+
163169
bech32_hrp = "bc";
164170

165171
vFixedSeeds = std::vector<uint8_t>(std::begin(chainparams_seed_main), std::end(chainparams_seed_main));
@@ -273,6 +279,12 @@ class CTestNetParams : public CChainParams {
273279
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
274280
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
275281

282+
base58EncodedPrefixes[PUBKEY_ADDRESS] = {"m","n"};
283+
base58EncodedPrefixes[SCRIPT_ADDRESS] = {"2"};
284+
base58EncodedPrefixes[SECRET_KEY] = {"9","c"};
285+
base58EncodedPrefixes[EXT_PUBLIC_KEY] = {"tpub"};
286+
base58EncodedPrefixes[EXT_SECRET_KEY] = {"tpriv"};
287+
276288
bech32_hrp = "tb";
277289

278290
vFixedSeeds = std::vector<uint8_t>(std::begin(chainparams_seed_test), std::end(chainparams_seed_test));
@@ -377,6 +389,12 @@ class CTestNet4Params : public CChainParams {
377389
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
378390
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
379391

392+
base58EncodedPrefixes[PUBKEY_ADDRESS] = {"m","n"};
393+
base58EncodedPrefixes[SCRIPT_ADDRESS] = {"2"};
394+
base58EncodedPrefixes[SECRET_KEY] = {"9","c"};
395+
base58EncodedPrefixes[EXT_PUBLIC_KEY] = {"tpub"};
396+
base58EncodedPrefixes[EXT_SECRET_KEY] = {"tpriv"};
397+
380398
bech32_hrp = "tb";
381399

382400
vFixedSeeds = std::vector<uint8_t>(std::begin(chainparams_seed_testnet4), std::end(chainparams_seed_testnet4));
@@ -511,6 +529,12 @@ class SigNetParams : public CChainParams {
511529
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
512530
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
513531

532+
base58EncodedPrefixes[PUBKEY_ADDRESS] = {"m","n"};
533+
base58EncodedPrefixes[SCRIPT_ADDRESS] = {"2"};
534+
base58EncodedPrefixes[SECRET_KEY] = {"9","c"};
535+
base58EncodedPrefixes[EXT_PUBLIC_KEY] = {"tpub"};
536+
base58EncodedPrefixes[EXT_SECRET_KEY] = {"tpriv"};
537+
514538
bech32_hrp = "tb";
515539

516540
fDefaultConsistencyChecks = false;
@@ -648,6 +672,12 @@ class CRegTestParams : public CChainParams
648672
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
649673
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
650674

675+
base58EncodedPrefixes[PUBKEY_ADDRESS] = {"m","n"};
676+
base58EncodedPrefixes[SCRIPT_ADDRESS] = {"2"};
677+
base58EncodedPrefixes[SECRET_KEY] = {"9","c"};
678+
base58EncodedPrefixes[EXT_PUBLIC_KEY] = {"tpub"};
679+
base58EncodedPrefixes[EXT_SECRET_KEY] = {"tpriv"};
680+
651681
bech32_hrp = "bcrt";
652682
}
653683
};

src/kernel/chainparams.h

+2
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ class CChainParams
118118
/** Return the list of hostnames to look up for DNS seeds */
119119
const std::vector<std::string>& DNSSeeds() const { return vSeeds; }
120120
const std::vector<unsigned char>& Base58Prefix(Base58Type type) const { return base58Prefixes[type]; }
121+
const std::vector<std::string_view>& Base58EncodedPrefix(Base58Type type) const { return base58EncodedPrefixes[type]; }
121122
const std::string& Bech32HRP() const { return bech32_hrp; }
122123
const std::vector<uint8_t>& FixedSeeds() const { return vFixedSeeds; }
123124
const CCheckpointData& Checkpoints() const { return checkpointData; }
@@ -176,6 +177,7 @@ class CChainParams
176177
uint64_t m_assumed_chain_state_size;
177178
std::vector<std::string> vSeeds;
178179
std::vector<unsigned char> base58Prefixes[MAX_BASE58_TYPES];
180+
std::vector<std::string_view> base58EncodedPrefixes[MAX_BASE58_TYPES];
179181
std::string bech32_hrp;
180182
ChainType m_chain_type;
181183
CBlock genesis;

0 commit comments

Comments
 (0)