October 31st, 2023

This release includes support for biometrics signing instead of PIN for User-Controlled Wallet and Sign messages.

Added

iOS SDK API

WalletSDK

Public Methods

  • Set up biometrics to protect PIN code
    • Parameters:
      • userToken: User token
      • encryptionKey: Encryption key
      • completion: The completion handler that will be called when biometrics setup is complete.
      • public func setBiometricsPin(userToken: String, encryptionKey: String, completion: ExecuteCompletion? = nil)

WalletSDK.Configuration

  • SettingsManagement
    • settings: Configure other settings and features
    • SettingsManagementStruct
  • ExecuteCompletion
    • ExecuteCompletionStruct
      • public let onWarning: ExecuteWarning?
    • ExecuteResult
      • /// The data of the execution
    • ChallengeType
      • case SET_BIOMETRICS_PIN
      • case SIGN_MESSAGE
      • case SIGN_TYPEDDATA
    • ExecuteResultData
      • public struct ExecuteResultData: Decodable
    • ExecuteWarning
      • public struct ExecuteWarning
    • WarningType
      • public enum WarningType: Int
  • ImageStore.Img
    • Enum Cases
      • biometricsAllowMain
      • showPin
      • hidePin

Android SDK API

WalletSDK

  • void
    • setBiometricsPin(Activity activity, String userToken, String encryptionKey,
      • Callback callback)
        Setup BiometricsForPin and call the callback after operation.

WalletSDK. Configuration

  • void
    • Configuration(String endpoint, String appId, SettingsManagement settingsManagement)
      • Init with Circle endpoint. SDK will connect to this endpoint. The SettingsManagement can bring extra setting flags to use.
  • SettingManagement
    • boolean
      • isEnableBiometricsPin()
        • Return flag that decides whether to use biometrics to protect PIN or not.
    • void
      • setEnableBiometricsPin(boolean enableBiometricsPin)
        • Set flag that decides whether to use biometrics to protect PIN or not.
  • ViewSetterProvider
    • Resource.Icon
      • biometricsAllowMain(5)
      • showPin(6)
      • hidePin(7)
      • alertWindowIcon(8)
  • Callback
    • boolean
      • onWarning(ExecuteWarning warning, R result)
  • ExecuteWarning
    • Enum Constants
      • biometricsUserSkip(155711, "User skipped the setting of using biometrics to protect PIN this time.")
      • biometricsUserDisableForPin(155712, "User disabled the function of using biometrics to protect PIN.")
      • biometricsUserLockout(155713, "Too many attempts. Try again later.")
      • biometricsUserLockoutPermanent(155714, "Too many attempts. Biometrics sensor disabled.")
      • biometricsUserNotAllowPermission(155715, "User didn't grant the permission to use biometrics")
      • //IOS ONLY
        biometricsInternalError(155716, "Biometrics internal error - %s")
  • ExecuteResult
    • ExecuteResultType
      • SIGN_MESSAGE(9)
      • SIGN_TYPEDDATA(10)
      • SET_BIOMETRICS_PIN(1000)
    • ExecuteResultData
      • The data of the execution
  • ExecuteResultType
    • Enum Constants
      • SIGN_MESSAGE(9)
      • SIGN_TYPEDDATA(10)
      • SET_BIOMETRICS_PIN(1000)
  • ExecuteResultData
    • @Nullable String
      • signature
        • The signature for SIGN_MESSAGE and SIGN_TYPEDDATA.
  • ApiError.ErrorCode
    • Enum Constants
      • biometricsSettingNotEnabled(155708)
      • deviceNotSupportBiometrics(155709)
      • biometricsKeyPermanentlyInvalidated(155710)
      • biometricsUserSkip(155711)
      • biometricsUserDisableForPin(155712)
      • biometricsUserLockout(155713)
      • biometricsUserLockoutPermanent(155714)
      • biometricsUserNotAllowPermission(155715)
      • biometricsInternalError(155716)