Skip to content

Commit e6109e5

Browse files
author
Stephan February
committed
Updated P2PKH Builder fromScript() constructor
- The fromScript() constructor did not previously rebuild the internal address, because we lacked a Address.fromPubkeyHash(). Fixed now.
1 parent 09e4d45 commit e6109e5

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lib/src/transaction/p2pkh_builder.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,20 @@ class P2PKHLockBuilder extends LockingScriptBuilder {
99

1010
Address? address;
1111
List<int>? pubkeyHash;
12+
NetworkType? networkType;
1213

1314
P2PKHLockBuilder.fromAddress(Address address){
1415
this.address = address;
16+
this.networkType = address.networkType;
1517
pubkeyHash = HEX.decode(address.pubkeyHash160);
1618
}
1719

18-
P2PKHLockBuilder.fromPublicKey(SVPublicKey publicKey, {NetworkType networkType = NetworkType.MAIN}){
19-
this.address = publicKey.toAddress(networkType);
20+
P2PKHLockBuilder.fromPublicKey(SVPublicKey publicKey, {this.networkType = NetworkType.MAIN}){
21+
this.address = publicKey.toAddress(networkType ?? NetworkType.MAIN);
2022
pubkeyHash = HEX.decode(address!.pubkeyHash160);
2123
}
2224

23-
P2PKHLockBuilder.fromScript(SVScript script) : super.fromScript(script);
25+
P2PKHLockBuilder.fromScript(SVScript script, {this.networkType = NetworkType.MAIN}) : super.fromScript(script);
2426

2527
@override
2628
SVScript getScriptPubkey() {
@@ -60,6 +62,7 @@ class P2PKHLockBuilder extends LockingScriptBuilder {
6062
}
6163

6264
pubkeyHash = chunkList[2].buf;
65+
address = Address.fromPubkeyHash(HEX.encode(pubkeyHash ?? []), networkType ?? NetworkType.MAIN);
6366
}
6467
}
6568

0 commit comments

Comments
 (0)