@@ -93,7 +93,7 @@ public boolean verify() {
9393 byte [] signature = Hex .decode (this .signature );
9494 byte [] hash = Sha256Hash .hash (Serializer .serialize (this , true , true , false ));
9595
96- return verifier (this . signature ).verify (hash , keys , signature );
96+ return verifier ().verify (hash , keys , signature );
9797 }
9898
9999 public boolean secondVerify (String secondPublicKey ) {
@@ -102,50 +102,9 @@ public boolean secondVerify(String secondPublicKey) {
102102 byte [] signature = Hex .decode (this .secondSignature );
103103 byte [] hash = Sha256Hash .hash (Serializer .serialize (this , false , true , false ));
104104
105- return verifier (this . secondSignature ).verify (hash , keys , signature );
105+ return verifier ().verify (hash , keys , signature );
106106 }
107-
108- public boolean multiVerify (int min , List <String > publicKeys ) {
109- if (publicKeys .isEmpty ()) {
110- throw new RuntimeException ("The multi signature asset is invalid." );
111- }
112-
113- byte [] hash = Sha256Hash .hash (Serializer .serialize (this , true , true , true ));
114-
115- Set <Integer > publicKeyIndexes = new HashSet <>();
116- int verifiedSignatures = 0 ;
117- boolean verified = false ;
118- for (int i = 0 ; i < this .signatures .size (); i ++) {
119- String signature = this .signatures .get (i );
120- int publicKeyIndex = Integer .parseInt (signature .substring (0 , 2 ), 16 );
121-
122- if (!publicKeyIndexes .contains (publicKeyIndex )) {
123- publicKeyIndexes .add (publicKeyIndex );
124- } else {
125- throw new RuntimeException ("Duplicate participant in multi signature" );
126- }
127-
128- String partialSignature = signature .substring (2 );
129- String publicKey = publicKeys .get (publicKeyIndex );
130-
131- if (verifier (partialSignature )
132- .verify (
133- hash ,
134- ECKey .fromPublicOnly (Hex .decode (publicKey )),
135- Hex .decode (partialSignature ))) {
136- verifiedSignatures ++;
137- }
138-
139- if (verifiedSignatures == min ) {
140- verified = true ;
141- break ;
142- } else if (signatures .size () - (i + 1 - verifiedSignatures ) < min ) {
143- break ;
144- }
145- }
146- return verified ;
147- }
148-
107+
149108 public String toJson () {
150109 GsonBuilder gsonBuilder = new GsonBuilder ();
151110 return gsonBuilder .create ().toJson (this .toHashMap ());
@@ -206,7 +165,7 @@ private Signer signer() {
206165 return new SchnorrSigner ();
207166 }
208167
209- private Verifier verifier (String signature ) {
168+ private Verifier verifier () {
210169 return new SchnorrVerifier ();
211170 }
212171}
0 commit comments