Skip to content

Commit d9ae8ed

Browse files
feat: add pigeoncoin
* add pigeoncoin * fix/update ravencoin references v0.7.0
1 parent 05b50fa commit d9ae8ed

File tree

10 files changed

+109
-3
lines changed

10 files changed

+109
-3
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ If you're interested in contributing, please read the [contributing docs](https:
8282
| DOGE | [Dogecoin](https://github.com/hyperbit-dev/chains/blob/master/src/chains/doge.ts) | Yes |
8383
| RDD | [Reddcoin](https://github.com/hyperbit-dev/chains/blob/master/src/chains/rdd.ts) | Yes |
8484
| DASH | [Dash](https://github.com/hyperbit-dev/chains/blob/master/src/chains/dash.ts) | Yes |
85+
| PGN | [Pigeon](https://github.com/hyperbit-dev/chains/blob/master/src/chains/pgn) | Yes |
8586
| PPC | [Peercoin](https://github.com/hyperbit-dev/chains/blob/master/src/chains/ppc.ts) | Yes |
8687
| NMC | [Namecoin](https://github.com/hyperbit-dev/chains/blob/master/src/chains/nmc.ts) | Yes |
8788
| FTC | [Feathercoin](https://github.com/hyperbit-dev/chains/blob/master/src/chains/ftc.ts) | Yes |

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "0.6.0",
2+
"version": "0.7.0",
33
"license": "MIT",
44
"main": "dist/index.js",
55
"typings": "dist/index.d.ts",

src/chains/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export * from './mona';
1818
export * from './nav';
1919
export * from './nbt';
2020
export * from './nmc';
21+
export * from './pgn';
2122
export * from './ppc';
2223
export * from './qtum';
2324
export * from './rdd';

src/chains/pgn/base.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { Common } from '../../types';
2+
3+
export const common: Common = {
4+
name: 'Pigeoncoin',
5+
// https://github.com/Pigeoncoin/pigeoncoin/blob/fbb9aa8fd750085e9d1aded6feb8eb23002c2acf/src/policy/feerate.cpp#L10
6+
unit: 'PGN',
7+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/amount.h#L14
8+
decimalPlaces: 1e8,
9+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/validation.cpp#L119
10+
messagePrefix: 'DarkCoin Signed Message:\n',
11+
messageName: 'DarkCoin',
12+
};

src/chains/pgn/index.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { main } from './mainnet';
2+
import { test } from './testnet';
3+
4+
export const pgn = {
5+
main,
6+
test,
7+
};

src/chains/pgn/mainnet.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { Network } from '../../types';
2+
import { common } from './base';
3+
4+
export const main: Network = {
5+
...common,
6+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L345
7+
hashGenesisBlock:
8+
'0x000000f049bef9fec0179131874c54c76c0ff59f695db30a4f0da52072c99492',
9+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L513C24-L513C29
10+
port: 18757,
11+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparamsbase.cpp#L37
12+
portRpc: 9998,
13+
protocol: {
14+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L336
15+
magic: 0x3c2b3327,
16+
},
17+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L348
18+
seedsDns: [
19+
'165.232.173.117',
20+
'161.35.4.115',
21+
'159.89.177.213',
22+
'138.68.75.8',
23+
'47.151.7.226',
24+
],
25+
versions: {
26+
// https://en.bitcoin.it/wiki/BIP_0032
27+
bip32: {
28+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L358
29+
private: 0x0877a12a,
30+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L357
31+
public: 0x0877a12a,
32+
},
33+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L360
34+
bip44: 5,
35+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L356C22-L356C22
36+
private: 0x80,
37+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L354
38+
public: 0x37,
39+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L355
40+
scripthash: 0x7a,
41+
},
42+
};

src/chains/pgn/testnet.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { TestNetwork } from '../../types';
2+
import { common } from './base';
3+
4+
export const test: TestNetwork = {
5+
...common,
6+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L517C47-L517C113
7+
hashGenesisBlock:
8+
'0x000000a4d5d20f09a4cd9d47cae7e1bb056d46a1ba841ea19267341109f7b3a1',
9+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L513C24-L513C29
10+
port: 18757,
11+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparamsbase.cpp#L49
12+
portRpc: 19998,
13+
protocol: {
14+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L508
15+
magic: 0x3c2b3327,
16+
},
17+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L526
18+
seedsDns: ['45.63.29.105', '149.28.178.208'],
19+
versions: {
20+
// https://en.bitcoin.it/wiki/BIP_0032
21+
bip32: {
22+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L537
23+
private: 0x03538891,
24+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L536
25+
public: 0x035377ca,
26+
},
27+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L540
28+
bip44: 1,
29+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L534
30+
private: 0xe9,
31+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L530
32+
public: 0x70,
33+
// https://github.com/Pigeoncoin/pigeoncoin/blob/master/src/chainparams.cpp#L532
34+
scripthash: 0xc1,
35+
},
36+
};

src/chains/rvn.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,25 @@ import { Common, Network, TestNetwork } from '../types';
44

55
const common: Common = {
66
name: 'Ravencoin',
7+
// https://github.com/RavenProject/Ravencoin/blob/e48d932ec70267a62ec3541bdaf4fe022c149f0e/src/policy/feerate.cpp#L11
78
unit: 'RVN',
9+
// https://github.com/RavenProject/Ravencoin/blob/e48d932ec70267a62ec3541bdaf4fe022c149f0e/src/amount.h#L15
810
decimalPlaces: 1e8,
911
// https://github.com/RavenProject/Ravencoin/blob/c8197cd15d8886dc5c6121e3ba3f39c92445fc1b/src/validation.cpp#L129
1012
messagePrefix: '\x16Raven Signed Message:\n',
1113
};
1214

1315
const main: Network = {
1416
...common,
15-
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L411
17+
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L188
1618
hashGenesisBlock:
1719
'0000006b444bc2f2ffe627be9d9e7e7a0730000870ef6eb6da46c8eae389df90',
1820
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L181
1921
port: 8767,
2022
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparamsbase.cpp#L36
2123
portRpc: 8766,
2224
protocol: {
25+
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L177
2326
magic: 0x4e564152,
2427
},
2528
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L191
@@ -31,7 +34,9 @@ const main: Network = {
3134
versions: {
3235
// https://en.bitcoin.it/wiki/BIP_0032
3336
bip32: {
37+
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L199
3438
private: 0x0488ade4,
39+
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L198
3540
public: 0x0488b21e,
3641
},
3742
// https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp#L202

src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export type Versions = {
1515

1616
export type Common = {
1717
name: string;
18+
messageName?: string; // Message name can be different than the name (e.g. Pigeon => DarkCoin)
1819
unit: string;
1920
decimalPlaces: number;
2021
messagePrefix?: string;

src/utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ export function toBitcoinJS(chain: Network | TestNetwork): BitcoinJS {
44
return {
55
...chain,
66
messagePrefix:
7-
chain.messagePrefix || '\x19' + chain.name + ' Signed Message:\n',
7+
chain.messagePrefix ||
8+
'\x19' + (chain?.messageName ?? chain.name) + ' Signed Message:\n',
89
bech32: chain.bech32,
910
bip32: {
1011
public: chain.versions.bip32.public,

0 commit comments

Comments
 (0)