anchor.diff:    }
   
     static bool verifySignatureForPubkey(Uint8List data, ECDSASignature signature, Uint8List pubkey) {
  -    ECDSASigner signer = _createSigner();
  -    PublicKeyParameter params = new PublicKeyParameter(
  -        new ECPublicKey(EC_PARAMS.curve.decodePoint(pubkey), EC_PARAMS));
  -    signer.init(false, params);
  +    ECDSASigner signer = _createSigner(new ECPublicKey(EC_PARAMS.curve.decodePoint(pubkey), EC_PARAMS));
       ECSignature ecSig = new ECSignature(signature.r, signature.s);
       return signer.verifySignature(data, ecSig);
     }
  
positive.code:   /** Decompress a compressed public key (x co-ord and low-bit of y-coord). */
    static ECPoint _decompressKey(BigInteger xBN, bool yBit) {
      // This code is adapted from Bouncy Castle ECCurve.Fp.decodePoint(), but it wasn't easily re-used.
      fp.ECCurve curve = EC_CURVE;
      ECFieldElement x = new fp.ECFieldElement(curve.q, xBN);
      ECFieldElement alpha = x * (x.square() + curve.a) + curve.b;
      ECFieldElement beta = alpha.sqrt();
  
negative.code:         privateKeyForSigning = _priv;
      }
  
      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();
  