@Test
public void testFromPublicKeys() {

    final String key1 = "035fdb1d1f06759547020891ae97c729327853aeb1256b6fe0473bc2e9fa42ff50";
    final String key2 = "03eda286d19f7ee0b472afd1163d803d620a961e1581a8f2704b52c0285f6e022d";
    List<ECPublicKey> publicKeys = Arrays.asList(
            new ECPublicKey(Numeric.hexStringToByteArray(key1)),
            new ECPublicKey(Numeric.hexStringToByteArray(key2)));
    VerificationScript script = new VerificationScript(publicKeys, 2);
    byte[] expected = Numeric.hexStringToByteArray(""
            + OpCode.PUSH2.toString() // n = 2, signing threshold
            + OpCode.PUSHDATA1.toString() + "21"  // PUSHDATA 33 bytes
            + key1 // public key
            + OpCode.PUSHDATA1.toString() + "21"  // PUSHDATA 33 bytes
            + key2 // public key
            + OpCode.PUSH2.toString() // m = 2, number of keys
            + OpCode.PUSHNULL.toString()
            + OpCode.SYSCALL.toString()
            + InteropServiceCode.NEO_CRYPTO_CHECKMULTISIGWITHECDSASECP256R1.getHash()
    );
    assertArrayEquals(expected, script.getScript());
}