sign method

String sign({
  1. required String secret,
  2. required SortedMap<Comparable, dynamic> query,
})

Generate a signature needed for the REST authentication as defined here: https://bybit-exchange.github.io/docs/inverse/?console#t-constructingtherequest

Implementation

String sign({required String secret, required SortedMap query}) {
  var queryString = '';
  query.forEach((key, value) {
    queryString += '$key=$value&';
  });
  // remove last '&' from string
  queryString = queryString.substring(0, queryString.length - 1);
  var msg = utf8.encode(queryString);
  var key = utf8.encode(secret);
  var hmac = Hmac(sha256, key);
  return hmac.convert(msg).toString();
}