@metamask/snaps-rpc-methods 4.1.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +24 -2
  2. package/dist/cjs/endowments/caveats/generic.js +40 -0
  3. package/dist/cjs/endowments/caveats/generic.js.map +1 -0
  4. package/dist/cjs/endowments/caveats/index.js +21 -0
  5. package/dist/cjs/endowments/caveats/index.js.map +1 -0
  6. package/dist/cjs/endowments/caveats/requestTime.js +99 -0
  7. package/dist/cjs/endowments/caveats/requestTime.js.map +1 -0
  8. package/dist/cjs/endowments/cronjob.js +100 -0
  9. package/dist/cjs/endowments/cronjob.js.map +1 -0
  10. package/dist/cjs/endowments/enum.js +26 -0
  11. package/dist/cjs/endowments/enum.js.map +1 -0
  12. package/dist/cjs/endowments/ethereum-provider.js +43 -0
  13. package/dist/cjs/endowments/ethereum-provider.js.map +1 -0
  14. package/dist/cjs/endowments/home-page.js +37 -0
  15. package/dist/cjs/endowments/home-page.js.map +1 -0
  16. package/dist/cjs/endowments/index.js +121 -0
  17. package/dist/cjs/endowments/index.js.map +1 -0
  18. package/dist/cjs/endowments/keyring.js +104 -0
  19. package/dist/cjs/endowments/keyring.js.map +1 -0
  20. package/dist/cjs/endowments/lifecycle-hooks.js +37 -0
  21. package/dist/cjs/endowments/lifecycle-hooks.js.map +1 -0
  22. package/dist/cjs/endowments/name-lookup.js +148 -0
  23. package/dist/cjs/endowments/name-lookup.js.map +1 -0
  24. package/dist/cjs/endowments/network-access.js +44 -0
  25. package/dist/cjs/endowments/network-access.js.map +1 -0
  26. package/dist/cjs/endowments/rpc.js +103 -0
  27. package/dist/cjs/endowments/rpc.js.map +1 -0
  28. package/dist/cjs/endowments/signature-insight.js +110 -0
  29. package/dist/cjs/endowments/signature-insight.js.map +1 -0
  30. package/dist/cjs/endowments/transaction-insight.js +111 -0
  31. package/dist/cjs/endowments/transaction-insight.js.map +1 -0
  32. package/dist/cjs/endowments/web-assembly.js +42 -0
  33. package/dist/cjs/endowments/web-assembly.js.map +1 -0
  34. package/dist/cjs/index.js +3 -1
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/permissions.js +62 -0
  37. package/dist/cjs/permissions.js.map +1 -0
  38. package/dist/cjs/permitted/createInterface.js +68 -0
  39. package/dist/cjs/permitted/createInterface.js.map +1 -0
  40. package/dist/cjs/permitted/getClientStatus.js +40 -0
  41. package/dist/cjs/permitted/getClientStatus.js.map +1 -0
  42. package/dist/cjs/permitted/getFile.js +1 -1
  43. package/dist/cjs/permitted/getFile.js.map +1 -1
  44. package/dist/cjs/permitted/getInterfaceState.js +67 -0
  45. package/dist/cjs/permitted/getInterfaceState.js.map +1 -0
  46. package/dist/cjs/permitted/handlers.js +9 -1
  47. package/dist/cjs/permitted/handlers.js.map +1 -1
  48. package/dist/cjs/permitted/index.js.map +1 -1
  49. package/dist/cjs/permitted/invokeKeyring.js +2 -3
  50. package/dist/cjs/permitted/invokeKeyring.js.map +1 -1
  51. package/dist/cjs/permitted/updateInterface.js +70 -0
  52. package/dist/cjs/permitted/updateInterface.js.map +1 -0
  53. package/dist/cjs/restricted/dialog.js +51 -24
  54. package/dist/cjs/restricted/dialog.js.map +1 -1
  55. package/dist/cjs/restricted/index.js +3 -0
  56. package/dist/cjs/restricted/index.js.map +1 -1
  57. package/dist/cjs/restricted/manageState.js +4 -13
  58. package/dist/cjs/restricted/manageState.js.map +1 -1
  59. package/dist/esm/endowments/caveats/generic.js +40 -0
  60. package/dist/esm/endowments/caveats/generic.js.map +1 -0
  61. package/dist/esm/endowments/caveats/index.js +4 -0
  62. package/dist/esm/endowments/caveats/index.js.map +1 -0
  63. package/dist/esm/endowments/caveats/requestTime.js +93 -0
  64. package/dist/esm/endowments/caveats/requestTime.js.map +1 -0
  65. package/dist/esm/endowments/cronjob.js +99 -0
  66. package/dist/esm/endowments/cronjob.js.map +1 -0
  67. package/dist/esm/endowments/enum.js +16 -0
  68. package/dist/esm/endowments/enum.js.map +1 -0
  69. package/dist/esm/endowments/ethereum-provider.js +33 -0
  70. package/dist/esm/endowments/ethereum-provider.js.map +1 -0
  71. package/dist/esm/endowments/home-page.js +27 -0
  72. package/dist/esm/endowments/home-page.js.map +1 -0
  73. package/dist/esm/endowments/index.js +68 -0
  74. package/dist/esm/endowments/index.js.map +1 -0
  75. package/dist/esm/endowments/keyring.js +95 -0
  76. package/dist/esm/endowments/keyring.js.map +1 -0
  77. package/dist/esm/endowments/lifecycle-hooks.js +27 -0
  78. package/dist/esm/endowments/lifecycle-hooks.js.map +1 -0
  79. package/dist/esm/endowments/name-lookup.js +146 -0
  80. package/dist/esm/endowments/name-lookup.js.map +1 -0
  81. package/dist/esm/endowments/network-access.js +34 -0
  82. package/dist/esm/endowments/network-access.js.map +1 -0
  83. package/dist/esm/endowments/rpc.js +92 -0
  84. package/dist/esm/endowments/rpc.js.map +1 -0
  85. package/dist/esm/endowments/signature-insight.js +103 -0
  86. package/dist/esm/endowments/signature-insight.js.map +1 -0
  87. package/dist/esm/endowments/transaction-insight.js +104 -0
  88. package/dist/esm/endowments/transaction-insight.js.map +1 -0
  89. package/dist/esm/endowments/web-assembly.js +32 -0
  90. package/dist/esm/endowments/web-assembly.js.map +1 -0
  91. package/dist/esm/index.js +3 -1
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/permissions.js +51 -0
  94. package/dist/esm/permissions.js.map +1 -0
  95. package/dist/esm/permitted/createInterface.js +58 -0
  96. package/dist/esm/permitted/createInterface.js.map +1 -0
  97. package/dist/esm/permitted/getClientStatus.js +32 -0
  98. package/dist/esm/permitted/getClientStatus.js.map +1 -0
  99. package/dist/esm/permitted/getFile.js +1 -1
  100. package/dist/esm/permitted/getFile.js.map +1 -1
  101. package/dist/esm/permitted/getInterfaceState.js +57 -0
  102. package/dist/esm/permitted/getInterfaceState.js.map +1 -0
  103. package/dist/esm/permitted/handlers.js +9 -1
  104. package/dist/esm/permitted/handlers.js.map +1 -1
  105. package/dist/esm/permitted/index.js.map +1 -1
  106. package/dist/esm/permitted/invokeKeyring.js +2 -3
  107. package/dist/esm/permitted/invokeKeyring.js.map +1 -1
  108. package/dist/esm/permitted/updateInterface.js +60 -0
  109. package/dist/esm/permitted/updateInterface.js.map +1 -0
  110. package/dist/esm/restricted/dialog.js +55 -29
  111. package/dist/esm/restricted/dialog.js.map +1 -1
  112. package/dist/esm/restricted/index.js +1 -0
  113. package/dist/esm/restricted/index.js.map +1 -1
  114. package/dist/esm/restricted/manageState.js +1 -1
  115. package/dist/esm/restricted/manageState.js.map +1 -1
  116. package/dist/types/endowments/caveats/generic.d.ts +19 -0
  117. package/dist/types/endowments/caveats/index.d.ts +2 -0
  118. package/dist/types/endowments/caveats/requestTime.d.ts +29 -0
  119. package/dist/types/endowments/cronjob.d.ts +51 -0
  120. package/dist/types/endowments/enum.d.ts +13 -0
  121. package/dist/types/endowments/ethereum-provider.d.ts +14 -0
  122. package/dist/types/endowments/home-page.d.ts +15 -0
  123. package/dist/types/endowments/index.d.ts +131 -0
  124. package/dist/types/endowments/keyring.d.ts +39 -0
  125. package/dist/types/endowments/lifecycle-hooks.d.ts +15 -0
  126. package/dist/types/endowments/name-lookup.d.ts +49 -0
  127. package/dist/types/endowments/network-access.d.ts +14 -0
  128. package/dist/types/endowments/rpc.d.ts +38 -0
  129. package/dist/types/endowments/signature-insight.d.ts +39 -0
  130. package/dist/types/endowments/transaction-insight.d.ts +39 -0
  131. package/dist/types/endowments/web-assembly.d.ts +14 -0
  132. package/dist/types/index.d.ts +4 -2
  133. package/dist/types/permissions.d.ts +16 -0
  134. package/dist/types/permitted/createInterface.d.ts +150 -0
  135. package/dist/types/permitted/getClientStatus.d.ts +13 -0
  136. package/dist/types/permitted/getInterfaceState.d.ts +18 -0
  137. package/dist/types/permitted/handlers.d.ts +5 -1
  138. package/dist/types/permitted/index.d.ts +5 -1
  139. package/dist/types/permitted/invokeKeyring.d.ts +3 -3
  140. package/dist/types/permitted/updateInterface.d.ts +152 -0
  141. package/dist/types/restricted/dialog.d.ts +776 -14
  142. package/dist/types/restricted/index.d.ts +1 -0
  143. package/dist/types/restricted/manageState.d.ts +18 -0
  144. package/package.json +8 -8
@@ -9,6 +9,7 @@ import type { ManageAccountsMethodHooks } from './manageAccounts';
9
9
  import type { ManageStateMethodHooks } from './manageState';
10
10
  import type { NotifyMethodHooks } from './notify';
11
11
  export { WALLET_SNAP_PERMISSION_KEY } from './invokeSnap';
12
+ export { getEncryptionKey } from './manageState';
12
13
  export declare type RestrictedMethodHooks = DialogMethodHooks & GetBip32EntropyMethodHooks & GetBip32PublicKeyMethodHooks & GetBip44EntropyMethodHooks & GetEntropyHooks & InvokeSnapMethodHooks & ManageStateMethodHooks & NotifyMethodHooks & ManageAccountsMethodHooks & GetLocaleMethodHooks;
13
14
  export declare const restrictedMethodPermissionBuilders: {
14
15
  readonly snap_dialog: Readonly<{
@@ -83,6 +83,24 @@ export declare const manageStateBuilder: Readonly<{
83
83
  readonly methodHooks: MethodHooksObject<ManageStateMethodHooks>;
84
84
  }>;
85
85
  export declare const STORAGE_SIZE_LIMIT = 104857600;
86
+ declare type GetEncryptionKeyArgs = {
87
+ snapId: string;
88
+ mnemonicPhrase: Uint8Array;
89
+ };
90
+ /**
91
+ * Get a deterministic encryption key to use for encrypting and decrypting the
92
+ * state.
93
+ *
94
+ * This key should only be used for state encryption using `snap_manageState`.
95
+ * To get other encryption keys, a different salt can be used.
96
+ *
97
+ * @param args - The encryption key args.
98
+ * @param args.snapId - The ID of the snap to get the encryption key for.
99
+ * @param args.mnemonicPhrase - The mnemonic phrase to derive the encryption key
100
+ * from.
101
+ * @returns The state encryption key.
102
+ */
103
+ export declare function getEncryptionKey({ mnemonicPhrase, snapId, }: GetEncryptionKeyArgs): Promise<`0x${string}`>;
86
104
  /**
87
105
  * Builds the method implementation for `snap_manageState`.
88
106
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/snaps-rpc-methods",
3
- "version": "4.1.0",
3
+ "version": "6.0.0",
4
4
  "description": "MetaMask Snaps JSON-RPC method implementations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -37,23 +37,23 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@metamask/key-tree": "^9.0.0",
40
- "@metamask/permission-controller": "^7.0.0",
40
+ "@metamask/permission-controller": "^8.0.0",
41
41
  "@metamask/rpc-errors": "^6.1.0",
42
- "@metamask/snaps-sdk": "^1.3.1",
43
- "@metamask/snaps-utils": "^5.1.1",
44
- "@metamask/utils": "^8.2.1",
42
+ "@metamask/snaps-sdk": "^2.0.0",
43
+ "@metamask/snaps-utils": "^6.0.0",
44
+ "@metamask/utils": "^8.3.0",
45
45
  "@noble/hashes": "^1.3.1",
46
46
  "superstruct": "^1.0.3"
47
47
  },
48
48
  "devDependencies": {
49
- "@lavamoat/allow-scripts": "^2.5.1",
50
- "@metamask/auto-changelog": "^3.4.3",
49
+ "@lavamoat/allow-scripts": "^3.0.0",
50
+ "@metamask/auto-changelog": "^3.4.4",
51
51
  "@metamask/browser-passworder": "^4.3.0",
52
52
  "@metamask/eslint-config": "^12.1.0",
53
53
  "@metamask/eslint-config-jest": "^12.1.0",
54
54
  "@metamask/eslint-config-nodejs": "^12.1.0",
55
55
  "@metamask/eslint-config-typescript": "^12.1.0",
56
- "@metamask/json-rpc-engine": "^7.3.1",
56
+ "@metamask/json-rpc-engine": "^7.3.2",
57
57
  "@swc/cli": "^0.1.62",
58
58
  "@swc/core": "1.3.78",
59
59
  "@swc/jest": "^0.2.26",