VerificationScript extends NeoSerializable { public boolean isSingleSigScript() { if (script.length != 41) { return false; } String interopService = Numeric.toHexStringNoPrefix(ArrayUtils.getLastNBytes(script, 4)); return script[0] == OpCode.PUSHDATA1.getCode() && script[1] == 33 && script[35] == OpCode.PUSHNULL.getCode() && script[36] == OpCode.SYSCALL.getCode() && interopService.equals( InteropServiceCode.NEO_CRYPTO_VERIFYWITHECDSASECP256R1.getHash()); } VerificationScript();  VerificationScript(byte[] script);  VerificationScript(ECPublicKey publicKey);  VerificationScript(List<ECPublicKey> publicKeys, int signingThreshold); byte[] getScript(); @Override byte[] toArray(); ScriptHash getScriptHash(); @Override int getSize(); int getSigningThreshold(); int getNrOfAccounts(); boolean isSingleSigScript(); boolean isMultiSigScript(); List<ECPublicKey> getPublicKeys(); @Override void deserialize(BinaryReader reader); @Override void serialize(BinaryWriter writer); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void isSingleSigScript() { byte[] scriptBytes = Numeric.hexStringToByteArray("" + OpCode.PUSHDATA1.toString() + "21" + "02028a99826edc0c97d18e22b6932373d908d323aa7f92656a77ec26e8861699ef" + OpCode.PUSHNULL.toString() + OpCode.SYSCALL.toString() + InteropServiceCode.NEO_CRYPTO_VERIFYWITHECDSASECP256R1.getHash()); VerificationScript s = new VerificationScript(scriptBytes); assertTrue(s.isSingleSigScript()); }