@metamask/snaps-utils 11.1.0 → 11.2.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.
- package/CHANGELOG.md +8 -1
- package/dist/handlers/exports.cjs +14 -0
- package/dist/handlers/exports.cjs.map +1 -1
- package/dist/handlers/exports.d.cts +10 -0
- package/dist/handlers/exports.d.cts.map +1 -1
- package/dist/handlers/exports.d.mts +10 -0
- package/dist/handlers/exports.d.mts.map +1 -1
- package/dist/handlers/exports.mjs +14 -0
- package/dist/handlers/exports.mjs.map +1 -1
- package/dist/handlers/types.cjs +2 -0
- package/dist/handlers/types.cjs.map +1 -1
- package/dist/handlers/types.d.cts +2 -0
- package/dist/handlers/types.d.cts.map +1 -1
- package/dist/handlers/types.d.mts +2 -0
- package/dist/handlers/types.d.mts.map +1 -1
- package/dist/handlers/types.mjs +2 -0
- package/dist/handlers/types.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [11.2.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add support for `onActive` and `onInactive` lifecycle hooks ([#3542](https://github.com/MetaMask/snaps/pull/3542))
|
|
15
|
+
|
|
10
16
|
## [11.1.0]
|
|
11
17
|
|
|
12
18
|
### Added
|
|
@@ -666,7 +672,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
666
672
|
- The version of the package no longer needs to match the version of all other
|
|
667
673
|
MetaMask Snaps packages.
|
|
668
674
|
|
|
669
|
-
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@11.
|
|
675
|
+
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@11.2.0...HEAD
|
|
676
|
+
[11.2.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@11.1.0...@metamask/snaps-utils@11.2.0
|
|
670
677
|
[11.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@11.0.0...@metamask/snaps-utils@11.1.0
|
|
671
678
|
[11.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@10.1.0...@metamask/snaps-utils@11.0.0
|
|
672
679
|
[10.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@10.0.0...@metamask/snaps-utils@10.1.0
|
|
@@ -52,6 +52,20 @@ exports.SNAP_EXPORTS = {
|
|
|
52
52
|
return typeof snapExport === 'function';
|
|
53
53
|
},
|
|
54
54
|
},
|
|
55
|
+
[types_1.HandlerType.OnActive]: {
|
|
56
|
+
type: types_1.HandlerType.OnActive,
|
|
57
|
+
required: false,
|
|
58
|
+
validator: (snapExport) => {
|
|
59
|
+
return typeof snapExport === 'function';
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
[types_1.HandlerType.OnInactive]: {
|
|
63
|
+
type: types_1.HandlerType.OnInactive,
|
|
64
|
+
required: false,
|
|
65
|
+
validator: (snapExport) => {
|
|
66
|
+
return typeof snapExport === 'function';
|
|
67
|
+
},
|
|
68
|
+
},
|
|
55
69
|
[types_1.HandlerType.OnKeyringRequest]: {
|
|
56
70
|
type: types_1.HandlerType.OnKeyringRequest,
|
|
57
71
|
required: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.cjs","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"exports.cjs","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n OnActiveHandler,\n OnAssetHistoricalPriceHandler,\n OnAssetsConversionHandler,\n OnAssetsLookupHandler,\n OnAssetsMarketDataHandler,\n OnClientRequestHandler,\n OnCronjobHandler,\n OnHomePageHandler,\n OnInactiveHandler,\n OnInstallHandler,\n OnKeyringRequestHandler,\n OnNameLookupHandler,\n OnProtocolRequestHandler,\n OnRpcRequestHandler,\n OnSettingsPageHandler,\n OnSignatureHandler,\n OnStartHandler,\n OnTransactionHandler,\n OnUpdateHandler,\n OnUserInputHandler,\n OnWebSocketEventHandler,\n} from '@metamask/snaps-sdk';\n\nimport { HandlerType } from './types';\n\nexport const SNAP_EXPORTS = {\n [HandlerType.OnRpcRequest]: {\n type: HandlerType.OnRpcRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnRpcRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnTransaction]: {\n type: HandlerType.OnTransaction,\n required: true,\n validator: (snapExport: unknown): snapExport is OnTransactionHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnCronjob]: {\n type: HandlerType.OnCronjob,\n required: true,\n validator: (snapExport: unknown): snapExport is OnCronjobHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnNameLookup]: {\n type: HandlerType.OnNameLookup,\n required: true,\n validator: (snapExport: unknown): snapExport is OnNameLookupHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnInstall]: {\n type: HandlerType.OnInstall,\n required: false,\n validator: (snapExport: unknown): snapExport is OnInstallHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnUpdate]: {\n type: HandlerType.OnUpdate,\n required: false,\n validator: (snapExport: unknown): snapExport is OnUpdateHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnStart]: {\n type: HandlerType.OnStart,\n required: false,\n validator: (snapExport: unknown): snapExport is OnStartHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnActive]: {\n type: HandlerType.OnActive,\n required: false,\n validator: (snapExport: unknown): snapExport is OnActiveHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnInactive]: {\n type: HandlerType.OnInactive,\n required: false,\n validator: (snapExport: unknown): snapExport is OnInactiveHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnKeyringRequest]: {\n type: HandlerType.OnKeyringRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnKeyringRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnHomePage]: {\n type: HandlerType.OnHomePage,\n required: true,\n validator: (snapExport: unknown): snapExport is OnHomePageHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnSettingsPage]: {\n type: HandlerType.OnSettingsPage,\n required: true,\n validator: (snapExport: unknown): snapExport is OnSettingsPageHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnSignature]: {\n type: HandlerType.OnSignature,\n required: true,\n validator: (snapExport: unknown): snapExport is OnSignatureHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnUserInput]: {\n type: HandlerType.OnUserInput,\n required: false,\n validator: (snapExport: unknown): snapExport is OnUserInputHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetHistoricalPrice]: {\n type: HandlerType.OnAssetHistoricalPrice,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnAssetHistoricalPriceHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetsLookup]: {\n type: HandlerType.OnAssetsLookup,\n required: true,\n validator: (snapExport: unknown): snapExport is OnAssetsLookupHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetsConversion]: {\n type: HandlerType.OnAssetsConversion,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnAssetsConversionHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetsMarketData]: {\n type: HandlerType.OnAssetsMarketData,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnAssetsMarketDataHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnProtocolRequest]: {\n type: HandlerType.OnProtocolRequest,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnProtocolRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnClientRequest]: {\n type: HandlerType.OnClientRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnClientRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnWebSocketEvent]: {\n type: HandlerType.OnWebSocketEvent,\n required: true,\n validator: (snapExport: unknown): snapExport is OnWebSocketEventHandler => {\n return typeof snapExport === 'function';\n },\n },\n} as const;\n\nexport const SNAP_EXPORT_NAMES = Object.values(HandlerType);\n"]}
|
|
@@ -36,6 +36,16 @@ export declare const SNAP_EXPORTS: {
|
|
|
36
36
|
readonly required: false;
|
|
37
37
|
readonly validator: (snapExport: unknown) => snapExport is import("@metamask/snaps-sdk").LifecycleEventHandler;
|
|
38
38
|
};
|
|
39
|
+
readonly onActive: {
|
|
40
|
+
readonly type: HandlerType.OnActive;
|
|
41
|
+
readonly required: false;
|
|
42
|
+
readonly validator: (snapExport: unknown) => snapExport is import("@metamask/snaps-sdk").LifecycleEventHandler;
|
|
43
|
+
};
|
|
44
|
+
readonly onInactive: {
|
|
45
|
+
readonly type: HandlerType.OnInactive;
|
|
46
|
+
readonly required: false;
|
|
47
|
+
readonly validator: (snapExport: unknown) => snapExport is import("@metamask/snaps-sdk").LifecycleEventHandler;
|
|
48
|
+
};
|
|
39
49
|
readonly onKeyringRequest: {
|
|
40
50
|
readonly type: HandlerType.OnKeyringRequest;
|
|
41
51
|
readonly required: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.cts","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"exports.d.cts","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EAGjB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAElB,oBAAoB,EAEpB,kBAAkB,EAClB,uBAAuB,EACxB,4BAA4B;AAE7B,OAAO,EAAE,WAAW,EAAE,oBAAgB;AAEtC,eAAO,MAAM,YAAY;;;;yCAIG,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAQjB,OAAO;;;;;yCAQG,OAAO;;;;;yCAQjB,OAAO;;;;;yCASP,OAAO;;;;;yCASP,OAAO;;;;;yCAQG,OAAO;;;;;yCAOP,OAAO;;CAIzB,CAAC;AAEX,eAAO,MAAM,iBAAiB,eAA6B,CAAC"}
|
|
@@ -36,6 +36,16 @@ export declare const SNAP_EXPORTS: {
|
|
|
36
36
|
readonly required: false;
|
|
37
37
|
readonly validator: (snapExport: unknown) => snapExport is import("@metamask/snaps-sdk").LifecycleEventHandler;
|
|
38
38
|
};
|
|
39
|
+
readonly onActive: {
|
|
40
|
+
readonly type: HandlerType.OnActive;
|
|
41
|
+
readonly required: false;
|
|
42
|
+
readonly validator: (snapExport: unknown) => snapExport is import("@metamask/snaps-sdk").LifecycleEventHandler;
|
|
43
|
+
};
|
|
44
|
+
readonly onInactive: {
|
|
45
|
+
readonly type: HandlerType.OnInactive;
|
|
46
|
+
readonly required: false;
|
|
47
|
+
readonly validator: (snapExport: unknown) => snapExport is import("@metamask/snaps-sdk").LifecycleEventHandler;
|
|
48
|
+
};
|
|
39
49
|
readonly onKeyringRequest: {
|
|
40
50
|
readonly type: HandlerType.OnKeyringRequest;
|
|
41
51
|
readonly required: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.mts","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"exports.d.mts","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EAGjB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAElB,oBAAoB,EAEpB,kBAAkB,EAClB,uBAAuB,EACxB,4BAA4B;AAE7B,OAAO,EAAE,WAAW,EAAE,oBAAgB;AAEtC,eAAO,MAAM,YAAY;;;;yCAIG,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAOP,OAAO;;;;;yCAQjB,OAAO;;;;;yCAQG,OAAO;;;;;yCAQjB,OAAO;;;;;yCASP,OAAO;;;;;yCASP,OAAO;;;;;yCAQG,OAAO;;;;;yCAOP,OAAO;;CAIzB,CAAC;AAEX,eAAO,MAAM,iBAAiB,eAA6B,CAAC"}
|
|
@@ -49,6 +49,20 @@ export const SNAP_EXPORTS = {
|
|
|
49
49
|
return typeof snapExport === 'function';
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
|
+
[HandlerType.OnActive]: {
|
|
53
|
+
type: HandlerType.OnActive,
|
|
54
|
+
required: false,
|
|
55
|
+
validator: (snapExport) => {
|
|
56
|
+
return typeof snapExport === 'function';
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
[HandlerType.OnInactive]: {
|
|
60
|
+
type: HandlerType.OnInactive,
|
|
61
|
+
required: false,
|
|
62
|
+
validator: (snapExport) => {
|
|
63
|
+
return typeof snapExport === 'function';
|
|
64
|
+
},
|
|
65
|
+
},
|
|
52
66
|
[HandlerType.OnKeyringRequest]: {
|
|
53
67
|
type: HandlerType.OnKeyringRequest,
|
|
54
68
|
required: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.mjs","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exports.mjs","sourceRoot":"","sources":["../../src/handlers/exports.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n OnActiveHandler,\n OnAssetHistoricalPriceHandler,\n OnAssetsConversionHandler,\n OnAssetsLookupHandler,\n OnAssetsMarketDataHandler,\n OnClientRequestHandler,\n OnCronjobHandler,\n OnHomePageHandler,\n OnInactiveHandler,\n OnInstallHandler,\n OnKeyringRequestHandler,\n OnNameLookupHandler,\n OnProtocolRequestHandler,\n OnRpcRequestHandler,\n OnSettingsPageHandler,\n OnSignatureHandler,\n OnStartHandler,\n OnTransactionHandler,\n OnUpdateHandler,\n OnUserInputHandler,\n OnWebSocketEventHandler,\n} from '@metamask/snaps-sdk';\n\nimport { HandlerType } from './types';\n\nexport const SNAP_EXPORTS = {\n [HandlerType.OnRpcRequest]: {\n type: HandlerType.OnRpcRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnRpcRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnTransaction]: {\n type: HandlerType.OnTransaction,\n required: true,\n validator: (snapExport: unknown): snapExport is OnTransactionHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnCronjob]: {\n type: HandlerType.OnCronjob,\n required: true,\n validator: (snapExport: unknown): snapExport is OnCronjobHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnNameLookup]: {\n type: HandlerType.OnNameLookup,\n required: true,\n validator: (snapExport: unknown): snapExport is OnNameLookupHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnInstall]: {\n type: HandlerType.OnInstall,\n required: false,\n validator: (snapExport: unknown): snapExport is OnInstallHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnUpdate]: {\n type: HandlerType.OnUpdate,\n required: false,\n validator: (snapExport: unknown): snapExport is OnUpdateHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnStart]: {\n type: HandlerType.OnStart,\n required: false,\n validator: (snapExport: unknown): snapExport is OnStartHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnActive]: {\n type: HandlerType.OnActive,\n required: false,\n validator: (snapExport: unknown): snapExport is OnActiveHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnInactive]: {\n type: HandlerType.OnInactive,\n required: false,\n validator: (snapExport: unknown): snapExport is OnInactiveHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnKeyringRequest]: {\n type: HandlerType.OnKeyringRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnKeyringRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnHomePage]: {\n type: HandlerType.OnHomePage,\n required: true,\n validator: (snapExport: unknown): snapExport is OnHomePageHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnSettingsPage]: {\n type: HandlerType.OnSettingsPage,\n required: true,\n validator: (snapExport: unknown): snapExport is OnSettingsPageHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnSignature]: {\n type: HandlerType.OnSignature,\n required: true,\n validator: (snapExport: unknown): snapExport is OnSignatureHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnUserInput]: {\n type: HandlerType.OnUserInput,\n required: false,\n validator: (snapExport: unknown): snapExport is OnUserInputHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetHistoricalPrice]: {\n type: HandlerType.OnAssetHistoricalPrice,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnAssetHistoricalPriceHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetsLookup]: {\n type: HandlerType.OnAssetsLookup,\n required: true,\n validator: (snapExport: unknown): snapExport is OnAssetsLookupHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetsConversion]: {\n type: HandlerType.OnAssetsConversion,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnAssetsConversionHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnAssetsMarketData]: {\n type: HandlerType.OnAssetsMarketData,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnAssetsMarketDataHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnProtocolRequest]: {\n type: HandlerType.OnProtocolRequest,\n required: true,\n validator: (\n snapExport: unknown,\n ): snapExport is OnProtocolRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnClientRequest]: {\n type: HandlerType.OnClientRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnClientRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnWebSocketEvent]: {\n type: HandlerType.OnWebSocketEvent,\n required: true,\n validator: (snapExport: unknown): snapExport is OnWebSocketEventHandler => {\n return typeof snapExport === 'function';\n },\n },\n} as const;\n\nexport const SNAP_EXPORT_NAMES = Object.values(HandlerType);\n"]}
|
package/dist/handlers/types.cjs
CHANGED
|
@@ -10,6 +10,8 @@ var HandlerType;
|
|
|
10
10
|
HandlerType["OnInstall"] = "onInstall";
|
|
11
11
|
HandlerType["OnUpdate"] = "onUpdate";
|
|
12
12
|
HandlerType["OnStart"] = "onStart";
|
|
13
|
+
HandlerType["OnActive"] = "onActive";
|
|
14
|
+
HandlerType["OnInactive"] = "onInactive";
|
|
13
15
|
HandlerType["OnNameLookup"] = "onNameLookup";
|
|
14
16
|
HandlerType["OnKeyringRequest"] = "onKeyringRequest";
|
|
15
17
|
HandlerType["OnHomePage"] = "onHomePage";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":";;;AA8BA,IAAY,
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":";;;AA8BA,IAAY,WAsBX;AAtBD,WAAY,WAAW;IACrB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,8CAA+B,CAAA;IAC/B,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;IAC7B,oDAAqC,CAAA;IACrC,wCAAyB,CAAA;IACzB,gDAAiC,CAAA;IACjC,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IACjC,wDAAyC,CAAA;IACzC,gEAAiD,CAAA;IACjD,wDAAyC,CAAA;IACzC,sDAAuC,CAAA;IACvC,kDAAmC,CAAA;IACnC,oDAAqC,CAAA;AACvC,CAAC,EAtBW,WAAW,2BAAX,WAAW,QAsBtB","sourcesContent":["import type { SNAP_EXPORTS } from './exports';\n\nexport type SnapRpcHookArgs = {\n origin: string;\n handler: HandlerType;\n request: Record<string, unknown>;\n};\n\n/**\n * Utility type for getting the handler function type from a handler type.\n */\nexport type HandlerFunction<Type extends SnapHandler> =\n Type['validator'] extends (snapExport: unknown) => snapExport is infer Handler\n ? Handler\n : never;\n\n/**\n * All the function-based handlers that a snap can implement.\n */\nexport type SnapFunctionExports = {\n [Key in keyof typeof SNAP_EXPORTS]?: HandlerFunction<\n (typeof SNAP_EXPORTS)[Key]\n >;\n};\n\n/**\n * All handlers that a snap can implement.\n */\nexport type SnapExports = SnapFunctionExports;\n\nexport enum HandlerType {\n OnRpcRequest = 'onRpcRequest',\n OnSignature = 'onSignature',\n OnTransaction = 'onTransaction',\n OnCronjob = 'onCronjob',\n OnInstall = 'onInstall',\n OnUpdate = 'onUpdate',\n OnStart = 'onStart',\n OnActive = 'onActive',\n OnInactive = 'onInactive',\n OnNameLookup = 'onNameLookup',\n OnKeyringRequest = 'onKeyringRequest',\n OnHomePage = 'onHomePage',\n OnSettingsPage = 'onSettingsPage',\n OnUserInput = 'onUserInput',\n OnAssetsLookup = 'onAssetsLookup',\n OnAssetsConversion = 'onAssetsConversion',\n OnAssetHistoricalPrice = 'onAssetHistoricalPrice',\n OnAssetsMarketData = 'onAssetsMarketData',\n OnProtocolRequest = 'onProtocolRequest',\n OnClientRequest = 'onClientRequest',\n OnWebSocketEvent = 'onWebSocketEvent',\n}\n\nexport type SnapHandler = {\n /**\n * The type of handler.\n */\n type: HandlerType;\n\n /**\n * Whether the handler is required, i.e., whether the request will fail if the\n * handler is called, but the snap does not export it.\n *\n * This is primarily used for the lifecycle handlers, which are optional.\n */\n required: boolean;\n\n /**\n * Validate the given snap export. This should return a type guard for the\n * handler type.\n *\n * @param snapExport - The export to validate.\n * @returns Whether the export is valid.\n */\n validator: (snapExport: unknown) => boolean;\n};\n"]}
|
|
@@ -26,6 +26,8 @@ export declare enum HandlerType {
|
|
|
26
26
|
OnInstall = "onInstall",
|
|
27
27
|
OnUpdate = "onUpdate",
|
|
28
28
|
OnStart = "onStart",
|
|
29
|
+
OnActive = "onActive",
|
|
30
|
+
OnInactive = "onInactive",
|
|
29
31
|
OnNameLookup = "onNameLookup",
|
|
30
32
|
OnKeyringRequest = "onKeyringRequest",
|
|
31
33
|
OnHomePage = "onHomePage",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAkB;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,WAAW,IAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,KAAK,UAAU,IAAI,MAAM,OAAO,GAC1E,OAAO,GACP,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;KAC/B,GAAG,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,eAAe,CAClD,CAAC,OAAO,YAAY,CAAC,CAAC,GAAG,CAAC,CAC3B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE9C,oBAAY,WAAW;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;CACtC;AAED,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC;CAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAkB;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,WAAW,IAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,KAAK,UAAU,IAAI,MAAM,OAAO,GAC1E,OAAO,GACP,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;KAC/B,GAAG,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,eAAe,CAClD,CAAC,OAAO,YAAY,CAAC,CAAC,GAAG,CAAC,CAC3B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE9C,oBAAY,WAAW;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;CACtC;AAED,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC;CAC7C,CAAC"}
|
|
@@ -26,6 +26,8 @@ export declare enum HandlerType {
|
|
|
26
26
|
OnInstall = "onInstall",
|
|
27
27
|
OnUpdate = "onUpdate",
|
|
28
28
|
OnStart = "onStart",
|
|
29
|
+
OnActive = "onActive",
|
|
30
|
+
OnInactive = "onInactive",
|
|
29
31
|
OnNameLookup = "onNameLookup",
|
|
30
32
|
OnKeyringRequest = "onKeyringRequest",
|
|
31
33
|
OnHomePage = "onHomePage",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAkB;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,WAAW,IAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,KAAK,UAAU,IAAI,MAAM,OAAO,GAC1E,OAAO,GACP,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;KAC/B,GAAG,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,eAAe,CAClD,CAAC,OAAO,YAAY,CAAC,CAAC,GAAG,CAAC,CAC3B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE9C,oBAAY,WAAW;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;CACtC;AAED,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC;CAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAkB;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,WAAW,IAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,KAAK,UAAU,IAAI,MAAM,OAAO,GAC1E,OAAO,GACP,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;KAC/B,GAAG,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,eAAe,CAClD,CAAC,OAAO,YAAY,CAAC,CAAC,GAAG,CAAC,CAC3B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE9C,oBAAY,WAAW;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;CACtC;AAED,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC;CAC7C,CAAC"}
|
package/dist/handlers/types.mjs
CHANGED
|
@@ -7,6 +7,8 @@ export var HandlerType;
|
|
|
7
7
|
HandlerType["OnInstall"] = "onInstall";
|
|
8
8
|
HandlerType["OnUpdate"] = "onUpdate";
|
|
9
9
|
HandlerType["OnStart"] = "onStart";
|
|
10
|
+
HandlerType["OnActive"] = "onActive";
|
|
11
|
+
HandlerType["OnInactive"] = "onInactive";
|
|
10
12
|
HandlerType["OnNameLookup"] = "onNameLookup";
|
|
11
13
|
HandlerType["OnKeyringRequest"] = "onKeyringRequest";
|
|
12
14
|
HandlerType["OnHomePage"] = "onHomePage";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAN,IAAY,WAsBX;AAtBD,WAAY,WAAW;IACrB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,8CAA+B,CAAA;IAC/B,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;IAC7B,oDAAqC,CAAA;IACrC,wCAAyB,CAAA;IACzB,gDAAiC,CAAA;IACjC,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IACjC,wDAAyC,CAAA;IACzC,gEAAiD,CAAA;IACjD,wDAAyC,CAAA;IACzC,sDAAuC,CAAA;IACvC,kDAAmC,CAAA;IACnC,oDAAqC,CAAA;AACvC,CAAC,EAtBW,WAAW,KAAX,WAAW,QAsBtB","sourcesContent":["import type { SNAP_EXPORTS } from './exports';\n\nexport type SnapRpcHookArgs = {\n origin: string;\n handler: HandlerType;\n request: Record<string, unknown>;\n};\n\n/**\n * Utility type for getting the handler function type from a handler type.\n */\nexport type HandlerFunction<Type extends SnapHandler> =\n Type['validator'] extends (snapExport: unknown) => snapExport is infer Handler\n ? Handler\n : never;\n\n/**\n * All the function-based handlers that a snap can implement.\n */\nexport type SnapFunctionExports = {\n [Key in keyof typeof SNAP_EXPORTS]?: HandlerFunction<\n (typeof SNAP_EXPORTS)[Key]\n >;\n};\n\n/**\n * All handlers that a snap can implement.\n */\nexport type SnapExports = SnapFunctionExports;\n\nexport enum HandlerType {\n OnRpcRequest = 'onRpcRequest',\n OnSignature = 'onSignature',\n OnTransaction = 'onTransaction',\n OnCronjob = 'onCronjob',\n OnInstall = 'onInstall',\n OnUpdate = 'onUpdate',\n OnStart = 'onStart',\n OnActive = 'onActive',\n OnInactive = 'onInactive',\n OnNameLookup = 'onNameLookup',\n OnKeyringRequest = 'onKeyringRequest',\n OnHomePage = 'onHomePage',\n OnSettingsPage = 'onSettingsPage',\n OnUserInput = 'onUserInput',\n OnAssetsLookup = 'onAssetsLookup',\n OnAssetsConversion = 'onAssetsConversion',\n OnAssetHistoricalPrice = 'onAssetHistoricalPrice',\n OnAssetsMarketData = 'onAssetsMarketData',\n OnProtocolRequest = 'onProtocolRequest',\n OnClientRequest = 'onClientRequest',\n OnWebSocketEvent = 'onWebSocketEvent',\n}\n\nexport type SnapHandler = {\n /**\n * The type of handler.\n */\n type: HandlerType;\n\n /**\n * Whether the handler is required, i.e., whether the request will fail if the\n * handler is called, but the snap does not export it.\n *\n * This is primarily used for the lifecycle handlers, which are optional.\n */\n required: boolean;\n\n /**\n * Validate the given snap export. This should return a type guard for the\n * handler type.\n *\n * @param snapExport - The export to validate.\n * @returns Whether the export is valid.\n */\n validator: (snapExport: unknown) => boolean;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/snaps-utils",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.2.0",
|
|
4
4
|
"description": "A collection of utilities for MetaMask Snaps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@metamask/rpc-errors": "^7.0.3",
|
|
87
87
|
"@metamask/slip44": "^4.2.0",
|
|
88
88
|
"@metamask/snaps-registry": "^3.2.3",
|
|
89
|
-
"@metamask/snaps-sdk": "^9.
|
|
89
|
+
"@metamask/snaps-sdk": "^9.3.0",
|
|
90
90
|
"@metamask/superstruct": "^3.2.1",
|
|
91
91
|
"@metamask/utils": "^11.4.2",
|
|
92
92
|
"@noble/hashes": "^1.7.1",
|