@metamask/snaps-rpc-methods 13.0.0 → 13.1.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 (54) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/endowments/index.cjs +2 -0
  3. package/dist/endowments/index.cjs.map +1 -1
  4. package/dist/endowments/index.d.cts.map +1 -1
  5. package/dist/endowments/index.d.mts.map +1 -1
  6. package/dist/endowments/index.mjs +2 -0
  7. package/dist/endowments/index.mjs.map +1 -1
  8. package/dist/permitted/closeWebSocket.cjs +70 -0
  9. package/dist/permitted/closeWebSocket.cjs.map +1 -0
  10. package/dist/permitted/closeWebSocket.d.cts +19 -0
  11. package/dist/permitted/closeWebSocket.d.cts.map +1 -0
  12. package/dist/permitted/closeWebSocket.d.mts +19 -0
  13. package/dist/permitted/closeWebSocket.d.mts.map +1 -0
  14. package/dist/permitted/closeWebSocket.mjs +67 -0
  15. package/dist/permitted/closeWebSocket.mjs.map +1 -0
  16. package/dist/permitted/getWebSockets.cjs +42 -0
  17. package/dist/permitted/getWebSockets.cjs.map +1 -0
  18. package/dist/permitted/getWebSockets.d.cts +11 -0
  19. package/dist/permitted/getWebSockets.d.cts.map +1 -0
  20. package/dist/permitted/getWebSockets.d.mts +11 -0
  21. package/dist/permitted/getWebSockets.d.mts.map +1 -0
  22. package/dist/permitted/getWebSockets.mjs +39 -0
  23. package/dist/permitted/getWebSockets.mjs.map +1 -0
  24. package/dist/permitted/handlers.cjs +8 -0
  25. package/dist/permitted/handlers.cjs.map +1 -1
  26. package/dist/permitted/handlers.d.cts +6 -2
  27. package/dist/permitted/handlers.d.cts.map +1 -1
  28. package/dist/permitted/handlers.d.mts +6 -2
  29. package/dist/permitted/handlers.d.mts.map +1 -1
  30. package/dist/permitted/handlers.mjs +8 -0
  31. package/dist/permitted/handlers.mjs.map +1 -1
  32. package/dist/permitted/index.cjs.map +1 -1
  33. package/dist/permitted/index.d.cts +5 -1
  34. package/dist/permitted/index.d.cts.map +1 -1
  35. package/dist/permitted/index.d.mts +5 -1
  36. package/dist/permitted/index.d.mts.map +1 -1
  37. package/dist/permitted/index.mjs.map +1 -1
  38. package/dist/permitted/openWebSocket.cjs +72 -0
  39. package/dist/permitted/openWebSocket.cjs.map +1 -0
  40. package/dist/permitted/openWebSocket.d.cts +21 -0
  41. package/dist/permitted/openWebSocket.d.cts.map +1 -0
  42. package/dist/permitted/openWebSocket.d.mts +21 -0
  43. package/dist/permitted/openWebSocket.d.mts.map +1 -0
  44. package/dist/permitted/openWebSocket.mjs +69 -0
  45. package/dist/permitted/openWebSocket.mjs.map +1 -0
  46. package/dist/permitted/sendWebSocketMessage.cjs +72 -0
  47. package/dist/permitted/sendWebSocketMessage.cjs.map +1 -0
  48. package/dist/permitted/sendWebSocketMessage.d.cts +21 -0
  49. package/dist/permitted/sendWebSocketMessage.d.cts.map +1 -0
  50. package/dist/permitted/sendWebSocketMessage.d.mts +21 -0
  51. package/dist/permitted/sendWebSocketMessage.d.mts.map +1 -0
  52. package/dist/permitted/sendWebSocketMessage.mjs +69 -0
  53. package/dist/permitted/sendWebSocketMessage.mjs.map +1 -0
  54. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [13.1.0]
11
+
12
+ ### Added
13
+
14
+ - Add RPC methods for WebSockets ([#3450](https://github.com/MetaMask/snaps/pull/3450), [#3459](https://github.com/MetaMask/snaps/pull/3459))
15
+ - Add `onStart` to lifecycle hooks endowment ([#3455](https://github.com/MetaMask/snaps/pull/3455))
16
+
10
17
  ## [13.0.0]
11
18
 
12
19
  ### Changed
@@ -455,7 +462,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
455
462
  - The version of the package no longer needs to match the version of all other
456
463
  MetaMask Snaps packages.
457
464
 
458
- [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.0.0...HEAD
465
+ [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.1.0...HEAD
466
+ [13.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@13.0.0...@metamask/snaps-rpc-methods@13.1.0
459
467
  [13.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.4.0...@metamask/snaps-rpc-methods@13.0.0
460
468
  [12.4.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.3.0...@metamask/snaps-rpc-methods@12.4.0
461
469
  [12.3.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@12.2.0...@metamask/snaps-rpc-methods@12.3.0
@@ -78,6 +78,7 @@ exports.handlerEndowments = {
78
78
  [snaps_utils_1.HandlerType.OnNameLookup]: name_lookup_1.nameLookupEndowmentBuilder.targetName,
79
79
  [snaps_utils_1.HandlerType.OnInstall]: lifecycle_hooks_1.lifecycleHooksEndowmentBuilder.targetName,
80
80
  [snaps_utils_1.HandlerType.OnUpdate]: lifecycle_hooks_1.lifecycleHooksEndowmentBuilder.targetName,
81
+ [snaps_utils_1.HandlerType.OnStart]: lifecycle_hooks_1.lifecycleHooksEndowmentBuilder.targetName,
81
82
  [snaps_utils_1.HandlerType.OnKeyringRequest]: keyring_1.keyringEndowmentBuilder.targetName,
82
83
  [snaps_utils_1.HandlerType.OnHomePage]: home_page_1.homePageEndowmentBuilder.targetName,
83
84
  [snaps_utils_1.HandlerType.OnSettingsPage]: settings_page_1.settingsPageEndowmentBuilder.targetName,
@@ -88,6 +89,7 @@ exports.handlerEndowments = {
88
89
  [snaps_utils_1.HandlerType.OnAssetsConversion]: assets_1.assetsEndowmentBuilder.targetName,
89
90
  [snaps_utils_1.HandlerType.OnProtocolRequest]: protocol_1.protocolEndowmentBuilder.targetName,
90
91
  [snaps_utils_1.HandlerType.OnClientRequest]: null,
92
+ [snaps_utils_1.HandlerType.OnWebSocketEvent]: network_access_1.networkAccessEndowmentBuilder.targetName,
91
93
  };
92
94
  __exportStar(require("./enum.cjs"), exports);
93
95
  var rpc_2 = require("./rpc.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PermissionConstraint } from '@metamask/permission-controller';\nimport { HandlerType } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\n\nimport { assetsEndowmentBuilder, getAssetsCaveatMapper } from './assets';\nimport {\n createMaxRequestTimeMapper,\n getMaxRequestTimeCaveatMapper,\n maxRequestTimeCaveatSpecifications,\n} from './caveats';\nimport {\n cronjobCaveatSpecifications,\n cronjobEndowmentBuilder,\n getCronjobCaveatMapper,\n} from './cronjob';\nimport { ethereumProviderEndowmentBuilder } from './ethereum-provider';\nimport { homePageEndowmentBuilder } from './home-page';\nimport {\n getKeyringCaveatMapper,\n keyringCaveatSpecifications,\n keyringEndowmentBuilder,\n} from './keyring';\nimport { lifecycleHooksEndowmentBuilder } from './lifecycle-hooks';\nimport {\n getNameLookupCaveatMapper,\n nameLookupCaveatSpecifications,\n nameLookupEndowmentBuilder,\n} from './name-lookup';\nimport { networkAccessEndowmentBuilder } from './network-access';\nimport {\n getProtocolCaveatMapper,\n protocolCaveatSpecifications,\n protocolEndowmentBuilder,\n} from './protocol';\nimport {\n getRpcCaveatMapper,\n rpcCaveatSpecifications,\n rpcEndowmentBuilder,\n} from './rpc';\nimport { settingsPageEndowmentBuilder } from './settings-page';\nimport {\n getSignatureInsightCaveatMapper,\n signatureInsightCaveatSpecifications,\n signatureInsightEndowmentBuilder,\n} from './signature-insight';\nimport {\n getTransactionInsightCaveatMapper,\n transactionInsightCaveatSpecifications,\n transactionInsightEndowmentBuilder,\n} from './transaction-insight';\nimport { webAssemblyEndowmentBuilder } from './web-assembly';\n\nexport const endowmentPermissionBuilders = {\n [networkAccessEndowmentBuilder.targetName]: networkAccessEndowmentBuilder,\n [transactionInsightEndowmentBuilder.targetName]:\n transactionInsightEndowmentBuilder,\n [cronjobEndowmentBuilder.targetName]: cronjobEndowmentBuilder,\n [ethereumProviderEndowmentBuilder.targetName]:\n ethereumProviderEndowmentBuilder,\n [rpcEndowmentBuilder.targetName]: rpcEndowmentBuilder,\n [webAssemblyEndowmentBuilder.targetName]: webAssemblyEndowmentBuilder,\n [nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder,\n [lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder,\n [keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder,\n [settingsPageEndowmentBuilder.targetName]: settingsPageEndowmentBuilder,\n [protocolEndowmentBuilder.targetName]: protocolEndowmentBuilder,\n [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,\n [signatureInsightEndowmentBuilder.targetName]:\n signatureInsightEndowmentBuilder,\n [assetsEndowmentBuilder.targetName]: assetsEndowmentBuilder,\n} as const;\n\nexport const endowmentCaveatSpecifications = {\n ...cronjobCaveatSpecifications,\n ...transactionInsightCaveatSpecifications,\n ...rpcCaveatSpecifications,\n ...nameLookupCaveatSpecifications,\n ...keyringCaveatSpecifications,\n ...signatureInsightCaveatSpecifications,\n ...maxRequestTimeCaveatSpecifications,\n ...protocolCaveatSpecifications,\n};\n\nexport const endowmentCaveatMappers: Record<\n string,\n (value: Json) => Pick<PermissionConstraint, 'caveats'>\n> = {\n [cronjobEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getCronjobCaveatMapper,\n ),\n [transactionInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getTransactionInsightCaveatMapper,\n ),\n [rpcEndowmentBuilder.targetName]:\n createMaxRequestTimeMapper(getRpcCaveatMapper),\n [nameLookupEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getNameLookupCaveatMapper,\n ),\n [keyringEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getKeyringCaveatMapper,\n ),\n [protocolEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getProtocolCaveatMapper,\n ),\n [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getSignatureInsightCaveatMapper,\n ),\n [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [assetsEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getAssetsCaveatMapper,\n ),\n};\n\n// We allow null because a permitted handler does not have an endowment\nexport const handlerEndowments: Record<HandlerType, string | null> = {\n [HandlerType.OnRpcRequest]: rpcEndowmentBuilder.targetName,\n [HandlerType.OnTransaction]: transactionInsightEndowmentBuilder.targetName,\n [HandlerType.OnCronjob]: cronjobEndowmentBuilder.targetName,\n [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName,\n [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,\n [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,\n [HandlerType.OnSettingsPage]: settingsPageEndowmentBuilder.targetName,\n [HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName,\n [HandlerType.OnUserInput]: null,\n [HandlerType.OnAssetHistoricalPrice]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsLookup]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsConversion]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnProtocolRequest]: protocolEndowmentBuilder.targetName,\n [HandlerType.OnClientRequest]: null,\n};\n\nexport * from './enum';\nexport { getRpcCaveatOrigins } from './rpc';\nexport { getSignatureOriginCaveat } from './signature-insight';\nexport { getTransactionOriginCaveat } from './transaction-insight';\nexport { getChainIdsCaveat, getLookupMatchersCaveat } from './name-lookup';\nexport { getKeyringCaveatOrigins } from './keyring';\nexport { getMaxRequestTimeCaveat } from './caveats';\nexport { getCronjobCaveatJobs } from './cronjob';\nexport { getProtocolCaveatScopes } from './protocol';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PermissionConstraint } from '@metamask/permission-controller';\nimport { HandlerType } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\n\nimport { assetsEndowmentBuilder, getAssetsCaveatMapper } from './assets';\nimport {\n createMaxRequestTimeMapper,\n getMaxRequestTimeCaveatMapper,\n maxRequestTimeCaveatSpecifications,\n} from './caveats';\nimport {\n cronjobCaveatSpecifications,\n cronjobEndowmentBuilder,\n getCronjobCaveatMapper,\n} from './cronjob';\nimport { ethereumProviderEndowmentBuilder } from './ethereum-provider';\nimport { homePageEndowmentBuilder } from './home-page';\nimport {\n getKeyringCaveatMapper,\n keyringCaveatSpecifications,\n keyringEndowmentBuilder,\n} from './keyring';\nimport { lifecycleHooksEndowmentBuilder } from './lifecycle-hooks';\nimport {\n getNameLookupCaveatMapper,\n nameLookupCaveatSpecifications,\n nameLookupEndowmentBuilder,\n} from './name-lookup';\nimport { networkAccessEndowmentBuilder } from './network-access';\nimport {\n getProtocolCaveatMapper,\n protocolCaveatSpecifications,\n protocolEndowmentBuilder,\n} from './protocol';\nimport {\n getRpcCaveatMapper,\n rpcCaveatSpecifications,\n rpcEndowmentBuilder,\n} from './rpc';\nimport { settingsPageEndowmentBuilder } from './settings-page';\nimport {\n getSignatureInsightCaveatMapper,\n signatureInsightCaveatSpecifications,\n signatureInsightEndowmentBuilder,\n} from './signature-insight';\nimport {\n getTransactionInsightCaveatMapper,\n transactionInsightCaveatSpecifications,\n transactionInsightEndowmentBuilder,\n} from './transaction-insight';\nimport { webAssemblyEndowmentBuilder } from './web-assembly';\n\nexport const endowmentPermissionBuilders = {\n [networkAccessEndowmentBuilder.targetName]: networkAccessEndowmentBuilder,\n [transactionInsightEndowmentBuilder.targetName]:\n transactionInsightEndowmentBuilder,\n [cronjobEndowmentBuilder.targetName]: cronjobEndowmentBuilder,\n [ethereumProviderEndowmentBuilder.targetName]:\n ethereumProviderEndowmentBuilder,\n [rpcEndowmentBuilder.targetName]: rpcEndowmentBuilder,\n [webAssemblyEndowmentBuilder.targetName]: webAssemblyEndowmentBuilder,\n [nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder,\n [lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder,\n [keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder,\n [settingsPageEndowmentBuilder.targetName]: settingsPageEndowmentBuilder,\n [protocolEndowmentBuilder.targetName]: protocolEndowmentBuilder,\n [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,\n [signatureInsightEndowmentBuilder.targetName]:\n signatureInsightEndowmentBuilder,\n [assetsEndowmentBuilder.targetName]: assetsEndowmentBuilder,\n} as const;\n\nexport const endowmentCaveatSpecifications = {\n ...cronjobCaveatSpecifications,\n ...transactionInsightCaveatSpecifications,\n ...rpcCaveatSpecifications,\n ...nameLookupCaveatSpecifications,\n ...keyringCaveatSpecifications,\n ...signatureInsightCaveatSpecifications,\n ...maxRequestTimeCaveatSpecifications,\n ...protocolCaveatSpecifications,\n};\n\nexport const endowmentCaveatMappers: Record<\n string,\n (value: Json) => Pick<PermissionConstraint, 'caveats'>\n> = {\n [cronjobEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getCronjobCaveatMapper,\n ),\n [transactionInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getTransactionInsightCaveatMapper,\n ),\n [rpcEndowmentBuilder.targetName]:\n createMaxRequestTimeMapper(getRpcCaveatMapper),\n [nameLookupEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getNameLookupCaveatMapper,\n ),\n [keyringEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getKeyringCaveatMapper,\n ),\n [protocolEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getProtocolCaveatMapper,\n ),\n [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getSignatureInsightCaveatMapper,\n ),\n [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [assetsEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getAssetsCaveatMapper,\n ),\n};\n\n// We allow null because a permitted handler does not have an endowment\nexport const handlerEndowments: Record<HandlerType, string | null> = {\n [HandlerType.OnRpcRequest]: rpcEndowmentBuilder.targetName,\n [HandlerType.OnTransaction]: transactionInsightEndowmentBuilder.targetName,\n [HandlerType.OnCronjob]: cronjobEndowmentBuilder.targetName,\n [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName,\n [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnStart]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,\n [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,\n [HandlerType.OnSettingsPage]: settingsPageEndowmentBuilder.targetName,\n [HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName,\n [HandlerType.OnUserInput]: null,\n [HandlerType.OnAssetHistoricalPrice]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsLookup]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsConversion]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnProtocolRequest]: protocolEndowmentBuilder.targetName,\n [HandlerType.OnClientRequest]: null,\n [HandlerType.OnWebSocketEvent]: networkAccessEndowmentBuilder.targetName,\n};\n\nexport * from './enum';\nexport { getRpcCaveatOrigins } from './rpc';\nexport { getSignatureOriginCaveat } from './signature-insight';\nexport { getTransactionOriginCaveat } from './transaction-insight';\nexport { getChainIdsCaveat, getLookupMatchersCaveat } from './name-lookup';\nexport { getKeyringCaveatOrigins } from './keyring';\nexport { getMaxRequestTimeCaveat } from './caveats';\nexport { getCronjobCaveatJobs } from './cronjob';\nexport { getProtocolCaveatScopes } from './protocol';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wCAAwC;AAC5E,OAAO,EAAE,WAAW,EAAE,8BAA8B;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAkD5C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB9B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;CASzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CA4BvD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAiBhE,CAAC;AAEF,2BAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,kBAAc;AAC5C,OAAO,EAAE,wBAAwB,EAAE,gCAA4B;AAC/D,OAAO,EAAE,0BAA0B,EAAE,kCAA8B;AACnE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,0BAAsB;AAC3E,OAAO,EAAE,uBAAuB,EAAE,sBAAkB;AACpD,OAAO,EAAE,uBAAuB,EAAE,4BAAkB;AACpD,OAAO,EAAE,oBAAoB,EAAE,sBAAkB;AACjD,OAAO,EAAE,uBAAuB,EAAE,uBAAmB"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wCAAwC;AAC5E,OAAO,EAAE,WAAW,EAAE,8BAA8B;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAkD5C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB9B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;CASzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CA4BvD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAmBhE,CAAC;AAEF,2BAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,kBAAc;AAC5C,OAAO,EAAE,wBAAwB,EAAE,gCAA4B;AAC/D,OAAO,EAAE,0BAA0B,EAAE,kCAA8B;AACnE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,0BAAsB;AAC3E,OAAO,EAAE,uBAAuB,EAAE,sBAAkB;AACpD,OAAO,EAAE,uBAAuB,EAAE,4BAAkB;AACpD,OAAO,EAAE,oBAAoB,EAAE,sBAAkB;AACjD,OAAO,EAAE,uBAAuB,EAAE,uBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wCAAwC;AAC5E,OAAO,EAAE,WAAW,EAAE,8BAA8B;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAkD5C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB9B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;CASzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CA4BvD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAiBhE,CAAC;AAEF,2BAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,kBAAc;AAC5C,OAAO,EAAE,wBAAwB,EAAE,gCAA4B;AAC/D,OAAO,EAAE,0BAA0B,EAAE,kCAA8B;AACnE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,0BAAsB;AAC3E,OAAO,EAAE,uBAAuB,EAAE,sBAAkB;AACpD,OAAO,EAAE,uBAAuB,EAAE,4BAAkB;AACpD,OAAO,EAAE,oBAAoB,EAAE,sBAAkB;AACjD,OAAO,EAAE,uBAAuB,EAAE,uBAAmB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wCAAwC;AAC5E,OAAO,EAAE,WAAW,EAAE,8BAA8B;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAkD5C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB9B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;CASzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CA4BvD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAmBhE,CAAC;AAEF,2BAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,kBAAc;AAC5C,OAAO,EAAE,wBAAwB,EAAE,gCAA4B;AAC/D,OAAO,EAAE,0BAA0B,EAAE,kCAA8B;AACnE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,0BAAsB;AAC3E,OAAO,EAAE,uBAAuB,EAAE,sBAAkB;AACpD,OAAO,EAAE,uBAAuB,EAAE,4BAAkB;AACpD,OAAO,EAAE,oBAAoB,EAAE,sBAAkB;AACjD,OAAO,EAAE,uBAAuB,EAAE,uBAAmB"}
@@ -61,6 +61,7 @@ export const handlerEndowments = {
61
61
  [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName,
62
62
  [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName,
63
63
  [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,
64
+ [HandlerType.OnStart]: lifecycleHooksEndowmentBuilder.targetName,
64
65
  [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,
65
66
  [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,
66
67
  [HandlerType.OnSettingsPage]: settingsPageEndowmentBuilder.targetName,
@@ -71,6 +72,7 @@ export const handlerEndowments = {
71
72
  [HandlerType.OnAssetsConversion]: assetsEndowmentBuilder.targetName,
72
73
  [HandlerType.OnProtocolRequest]: protocolEndowmentBuilder.targetName,
73
74
  [HandlerType.OnClientRequest]: null,
75
+ [HandlerType.OnWebSocketEvent]: networkAccessEndowmentBuilder.targetName,
74
76
  };
75
77
  export * from "./enum.mjs";
76
78
  export { getRpcCaveatOrigins } from "./rpc.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PermissionConstraint } from '@metamask/permission-controller';\nimport { HandlerType } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\n\nimport { assetsEndowmentBuilder, getAssetsCaveatMapper } from './assets';\nimport {\n createMaxRequestTimeMapper,\n getMaxRequestTimeCaveatMapper,\n maxRequestTimeCaveatSpecifications,\n} from './caveats';\nimport {\n cronjobCaveatSpecifications,\n cronjobEndowmentBuilder,\n getCronjobCaveatMapper,\n} from './cronjob';\nimport { ethereumProviderEndowmentBuilder } from './ethereum-provider';\nimport { homePageEndowmentBuilder } from './home-page';\nimport {\n getKeyringCaveatMapper,\n keyringCaveatSpecifications,\n keyringEndowmentBuilder,\n} from './keyring';\nimport { lifecycleHooksEndowmentBuilder } from './lifecycle-hooks';\nimport {\n getNameLookupCaveatMapper,\n nameLookupCaveatSpecifications,\n nameLookupEndowmentBuilder,\n} from './name-lookup';\nimport { networkAccessEndowmentBuilder } from './network-access';\nimport {\n getProtocolCaveatMapper,\n protocolCaveatSpecifications,\n protocolEndowmentBuilder,\n} from './protocol';\nimport {\n getRpcCaveatMapper,\n rpcCaveatSpecifications,\n rpcEndowmentBuilder,\n} from './rpc';\nimport { settingsPageEndowmentBuilder } from './settings-page';\nimport {\n getSignatureInsightCaveatMapper,\n signatureInsightCaveatSpecifications,\n signatureInsightEndowmentBuilder,\n} from './signature-insight';\nimport {\n getTransactionInsightCaveatMapper,\n transactionInsightCaveatSpecifications,\n transactionInsightEndowmentBuilder,\n} from './transaction-insight';\nimport { webAssemblyEndowmentBuilder } from './web-assembly';\n\nexport const endowmentPermissionBuilders = {\n [networkAccessEndowmentBuilder.targetName]: networkAccessEndowmentBuilder,\n [transactionInsightEndowmentBuilder.targetName]:\n transactionInsightEndowmentBuilder,\n [cronjobEndowmentBuilder.targetName]: cronjobEndowmentBuilder,\n [ethereumProviderEndowmentBuilder.targetName]:\n ethereumProviderEndowmentBuilder,\n [rpcEndowmentBuilder.targetName]: rpcEndowmentBuilder,\n [webAssemblyEndowmentBuilder.targetName]: webAssemblyEndowmentBuilder,\n [nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder,\n [lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder,\n [keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder,\n [settingsPageEndowmentBuilder.targetName]: settingsPageEndowmentBuilder,\n [protocolEndowmentBuilder.targetName]: protocolEndowmentBuilder,\n [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,\n [signatureInsightEndowmentBuilder.targetName]:\n signatureInsightEndowmentBuilder,\n [assetsEndowmentBuilder.targetName]: assetsEndowmentBuilder,\n} as const;\n\nexport const endowmentCaveatSpecifications = {\n ...cronjobCaveatSpecifications,\n ...transactionInsightCaveatSpecifications,\n ...rpcCaveatSpecifications,\n ...nameLookupCaveatSpecifications,\n ...keyringCaveatSpecifications,\n ...signatureInsightCaveatSpecifications,\n ...maxRequestTimeCaveatSpecifications,\n ...protocolCaveatSpecifications,\n};\n\nexport const endowmentCaveatMappers: Record<\n string,\n (value: Json) => Pick<PermissionConstraint, 'caveats'>\n> = {\n [cronjobEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getCronjobCaveatMapper,\n ),\n [transactionInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getTransactionInsightCaveatMapper,\n ),\n [rpcEndowmentBuilder.targetName]:\n createMaxRequestTimeMapper(getRpcCaveatMapper),\n [nameLookupEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getNameLookupCaveatMapper,\n ),\n [keyringEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getKeyringCaveatMapper,\n ),\n [protocolEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getProtocolCaveatMapper,\n ),\n [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getSignatureInsightCaveatMapper,\n ),\n [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [assetsEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getAssetsCaveatMapper,\n ),\n};\n\n// We allow null because a permitted handler does not have an endowment\nexport const handlerEndowments: Record<HandlerType, string | null> = {\n [HandlerType.OnRpcRequest]: rpcEndowmentBuilder.targetName,\n [HandlerType.OnTransaction]: transactionInsightEndowmentBuilder.targetName,\n [HandlerType.OnCronjob]: cronjobEndowmentBuilder.targetName,\n [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName,\n [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,\n [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,\n [HandlerType.OnSettingsPage]: settingsPageEndowmentBuilder.targetName,\n [HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName,\n [HandlerType.OnUserInput]: null,\n [HandlerType.OnAssetHistoricalPrice]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsLookup]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsConversion]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnProtocolRequest]: protocolEndowmentBuilder.targetName,\n [HandlerType.OnClientRequest]: null,\n};\n\nexport * from './enum';\nexport { getRpcCaveatOrigins } from './rpc';\nexport { getSignatureOriginCaveat } from './signature-insight';\nexport { getTransactionOriginCaveat } from './transaction-insight';\nexport { getChainIdsCaveat, getLookupMatchersCaveat } from './name-lookup';\nexport { getKeyringCaveatOrigins } from './keyring';\nexport { getMaxRequestTimeCaveat } from './caveats';\nexport { getCronjobCaveatJobs } from './cronjob';\nexport { getProtocolCaveatScopes } from './protocol';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PermissionConstraint } from '@metamask/permission-controller';\nimport { HandlerType } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\n\nimport { assetsEndowmentBuilder, getAssetsCaveatMapper } from './assets';\nimport {\n createMaxRequestTimeMapper,\n getMaxRequestTimeCaveatMapper,\n maxRequestTimeCaveatSpecifications,\n} from './caveats';\nimport {\n cronjobCaveatSpecifications,\n cronjobEndowmentBuilder,\n getCronjobCaveatMapper,\n} from './cronjob';\nimport { ethereumProviderEndowmentBuilder } from './ethereum-provider';\nimport { homePageEndowmentBuilder } from './home-page';\nimport {\n getKeyringCaveatMapper,\n keyringCaveatSpecifications,\n keyringEndowmentBuilder,\n} from './keyring';\nimport { lifecycleHooksEndowmentBuilder } from './lifecycle-hooks';\nimport {\n getNameLookupCaveatMapper,\n nameLookupCaveatSpecifications,\n nameLookupEndowmentBuilder,\n} from './name-lookup';\nimport { networkAccessEndowmentBuilder } from './network-access';\nimport {\n getProtocolCaveatMapper,\n protocolCaveatSpecifications,\n protocolEndowmentBuilder,\n} from './protocol';\nimport {\n getRpcCaveatMapper,\n rpcCaveatSpecifications,\n rpcEndowmentBuilder,\n} from './rpc';\nimport { settingsPageEndowmentBuilder } from './settings-page';\nimport {\n getSignatureInsightCaveatMapper,\n signatureInsightCaveatSpecifications,\n signatureInsightEndowmentBuilder,\n} from './signature-insight';\nimport {\n getTransactionInsightCaveatMapper,\n transactionInsightCaveatSpecifications,\n transactionInsightEndowmentBuilder,\n} from './transaction-insight';\nimport { webAssemblyEndowmentBuilder } from './web-assembly';\n\nexport const endowmentPermissionBuilders = {\n [networkAccessEndowmentBuilder.targetName]: networkAccessEndowmentBuilder,\n [transactionInsightEndowmentBuilder.targetName]:\n transactionInsightEndowmentBuilder,\n [cronjobEndowmentBuilder.targetName]: cronjobEndowmentBuilder,\n [ethereumProviderEndowmentBuilder.targetName]:\n ethereumProviderEndowmentBuilder,\n [rpcEndowmentBuilder.targetName]: rpcEndowmentBuilder,\n [webAssemblyEndowmentBuilder.targetName]: webAssemblyEndowmentBuilder,\n [nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder,\n [lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder,\n [keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder,\n [settingsPageEndowmentBuilder.targetName]: settingsPageEndowmentBuilder,\n [protocolEndowmentBuilder.targetName]: protocolEndowmentBuilder,\n [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,\n [signatureInsightEndowmentBuilder.targetName]:\n signatureInsightEndowmentBuilder,\n [assetsEndowmentBuilder.targetName]: assetsEndowmentBuilder,\n} as const;\n\nexport const endowmentCaveatSpecifications = {\n ...cronjobCaveatSpecifications,\n ...transactionInsightCaveatSpecifications,\n ...rpcCaveatSpecifications,\n ...nameLookupCaveatSpecifications,\n ...keyringCaveatSpecifications,\n ...signatureInsightCaveatSpecifications,\n ...maxRequestTimeCaveatSpecifications,\n ...protocolCaveatSpecifications,\n};\n\nexport const endowmentCaveatMappers: Record<\n string,\n (value: Json) => Pick<PermissionConstraint, 'caveats'>\n> = {\n [cronjobEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getCronjobCaveatMapper,\n ),\n [transactionInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getTransactionInsightCaveatMapper,\n ),\n [rpcEndowmentBuilder.targetName]:\n createMaxRequestTimeMapper(getRpcCaveatMapper),\n [nameLookupEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getNameLookupCaveatMapper,\n ),\n [keyringEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getKeyringCaveatMapper,\n ),\n [protocolEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getProtocolCaveatMapper,\n ),\n [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getSignatureInsightCaveatMapper,\n ),\n [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [assetsEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getAssetsCaveatMapper,\n ),\n};\n\n// We allow null because a permitted handler does not have an endowment\nexport const handlerEndowments: Record<HandlerType, string | null> = {\n [HandlerType.OnRpcRequest]: rpcEndowmentBuilder.targetName,\n [HandlerType.OnTransaction]: transactionInsightEndowmentBuilder.targetName,\n [HandlerType.OnCronjob]: cronjobEndowmentBuilder.targetName,\n [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName,\n [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnStart]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,\n [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,\n [HandlerType.OnSettingsPage]: settingsPageEndowmentBuilder.targetName,\n [HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName,\n [HandlerType.OnUserInput]: null,\n [HandlerType.OnAssetHistoricalPrice]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsLookup]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnAssetsConversion]: assetsEndowmentBuilder.targetName,\n [HandlerType.OnProtocolRequest]: protocolEndowmentBuilder.targetName,\n [HandlerType.OnClientRequest]: null,\n [HandlerType.OnWebSocketEvent]: networkAccessEndowmentBuilder.targetName,\n};\n\nexport * from './enum';\nexport { getRpcCaveatOrigins } from './rpc';\nexport { getSignatureOriginCaveat } from './signature-insight';\nexport { getTransactionOriginCaveat } from './transaction-insight';\nexport { getChainIdsCaveat, getLookupMatchersCaveat } from './name-lookup';\nexport { getKeyringCaveatOrigins } from './keyring';\nexport { getMaxRequestTimeCaveat } from './caveats';\nexport { getCronjobCaveatJobs } from './cronjob';\nexport { getProtocolCaveatScopes } from './protocol';\n"]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.closeWebSocketHandler = void 0;
4
+ const rpc_errors_1 = require("@metamask/rpc-errors");
5
+ const superstruct_1 = require("@metamask/superstruct");
6
+ const endowments_1 = require("../endowments/index.cjs");
7
+ const hookNames = {
8
+ hasPermission: true,
9
+ closeWebSocket: true,
10
+ };
11
+ const CloseWebSocketParametersStruct = (0, superstruct_1.object)({
12
+ id: (0, superstruct_1.string)(),
13
+ });
14
+ /**
15
+ * Handler for the `snap_closeWebSocket` method.
16
+ */
17
+ exports.closeWebSocketHandler = {
18
+ methodNames: ['snap_closeWebSocket'],
19
+ implementation: closeWebSocketImplementation,
20
+ hookNames,
21
+ };
22
+ /**
23
+ * The `snap_closeWebSocket` method implementation.
24
+ *
25
+ * @param req - The JSON-RPC request object.
26
+ * @param res - The JSON-RPC response object.
27
+ * @param _next - The `json-rpc-engine` "next" callback. Not used by this function.
28
+ * @param end - The `json-rpc-engine` "end" callback.
29
+ * @param hooks - The RPC method hooks.
30
+ * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.
31
+ * @param hooks.closeWebSocket - The function to close a WebSocket.
32
+ * @returns Nothing.
33
+ */
34
+ function closeWebSocketImplementation(req, res, _next, end, { hasPermission, closeWebSocket }) {
35
+ if (!hasPermission(endowments_1.SnapEndowments.NetworkAccess)) {
36
+ return end(rpc_errors_1.providerErrors.unauthorized());
37
+ }
38
+ const { params } = req;
39
+ try {
40
+ const { id } = getValidatedParams(params);
41
+ closeWebSocket(id);
42
+ res.result = null;
43
+ }
44
+ catch (error) {
45
+ return end(error);
46
+ }
47
+ return end();
48
+ }
49
+ /**
50
+ * Validates the parameters for the snap_closeWebSocket method.
51
+ *
52
+ * @param params - Parameters to validate.
53
+ * @returns Validated parameters.
54
+ * @throws Throws RPC error if validation fails.
55
+ */
56
+ function getValidatedParams(params) {
57
+ try {
58
+ return (0, superstruct_1.create)(params, CloseWebSocketParametersStruct);
59
+ }
60
+ catch (error) {
61
+ if (error instanceof superstruct_1.StructError) {
62
+ throw rpc_errors_1.rpcErrors.invalidParams({
63
+ message: `Invalid params: ${error.message}.`,
64
+ });
65
+ }
66
+ /* istanbul ignore next */
67
+ throw rpc_errors_1.rpcErrors.internal();
68
+ }
69
+ }
70
+ //# sourceMappingURL=closeWebSocket.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeWebSocket.cjs","sourceRoot":"","sources":["../../src/permitted/closeWebSocket.ts"],"names":[],"mappings":";;;AAEA,qDAAiE;AAOjE,uDAA4E;AAG5E,wDAA+C;AAG/C,MAAM,SAAS,GAAiD;IAC9D,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;CACrB,CAAC;AAOF,MAAM,8BAA8B,GAAG,IAAA,oBAAM,EAAC;IAC5C,EAAE,EAAE,IAAA,oBAAM,GAAE;CACb,CAAC,CAAC;AAOH;;GAEG;AACU,QAAA,qBAAqB,GAI9B;IACF,WAAW,EAAE,CAAC,qBAAqB,CAAC;IACpC,cAAc,EAAE,4BAA4B;IAC5C,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,4BAA4B,CACnC,GAA6C,EAC7C,GAAiD,EACjD,KAAc,EACd,GAA6B,EAC7B,EAAE,aAAa,EAAE,cAAc,EAA6B;IAE5D,IAAI,CAAC,aAAa,CAAC,2BAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC,2BAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC;QACH,OAAO,IAAA,oBAAM,EAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,yBAAW,EAAE,CAAC;YACjC,MAAM,sBAAS,CAAC,aAAa,CAAC;gBAC5B,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,GAAG;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,0BAA0B;QAC1B,MAAM,sBAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { providerErrors, rpcErrors } from '@metamask/rpc-errors';\nimport type {\n JsonRpcRequest,\n CloseWebSocketParams,\n CloseWebSocketResult,\n} from '@metamask/snaps-sdk';\nimport type { InferMatching } from '@metamask/snaps-utils';\nimport { create, object, string, StructError } from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<CloseWebSocketMethodHooks> = {\n hasPermission: true,\n closeWebSocket: true,\n};\n\nexport type CloseWebSocketMethodHooks = {\n hasPermission: (permissionName: string) => boolean;\n closeWebSocket: (id: string) => void;\n};\n\nconst CloseWebSocketParametersStruct = object({\n id: string(),\n});\n\nexport type CloseWebSocketParameters = InferMatching<\n typeof CloseWebSocketParametersStruct,\n CloseWebSocketParams\n>;\n\n/**\n * Handler for the `snap_closeWebSocket` method.\n */\nexport const closeWebSocketHandler: PermittedHandlerExport<\n CloseWebSocketMethodHooks,\n CloseWebSocketParams,\n CloseWebSocketResult\n> = {\n methodNames: ['snap_closeWebSocket'],\n implementation: closeWebSocketImplementation,\n hookNames,\n};\n\n/**\n * The `snap_closeWebSocket` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.\n * @param hooks.closeWebSocket - The function to close a WebSocket.\n * @returns Nothing.\n */\nfunction closeWebSocketImplementation(\n req: JsonRpcRequest<CloseWebSocketParameters>,\n res: PendingJsonRpcResponse<CloseWebSocketResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { hasPermission, closeWebSocket }: CloseWebSocketMethodHooks,\n): void {\n if (!hasPermission(SnapEndowments.NetworkAccess)) {\n return end(providerErrors.unauthorized());\n }\n\n const { params } = req;\n\n try {\n const { id } = getValidatedParams(params);\n closeWebSocket(id);\n res.result = null;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n\n/**\n * Validates the parameters for the snap_closeWebSocket method.\n *\n * @param params - Parameters to validate.\n * @returns Validated parameters.\n * @throws Throws RPC error if validation fails.\n */\nfunction getValidatedParams(params: unknown): CloseWebSocketParameters {\n try {\n return create(params, CloseWebSocketParametersStruct);\n } catch (error) {\n if (error instanceof StructError) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}.`,\n });\n }\n /* istanbul ignore next */\n throw rpcErrors.internal();\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import type { PermittedHandlerExport } from "@metamask/permission-controller";
2
+ import type { CloseWebSocketParams, CloseWebSocketResult } from "@metamask/snaps-sdk";
3
+ import type { InferMatching } from "@metamask/snaps-utils";
4
+ export type CloseWebSocketMethodHooks = {
5
+ hasPermission: (permissionName: string) => boolean;
6
+ closeWebSocket: (id: string) => void;
7
+ };
8
+ declare const CloseWebSocketParametersStruct: import("@metamask/superstruct").Struct<{
9
+ id: string;
10
+ }, {
11
+ id: import("@metamask/superstruct").Struct<string, null>;
12
+ }>;
13
+ export type CloseWebSocketParameters = InferMatching<typeof CloseWebSocketParametersStruct, CloseWebSocketParams>;
14
+ /**
15
+ * Handler for the `snap_closeWebSocket` method.
16
+ */
17
+ export declare const closeWebSocketHandler: PermittedHandlerExport<CloseWebSocketMethodHooks, CloseWebSocketParams, CloseWebSocketResult>;
18
+ export {};
19
+ //# sourceMappingURL=closeWebSocket.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeWebSocket.d.cts","sourceRoot":"","sources":["../../src/permitted/closeWebSocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wCAAwC;AAE9E,OAAO,KAAK,EAEV,oBAAoB,EACpB,oBAAoB,EACrB,4BAA4B;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAY3D,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,QAAA,MAAM,8BAA8B;;;;EAElC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAClD,OAAO,8BAA8B,EACrC,oBAAoB,CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,CACxD,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,CAKrB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { PermittedHandlerExport } from "@metamask/permission-controller";
2
+ import type { CloseWebSocketParams, CloseWebSocketResult } from "@metamask/snaps-sdk";
3
+ import type { InferMatching } from "@metamask/snaps-utils";
4
+ export type CloseWebSocketMethodHooks = {
5
+ hasPermission: (permissionName: string) => boolean;
6
+ closeWebSocket: (id: string) => void;
7
+ };
8
+ declare const CloseWebSocketParametersStruct: import("@metamask/superstruct").Struct<{
9
+ id: string;
10
+ }, {
11
+ id: import("@metamask/superstruct").Struct<string, null>;
12
+ }>;
13
+ export type CloseWebSocketParameters = InferMatching<typeof CloseWebSocketParametersStruct, CloseWebSocketParams>;
14
+ /**
15
+ * Handler for the `snap_closeWebSocket` method.
16
+ */
17
+ export declare const closeWebSocketHandler: PermittedHandlerExport<CloseWebSocketMethodHooks, CloseWebSocketParams, CloseWebSocketResult>;
18
+ export {};
19
+ //# sourceMappingURL=closeWebSocket.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeWebSocket.d.mts","sourceRoot":"","sources":["../../src/permitted/closeWebSocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wCAAwC;AAE9E,OAAO,KAAK,EAEV,oBAAoB,EACpB,oBAAoB,EACrB,4BAA4B;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAY3D,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,QAAA,MAAM,8BAA8B;;;;EAElC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAClD,OAAO,8BAA8B,EACrC,oBAAoB,CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,CACxD,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,CAKrB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { providerErrors, rpcErrors } from "@metamask/rpc-errors";
2
+ import { create, object, string, StructError } from "@metamask/superstruct";
3
+ import { SnapEndowments } from "../endowments/index.mjs";
4
+ const hookNames = {
5
+ hasPermission: true,
6
+ closeWebSocket: true,
7
+ };
8
+ const CloseWebSocketParametersStruct = object({
9
+ id: string(),
10
+ });
11
+ /**
12
+ * Handler for the `snap_closeWebSocket` method.
13
+ */
14
+ export const closeWebSocketHandler = {
15
+ methodNames: ['snap_closeWebSocket'],
16
+ implementation: closeWebSocketImplementation,
17
+ hookNames,
18
+ };
19
+ /**
20
+ * The `snap_closeWebSocket` method implementation.
21
+ *
22
+ * @param req - The JSON-RPC request object.
23
+ * @param res - The JSON-RPC response object.
24
+ * @param _next - The `json-rpc-engine` "next" callback. Not used by this function.
25
+ * @param end - The `json-rpc-engine` "end" callback.
26
+ * @param hooks - The RPC method hooks.
27
+ * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.
28
+ * @param hooks.closeWebSocket - The function to close a WebSocket.
29
+ * @returns Nothing.
30
+ */
31
+ function closeWebSocketImplementation(req, res, _next, end, { hasPermission, closeWebSocket }) {
32
+ if (!hasPermission(SnapEndowments.NetworkAccess)) {
33
+ return end(providerErrors.unauthorized());
34
+ }
35
+ const { params } = req;
36
+ try {
37
+ const { id } = getValidatedParams(params);
38
+ closeWebSocket(id);
39
+ res.result = null;
40
+ }
41
+ catch (error) {
42
+ return end(error);
43
+ }
44
+ return end();
45
+ }
46
+ /**
47
+ * Validates the parameters for the snap_closeWebSocket method.
48
+ *
49
+ * @param params - Parameters to validate.
50
+ * @returns Validated parameters.
51
+ * @throws Throws RPC error if validation fails.
52
+ */
53
+ function getValidatedParams(params) {
54
+ try {
55
+ return create(params, CloseWebSocketParametersStruct);
56
+ }
57
+ catch (error) {
58
+ if (error instanceof StructError) {
59
+ throw rpcErrors.invalidParams({
60
+ message: `Invalid params: ${error.message}.`,
61
+ });
62
+ }
63
+ /* istanbul ignore next */
64
+ throw rpcErrors.internal();
65
+ }
66
+ }
67
+ //# sourceMappingURL=closeWebSocket.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeWebSocket.mjs","sourceRoot":"","sources":["../../src/permitted/closeWebSocket.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,6BAA6B;AAOjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,8BAA8B;AAG5E,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAG/C,MAAM,SAAS,GAAiD;IAC9D,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;CACrB,CAAC;AAOF,MAAM,8BAA8B,GAAG,MAAM,CAAC;IAC5C,EAAE,EAAE,MAAM,EAAE;CACb,CAAC,CAAC;AAOH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAI9B;IACF,WAAW,EAAE,CAAC,qBAAqB,CAAC;IACpC,cAAc,EAAE,4BAA4B;IAC5C,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,4BAA4B,CACnC,GAA6C,EAC7C,GAAiD,EACjD,KAAc,EACd,GAA6B,EAC7B,EAAE,aAAa,EAAE,cAAc,EAA6B;IAE5D,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,aAAa,CAAC;gBAC5B,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,GAAG;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,0BAA0B;QAC1B,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { providerErrors, rpcErrors } from '@metamask/rpc-errors';\nimport type {\n JsonRpcRequest,\n CloseWebSocketParams,\n CloseWebSocketResult,\n} from '@metamask/snaps-sdk';\nimport type { InferMatching } from '@metamask/snaps-utils';\nimport { create, object, string, StructError } from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<CloseWebSocketMethodHooks> = {\n hasPermission: true,\n closeWebSocket: true,\n};\n\nexport type CloseWebSocketMethodHooks = {\n hasPermission: (permissionName: string) => boolean;\n closeWebSocket: (id: string) => void;\n};\n\nconst CloseWebSocketParametersStruct = object({\n id: string(),\n});\n\nexport type CloseWebSocketParameters = InferMatching<\n typeof CloseWebSocketParametersStruct,\n CloseWebSocketParams\n>;\n\n/**\n * Handler for the `snap_closeWebSocket` method.\n */\nexport const closeWebSocketHandler: PermittedHandlerExport<\n CloseWebSocketMethodHooks,\n CloseWebSocketParams,\n CloseWebSocketResult\n> = {\n methodNames: ['snap_closeWebSocket'],\n implementation: closeWebSocketImplementation,\n hookNames,\n};\n\n/**\n * The `snap_closeWebSocket` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.\n * @param hooks.closeWebSocket - The function to close a WebSocket.\n * @returns Nothing.\n */\nfunction closeWebSocketImplementation(\n req: JsonRpcRequest<CloseWebSocketParameters>,\n res: PendingJsonRpcResponse<CloseWebSocketResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { hasPermission, closeWebSocket }: CloseWebSocketMethodHooks,\n): void {\n if (!hasPermission(SnapEndowments.NetworkAccess)) {\n return end(providerErrors.unauthorized());\n }\n\n const { params } = req;\n\n try {\n const { id } = getValidatedParams(params);\n closeWebSocket(id);\n res.result = null;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n\n/**\n * Validates the parameters for the snap_closeWebSocket method.\n *\n * @param params - Parameters to validate.\n * @returns Validated parameters.\n * @throws Throws RPC error if validation fails.\n */\nfunction getValidatedParams(params: unknown): CloseWebSocketParameters {\n try {\n return create(params, CloseWebSocketParametersStruct);\n } catch (error) {\n if (error instanceof StructError) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}.`,\n });\n }\n /* istanbul ignore next */\n throw rpcErrors.internal();\n }\n}\n"]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWebSocketsHandler = void 0;
4
+ const rpc_errors_1 = require("@metamask/rpc-errors");
5
+ const endowments_1 = require("../endowments/index.cjs");
6
+ const hookNames = {
7
+ hasPermission: true,
8
+ getWebSockets: true,
9
+ };
10
+ /**
11
+ * Handler for the `snap_getWebSockets` method.
12
+ */
13
+ exports.getWebSocketsHandler = {
14
+ methodNames: ['snap_getWebSockets'],
15
+ implementation: getWebSocketsImplementation,
16
+ hookNames,
17
+ };
18
+ /**
19
+ * The `snap_getWebSockets` method implementation.
20
+ *
21
+ * @param _req - The JSON-RPC request object. Not used by this function.
22
+ * @param res - The JSON-RPC response object.
23
+ * @param _next - The `json-rpc-engine` "next" callback. Not used by this function.
24
+ * @param end - The `json-rpc-engine` "end" callback.
25
+ * @param hooks - The RPC method hooks.
26
+ * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.
27
+ * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.
28
+ * @returns Nothing.
29
+ */
30
+ function getWebSocketsImplementation(_req, res, _next, end, { hasPermission, getWebSockets }) {
31
+ if (!hasPermission(endowments_1.SnapEndowments.NetworkAccess)) {
32
+ return end(rpc_errors_1.providerErrors.unauthorized());
33
+ }
34
+ try {
35
+ res.result = getWebSockets();
36
+ }
37
+ catch (error) {
38
+ return end(error);
39
+ }
40
+ return end();
41
+ }
42
+ //# sourceMappingURL=getWebSockets.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWebSockets.cjs","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":";;;AAEA,qDAAsD;AAQtD,wDAA+C;AAG/C,MAAM,SAAS,GAAgD;IAC7D,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF;;GAEG;AACU,QAAA,oBAAoB,GAI7B;IACF,WAAW,EAAE,CAAC,oBAAoB,CAAC;IACnC,cAAc,EAAE,2BAA2B;IAC3C,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,2BAA2B,CAClC,IAAyC,EACzC,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EAAE,aAAa,EAAE,aAAa,EAA4B;IAE1D,IAAI,CAAC,aAAa,CAAC,2BAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC,2BAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n GetWebSocketsParams,\n GetWebSocketsResult,\n JsonRpcRequest,\n} from '@metamask/snaps-sdk';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<GetWebSocketsMethodHooks> = {\n hasPermission: true,\n getWebSockets: true,\n};\n\nexport type GetWebSocketsMethodHooks = {\n hasPermission: (permissionName: string) => boolean;\n getWebSockets: () => GetWebSocketsResult;\n};\n\n/**\n * Handler for the `snap_getWebSockets` method.\n */\nexport const getWebSocketsHandler: PermittedHandlerExport<\n GetWebSocketsMethodHooks,\n GetWebSocketsParams,\n GetWebSocketsResult\n> = {\n methodNames: ['snap_getWebSockets'],\n implementation: getWebSocketsImplementation,\n hookNames,\n};\n\n/**\n * The `snap_getWebSockets` method implementation.\n *\n * @param _req - The JSON-RPC request object. Not used by this function.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.\n * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.\n * @returns Nothing.\n */\nfunction getWebSocketsImplementation(\n _req: JsonRpcRequest<GetWebSocketsParams>,\n res: PendingJsonRpcResponse<GetWebSocketsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { hasPermission, getWebSockets }: GetWebSocketsMethodHooks,\n): void {\n if (!hasPermission(SnapEndowments.NetworkAccess)) {\n return end(providerErrors.unauthorized());\n }\n\n try {\n res.result = getWebSockets();\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { PermittedHandlerExport } from "@metamask/permission-controller";
2
+ import type { GetWebSocketsParams, GetWebSocketsResult } from "@metamask/snaps-sdk";
3
+ export type GetWebSocketsMethodHooks = {
4
+ hasPermission: (permissionName: string) => boolean;
5
+ getWebSockets: () => GetWebSocketsResult;
6
+ };
7
+ /**
8
+ * Handler for the `snap_getWebSockets` method.
9
+ */
10
+ export declare const getWebSocketsHandler: PermittedHandlerExport<GetWebSocketsMethodHooks, GetWebSocketsParams, GetWebSocketsResult>;
11
+ //# sourceMappingURL=getWebSockets.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWebSockets.d.cts","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wCAAwC;AAE9E,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAEpB,4BAA4B;AAW7B,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,aAAa,EAAE,MAAM,mBAAmB,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,CACvD,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,CAKpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { PermittedHandlerExport } from "@metamask/permission-controller";
2
+ import type { GetWebSocketsParams, GetWebSocketsResult } from "@metamask/snaps-sdk";
3
+ export type GetWebSocketsMethodHooks = {
4
+ hasPermission: (permissionName: string) => boolean;
5
+ getWebSockets: () => GetWebSocketsResult;
6
+ };
7
+ /**
8
+ * Handler for the `snap_getWebSockets` method.
9
+ */
10
+ export declare const getWebSocketsHandler: PermittedHandlerExport<GetWebSocketsMethodHooks, GetWebSocketsParams, GetWebSocketsResult>;
11
+ //# sourceMappingURL=getWebSockets.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWebSockets.d.mts","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wCAAwC;AAE9E,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAEpB,4BAA4B;AAW7B,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,aAAa,EAAE,MAAM,mBAAmB,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,CACvD,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,CAKpB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { providerErrors } from "@metamask/rpc-errors";
2
+ import { SnapEndowments } from "../endowments/index.mjs";
3
+ const hookNames = {
4
+ hasPermission: true,
5
+ getWebSockets: true,
6
+ };
7
+ /**
8
+ * Handler for the `snap_getWebSockets` method.
9
+ */
10
+ export const getWebSocketsHandler = {
11
+ methodNames: ['snap_getWebSockets'],
12
+ implementation: getWebSocketsImplementation,
13
+ hookNames,
14
+ };
15
+ /**
16
+ * The `snap_getWebSockets` method implementation.
17
+ *
18
+ * @param _req - The JSON-RPC request object. Not used by this function.
19
+ * @param res - The JSON-RPC response object.
20
+ * @param _next - The `json-rpc-engine` "next" callback. Not used by this function.
21
+ * @param end - The `json-rpc-engine` "end" callback.
22
+ * @param hooks - The RPC method hooks.
23
+ * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.
24
+ * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.
25
+ * @returns Nothing.
26
+ */
27
+ function getWebSocketsImplementation(_req, res, _next, end, { hasPermission, getWebSockets }) {
28
+ if (!hasPermission(SnapEndowments.NetworkAccess)) {
29
+ return end(providerErrors.unauthorized());
30
+ }
31
+ try {
32
+ res.result = getWebSockets();
33
+ }
34
+ catch (error) {
35
+ return end(error);
36
+ }
37
+ return end();
38
+ }
39
+ //# sourceMappingURL=getWebSockets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWebSockets.mjs","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAQtD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAG/C,MAAM,SAAS,GAAgD;IAC7D,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAI7B;IACF,WAAW,EAAE,CAAC,oBAAoB,CAAC;IACnC,cAAc,EAAE,2BAA2B;IAC3C,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,2BAA2B,CAClC,IAAyC,EACzC,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EAAE,aAAa,EAAE,aAAa,EAA4B;IAE1D,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n GetWebSocketsParams,\n GetWebSocketsResult,\n JsonRpcRequest,\n} from '@metamask/snaps-sdk';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<GetWebSocketsMethodHooks> = {\n hasPermission: true,\n getWebSockets: true,\n};\n\nexport type GetWebSocketsMethodHooks = {\n hasPermission: (permissionName: string) => boolean;\n getWebSockets: () => GetWebSocketsResult;\n};\n\n/**\n * Handler for the `snap_getWebSockets` method.\n */\nexport const getWebSocketsHandler: PermittedHandlerExport<\n GetWebSocketsMethodHooks,\n GetWebSocketsParams,\n GetWebSocketsResult\n> = {\n methodNames: ['snap_getWebSockets'],\n implementation: getWebSocketsImplementation,\n hookNames,\n};\n\n/**\n * The `snap_getWebSockets` method implementation.\n *\n * @param _req - The JSON-RPC request object. Not used by this function.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.\n * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.\n * @returns Nothing.\n */\nfunction getWebSocketsImplementation(\n _req: JsonRpcRequest<GetWebSocketsParams>,\n res: PendingJsonRpcResponse<GetWebSocketsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { hasPermission, getWebSockets }: GetWebSocketsMethodHooks,\n): void {\n if (!hasPermission(SnapEndowments.NetworkAccess)) {\n return end(providerErrors.unauthorized());\n }\n\n try {\n res.result = getWebSockets();\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handlers = exports.methodHandlers = void 0;
4
4
  const cancelBackgroundEvent_1 = require("./cancelBackgroundEvent.cjs");
5
5
  const clearState_1 = require("./clearState.cjs");
6
+ const closeWebSocket_1 = require("./closeWebSocket.cjs");
6
7
  const createInterface_1 = require("./createInterface.cjs");
7
8
  const experimentalProviderRequest_1 = require("./experimentalProviderRequest.cjs");
8
9
  const getAllSnaps_1 = require("./getAllSnaps.cjs");
@@ -14,12 +15,15 @@ const getInterfaceContext_1 = require("./getInterfaceContext.cjs");
14
15
  const getInterfaceState_1 = require("./getInterfaceState.cjs");
15
16
  const getSnaps_1 = require("./getSnaps.cjs");
16
17
  const getState_1 = require("./getState.cjs");
18
+ const getWebSockets_1 = require("./getWebSockets.cjs");
17
19
  const invokeKeyring_1 = require("./invokeKeyring.cjs");
18
20
  const invokeSnapSugar_1 = require("./invokeSnapSugar.cjs");
19
21
  const listEntropySources_1 = require("./listEntropySources.cjs");
22
+ const openWebSocket_1 = require("./openWebSocket.cjs");
20
23
  const requestSnaps_1 = require("./requestSnaps.cjs");
21
24
  const resolveInterface_1 = require("./resolveInterface.cjs");
22
25
  const scheduleBackgroundEvent_1 = require("./scheduleBackgroundEvent.cjs");
26
+ const sendWebSocketMessage_1 = require("./sendWebSocketMessage.cjs");
23
27
  const setState_1 = require("./setState.cjs");
24
28
  const trackEvent_1 = require("./trackEvent.cjs");
25
29
  const updateInterface_1 = require("./updateInterface.cjs");
@@ -47,6 +51,10 @@ exports.methodHandlers = {
47
51
  snap_getBackgroundEvents: getBackgroundEvents_1.getBackgroundEventsHandler,
48
52
  snap_setState: setState_1.setStateHandler,
49
53
  snap_trackEvent: trackEvent_1.trackEventHandler,
54
+ snap_openWebSocket: openWebSocket_1.openWebSocketHandler,
55
+ snap_closeWebSocket: closeWebSocket_1.closeWebSocketHandler,
56
+ snap_sendWebSocketMessage: sendWebSocketMessage_1.sendWebSocketMessageHandler,
57
+ snap_getWebSockets: getWebSockets_1.getWebSocketsHandler,
50
58
  };
51
59
  /* eslint-enable @typescript-eslint/naming-convention */
52
60
  exports.handlers = Object.values(exports.methodHandlers);
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.cjs","sourceRoot":"","sources":["../../src/permitted/handlers.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AACvE,iDAAiD;AACjD,2DAA2D;AAC3D,mFAAuE;AACvE,mDAAmD;AACnD,mEAAmE;AACnE,2DAA2D;AAC3D,2DAA2D;AAC3D,2CAA2C;AAC3C,mEAAmE;AACnE,+DAA+D;AAC/D,6CAA6C;AAC7C,6CAA6C;AAC7C,uDAAuD;AACvD,2DAA2D;AAC3D,iEAAiE;AACjE,qDAAqD;AACrD,6DAA6D;AAC7D,2EAA2E;AAC3E,6CAA6C;AAC7C,iDAAiD;AACjD,2DAA2D;AAE3D,yDAAyD;AAC5C,QAAA,cAAc,GAAG;IAC5B,kBAAkB,EAAE,gCAAkB;IACtC,eAAe,EAAE,0BAAe;IAChC,mBAAmB,EAAE,kCAAmB;IACxC,iBAAiB,EAAE,wCAAsB;IACzC,oBAAoB,EAAE,oCAAoB;IAC1C,eAAe,EAAE,8BAAiB;IAClC,oBAAoB,EAAE,wCAAsB;IAC5C,YAAY,EAAE,wBAAc;IAC5B,aAAa,EAAE,0BAAe;IAC9B,oBAAoB,EAAE,wCAAsB;IAC5C,oBAAoB,EAAE,wCAAsB;IAC5C,sBAAsB,EAAE,4CAAwB;IAChD,wBAAwB,EAAE,gDAA0B;IACpD,uBAAuB,EAAE,8CAAyB;IAClD,qBAAqB,EAAE,0CAAuB;IAC9C,oBAAoB,EAAE,wCAAsB;IAC5C,gCAAgC,EAAE,oDAAsB;IACxD,4BAA4B,EAAE,wDAA8B;IAC5D,0BAA0B,EAAE,oDAA4B;IACxD,wBAAwB,EAAE,gDAA0B;IACpD,aAAa,EAAE,0BAAe;IAC9B,eAAe,EAAE,8BAAiB;CACnC,CAAC;AACF,wDAAwD;AAE3C,QAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC","sourcesContent":["import { cancelBackgroundEventHandler } from './cancelBackgroundEvent';\nimport { clearStateHandler } from './clearState';\nimport { createInterfaceHandler } from './createInterface';\nimport { providerRequestHandler } from './experimentalProviderRequest';\nimport { getAllSnapsHandler } from './getAllSnaps';\nimport { getBackgroundEventsHandler } from './getBackgroundEvents';\nimport { getClientStatusHandler } from './getClientStatus';\nimport { getCurrencyRateHandler } from './getCurrencyRate';\nimport { getFileHandler } from './getFile';\nimport { getInterfaceContextHandler } from './getInterfaceContext';\nimport { getInterfaceStateHandler } from './getInterfaceState';\nimport { getSnapsHandler } from './getSnaps';\nimport { getStateHandler } from './getState';\nimport { invokeKeyringHandler } from './invokeKeyring';\nimport { invokeSnapSugarHandler } from './invokeSnapSugar';\nimport { listEntropySourcesHandler } from './listEntropySources';\nimport { requestSnapsHandler } from './requestSnaps';\nimport { resolveInterfaceHandler } from './resolveInterface';\nimport { scheduleBackgroundEventHandler } from './scheduleBackgroundEvent';\nimport { setStateHandler } from './setState';\nimport { trackEventHandler } from './trackEvent';\nimport { updateInterfaceHandler } from './updateInterface';\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const methodHandlers = {\n wallet_getAllSnaps: getAllSnapsHandler,\n wallet_getSnaps: getSnapsHandler,\n wallet_requestSnaps: requestSnapsHandler,\n wallet_invokeSnap: invokeSnapSugarHandler,\n wallet_invokeKeyring: invokeKeyringHandler,\n snap_clearState: clearStateHandler,\n snap_getClientStatus: getClientStatusHandler,\n snap_getFile: getFileHandler,\n snap_getState: getStateHandler,\n snap_createInterface: createInterfaceHandler,\n snap_updateInterface: updateInterfaceHandler,\n snap_getInterfaceState: getInterfaceStateHandler,\n snap_getInterfaceContext: getInterfaceContextHandler,\n snap_listEntropySources: listEntropySourcesHandler,\n snap_resolveInterface: resolveInterfaceHandler,\n snap_getCurrencyRate: getCurrencyRateHandler,\n snap_experimentalProviderRequest: providerRequestHandler,\n snap_scheduleBackgroundEvent: scheduleBackgroundEventHandler,\n snap_cancelBackgroundEvent: cancelBackgroundEventHandler,\n snap_getBackgroundEvents: getBackgroundEventsHandler,\n snap_setState: setStateHandler,\n snap_trackEvent: trackEventHandler,\n};\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport const handlers = Object.values(methodHandlers);\n"]}
1
+ {"version":3,"file":"handlers.cjs","sourceRoot":"","sources":["../../src/permitted/handlers.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AACvE,iDAAiD;AACjD,yDAAyD;AACzD,2DAA2D;AAC3D,mFAAuE;AACvE,mDAAmD;AACnD,mEAAmE;AACnE,2DAA2D;AAC3D,2DAA2D;AAC3D,2CAA2C;AAC3C,mEAAmE;AACnE,+DAA+D;AAC/D,6CAA6C;AAC7C,6CAA6C;AAC7C,uDAAuD;AACvD,uDAAuD;AACvD,2DAA2D;AAC3D,iEAAiE;AACjE,uDAAuD;AACvD,qDAAqD;AACrD,6DAA6D;AAC7D,2EAA2E;AAC3E,qEAAqE;AACrE,6CAA6C;AAC7C,iDAAiD;AACjD,2DAA2D;AAE3D,yDAAyD;AAC5C,QAAA,cAAc,GAAG;IAC5B,kBAAkB,EAAE,gCAAkB;IACtC,eAAe,EAAE,0BAAe;IAChC,mBAAmB,EAAE,kCAAmB;IACxC,iBAAiB,EAAE,wCAAsB;IACzC,oBAAoB,EAAE,oCAAoB;IAC1C,eAAe,EAAE,8BAAiB;IAClC,oBAAoB,EAAE,wCAAsB;IAC5C,YAAY,EAAE,wBAAc;IAC5B,aAAa,EAAE,0BAAe;IAC9B,oBAAoB,EAAE,wCAAsB;IAC5C,oBAAoB,EAAE,wCAAsB;IAC5C,sBAAsB,EAAE,4CAAwB;IAChD,wBAAwB,EAAE,gDAA0B;IACpD,uBAAuB,EAAE,8CAAyB;IAClD,qBAAqB,EAAE,0CAAuB;IAC9C,oBAAoB,EAAE,wCAAsB;IAC5C,gCAAgC,EAAE,oDAAsB;IACxD,4BAA4B,EAAE,wDAA8B;IAC5D,0BAA0B,EAAE,oDAA4B;IACxD,wBAAwB,EAAE,gDAA0B;IACpD,aAAa,EAAE,0BAAe;IAC9B,eAAe,EAAE,8BAAiB;IAClC,kBAAkB,EAAE,oCAAoB;IACxC,mBAAmB,EAAE,sCAAqB;IAC1C,yBAAyB,EAAE,kDAA2B;IACtD,kBAAkB,EAAE,oCAAoB;CACzC,CAAC;AACF,wDAAwD;AAE3C,QAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC","sourcesContent":["import { cancelBackgroundEventHandler } from './cancelBackgroundEvent';\nimport { clearStateHandler } from './clearState';\nimport { closeWebSocketHandler } from './closeWebSocket';\nimport { createInterfaceHandler } from './createInterface';\nimport { providerRequestHandler } from './experimentalProviderRequest';\nimport { getAllSnapsHandler } from './getAllSnaps';\nimport { getBackgroundEventsHandler } from './getBackgroundEvents';\nimport { getClientStatusHandler } from './getClientStatus';\nimport { getCurrencyRateHandler } from './getCurrencyRate';\nimport { getFileHandler } from './getFile';\nimport { getInterfaceContextHandler } from './getInterfaceContext';\nimport { getInterfaceStateHandler } from './getInterfaceState';\nimport { getSnapsHandler } from './getSnaps';\nimport { getStateHandler } from './getState';\nimport { getWebSocketsHandler } from './getWebSockets';\nimport { invokeKeyringHandler } from './invokeKeyring';\nimport { invokeSnapSugarHandler } from './invokeSnapSugar';\nimport { listEntropySourcesHandler } from './listEntropySources';\nimport { openWebSocketHandler } from './openWebSocket';\nimport { requestSnapsHandler } from './requestSnaps';\nimport { resolveInterfaceHandler } from './resolveInterface';\nimport { scheduleBackgroundEventHandler } from './scheduleBackgroundEvent';\nimport { sendWebSocketMessageHandler } from './sendWebSocketMessage';\nimport { setStateHandler } from './setState';\nimport { trackEventHandler } from './trackEvent';\nimport { updateInterfaceHandler } from './updateInterface';\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const methodHandlers = {\n wallet_getAllSnaps: getAllSnapsHandler,\n wallet_getSnaps: getSnapsHandler,\n wallet_requestSnaps: requestSnapsHandler,\n wallet_invokeSnap: invokeSnapSugarHandler,\n wallet_invokeKeyring: invokeKeyringHandler,\n snap_clearState: clearStateHandler,\n snap_getClientStatus: getClientStatusHandler,\n snap_getFile: getFileHandler,\n snap_getState: getStateHandler,\n snap_createInterface: createInterfaceHandler,\n snap_updateInterface: updateInterfaceHandler,\n snap_getInterfaceState: getInterfaceStateHandler,\n snap_getInterfaceContext: getInterfaceContextHandler,\n snap_listEntropySources: listEntropySourcesHandler,\n snap_resolveInterface: resolveInterfaceHandler,\n snap_getCurrencyRate: getCurrencyRateHandler,\n snap_experimentalProviderRequest: providerRequestHandler,\n snap_scheduleBackgroundEvent: scheduleBackgroundEventHandler,\n snap_cancelBackgroundEvent: cancelBackgroundEventHandler,\n snap_getBackgroundEvents: getBackgroundEventsHandler,\n snap_setState: setStateHandler,\n snap_trackEvent: trackEventHandler,\n snap_openWebSocket: openWebSocketHandler,\n snap_closeWebSocket: closeWebSocketHandler,\n snap_sendWebSocketMessage: sendWebSocketMessageHandler,\n snap_getWebSockets: getWebSocketsHandler,\n};\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport const handlers = Object.values(methodHandlers);\n"]}