code: function (version, input, alphabet) {
          var buffer = Base58Utils.decode_base(input, alphabet);
  
          if (!buffer || buffer[0] !== version || buffer.length < 5) {
            return NaN;
          }
  
          var computed = SHA256(SHA256(buffer.slice(0, -4))).slice(0, 4),
              checksum = buffer.slice(-4);
  
          var i;
          for (i = 0; i != 4; i += 1)
            if (computed[i] !== checksum[i])
              return NaN;
  
          return buffer.slice(1, -4);
        }
docs: --> input : String <-- NaN || BigInteger