Skip to content

Commit

Permalink
Merge pull request #3787 from BitGo/BTC-0.add-raw-base58-parsing
Browse files Browse the repository at this point in the history
feat(utxo-bin): add regular base58 parsing
  • Loading branch information
OttoAllmendinger authored Aug 8, 2023
2 parents af61fcf + 41e856d commit 1ab47e2
Show file tree
Hide file tree
Showing 50 changed files with 108 additions and 2 deletions.
1 change: 1 addition & 0 deletions modules/utxo-bin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"bech32": "^2.0.0",
"bitcoinjs-lib": "npm:@bitgo-forks/[email protected]",
"bn.js": "^5.2.1",
"bs58": "^5.0.0",
"bs58check": "^2.1.2",
"cashaddress": "^1.1.0",
"chalk": "4",
Expand Down
7 changes: 7 additions & 0 deletions modules/utxo-bin/src/AddressParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import * as bech32 from 'bech32';

import { Parser, ParserNode } from './Parser';

const bs58 = require('bs58');
const bs58check = require('bs58check');
const cashaddress = require('cashaddress');

Expand Down Expand Up @@ -57,6 +58,11 @@ export class AddressParser extends Parser {
}

parseBase58(address: string): ParserNode[] {
const payload = bs58.decode(address);
return [this.node('payload', payload)];
}

parseBase58Check(address: string): ParserNode[] {
const payload = bs58check.decode(address);
return [
this.node('payload', payload),
Expand Down Expand Up @@ -125,6 +131,7 @@ export class AddressParser extends Parser {

return [
...decodeWith('base58', this.parseBase58.bind(this)),
...decodeWith('base58Check', this.parseBase58Check.bind(this)),
...decodeWith('bech32', this.parseBech32.bind(this)),
...decodeWith('bech32m', this.parseBech32m.bind(this)),
...decodeWith('cashaddr', this.parseCashaddr.bind(this)),
Expand Down
7 changes: 5 additions & 2 deletions modules/utxo-bin/src/Parser.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export type ParserNodeValue = number | bigint | string | Buffer | boolean | undefined | null;
export type ParserNodeValue = number | bigint | string | Buffer | Uint8Array | boolean | undefined | null;

export function isParserNodeValue(v: unknown): v is ParserNodeValue {
switch (typeof v) {
Expand All @@ -9,7 +9,7 @@ export function isParserNodeValue(v: unknown): v is ParserNodeValue {
case 'bigint':
return true;
case 'object':
return v === null || Buffer.isBuffer(v);
return v === null || Buffer.isBuffer(v) || v instanceof Uint8Array;
}
return false;
}
Expand All @@ -27,6 +27,9 @@ export class Parser {
this.parseError = params.parseError ?? 'continue';
}
node(label: string | number, value: ParserNodeValue, nodes: ParserNode[] = []): ParserNode {
if (!isParserNodeValue(value)) {
throw new Error(`invalid node value ${typeof value}`);
}
return {
type: 'node',
label: String(label),
Expand Down
3 changes: 3 additions & 0 deletions modules/utxo-bin/src/format.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ export function formatTree(
if (Buffer.isBuffer(v)) {
return `${v.toString('hex')} ${chalk.dim(`(${v.length} bytes)`)}`;
}
if (v instanceof Uint8Array) {
return getLabelFromValue(Buffer.from(v));
}
}
throw new Error(`could not get label from value ${typeof v}`);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt
├─┬ base58
│ └── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1a6727ebd (25 bytes)
├─┬ base58Check
│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 0
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb
├─┬ base58
│ └── payload: 05179ddf848a574c6fdb30e6e564f2c8b8fc1135451b11bbc4 (25 bytes)
├─┬ base58Check
│ ├── payload: 05179ddf848a574c6fdb30e6e564f2c8b8fc113545 (21 bytes)
│ ├── version: 5
│ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW
├─┬ base58
│ └── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bb4eab7ff (25 bytes)
├─┬ base58Check
│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 5
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW
├─┬ base58
│ └── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bb4eab7ff (25 bytes)
├─┬ base58Check
│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 5
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
address: bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex
├─┬ base58
│ └── payload: 0576877ae3e52efff978360035cc4ab3e9901f00b73c4ace62b5cda6df0fb165592fc18b0ea529e4502798708a65 (46 bytes)
├─┬ bech32m
│ ├── prefix: bc
│ ├── words: 0107080c051b1a15101411051b041812151b0a050e1c070b1704141311041a1c111a061014070e0011041902031b0004080e091310 (53 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ
├─┬ base58
│ └── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f122697ba2 (25 bytes)
├─┬ base58Check
│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 6f
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW
├─┬ base58
│ └── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bc6292d41 (25 bytes)
├─┬ base58Check
│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: c4
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt
├─┬ base58
│ └── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1a6727ebd (25 bytes)
├─┬ base58Check
│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 0
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW
├─┬ base58
│ └── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bb4eab7ff (25 bytes)
├─┬ base58Check
│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 5
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW
├─┬ base58
│ └── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bb4eab7ff (25 bytes)
├─┬ base58Check
│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 5
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ
├─┬ base58
│ └── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f122697ba2 (25 bytes)
├─┬ base58Check
│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 6f
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di
├─┬ base58
│ └── payload: c4179ddf848a574c6fdb30e6e564f2c8b8fc1135456d756f29 (25 bytes)
├─┬ base58Check
│ ├── payload: c4179ddf848a574c6fdb30e6e564f2c8b8fc113545 (21 bytes)
│ ├── version: c4
│ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW
├─┬ base58
│ └── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bc6292d41 (25 bytes)
├─┬ base58Check
│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: c4
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w
├─┬ base58
│ └── payload: 26d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1a959685a (25 bytes)
├─┬ base58Check
│ ├── payload: 26d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 26
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m
├─┬ base58
│ └── payload: 17179ddf848a574c6fdb30e6e564f2c8b8fc113545b0624dec (25 bytes)
├─┬ base58Check
│ ├── payload: 17179ddf848a574c6fdb30e6e564f2c8b8fc113545 (21 bytes)
│ ├── version: 17
│ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja
├─┬ base58
│ └── payload: 172f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b6e7ed3fd (25 bytes)
├─┬ base58Check
│ ├── payload: 172f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 17
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ
├─┬ base58
│ └── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f122697ba2 (25 bytes)
├─┬ base58Check
│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 6f
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW
├─┬ base58
│ └── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bc6292d41 (25 bytes)
├─┬ base58Check
│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: c4
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt
├─┬ base58
│ └── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1a6727ebd (25 bytes)
├─┬ base58Check
│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 0
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW
├─┬ base58
│ └── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bb4eab7ff (25 bytes)
├─┬ base58Check
│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 5
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x
├─┬ base58
│ └── payload: 8cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1d2499beb (25 bytes)
├─┬ base58Check
│ ├── payload: 8cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 8c
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E
├─┬ base58
│ └── payload: 132f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b509ffdd3 (25 bytes)
├─┬ base58Check
│ ├── payload: 132f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 13
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k
├─┬ base58
│ └── payload: 4cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f108510301 (25 bytes)
├─┬ base58Check
│ ├── payload: 4cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 4c
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE
├─┬ base58
│ └── payload: 102f5e2d8f4ee34ccd1a4130975b9fe635ff65e02ba1c78cbd (25 bytes)
├─┬ base58Check
│ ├── payload: 102f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 10
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY
├─┬ base58
│ └── payload: 71d2970bfc64117e397dc5cb7a9afe9f8b22dca1f15aeeab79 (25 bytes)
├─┬ base58Check
│ ├── payload: 71d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 71
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW
├─┬ base58
│ └── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bc6292d41 (25 bytes)
├─┬ base58Check
│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: c4
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad
├─┬ base58
│ └── payload: 1ed2970bfc64117e397dc5cb7a9afe9f8b22dca1f11296ef52 (25 bytes)
├─┬ base58Check
│ ├── payload: 1ed2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 1e
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad
├─┬ base58
│ └── payload: 162f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b1acd338a (25 bytes)
├─┬ base58Check
│ ├── payload: 162f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 16
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ
├─┬ base58
│ └── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f122697ba2 (25 bytes)
├─┬ base58Check
│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 6f
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW
├─┬ base58
│ └── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bc6292d41 (25 bytes)
├─┬ base58Check
│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: c4
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt
├─┬ base58
│ └── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1a6727ebd (25 bytes)
├─┬ base58Check
│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 0
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW
├─┬ base58
│ └── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bb4eab7ff (25 bytes)
├─┬ base58Check
│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 5
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW
├─┬ base58
│ └── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bb4eab7ff (25 bytes)
├─┬ base58Check
│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 5
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ
├─┬ base58
│ └── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f122697ba2 (25 bytes)
├─┬ base58Check
│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 6f
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5
├─┬ base58
│ └── payload: 3a179ddf848a574c6fdb30e6e564f2c8b8fc11354598e77e90 (25 bytes)
├─┬ base58Check
│ ├── payload: 3a179ddf848a574c6fdb30e6e564f2c8b8fc113545 (21 bytes)
│ ├── version: 3a
│ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3
├─┬ base58
│ └── payload: 3a2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02bbc23b452 (25 bytes)
├─┬ base58Check
│ ├── payload: 3a2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 3a
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv
├─┬ base58
│ └── payload: 30d2970bfc64117e397dc5cb7a9afe9f8b22dca1f13c51bb2d (25 bytes)
├─┬ base58Check
│ ├── payload: 30d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 30
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr
├─┬ base58
│ └── payload: 32179ddf848a574c6fdb30e6e564f2c8b8fc113545be849c27 (25 bytes)
├─┬ base58Check
│ ├── payload: 32179ddf848a574c6fdb30e6e564f2c8b8fc113545 (21 bytes)
│ ├── version: 32
│ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5
├─┬ base58
│ └── payload: 322f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b03febf94 (25 bytes)
├─┬ base58Check
│ ├── payload: 322f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (21 bytes)
│ ├── version: 32
│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ
├─┬ base58
│ └── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f122697ba2 (25 bytes)
├─┬ base58Check
│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (21 bytes)
│ ├── version: 6f
│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 (20 bytes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
address: 2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di
├─┬ base58
│ └── payload: c4179ddf848a574c6fdb30e6e564f2c8b8fc1135456d756f29 (25 bytes)
├─┬ base58Check
│ ├── payload: c4179ddf848a574c6fdb30e6e564f2c8b8fc113545 (21 bytes)
│ ├── version: c4
│ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 (20 bytes)
Expand Down
Loading

0 comments on commit 1ab47e2

Please sign in to comment.