anchor.diff:          privateKeyForSigning = _priv;
       }
   
  -    ECDSASigner signer = _createSigner();
  -    PrivateKeyParameter privKey = new PrivateKeyParameter(new ECPrivateKey(privateKeyForSigning, EC_PARAMS));
  -    signer.init(true, privKey);
  +    ECDSASigner signer = _createSigner(new ECPrivateKey(privateKeyForSigning, EC_PARAMS));
       ECSignature ecSig = signer.generateSignature(input.bytes);
       final ECDSASignature signature = new ECDSASignature(ecSig.r, ecSig.s);
       signature.ensureCanonical();
  
positive.code:   static final _ec_n = new BigInteger("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", 16);
    static final _ec_h = new BigInteger("1", 16);
  
    static final ECCurve EC_CURVE = new fp.ECCurve(_ec_q, _ec_a, _ec_b);
  
    static final ECDomainParameters EC_PARAMS = new ECDomainParametersImpl(
        "secp256k1", EC_CURVE, EC_CURVE.decodePoint(_ec_g.toByteArray()), _ec_n, _ec_h, null);
  
    static final BigInteger HALF_CURVE_ORDER = _ec_n.shiftRight(1);
  
  
negative.code:     return Utils.equalLists(key._pub, _pub);
    }
  
    static ECDSASigner _createSigner(dynamic key) {
      var params;
      if(key is ECPublicKey)
        params = new PublicKeyParameter(key);
      else if(key is ECPrivateKey)
        params = new PrivateKeyParameter(key);
      else throw new ArgumentError("Something went wrong");
  
      Mac signerMac = new HMac(new SHA256Digest(), 64);
      // = new Mac("SHA-256/HMAC")
      return new ECDSASigner(null, signerMac)
        ..init(params is PrivateKeyParameter, params);
    }
  
  
  