Skip to content

Commit dcfd9b9

Browse files
committed
Use built-in Groovy String.decodeHex()
instead of custom StringUtil.hexToBinary()
1 parent d17e564 commit dcfd9b9

File tree

4 files changed

+18
-42
lines changed

4 files changed

+18
-42
lines changed

src/test/groovy/co/bitwatch/libbitcoinconsensus/BitcoinConsensusSpec.groovy

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import co.bitwatch.libbitcoinconsensus.exceptions.DeserializeException
44
import co.bitwatch.libbitcoinconsensus.exceptions.TxIndexOutOfBoundsException
55
import spock.lang.Specification
66

7-
import static co.bitwatch.libbitcoinconsensus.util.StringUtil.hexToBinary
8-
97
/**
108
* Tests for Java wrapper of libbitcoinconsensus
119
*/
@@ -15,8 +13,8 @@ class BitcoinConsensusSpec extends Specification {
1513

1614
def testBitcoinConsensusVerifyScript_OK() {
1715
given:
18-
def scriptPubKey = hexToBinary("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac")
19-
def txTo = hexToBinary("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000")
16+
def scriptPubKey = "76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac".decodeHex()
17+
def txTo = "01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000".decodeHex()
2018
def nIn = 0
2119

2220
when:
@@ -28,8 +26,8 @@ class BitcoinConsensusSpec extends Specification {
2826

2927
def testBitcoinConsensusVerifyScript_InvalidScript() {
3028
given:
31-
def scriptPubKey = hexToBinary("76a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac")
32-
def txTo = hexToBinary("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000")
29+
def scriptPubKey = "76a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac".decodeHex()
30+
def txTo = "01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000".decodeHex()
3331
def nIn = 0
3432

3533
when:
@@ -41,8 +39,8 @@ class BitcoinConsensusSpec extends Specification {
4139

4240
def testBitcoinConsensusVerifyScript_InvalidTxIndex() {
4341
given:
44-
def scriptPubKey = hexToBinary("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac")
45-
def txTo = hexToBinary("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000")
42+
def scriptPubKey = "76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac".decodeHex()
43+
def txTo = "01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000".decodeHex()
4644
def nIn = 1 // out of bounds
4745

4846
when:
@@ -54,8 +52,8 @@ class BitcoinConsensusSpec extends Specification {
5452

5553
def testBitcoinConsensusVerifyScript_InvalidSerialization() {
5654
given:
57-
def scriptPubKey = hexToBinary("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac")
58-
def txTo = hexToBinary("abcd") // invalid
55+
def scriptPubKey = "76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac".decodeHex()
56+
def txTo = "abcd".decodeHex() // invalid
5957
def nIn = 0
6058

6159
when:

src/test/groovy/co/bitwatch/libbitcoinconsensus/LibBitcoinConsensusSpec.groovy

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import com.sun.jna.ptr.IntByReference
55
import spock.lang.Specification
66

77
import static co.bitwatch.libbitcoinconsensus.LibBitcoinConsensus.*
8-
import static co.bitwatch.libbitcoinconsensus.util.StringUtil.hexToBinary
98

109
/**
1110
* Tests for JNA binding of libbitcoinconsensus
@@ -16,8 +15,8 @@ class LibBitcoinConsensusSpec extends Specification {
1615

1716
def testLibBitcoinConsensusVerifyScript_OK() {
1817
given:
19-
def scriptPubKey = hexToBinary("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac")
20-
def txTo = hexToBinary("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000")
18+
def scriptPubKey = "76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac".decodeHex()
19+
def txTo = "01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000".decodeHex()
2120
def nIn = 0
2221
def flags = bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE
2322

@@ -32,8 +31,8 @@ class LibBitcoinConsensusSpec extends Specification {
3231

3332
def testLibBitcoinConsensusVerifyScript_InvalidScript() {
3433
given:
35-
def txTo = hexToBinary("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000")
36-
def scriptPubKey = hexToBinary("76a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac")
34+
def txTo = "01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000".decodeHex()
35+
def scriptPubKey = "76a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac".decodeHex()
3736
def nIn = 0
3837
def flags = bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE
3938

@@ -48,8 +47,8 @@ class LibBitcoinConsensusSpec extends Specification {
4847

4948
def testLibBitcoinConsensusVerifyScript_InvalidTxIndex() {
5049
given:
51-
def scriptPubKey = hexToBinary("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac")
52-
def txTo = hexToBinary("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000")
50+
def scriptPubKey = "76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac".decodeHex()
51+
def txTo = "01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000".decodeHex()
5352
def nIn = 1 // out of bounds
5453
def flags = bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE
5554

@@ -64,8 +63,8 @@ class LibBitcoinConsensusSpec extends Specification {
6463

6564
def testLibBitcoinConsensusVerifyScript_InvalidSerialization() {
6665
given:
67-
def scriptPubKey = hexToBinary("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac")
68-
def txTo = hexToBinary("abcd") // invalid
66+
def scriptPubKey = "76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac".decodeHex()
67+
def txTo = "abcd".decodeHex() // invalid
6968
def nIn = 0
7069
def flags = bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE
7170

@@ -80,8 +79,8 @@ class LibBitcoinConsensusSpec extends Specification {
8079

8180
def testLibBitcoinConsensusVerifyScript_InvalidLength() {
8281
given:
83-
def scriptPubKey = hexToBinary("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac")
84-
def txTo = hexToBinary("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000")
82+
def scriptPubKey = "76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac".decodeHex()
83+
def txTo = "01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000".decodeHex()
8584
def txToLen = txTo.length+ 5 // mismatch
8685
def nIn = 0
8786
def flags = bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE

src/test/java/co/bitwatch/libbitcoinconsensus/util/StringUtil.java

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/test/java/co/bitwatch/libbitcoinconsensus/util/package-info.java

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)