VerificationScript extends NeoSerializable { @Override public void serialize(BinaryWriter writer) throws IOException { writer.writeVarBytes(script); } 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 testSerialize() { final String key = "035fdb1d1f06759547020891ae97c729327853aeb1256b6fe0473bc2e9fa42ff50"; final ECPublicKey ecPubKey = new ECPublicKey(Numeric.hexStringToByteArray(key)); VerificationScript script = new VerificationScript(ecPubKey); byte[] expected = Numeric.hexStringToByteArray("" + Numeric.toHexStringNoPrefix((byte) VERIFICATION_SCRIPT_SIZE) + OpCode.PUSHDATA1.toString() + "21" + key + OpCode.PUSHNULL.toString() + OpCode.SYSCALL.toString() + InteropServiceCode.NEO_CRYPTO_VERIFYWITHECDSASECP256R1.getHash() ); assertArrayEquals(expected, script.toArray()); }