# @airmoney-degn/controller-sdk

## 7.11.0

### Minor Changes

- Enforce Mandatory PIN Authentication for all Crypto Service API Methods

## 7.10.0

### Minor Changes

- Update appp to go back to app launcher

## 7.9.3

### Patch Changes

- Correct type

## 7.9.2

### Patch Changes

- CI CD update

## 7.9.1

### Patch Changes

- Correct ts type

## 7.9.0

### Minor Changes

- Update user messages

## 7.8.0

### Minor Changes

- Respond userMessage along with error for more detail on AirMoneyService error

## 7.7.0

### Minor Changes

- Remove /assets path config

## 7.6.0

### Minor Changes

- Verify key event correctly

## 7.5.0

### Minor Changes

- Prevent back to home in simulator mode

## 7.4.0

### Minor Changes

- Be able to listen to custom event

## 7.3.0

### Minor Changes

- Be able to input window to AirMoneyKeyEvent

## 7.2.0

### Minor Changes

- Add utility functions for key event management

## 7.1.0

### Minor Changes

- Remove update service, cache service

## 7.0.0

### Major Changes

- Hide internal methods from public API

## 6.3.4

### Patch Changes

- Testing CI

## 6.3.3

### Patch Changes

- Don't dispatch simulator event anymore, all simulator events should be forced to native keyboard event

## 6.3.2

### Patch Changes

- Implement getBluetoothDevices method

## 6.3.1

### Patch Changes

- Define disconnectWifi method

## 6.3.0

### Minor Changes

- Add getDeviceMacAddresses method and update types for AirMoneyService

  - Implemented getDeviceMacAddresses method to retrieve MAC addresses for WiFi and Bluetooth devices.
  - Updated AMServiceMethodMap and types to include getDeviceMacAddresses and its response structure.

## 6.2.0

### Minor Changes

- Improve key combination handling in AirMoneyKeyEvent

  - Refactored key combination logic to enhance efficiency and clarity.
  - Introduced sorting of combinations and added methods for handling complete combinations.
  - Improved callback notifications for key events, ensuring accurate state management.
  - Updated debug logging for better traceability of key actions.

## 6.1.1

### Patch Changes

- Add debug option to AirMoneyKeyEventManager

  - Added a debug setting to show detailed logs when keys are pressed
  - The system now shows which key actions are triggered and their names when debug mode is turned on, making it easier to see what's happening during development

## 6.1.0

### Minor Changes

- Enhance CoinGecko service with new duration handling and data conversion utilities

  - Introduced CG_DURATIONS for time intervals in minutes.
  - Added mapDurationToDays method to convert durations to days.
  - Refactored existing methods to use request instead of fetchWithAuth for consistency.
  - Updated types to CGCoinMarket and CGContractData for clarity.
  - Added new utility functions for converting kline data to TradingView formats.
  - Exported new utility functions in the utils directory.

## 6.0.3

### Patch Changes

- Export type-guards utils

## 6.0.2

### Patch Changes

- - Updated generateEvmWallet method to accept an optional params object, enhancing flexibility in wallet creation.
  - This change aligns with recent updates to other wallet-related types, ensuring consistency across the service.

## 6.0.1

### Patch Changes

- - Made the code easier to manage by grouping related files together
  - Created a new system to handle keyboard and button events more efficiently
  - Added helpful tools to make key events work better
  - Organized the code structure to be cleaner and easier to maintain
  - Improved how different parts of the app work together

## 6.0.0

### Major Changes

- Added new guide and made event manager easier to use

  - Added clear instructions and examples for using the AirMoney Device Controller.
  - Made it easier to manage key events by letting you set which actions are more important and when they should happen.
  - Improved the types so it’s simpler to understand and use the new trigger system.

## 5.7.1

### Patch Changes

- Made it easier to use the signEip712TypedData feature
  Now you just need to provide one object with both the address and the typed data, making things simpler and more consistent

## 5.7.0

### Minor Changes

- - Added signEip712TypedData and verifyEip1271Signature methods for EIP712 signature handling.
  - Introduced getSvmOptions and getBitcoinOptions methods for retrieving options related to SVM and Bitcoin wallets.
  - Updated generateSolanaWallet and generateBitcoinWallet methods to accept parameters for enhanced flexibility.
  - Expanded type definitions in airmoney-service.ts to support new methods and parameters, improving type safety.

## 5.6.2

### Patch Changes

- - Introduced generateUniversalWallet and restoreUniversalWallet methods in AirMoneyCryptoService for managing universal wallets.
  - Added corresponding request and response types for universal wallet operations to enhance type safety and clarity.

## 5.6.1

### Patch Changes

- Update to use new API restoreSvmWallet API structure

## 5.6.0

### Minor Changes

- Add BTC methods

## 5.5.0

### Minor Changes

- Add default wallet management methods

  - Implemented setDefaultEvmWallet and getDefaultEvmWallet methods in AirMoneyCryptoService for managing default EVM wallets.
  - Added setDefaultSvmWallet and getDefaultSvmWallet methods for managing default SVM wallets.
  - Updated type definitions for new wallet management methods and responses.
  - Enhanced type safety and clarity in the airmoney-service types.

## 5.4.1

### Patch Changes

- - Implemented restoreEvmWallet method in AirMoneyCryptoService for EVM wallet restoration.
  - Added corresponding types for AMCryptoServiceRestoreEvmWalletParams and AMCryptoServiceRestoreEvmWalletResponse.
  - Updated errorWrapper and updateServiceErrorWrapper to enhance type safety.

## 5.4.0

### Minor Changes

- Introduce AirMoneyKeyEventManager for managing key event listener

## 5.3.1

### Patch Changes

- Add API for removing app

## 5.3.0

### Minor Changes

- - Added key combination handling with immediate, multi-callback support.
  - Enabled dynamic, simplified configuration.
  - Improved key event logging for better tracking

## 5.2.5

### Patch Changes

- - Refactored methods in AirMoneyCryptoService and AirMoneyService to use await for request handling, improving asynchronous behavior.
  - Added signEVMRawTransaction method to AirMoneyCryptoService for signing EVM transactions with normalized input.
  - Updated type definitions to include AMCryptoServiceSignEvmRawTransactionParams.
  - Enhanced overall code readability and maintainability.

## 5.2.4

### Patch Changes

- - Introduced cryptoServiceErrorWrapper and airmoneyServiceErrorWrapper for enhanced error handling.
  - Improved consistency in error management across services.

## 5.2.3

### Patch Changes

- - Implemented restoreSvmWallet method for restoring SVM wallets using mnemonic and optional passphrase.
  - Updated type definitions to include AMCryptoServiceRestoreSvmWalletParams and AMCryptoServiceRestoreSvmWalletResponse.
  - Enhanced service functionality for wallet management.

## 5.2.2

### Patch Changes

- - Changed method definitions to use arrow function syntax for consistency.
  - Updated method signatures in AirMoneyCryptoService, AirMoneyService, and AirMoneyUpdateService.
  - Improved readability and maintainability of the service classes.

## 5.2.1

### Patch Changes

- - Renamed displayImage and displayGif methods to setImage and setAnimate respectively.
  - Introduced throttling configuration for setImage and setAnimate methods.
  - Updated type definitions to reflect new method names and parameters.
  - Enhanced method handling to support throttling logic.

## 5.2.0

### Minor Changes

- - Add throttling support for methods to execute only the last call within a time window
  - Default throttling time set to 40ms
  - Add setMethodConfig to configure throttling per method
  - Support enabling/disabling throttling and custom time windows

## 5.1.2

### Patch Changes

- - Changed AirMoneyUpdateService to export the class.
  - Updated appVersions method to return a single AMServiceAppVersionsResponse instead of an array.
  - Modified type definitions in update-service to reflect new versioning fields.

## 5.1.1

### Patch Changes

- Update AMUpdateServiceAppCheck type to allow null values for current_version and current_build

## 5.1.0

### Minor Changes

- - Implemented getPairingStatus method in AirMoneyService to retrieve the current pairing status.
  - Added AMServicePairingStatusResponse type to support the new method.
  - Updated AMServiceMethodMap to include getPairingStatus method.

## 5.0.0

### Major Changes

- - Refactored AirMoneyUpdateService to use updated response types prefixed with AMUpdateService.
  - Introduced new types for handling success and error responses in update-service.ts.
  - Enhanced error handling in errorWrapper with a new updateServiceErrorWrapper function.
  - Updated type guards to support new update service response types.

## 4.5.0

### Minor Changes

- - Replaced the "dev" script in package.json to point to a new dev.sh script.
  - Added a new dev.sh script to check for global yalc installation and provide instructions if not found, along with commands to build and publish packages.
  - Enhanced the backToHome function in navigation.ts to include search parameters for improved app linking.

## 4.4.1

### Patch Changes

- - Introduced AMServiceInternetCheckRawResponse type for raw response handling.
  - Modified internetCheck method to parse the raw response and return AMServiceInternetCheckResponse.

## 4.4.0

### Minor Changes

- - Introduced new methods in AirMoneyService for managing haptic effects: getHapticEffects, getHapticConfig, and setHapticEffect.
  - Added corresponding types for haptic effects and configuration in airmoney-service and haptic files.
  - Created a test script to check for yalc installation and facilitate local package management.

## 4.3.0

### Minor Changes

- Changed the app link format from `.local` to `.internal` for improved internal routing

## 4.2.0

### Minor Changes

- Rename appId to appName in AirMoneyService and update metadata retrieval

## 4.1.0

### Minor Changes

- Update service API changes

## 4.0.2

### Patch Changes

- Update path for setImage and setAnimate

## 4.0.1

### Patch Changes

- Correct endpoint path in appVersions method of AirMoneyUpdateService

## 4.0.0

### Major Changes

- Adapt with system update

## 3.9.1

### Patch Changes

- Enhance update service

## 3.9.0

### Minor Changes

- Introduce update service

## 3.8.0

### Minor Changes

- Upgrade AirmoneyService to include some more functions for setting app

## 3.7.0

### Minor Changes

- Auto detech identifier

## 3.6.2

### Patch Changes

- Document updated and mark MPC-related code as deprecated

## 3.6.1

### Patch Changes

- Export transaction types

## 3.6.0

### Minor Changes

- Publish crypto service

## 3.5.3

### Patch Changes

- Revert backToHome function

## 3.5.2

### Patch Changes

- Fix backToHome not workingh sometimes

## [3.5.2] - 2024-04-11

### Fixed

- Fixed backToHome function to handle cases where window.origin is not available by redirecting to localhost

## 3.5.1

### Patch Changes

- Update README

## 3.5.0

### Minor Changes

- Export response type definitions in AirMoneyCryptoService for better accessibility

## 3.4.0

### Minor Changes

- Add success and error response type guards in AirMoneyCryptoService

## 3.3.0

### Minor Changes

- Add serializeToHex utility and re-export converter in utils

## 3.2.0

### Minor Changes

- Add AirMoneyCryptoService with EVM and Solana operations, streamline response handling in AirMoneyCryptoService

## 3.1.0

### Minor Changes

- Streamline response handling in AirMoneyCryptoService

## 3.0.2

### Patch Changes

- Update AirmoneyService to check for undefined AIRMONEY_APP_ID instead of falsy value

## 3.0.1

### Patch Changes

- Update environment variable references in AirmoneyService and vite.config to use window object for consistency

## 3.0.0

### Major Changes

- Update environment variable references in AirmoneyService and vite.config for consistency

## 2.0.1

### Patch Changes

- Update AirMoneyService to use APP_ID and ASSETS_PATH environment variables in image path utility

## 2.0.0

### Major Changes

- Enhance AirMoneyService with environment variable checks and image path utility

## 1.2.2

### Patch Changes

- Correct export backToHome

## 1.2.1

### Patch Changes

- Bump version

## 1.2.0

### Minor Changes

- Add utility functions for navigation and validation, and export them in the SDK

## 1.1.2

### Patch Changes

- Update AMResponse type definition and improve signSolanaTransaction method formatting

## 1.1.1

### Patch Changes

- Bump version

## 1.1.0

### Minor Changes

- Add crypto service

## 1.0.1

### Patch Changes

- Prevent default behaviour of key event

## 1.0.0

### Major Changes

- Change class name
