VerificationScript extends NeoSerializable { @Override public void deserialize(BinaryReader reader) throws DeserializationException { try { script = reader.readVarBytes(); } catch (IOException e) { throw new DeserializationException(e); } } 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 testDeserialize() throws DeserializationException { final String key = "035fdb1d1f06759547020891ae97c729327853aeb1256b6fe0473bc2e9fa42ff50"; String script = "" + OpCode.PUSHDATA1.toString() + "21" + key + OpCode.PUSHNULL.toString() + OpCode.SYSCALL.toString() + InteropServiceCode.NEO_CRYPTO_VERIFYWITHECDSASECP256R1.getHash(); byte[] serialized = Numeric.hexStringToByteArray("" + Numeric.toHexStringNoPrefix((byte) VERIFICATION_SCRIPT_SIZE) + script); VerificationScript verificationScript = NeoSerializableInterface.from(serialized, VerificationScript.class); assertThat(verificationScript.getScript(), is(Numeric.hexStringToByteArray(script))); }