UNPKG

@metamask/snaps-rpc-methods

Version:
735 lines (450 loc) 33 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [17.1.0] ### Added - Add support for using the messenger in preinstalled Snaps via `endowment:messenger` ([#4055](https://github.com/MetaMask/snaps/pull/4055)) ### Changed - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#4064](https://github.com/MetaMask/snaps/pull/4064)) - Bump `@metamask/superstruct` from `^3.2.1` to `^3.3.0` ([#4062](https://github.com/MetaMask/snaps/pull/4062)) ## [17.0.0] ### Changed - **BREAKING:** Use `withKeyringV2Unsafe` for accessing entropy ([#4009](https://github.com/MetaMask/snaps/pull/4009)) - Bump `@metamask/permission-controller` from `13.1.0` to `13.1.1` ([#4002](https://github.com/MetaMask/snaps/pull/4002)) ## [16.0.0] ### Changed - **BREAKING:** Use messenger for permitted method implementations ([#3987](https://github.com/MetaMask/snaps/pull/3987)) - `createSnapsMethodMiddleware` now requires a `messenger` parameter. - `createSnapsMethodMiddleware` will throw if the expected hooks are not passed. - Most previously used method hooks are no longer required. - **BREAKING:** Use messenger for restricted method implementations ([#3968](https://github.com/MetaMask/snaps/pull/3968)) - `buildSnapRestrictedMethodSpecifications` now requires a `messenger` parameter. - Most previously used method hooks are no longer required. - **BREAKING:** Assert expected hooks for restricted method specifications ([#3993](https://github.com/MetaMask/snaps/pull/3993)) - `buildSnapRestrictedMethodSpecifications` will now throw if the expected hooks are not passed. - Bump `@metamask/permission-controller` `12.3.0` to `^13.1.0` ([#3984](https://github.com/MetaMask/snaps/pull/3984), [#3989](https://github.com/MetaMask/snaps/pull/3989)) - Bump `@metamask/json-rpc-engine` from `^10.2.4` to `^10.5.0` ([#3982](https://github.com/MetaMask/snaps/pull/3982), [#3992](https://github.com/MetaMask/snaps/pull/3992), [#3998](https://github.com/MetaMask/snaps/pull/3998)) - Bump `@metamask/messenger` from `^1.1.1` to `^1.2.0` ([#3981](https://github.com/MetaMask/snaps/pull/3981)) ### Removed - **BREAKING:** `selectHooks` and `permittedMethods` are no longer exported ([#3987](https://github.com/MetaMask/snaps/pull/3987)) - A `selectHooks` implementation is exported from `@metamask/json-rpc-engine` if needed. ## [15.1.1] ### Fixed - Make `KeyringOrigin` caveat explicitly optional ([#3955](https://github.com/MetaMask/snaps/pull/3955)) ## [15.1.0] ### Added - Add `capabilities` caveat support to `endowment:keyring` ([#3903](https://github.com/MetaMask/snaps/pull/3903)) - Snap manifests can now declare a `capabilities` object under `endowment:keyring` describing the capabilities supported by the keyring. - New `getKeyringCaveatCapabilities` function to retrieve the capabilities caveat value from a permission. ### Changed - Bump `@metamask/messenger` from `^1.1.0` to `^1.1.1` ([#3944](https://github.com/MetaMask/snaps/pull/3944)) - Bump `@metamask/utils` from `^11.10.0` to `^11.11.0` ([#3935](https://github.com/MetaMask/snaps/pull/3935)) ## [15.0.2] ### Changed - Bump `@metamask/json-rpc-engine` from `^10.2.3` to `^10.2.4` ([#3925](https://github.com/MetaMask/snaps/pull/3925)) - Bump `@metamask/messenger` from `^0.3.0` to `^1.1.0` ([#3930](https://github.com/MetaMask/snaps/pull/3930), [#3934](https://github.com/MetaMask/snaps/pull/3934)) - Bump `@metamask/permission-controller` from `^12.2.1` to `^12.3.0` ([#3930](https://github.com/MetaMask/snaps/pull/3930)) ## [15.0.1] ### Changed - Bump `@metamask/snaps-controllers` from `18.0.4` to `19.0.0` and handle breaking changes ([#3922](https://github.com/MetaMask/snaps/pull/3922)) ## [15.0.0] ### Changed - Track whether interface has been displayed before allowing `snap_getInterfaceState` ([#3888](https://github.com/MetaMask/snaps/pull/3888)) ### Removed - **BREAKING:** Remove `snap_getCurrencyRate` ([#3866](https://github.com/MetaMask/snaps/pull/3866)) - **BREAKING:** Remove `snap_experimentalProviderRequest` ([#3858](https://github.com/MetaMask/snaps/pull/3858)) ### Fixed - Require any interface permission to use RPC methods ([#3864](https://github.com/MetaMask/snaps/pull/3864)) ## [14.3.0] ### Added - Add middleware to validate `wallet_snap` permission request ([#3838](https://github.com/MetaMask/snaps/pull/3838)) ### Fixed - Cleanup endowment handling of `maxRequestTime` ([#3826](https://github.com/MetaMask/snaps/pull/3826)) ## [14.2.0] ### Added - Add Multichain API support ([#3759](https://github.com/MetaMask/snaps/pull/3759)) ### Changed - Bump `@metamask/json-rpc-engine` from `10.2.0` to `10.2.1` ([#3804](https://github.com/MetaMask/snaps/pull/3804)) - Bump `@metamask/permission-controller` from `12.1.0` to `12.2.0` ([#3746](https://github.com/MetaMask/snaps/pull/3746), [#3791](https://github.com/MetaMask/snaps/pull/3791)) - Bump `@metamask/utils` from `11.8.1` to `11.9.0` ([#3783](https://github.com/MetaMask/snaps/pull/3783)) ### Fixed - Prevent concurrent `wallet_requestSnaps` requests ([#3800](https://github.com/MetaMask/snaps/pull/3800)) ## [14.1.1] ### Fixed - Use mutex when modifying state using `snap_setState` ([#3742](https://github.com/MetaMask/snaps/pull/3742)) ## [14.1.0] ### Changed - Include client and platform versions in `snap_getClientStatus` ([#3724](https://github.com/MetaMask/snaps/pull/3724)) - Bump `@metamask/permission-controller` from `12.0.0` to `12.1.0` ([#3714](https://github.com/MetaMask/snaps/pull/3714)) ## [14.0.0] ### Changed - **BREAKING**: `handleSnapInstall` now accepts a `messenger` parameter of type `Messenger` instead of a `messagingSystem` parameter of type `RestrictedMessenger` ([#3611](https://github.com/MetaMask/snaps/pull/3611)) - **BREAKING**: `MockControllerMessenger` now extends `Messenger` from `@metamask/messenger` instead of from `@metamask/base-controller` ([#3611](https://github.com/MetaMask/snaps/pull/3611)) - Bump `@metamask/permission-controller` from `^11.0.6` to `^12.0.0`(([#3611](https://github.com/MetaMask/snaps/pull/3611)) ### Removed - Remove `@metamask/base-controller` dependency ([#3611](https://github.com/MetaMask/snaps/pull/3611)) ## [13.5.3] ### Fixed - Wait for unlock before handling `manageAccounts` requests ([#3686](https://github.com/MetaMask/snaps/pull/3686)) - Throw if Snap not installed ([#3666](https://github.com/MetaMask/snaps/pull/3666)) ## [13.5.2] ### Changed - Reduce JSON validation during state updates ([#3660](https://github.com/MetaMask/snaps/pull/3660)) - As part of this change, JSON sizing limits are not longer enforced for preinstalled Snaps. - Adjust hooks after interface actions were made synchronous ([#3361](https://github.com/MetaMask/snaps/pull/3361)) - Bump MetaMask dependencies ([#3651](https://github.com/MetaMask/snaps/pull/3651), [#3638](https://github.com/MetaMask/snaps/pull/3638), [#3648](https://github.com/MetaMask/snaps/pull/3648), [#3630](https://github.com/MetaMask/snaps/pull/3630), [#3628](https://github.com/MetaMask/snaps/pull/3628), [#3629](https://github.com/MetaMask/snaps/pull/3629), [#3607](https://github.com/MetaMask/snaps/pull/3607), [#3623](https://github.com/MetaMask/snaps/pull/3623), [#3612](https://github.com/MetaMask/snaps/pull/3612)) ## [13.5.1] ### Fixed - Await `sendWebSocketMessage` promise ([#3608](https://github.com/MetaMask/snaps/pull/3608)) - Errors were not previously being thrown when calling `snap_sendWebSocketMessage`, this also fixes that. ## [13.5.0] ### Changed - Use `TrackableErrorStruct` from `@metamask/snaps-utils` ([#3546](https://github.com/MetaMask/snaps/pull/3546)) ## [13.4.0] ### Added - Add support `onActive` and `onInactive` lifecycle hooks ([#3542](https://github.com/MetaMask/snaps/pull/3542)) ### Changed - Bump `@metamask/rpc-errors` from `7.0.2` to `7.0.3` ([#3525](https://github.com/MetaMask/snaps/pull/3525)) - Bump `@metamask/utils` from `11.4.1` to `11.4.2` ([#3526](https://github.com/MetaMask/snaps/pull/3526)) ## [13.3.0] ### Added - Add middleware for automatically granting EVM permissions to preinstalled Snaps ([#3410](https://github.com/MetaMask/snaps/pull/3410)) - Add `snap_startTrace` and `snap_endTrace` methods for performance tracing ([#3519](https://github.com/MetaMask/snaps/pull/3519)) ## [13.2.0] ### Added - Add `snap_trackError` method for error tracking through Sentry ([#3498](https://github.com/MetaMask/snaps/pull/3498)) - Add support for `onAssetsMarketData` handler ([#3496](https://github.com/MetaMask/snaps/pull/3496)) ## [13.1.0] ### Added - Add RPC methods for WebSockets ([#3450](https://github.com/MetaMask/snaps/pull/3450), [#3459](https://github.com/MetaMask/snaps/pull/3459)) - Add `onStart` to lifecycle hooks endowment ([#3455](https://github.com/MetaMask/snaps/pull/3455)) ## [13.0.0] ### Changed - **BREAKING:** Drop support for Node.js 18 and 21 ([#3447](https://github.com/MetaMask/snaps/pull/3447)) - **BREAKING:** Refactor background event methods to reduce duplication ([#3421](https://github.com/MetaMask/snaps/pull/3421)) - This requires `@metamask/snaps-controllers` version `13.0.0` or later. ## [12.4.0] ### Added - Add `active` flag for `snap_getClientStatus` ([#3424](https://github.com/MetaMask/snaps/pull/3424)) ### Fixed - Prevent scheduling background events less than 1 second in the future ([#3414](https://github.com/MetaMask/snaps/pull/3414)) ## [12.3.0] ### Added - Add support for SIP-31 `onClientRequest` handler ([#3394](https://github.com/MetaMask/snaps/pull/3394)) - Add `showTestnets` to `snap_getPreferences` ([#3395](https://github.com/MetaMask/snaps/pull/3395)) ## [12.2.0] ### Added - Add `snap_trackEvent` method ([#3375](https://github.com/MetaMask/snaps/pull/3375)) ### Changed - Bump `@metamask/utils` from `11.2.0` to `11.3.0` ([#3232](https://github.com/MetaMask/snaps/pull/3232)) ## [12.1.0] ### Added - Add `onAssetHistoricalPrice` handler ([#3282](https://github.com/MetaMask/snaps/pull/3282)) ## [12.0.0] ### Changed - **BREAKING:** Use mnemonic seed for `snap_get*Entropy` RPC methods ([#3220](https://github.com/MetaMask/snaps/pull/3220)) - A `getMnemonicSeed` hook is now required to support the RPC methods. - Use mnemonic seed for state encryption key derivation ([#3217](https://github.com/MetaMask/snaps/pull/3217)) ## [11.13.1] ### Fixed - Unlock client before calling `getEntropySources` in `snap_listEntropySources` method ([#3194](https://github.com/MetaMask/snaps/pull/3194)) ## [11.13.0] ### Added - Implement SIP-30 ([#3156](https://github.com/MetaMask/snaps/pull/3156), [#3165](https://github.com/MetaMask/snaps/pull/3165)) - This adds a `snap_listEntropySources` method, which returns a list of entropy sources. - The `snap_get*Entropy` methods now accept an optional `source` parameter to specify the entropy source to use. ## [11.12.0] ### Added - Add additional properties to `snap_getPreferences` ([#3093](https://github.com/MetaMask/snaps/pull/3093)) ### Changed - Bump MetaMask dependencies ([#3091](https://github.com/MetaMask/snaps/pull/3091), [#3082](https://github.com/MetaMask/snaps/pull/3082), [#3050](https://github.com/MetaMask/snaps/pull/3050)) ## [11.11.0] ### Added - Add `endowment:protocol` permission ([#2875](https://github.com/MetaMask/snaps/pull/2875)) ## [11.10.0] ### Added - Add `endowment:assets` permission ([#3028](https://github.com/MetaMask/snaps/pull/3028)) ## [11.9.1] ### Fixed - Validate state size in `snap_setState` method ([#3025](https://github.com/MetaMask/snaps/pull/3025)) - Improve error messages for `snap_manageState` and `snap_setState` methods ([#3025](https://github.com/MetaMask/snaps/pull/3025)) ## [11.9.0] ### Added - Add support for non-recurring cronjobs via `snap_scheduleBackgroundEvent` ([#2941](https://github.com/MetaMask/snaps/pull/2941), [#2975](https://github.com/MetaMask/snaps/pull/2975)) - Add `snap_getState`, `snap_setState`, `snap_clearState` RPC methods ([#2916](https://github.com/MetaMask/snaps/pull/2916)) - Add `hideBalances` to `snap_getPreferences` ([#2978](https://github.com/MetaMask/snaps/pull/2978)) ### Changed - Bump MetaMask dependencies ([#2946](https://github.com/MetaMask/snaps/pull/2946), [#2999](https://github.com/MetaMask/snaps/pull/2999), [#2989](https://github.com/MetaMask/snaps/pull/2989)) ## [11.8.0] ### Added - Add `onSettingsPage` endowment ([#2911](https://github.com/MetaMask/snaps/pull/2911)) ## [11.7.0] ### Added - Add JSX `content` property to `snap_notify` ([#2881](https://github.com/MetaMask/snaps/pull/2881)) - This content will be displayed in an upcoming expanded view for notifications. - Add `getClientCryptography` hook for specifying custom cryptography functions ([#2909](https://github.com/MetaMask/snaps/pull/2909)) ## [11.6.0] ### Added - Add `snap_getInterfaceContext` JSON-RPC method ([#2902](https://github.com/MetaMask/snaps/pull/2902)) ## [11.5.1] ### Changed - Bump MetaMask dependencies ([#2853](https://github.com/MetaMask/snaps/pull/2853)) ## [11.5.0] ### Removed - Remove support for JSX in `snap_notify` notifications ([#2837](https://github.com/MetaMask/snaps/pull/2837)) - This is technically a breaking change, but this feature was never actually implemented, so it should not affect any existing code. - This will be re-implemented in a future release. ## [11.4.0] ### Added - Add `snap_experimentalProviderRequest` JSON-RPC method ([#2773](https://github.com/MetaMask/snaps/pull/2773)) - This method is experimental and will likely be removed in a future release. ### Changed - Allow updating interface context ([#2809](https://github.com/MetaMask/snaps/pull/2809)) - `snap_updateInterface` now accepts a `context` parameter to update the context of an interface. ### Fixed - Use `BigInt` to parse chain IDs ([#2781](https://github.com/MetaMask/snaps/pull/2781)) ## [11.3.0] ### Added - Add `snap_getCurrencyRate` JSON-RPC method ([#2763](https://github.com/MetaMask/snaps/pull/2763)) ## [11.2.0] ### Added - Add support for `metamask:` schemed URLs ([#2719](https://github.com/MetaMask/snaps/pull/2719)) - Add support for JSX in `snap_notify` notifications ([#2706](https://github.com/MetaMask/snaps/pull/2706)) ## [11.1.1] ### Fixed - Fix invalid types in type declaration in some cases ([#2714](https://github.com/MetaMask/snaps/pull/2714)) ## [11.1.0] ### Changed - Improve error messaging ([#2696](https://github.com/MetaMask/snaps/pull/2696)) - Increase character limit for in-app notification messages ([#2684](https://github.com/MetaMask/snaps/pull/2684)) ### Fixed - Fix ESM version of the package ([#2682](https://github.com/MetaMask/snaps/pull/2682)) - This fixes the ESM version of the package to be fully compliant with the ESM standard. - Bump `@metamask/utils` from `^9.1.0` to `^9.2.1` ([#2680](https://github.com/MetaMask/snaps/pull/2680)) - Bump other MetaMask dependencies ([#2703](https://github.com/MetaMask/snaps/pull/2703)) ## [11.0.0] ### Added - **BREAKING:** Add `snap_getPreferences` ([#2607](https://github.com/MetaMask/snaps/pull/2607)) - This is breaking because a `getPreferences` method hook is now required. ## [10.0.1] ### Changed - Bump `@metamask/json-rpc-engine` from `^9.0.0` to `^9.0.2` ([#2593](https://github.com/MetaMask/snaps/pull/2593)) - Bump `@metamask/permission-controller` from `^10.0.1` to `^11.0.0` ([#2593](https://github.com/MetaMask/snaps/pull/2593)) - Bump `@metamask/snaps-utils` from `^7.8.0` to `^7.8.1` ([#2595](https://github.com/MetaMask/snaps/pull/2595)) ## [10.0.0] ### Added - **BREAKING:** `snap_dialog` now takes the `requestUserApproval` hook ([#2509](https://github.com/MetaMask/snaps/pull/2509)) - It should bind to the `addAndShowRequest` method of the `ApprovalController`. - Add type `DialogApprovalTypes` and object `DIALOG_APPROVAL_TYPES`. ### Changed - Bump `@metamask/key-tree` from `^9.1.1` to `^9.1.2` ([#2445](https://github.com/MetaMask/snaps/pull/2445)) - Bump `@metamask/permission-controller` from `^10.0.0` to `^10.0.1` ([#2445](https://github.com/MetaMask/snaps/pull/2445)) - Bump `@metamask/rpc-errors` from `^6.2.1` to `^6.3.1` ([#2445](https://github.com/MetaMask/snaps/pull/2445)) - Bump `@metamask/utils` from `^8.3.0` to `^9.1.0` ([#2445](https://github.com/MetaMask/snaps/pull/2445)) ### Fixed - Replace `superstruct` with ESM-compatible `@metamask/superstruct` `^3.1.0` ([#2445](https://github.com/MetaMask/snaps/pull/2445)) - This fixes the issue of this package being unusable by any TypeScript project that uses `Node16` or `NodeNext` as its `moduleResolution` option. ## [9.1.4] ### Changed - Bump MetaMask dependencies ([#2516](https://github.com/MetaMask/snaps/pull/2516)) ## [9.1.3] ### Changed - Bump MetaMask dependencies ([#2460](https://github.com/MetaMask/snaps/pull/2460)) ## [9.1.2] ### Fixed - Fix invalid `@metamask/snaps-sdk` imports ([#2452](https://github.com/MetaMask/snaps/pull/2452)) ## [9.1.1] ### Changed - Bump `@metamask/key-tree` from `9.1.0` to `9.1.1` ([#2431](https://github.com/MetaMask/snaps/pull/2431)) ## [9.1.0] ### Added - Add `context` field to `snap_createInterface` ([#2413](https://github.com/MetaMask/snaps/pull/2413)) ## [9.0.0] ### Added - Add support for BIP-32-Ed25519 / CIP-3 key derivation ([#2408](https://github.com/MetaMask/snaps/pull/2408)) - The `ed25519Bip32` curve is now supported for `snap_getBip32Entropy` and `snap_getBip32PublicKey` ### Changed - **BREAKING:** Use hooks in `wallet_invokeSnap` instead of remapping the request to `wallet_snap` ([#2406](https://github.com/MetaMask/snaps/pull/2406)) ## [8.1.0] ### Added - Add JSX support for custom UI ([#2258](https://github.com/MetaMask/snaps/pull/2258)) ## [8.0.0] ### Changed - **BREAKING:** Refactor to support changes to encryption ([#2316](https://github.com/MetaMask/snaps/pull/2316)) - No longer expects `encrypt` or `decrypt`, instead expects `updateSnapState` and `getSnapState` to be asynchronous ## [7.0.2] ### Changed - Bump MetaMask dependencies ([#2270](https://github.com/MetaMask/snaps/pull/2270)) - Bump @metamask/json-rpc-engine from 7.3.2 to 7.3.3 ([#2247](https://github.com/MetaMask/snaps/pull/2247)) ## [7.0.1] ### Fixed - Fix minor build configuration problems ([#2220](https://github.com/MetaMask/snaps/pull/2220)) ## [7.0.0] ### Changed - **BREAKING:** Update ESM build to be fully compliant with the ESM standard ([#2210](https://github.com/MetaMask/snaps/pull/2210)) - Bump `@metamask/rpc-errors` to `^6.2.1` ([#2209](https://github.com/MetaMask/snaps/pull/2209)) ## [6.0.0] ### Added - **BREAKING:** Add support for dynamic user interfaces ([#1465](https://github.com/MetaMask/snaps/pull/1465), [#2144](https://github.com/MetaMask/snaps/pull/2144), [#2143](https://github.com/MetaMask/snaps/pull/2143)) - This adds the `snap_createInterface`, `snap_updateInterface`, and `snap_getInterfaceState` methods. - This is breaking because it changes the expected type of the `showDialog` RPC method hook. - **BREAKING:** Update the permission format for the name lookup endowment ([#2113](https://github.com/MetaMask/snaps/pull/2113)) - The new format is documented in [SIP-12](https://metamask.github.io/SIPs/SIPS/sip-12). - Add endowment permission specifications to this package ([#2155](https://github.com/MetaMask/snaps/pull/2155)) ### Changed - Bump MetaMask dependencies ([#2129](https://github.com/MetaMask/snaps/pull/2129), [#2142](https://github.com/MetaMask/snaps/pull/2142)) ## [5.0.0] ### Added - Add `snap_getClientStatus` ([#2051](https://github.com/MetaMask/snaps/pull/2051)) ### Changed - **BREAKING:** Use origin bound hooks for `invokeKeyring` ([#2090](https://github.com/MetaMask/snaps/pull/2090)) - Bump several MetaMask dependencies ([#2069](https://github.com/MetaMask/snaps/pull/2069), [#2100](https://github.com/MetaMask/snaps/pull/2100)) ## [4.1.0] ### Added - Add `wallet_getAllSnaps` method to get all installed Snaps ([#2047](https://github.com/MetaMask/snaps/pull/2047)) ### Changed - Bump several MetaMask dependencies ([#2064](https://github.com/MetaMask/snaps/pull/2064), [#2065](https://github.com/MetaMask/snaps/pull/2065)) ## [4.0.3] ### Changed - Use prototype `startsWith` for RPC method middleware ([#2035](https://github.com/MetaMask/snaps/pull/2035)) ## [4.0.2] ### Changed - Bump several MetaMask dependencies ([#1989](https://github.com/MetaMask/snaps/pull/1989)) ## [4.0.1] ### Changed - Bump several MetaMask dependencies ([#1964](https://github.com/MetaMask/snaps/pull/1964), [#1968](https://github.com/MetaMask/snaps/pull/1968)) ## [4.0.0] ### Changed - Use `@metamask/snaps-sdk` package ([#1930](https://github.com/MetaMask/snaps/pull/1930), [#1950](https://github.com/MetaMask/snaps/pull/1950), [#1954](https://github.com/MetaMask/snaps/pull/1954)) - This package replaces the `@metamask/snaps-types` and - `@metamask/snaps-ui` packages. ### Removed - **BREAKING**: Remove `DialogType`, `ManageStateOperation`, and `NotificationType` enums ([#1930](https://github.com/MetaMask/snaps/pull/1930)) - These are now defined in the `@metamask/snaps-sdk` package. ## [3.3.0] ### Added - Add support for unencrypted storage using `snap_manageState` ([#1902](https://github.com/MetaMask/snaps/pull/1902)) ## [3.2.1] ### Fixed - Fix `assertLinksAreSafe` import ([#1908](https://github.com/MetaMask/snaps/pull/1908)) ## [3.2.0] ### Added - Add support for links in custom UI and notifications ([#1814](https://github.com/MetaMask/snaps/pull/1814)) ## [3.1.0] ### Changed - Rename package to `@metamask/snaps-rpc-methods` ([#1864](https://github.com/MetaMask/snaps/pull/1864)) - Update multiple MetaMask dependencies ([#1841](https://github.com/MetaMask/snaps/pull/1841)) ## [3.0.0] ### Added - Add keyring export and endowment ([#1787](https://github.com/MetaMask/snaps/pull/1787)) ### Changed - **BREAKING:** Bump minimum Node.js version to `^18.16.0` ([#1741](https://github.com/MetaMask/snaps/pull/1741)) ## [2.0.0] ### Changed - Initial stable release from main branch ([#1757](https://github.com/MetaMask/snaps/pull/1757)) ## [0.38.3-flask.1] ### Changed - Bump `metamask/utils` and `metamask/snaps-registry` ([#1738](https://github.com/MetaMask/snaps/pull/1738)) ## [0.38.2-flask.1] ### Changed - Remove business-logic callbacks from `manageAccounts` ([#1725](https://github.com/MetaMask/snaps/pull/1725)) - Bump `@metamask/utils` and `@metamask/snaps-registry` ([#1694](https://github.com/MetaMask/snaps/pull/1694)) ## [0.38.1-flask.1] ### Fixed - Make `manageAccounts` arguments extend `RestrictedMethodParameters` ([#1687](https://github.com/MetaMask/snaps/pull/1687)) ## [0.38.0-flask.1] ### Added - Add `snap_getLocale` JSON-RPC method ([#1557](https://github.com/MetaMask/snaps/pull/1557)) - This will let snaps get the user locale from the client. ### Fixed - Fix ed25519 public key derivation ([#1678](https://github.com/MetaMask/snaps/pull/1678)) ## [0.37.2-flask.1] ### Changed - Release package independently ([#1600](https://github.com/MetaMask/snaps/pull/1600)) - The version of the package no longer needs to match the version of all other MetaMask Snaps packages. [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@17.1.0...HEAD [17.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@17.0.0...@metamask/snaps-rpc-methods@17.1.0 [17.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@16.0.0...@metamask/snaps-rpc-methods@17.0.0 [16.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@15.1.1...@metamask/snaps-rpc-methods@16.0.0 [15.1.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@15.1.0...@metamask/snaps-rpc-methods@15.1.1 [15.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@15.0.2...@metamask/snaps-rpc-methods@15.1.0 [15.0.2]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@15.0.1...@metamask/snaps-rpc-methods@15.0.2 [15.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@15.0.0...@metamask/snaps-rpc-methods@15.0.1 [15.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@14.3.0...@metamask/snaps-rpc-methods@15.0.0 [14.3.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@14.2.0...@metamask/snaps-rpc-methods@14.3.0 [14.2.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@14.1.1...@metamask/snaps-rpc-methods@14.2.0 [14.1.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@14.1.0...@metamask/snaps-rpc-methods@14.1.1 [14.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@14.0.0...@metamask/snaps-rpc-methods@14.1.0 [14.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.5.3...@metamask/snaps-rpc-methods@14.0.0 [13.5.3]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.5.2...@metamask/snaps-rpc-methods@13.5.3 [13.5.2]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.5.1...@metamask/snaps-rpc-methods@13.5.2 [13.5.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.5.0...@metamask/snaps-rpc-methods@13.5.1 [13.5.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.4.0...@metamask/snaps-rpc-methods@13.5.0 [13.4.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.3.0...@metamask/snaps-rpc-methods@13.4.0 [13.3.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.2.0...@metamask/snaps-rpc-methods@13.3.0 [13.2.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.1.0...@metamask/snaps-rpc-methods@13.2.0 [13.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.0.0...@metamask/snaps-rpc-methods@13.1.0 [13.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.4.0...@metamask/snaps-rpc-methods@13.0.0 [12.4.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.3.0...@metamask/snaps-rpc-methods@12.4.0 [12.3.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.2.0...@metamask/snaps-rpc-methods@12.3.0 [12.2.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.1.0...@metamask/snaps-rpc-methods@12.2.0 [12.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.0.0...@metamask/snaps-rpc-methods@12.1.0 [12.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.13.1...@metamask/snaps-rpc-methods@12.0.0 [11.13.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.13.0...@metamask/snaps-rpc-methods@11.13.1 [11.13.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.12.0...@metamask/snaps-rpc-methods@11.13.0 [11.12.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.11.0...@metamask/snaps-rpc-methods@11.12.0 [11.11.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.10.0...@metamask/snaps-rpc-methods@11.11.0 [11.10.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.9.1...@metamask/snaps-rpc-methods@11.10.0 [11.9.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.9.0...@metamask/snaps-rpc-methods@11.9.1 [11.9.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.8.0...@metamask/snaps-rpc-methods@11.9.0 [11.8.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.7.0...@metamask/snaps-rpc-methods@11.8.0 [11.7.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.6.0...@metamask/snaps-rpc-methods@11.7.0 [11.6.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.5.1...@metamask/snaps-rpc-methods@11.6.0 [11.5.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.5.0...@metamask/snaps-rpc-methods@11.5.1 [11.5.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.4.0...@metamask/snaps-rpc-methods@11.5.0 [11.4.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.3.0...@metamask/snaps-rpc-methods@11.4.0 [11.3.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.2.0...@metamask/snaps-rpc-methods@11.3.0 [11.2.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.1.1...@metamask/snaps-rpc-methods@11.2.0 [11.1.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.1.0...@metamask/snaps-rpc-methods@11.1.1 [11.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.0.0...@metamask/snaps-rpc-methods@11.1.0 [11.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@10.0.1...@metamask/snaps-rpc-methods@11.0.0 [10.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@10.0.0...@metamask/snaps-rpc-methods@10.0.1 [10.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@9.1.4...@metamask/snaps-rpc-methods@10.0.0 [9.1.4]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@9.1.3...@metamask/snaps-rpc-methods@9.1.4 [9.1.3]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@9.1.2...@metamask/snaps-rpc-methods@9.1.3 [9.1.2]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@9.1.1...@metamask/snaps-rpc-methods@9.1.2 [9.1.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@9.1.0...@metamask/snaps-rpc-methods@9.1.1 [9.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@9.0.0...@metamask/snaps-rpc-methods@9.1.0 [9.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@8.1.0...@metamask/snaps-rpc-methods@9.0.0 [8.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@8.0.0...@metamask/snaps-rpc-methods@8.1.0 [8.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@7.0.2...@metamask/snaps-rpc-methods@8.0.0 [7.0.2]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@7.0.1...@metamask/snaps-rpc-methods@7.0.2 [7.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@7.0.0...@metamask/snaps-rpc-methods@7.0.1 [7.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@6.0.0...@metamask/snaps-rpc-methods@7.0.0 [6.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@5.0.0...@metamask/snaps-rpc-methods@6.0.0 [5.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@4.1.0...@metamask/snaps-rpc-methods@5.0.0 [4.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@4.0.3...@metamask/snaps-rpc-methods@4.1.0 [4.0.3]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@4.0.2...@metamask/snaps-rpc-methods@4.0.3 [4.0.2]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@4.0.1...@metamask/snaps-rpc-methods@4.0.2 [4.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@4.0.0...@metamask/snaps-rpc-methods@4.0.1 [4.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@3.3.0...@metamask/snaps-rpc-methods@4.0.0 [3.3.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@3.2.1...@metamask/snaps-rpc-methods@3.3.0 [3.2.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@3.2.0...@metamask/snaps-rpc-methods@3.2.1 [3.2.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@3.1.0...@metamask/snaps-rpc-methods@3.2.0 [3.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@3.0.0...@metamask/snaps-rpc-methods@3.1.0 [3.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@2.0.0...@metamask/snaps-rpc-methods@3.0.0 [2.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@0.38.3-flask.1...@metamask/snaps-rpc-methods@2.0.0 [0.38.3-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@0.38.2-flask.1...@metamask/snaps-rpc-methods@0.38.3-flask.1 [0.38.2-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@0.38.1-flask.1...@metamask/snaps-rpc-methods@0.38.2-flask.1 [0.38.1-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@0.38.0-flask.1...@metamask/snaps-rpc-methods@0.38.1-flask.1 [0.38.0-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@0.37.2-flask.1...@metamask/snaps-rpc-methods@0.38.0-flask.1 [0.37.2-flask.1]: https://github.com/MetaMask/snaps/releases/tag/@metamask/snaps-rpc-methods@0.37.2-flask.1