@metamask/snaps-rpc-methods 11.7.0 → 11.9.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 +21 -1
- package/dist/endowments/cronjob.cjs +8 -0
- package/dist/endowments/cronjob.cjs.map +1 -1
- package/dist/endowments/cronjob.d.cts.map +1 -1
- package/dist/endowments/cronjob.d.mts.map +1 -1
- package/dist/endowments/cronjob.mjs +9 -1
- package/dist/endowments/cronjob.mjs.map +1 -1
- package/dist/endowments/enum.cjs +1 -0
- package/dist/endowments/enum.cjs.map +1 -1
- package/dist/endowments/enum.d.cts +2 -1
- package/dist/endowments/enum.d.cts.map +1 -1
- package/dist/endowments/enum.d.mts +2 -1
- package/dist/endowments/enum.d.mts.map +1 -1
- package/dist/endowments/enum.mjs +1 -0
- package/dist/endowments/enum.mjs.map +1 -1
- package/dist/endowments/index.cjs +4 -0
- package/dist/endowments/index.cjs.map +1 -1
- package/dist/endowments/index.d.cts +9 -0
- package/dist/endowments/index.d.cts.map +1 -1
- package/dist/endowments/index.d.mts +9 -0
- package/dist/endowments/index.d.mts.map +1 -1
- package/dist/endowments/index.mjs +4 -0
- package/dist/endowments/index.mjs.map +1 -1
- package/dist/endowments/settings-page.cjs +28 -0
- package/dist/endowments/settings-page.cjs.map +1 -0
- package/dist/endowments/settings-page.d.cts +16 -0
- package/dist/endowments/settings-page.d.cts.map +1 -0
- package/dist/endowments/settings-page.d.mts +16 -0
- package/dist/endowments/settings-page.d.mts.map +1 -0
- package/dist/endowments/settings-page.mjs +25 -0
- package/dist/endowments/settings-page.mjs.map +1 -0
- package/dist/permitted/cancelBackgroundEvent.cjs +69 -0
- package/dist/permitted/cancelBackgroundEvent.cjs.map +1 -0
- package/dist/permitted/cancelBackgroundEvent.d.cts +16 -0
- package/dist/permitted/cancelBackgroundEvent.d.cts.map +1 -0
- package/dist/permitted/cancelBackgroundEvent.d.mts +16 -0
- package/dist/permitted/cancelBackgroundEvent.d.mts.map +1 -0
- package/dist/permitted/cancelBackgroundEvent.mjs +66 -0
- package/dist/permitted/cancelBackgroundEvent.mjs.map +1 -0
- package/dist/permitted/clearState.cjs +73 -0
- package/dist/permitted/clearState.cjs.map +1 -0
- package/dist/permitted/clearState.d.cts +28 -0
- package/dist/permitted/clearState.d.cts.map +1 -0
- package/dist/permitted/clearState.d.mts +28 -0
- package/dist/permitted/clearState.d.mts.map +1 -0
- package/dist/permitted/clearState.mjs +70 -0
- package/dist/permitted/clearState.mjs.map +1 -0
- package/dist/permitted/createInterface.d.cts +2 -2
- package/dist/permitted/createInterface.d.mts +2 -2
- package/dist/permitted/getBackgroundEvents.cjs +42 -0
- package/dist/permitted/getBackgroundEvents.cjs.map +1 -0
- package/dist/permitted/getBackgroundEvents.d.cts +8 -0
- package/dist/permitted/getBackgroundEvents.d.cts.map +1 -0
- package/dist/permitted/getBackgroundEvents.d.mts +8 -0
- package/dist/permitted/getBackgroundEvents.d.mts.map +1 -0
- package/dist/permitted/getBackgroundEvents.mjs +39 -0
- package/dist/permitted/getBackgroundEvents.mjs.map +1 -0
- package/dist/permitted/getState.cjs +118 -0
- package/dist/permitted/getState.cjs.map +1 -0
- package/dist/permitted/getState.d.cts +53 -0
- package/dist/permitted/getState.d.cts.map +1 -0
- package/dist/permitted/getState.d.mts +53 -0
- package/dist/permitted/getState.d.mts.map +1 -0
- package/dist/permitted/getState.mjs +114 -0
- package/dist/permitted/getState.mjs.map +1 -0
- package/dist/permitted/handlers.cjs +12 -0
- package/dist/permitted/handlers.cjs.map +1 -1
- package/dist/permitted/handlers.d.cts +8 -2
- package/dist/permitted/handlers.d.cts.map +1 -1
- package/dist/permitted/handlers.d.mts +8 -2
- package/dist/permitted/handlers.d.mts.map +1 -1
- package/dist/permitted/handlers.mjs +12 -0
- package/dist/permitted/handlers.mjs.map +1 -1
- package/dist/permitted/index.cjs.map +1 -1
- package/dist/permitted/index.d.cts +7 -1
- package/dist/permitted/index.d.cts.map +1 -1
- package/dist/permitted/index.d.mts +7 -1
- package/dist/permitted/index.d.mts.map +1 -1
- package/dist/permitted/index.mjs.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.cjs +122 -0
- package/dist/permitted/scheduleBackgroundEvent.cjs.map +1 -0
- package/dist/permitted/scheduleBackgroundEvent.d.cts +33 -0
- package/dist/permitted/scheduleBackgroundEvent.d.cts.map +1 -0
- package/dist/permitted/scheduleBackgroundEvent.d.mts +33 -0
- package/dist/permitted/scheduleBackgroundEvent.d.mts.map +1 -0
- package/dist/permitted/scheduleBackgroundEvent.mjs +119 -0
- package/dist/permitted/scheduleBackgroundEvent.mjs.map +1 -0
- package/dist/permitted/setState.cjs +154 -0
- package/dist/permitted/setState.cjs.map +1 -0
- package/dist/permitted/setState.d.cts +65 -0
- package/dist/permitted/setState.d.cts.map +1 -0
- package/dist/permitted/setState.d.mts +65 -0
- package/dist/permitted/setState.d.mts.map +1 -0
- package/dist/permitted/setState.mjs +150 -0
- package/dist/permitted/setState.mjs.map +1 -0
- package/dist/permitted/updateInterface.d.cts +2 -2
- package/dist/permitted/updateInterface.d.mts +2 -2
- package/dist/restricted/dialog.d.cts +4 -4
- package/dist/restricted/dialog.d.mts +4 -4
- package/dist/restricted/notify.d.cts +3 -3
- package/dist/restricted/notify.d.mts +3 -3
- package/dist/utils.cjs +22 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +9 -0
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +9 -0
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +20 -0
- package/dist/utils.mjs.map +1 -1
- package/package.json +11 -9
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [11.9.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add support for non-recurring cronjobs via `snap_scheduleBackgroundEvent` ([#2941](https://github.com/MetaMask/snaps/pull/2941), [#2975](https://github.com/MetaMask/snaps/pull/2975))
|
|
15
|
+
- Add `snap_getState`, `snap_setState`, `snap_clearState` RPC methods ([#2916](https://github.com/MetaMask/snaps/pull/2916))
|
|
16
|
+
- Add `hideBalances` to `snap_getPreferences` ([#2978](https://github.com/MetaMask/snaps/pull/2978))
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Bump MetaMask dependencies ([#2946](https://github.com/MetaMask/snaps/pull/2946), [#2999](https://github.com/MetaMask/snaps/pull/2999), [#2989](https://github.com/MetaMask/snaps/pull/2989))
|
|
21
|
+
|
|
22
|
+
## [11.8.0]
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- Add `onSettingsPage` endowment ([#2911](https://github.com/MetaMask/snaps/pull/2911))
|
|
27
|
+
|
|
10
28
|
## [11.7.0]
|
|
11
29
|
|
|
12
30
|
### Added
|
|
@@ -343,7 +361,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
343
361
|
- The version of the package no longer needs to match the version of all other
|
|
344
362
|
MetaMask Snaps packages.
|
|
345
363
|
|
|
346
|
-
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.
|
|
364
|
+
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.9.0...HEAD
|
|
365
|
+
[11.9.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.8.0...@metamask/snaps-rpc-methods@11.9.0
|
|
366
|
+
[11.8.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.7.0...@metamask/snaps-rpc-methods@11.8.0
|
|
347
367
|
[11.7.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.6.0...@metamask/snaps-rpc-methods@11.7.0
|
|
348
368
|
[11.6.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.5.1...@metamask/snaps-rpc-methods@11.6.0
|
|
349
369
|
[11.5.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.5.0...@metamask/snaps-rpc-methods@11.5.1
|
|
@@ -5,6 +5,7 @@ const permission_controller_1 = require("@metamask/permission-controller");
|
|
|
5
5
|
const rpc_errors_1 = require("@metamask/rpc-errors");
|
|
6
6
|
const snaps_utils_1 = require("@metamask/snaps-utils");
|
|
7
7
|
const utils_1 = require("@metamask/utils");
|
|
8
|
+
const caveats_1 = require("./caveats/index.cjs");
|
|
8
9
|
const enum_1 = require("./enum.cjs");
|
|
9
10
|
const permissionName = enum_1.SnapEndowments.Cronjob;
|
|
10
11
|
/**
|
|
@@ -20,6 +21,10 @@ const specificationBuilder = (_builderOptions) => {
|
|
|
20
21
|
allowedCaveats: [snaps_utils_1.SnapCaveatType.SnapCronjob],
|
|
21
22
|
endowmentGetter: (_getterOptions) => null,
|
|
22
23
|
subjectTypes: [permission_controller_1.SubjectType.Snap],
|
|
24
|
+
validator: (0, caveats_1.createGenericPermissionValidator)([
|
|
25
|
+
{ type: snaps_utils_1.SnapCaveatType.SnapCronjob, optional: true },
|
|
26
|
+
{ type: snaps_utils_1.SnapCaveatType.MaxRequestTime, optional: true },
|
|
27
|
+
]),
|
|
23
28
|
};
|
|
24
29
|
};
|
|
25
30
|
exports.cronjobEndowmentBuilder = Object.freeze({
|
|
@@ -35,6 +40,9 @@ exports.cronjobEndowmentBuilder = Object.freeze({
|
|
|
35
40
|
* @returns The caveat specification.
|
|
36
41
|
*/
|
|
37
42
|
function getCronjobCaveatMapper(value) {
|
|
43
|
+
if (!value || !(0, utils_1.isObject)(value) || Object.keys(value).length === 0) {
|
|
44
|
+
return { caveats: null };
|
|
45
|
+
}
|
|
38
46
|
return {
|
|
39
47
|
caveats: [
|
|
40
48
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronjob.cjs","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":";;;AAQA,2EAA8E;AAC9E,qDAAiD;AAEjD,uDAG+B;AAE/B,
|
|
1
|
+
{"version":3,"file":"cronjob.cjs","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n PermissionSpecificationBuilder,\n EndowmentGetterParams,\n ValidPermissionSpecification,\n PermissionConstraint,\n Caveat,\n CaveatSpecificationConstraint,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { CronjobSpecification } from '@metamask/snaps-utils';\nimport {\n SnapCaveatType,\n isCronjobSpecificationArray,\n} from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { assert, hasProperty, isObject, isPlainObject } from '@metamask/utils';\n\nimport { createGenericPermissionValidator } from './caveats';\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.Cronjob;\n\ntype CronjobEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: any) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * `endowment:cronjob` returns nothing; it is intended to be used as a flag to determine whether the snap wants to run cronjobs.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the cronjob endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n CronjobEndowmentSpecification\n> = (_builderOptions?: any) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: [SnapCaveatType.SnapCronjob],\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n subjectTypes: [SubjectType.Snap],\n validator: createGenericPermissionValidator([\n { type: SnapCaveatType.SnapCronjob, optional: true },\n { type: SnapCaveatType.MaxRequestTime, optional: true },\n ]),\n };\n};\n\nexport const cronjobEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n\n/**\n * Map a raw value from the `initialPermissions` to a caveat specification.\n * Note that this function does not do any validation, that's handled by the\n * PermissionsController when the permission is requested.\n *\n * @param value - The raw value from the `initialPermissions`.\n * @returns The caveat specification.\n */\nexport function getCronjobCaveatMapper(\n value: Json,\n): Pick<PermissionConstraint, 'caveats'> {\n if (!value || !isObject(value) || Object.keys(value).length === 0) {\n return { caveats: null };\n }\n\n return {\n caveats: [\n {\n type: SnapCaveatType.SnapCronjob,\n value,\n },\n ],\n };\n}\n\n/**\n * Getter function to get the cronjobs from a permission.\n *\n * This does basic validation of the caveat, but does not validate the type or\n * value of the namespaces object itself, as this is handled by the\n * `PermissionsController` when the permission is requested.\n *\n * @param permission - The permission to get the keyring namespaces from.\n * @returns The cronjobs, or `null` if the permission does not have a\n * cronjob caveat.\n */\nexport function getCronjobCaveatJobs(\n permission?: PermissionConstraint,\n): CronjobSpecification[] | null {\n if (!permission?.caveats) {\n return null;\n }\n\n assert(permission.caveats.length === 1);\n assert(permission.caveats[0].type === SnapCaveatType.SnapCronjob);\n\n const caveat = permission.caveats[0] as Caveat<string, { jobs: Json[] }>;\n\n return (caveat.value?.jobs as CronjobSpecification[]) ?? null;\n}\n\n/**\n * Validate the cronjob specification values associated with a caveat.\n * This validates that the value is a non-empty array with valid\n * cronjob expression and request object.\n *\n * @param caveat - The caveat to validate.\n * @throws If the value is invalid.\n */\nexport function validateCronjobCaveat(caveat: Caveat<string, any>) {\n if (!hasProperty(caveat, 'value') || !isPlainObject(caveat.value)) {\n throw rpcErrors.invalidParams({\n message: 'Expected a plain object.',\n });\n }\n\n const { value } = caveat;\n\n if (!hasProperty(value, 'jobs') || !isPlainObject(value)) {\n throw rpcErrors.invalidParams({\n message: 'Expected a plain object.',\n });\n }\n\n if (!isCronjobSpecificationArray(value.jobs)) {\n throw rpcErrors.invalidParams({\n message: 'Expected a valid cronjob specification array.',\n });\n }\n}\n\n/**\n * Caveat specification for the Cronjob.\n */\nexport const cronjobCaveatSpecifications: Record<\n SnapCaveatType.SnapCronjob,\n CaveatSpecificationConstraint\n> = {\n [SnapCaveatType.SnapCronjob]: Object.freeze({\n type: SnapCaveatType.SnapCronjob,\n validator: (caveat) => validateCronjobCaveat(caveat),\n }),\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronjob.d.cts","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAG9B,oBAAoB,EACpB,MAAM,EACN,6BAA6B,EAC9B,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAE9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B;AAClE,OAAO,EACL,cAAc,EAEf,8BAA8B;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"cronjob.d.cts","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAG9B,oBAAoB,EACpB,MAAM,EACN,6BAA6B,EAC9B,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAE9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B;AAClE,OAAO,EACL,cAAc,EAEf,8BAA8B;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;AAI3D,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,yBAAyB,CAAC;AAiC9C,eAAO,MAAM,uBAAuB;;;wBA9BlB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,GAAG,KAAK,IAAI;wBACzB,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;EA8B7C,CAAC;AAEZ;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,GACV,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAavC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,CAAC,EAAE,oBAAoB,GAChC,oBAAoB,EAAE,GAAG,IAAI,CAW/B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAoBhE;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,cAAc,CAAC,WAAW,EAC1B,6BAA6B,CAM9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronjob.d.mts","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAG9B,oBAAoB,EACpB,MAAM,EACN,6BAA6B,EAC9B,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAE9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B;AAClE,OAAO,EACL,cAAc,EAEf,8BAA8B;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"cronjob.d.mts","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAG9B,oBAAoB,EACpB,MAAM,EACN,6BAA6B,EAC9B,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAE9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B;AAClE,OAAO,EACL,cAAc,EAEf,8BAA8B;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;AAI3D,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,yBAAyB,CAAC;AAiC9C,eAAO,MAAM,uBAAuB;;;wBA9BlB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,GAAG,KAAK,IAAI;wBACzB,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;EA8B7C,CAAC;AAEZ;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,GACV,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAavC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,CAAC,EAAE,oBAAoB,GAChC,oBAAoB,EAAE,GAAG,IAAI,CAW/B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAoBhE;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,cAAc,CAAC,WAAW,EAC1B,6BAA6B,CAM9B,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { PermissionType, SubjectType } from "@metamask/permission-controller";
|
|
2
2
|
import { rpcErrors } from "@metamask/rpc-errors";
|
|
3
3
|
import { SnapCaveatType, isCronjobSpecificationArray } from "@metamask/snaps-utils";
|
|
4
|
-
import { assert, hasProperty, isPlainObject } from "@metamask/utils";
|
|
4
|
+
import { assert, hasProperty, isObject, isPlainObject } from "@metamask/utils";
|
|
5
|
+
import { createGenericPermissionValidator } from "./caveats/index.mjs";
|
|
5
6
|
import { SnapEndowments } from "./enum.mjs";
|
|
6
7
|
const permissionName = SnapEndowments.Cronjob;
|
|
7
8
|
/**
|
|
@@ -17,6 +18,10 @@ const specificationBuilder = (_builderOptions) => {
|
|
|
17
18
|
allowedCaveats: [SnapCaveatType.SnapCronjob],
|
|
18
19
|
endowmentGetter: (_getterOptions) => null,
|
|
19
20
|
subjectTypes: [SubjectType.Snap],
|
|
21
|
+
validator: createGenericPermissionValidator([
|
|
22
|
+
{ type: SnapCaveatType.SnapCronjob, optional: true },
|
|
23
|
+
{ type: SnapCaveatType.MaxRequestTime, optional: true },
|
|
24
|
+
]),
|
|
20
25
|
};
|
|
21
26
|
};
|
|
22
27
|
export const cronjobEndowmentBuilder = Object.freeze({
|
|
@@ -32,6 +37,9 @@ export const cronjobEndowmentBuilder = Object.freeze({
|
|
|
32
37
|
* @returns The caveat specification.
|
|
33
38
|
*/
|
|
34
39
|
export function getCronjobCaveatMapper(value) {
|
|
40
|
+
if (!value || !isObject(value) || Object.keys(value).length === 0) {
|
|
41
|
+
return { caveats: null };
|
|
42
|
+
}
|
|
35
43
|
return {
|
|
36
44
|
caveats: [
|
|
37
45
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronjob.mjs","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,wCAAwC;AAC9E,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAEjD,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,8BAA8B;AAE/B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"cronjob.mjs","sourceRoot":"","sources":["../../src/endowments/cronjob.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n PermissionSpecificationBuilder,\n EndowmentGetterParams,\n ValidPermissionSpecification,\n PermissionConstraint,\n Caveat,\n CaveatSpecificationConstraint,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { CronjobSpecification } from '@metamask/snaps-utils';\nimport {\n SnapCaveatType,\n isCronjobSpecificationArray,\n} from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { assert, hasProperty, isObject, isPlainObject } from '@metamask/utils';\n\nimport { createGenericPermissionValidator } from './caveats';\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.Cronjob;\n\ntype CronjobEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: any) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * `endowment:cronjob` returns nothing; it is intended to be used as a flag to determine whether the snap wants to run cronjobs.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the cronjob endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n CronjobEndowmentSpecification\n> = (_builderOptions?: any) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: [SnapCaveatType.SnapCronjob],\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n subjectTypes: [SubjectType.Snap],\n validator: createGenericPermissionValidator([\n { type: SnapCaveatType.SnapCronjob, optional: true },\n { type: SnapCaveatType.MaxRequestTime, optional: true },\n ]),\n };\n};\n\nexport const cronjobEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n\n/**\n * Map a raw value from the `initialPermissions` to a caveat specification.\n * Note that this function does not do any validation, that's handled by the\n * PermissionsController when the permission is requested.\n *\n * @param value - The raw value from the `initialPermissions`.\n * @returns The caveat specification.\n */\nexport function getCronjobCaveatMapper(\n value: Json,\n): Pick<PermissionConstraint, 'caveats'> {\n if (!value || !isObject(value) || Object.keys(value).length === 0) {\n return { caveats: null };\n }\n\n return {\n caveats: [\n {\n type: SnapCaveatType.SnapCronjob,\n value,\n },\n ],\n };\n}\n\n/**\n * Getter function to get the cronjobs from a permission.\n *\n * This does basic validation of the caveat, but does not validate the type or\n * value of the namespaces object itself, as this is handled by the\n * `PermissionsController` when the permission is requested.\n *\n * @param permission - The permission to get the keyring namespaces from.\n * @returns The cronjobs, or `null` if the permission does not have a\n * cronjob caveat.\n */\nexport function getCronjobCaveatJobs(\n permission?: PermissionConstraint,\n): CronjobSpecification[] | null {\n if (!permission?.caveats) {\n return null;\n }\n\n assert(permission.caveats.length === 1);\n assert(permission.caveats[0].type === SnapCaveatType.SnapCronjob);\n\n const caveat = permission.caveats[0] as Caveat<string, { jobs: Json[] }>;\n\n return (caveat.value?.jobs as CronjobSpecification[]) ?? null;\n}\n\n/**\n * Validate the cronjob specification values associated with a caveat.\n * This validates that the value is a non-empty array with valid\n * cronjob expression and request object.\n *\n * @param caveat - The caveat to validate.\n * @throws If the value is invalid.\n */\nexport function validateCronjobCaveat(caveat: Caveat<string, any>) {\n if (!hasProperty(caveat, 'value') || !isPlainObject(caveat.value)) {\n throw rpcErrors.invalidParams({\n message: 'Expected a plain object.',\n });\n }\n\n const { value } = caveat;\n\n if (!hasProperty(value, 'jobs') || !isPlainObject(value)) {\n throw rpcErrors.invalidParams({\n message: 'Expected a plain object.',\n });\n }\n\n if (!isCronjobSpecificationArray(value.jobs)) {\n throw rpcErrors.invalidParams({\n message: 'Expected a valid cronjob specification array.',\n });\n }\n}\n\n/**\n * Caveat specification for the Cronjob.\n */\nexport const cronjobCaveatSpecifications: Record<\n SnapCaveatType.SnapCronjob,\n CaveatSpecificationConstraint\n> = {\n [SnapCaveatType.SnapCronjob]: Object.freeze({\n type: SnapCaveatType.SnapCronjob,\n validator: (caveat) => validateCronjobCaveat(caveat),\n }),\n};\n"]}
|
package/dist/endowments/enum.cjs
CHANGED
|
@@ -14,5 +14,6 @@ var SnapEndowments;
|
|
|
14
14
|
SnapEndowments["LifecycleHooks"] = "endowment:lifecycle-hooks";
|
|
15
15
|
SnapEndowments["Keyring"] = "endowment:keyring";
|
|
16
16
|
SnapEndowments["HomePage"] = "endowment:page-home";
|
|
17
|
+
SnapEndowments["SettingsPage"] = "endowment:page-settings";
|
|
17
18
|
})(SnapEndowments || (exports.SnapEndowments = SnapEndowments = {}));
|
|
18
19
|
//# sourceMappingURL=enum.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.cjs","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"enum.cjs","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,4DAA0C,CAAA;IAC1C,kEAAgD,CAAA;IAChD,sEAAoD,CAAA;IACpD,+CAA6B,CAAA;IAC7B,kEAAgD,CAAA;IAChD,uCAAqB,CAAA;IACrB,6DAA2C,CAAA;IAC3C,sDAAoC,CAAA;IACpC,8DAA4C,CAAA;IAC5C,+CAA6B,CAAA;IAC7B,kDAAgC,CAAA;IAChC,0DAAwC,CAAA;AAC1C,CAAC,EAbW,cAAc,8BAAd,cAAc,QAazB","sourcesContent":["export enum SnapEndowments {\n NetworkAccess = 'endowment:network-access',\n SignatureInsight = 'endowment:signature-insight',\n TransactionInsight = 'endowment:transaction-insight',\n Cronjob = 'endowment:cronjob',\n EthereumProvider = 'endowment:ethereum-provider',\n Rpc = 'endowment:rpc',\n WebAssemblyAccess = 'endowment:webassembly',\n NameLookup = 'endowment:name-lookup',\n LifecycleHooks = 'endowment:lifecycle-hooks',\n Keyring = 'endowment:keyring',\n HomePage = 'endowment:page-home',\n SettingsPage = 'endowment:page-settings',\n}\n"]}
|
|
@@ -9,6 +9,7 @@ export declare enum SnapEndowments {
|
|
|
9
9
|
NameLookup = "endowment:name-lookup",
|
|
10
10
|
LifecycleHooks = "endowment:lifecycle-hooks",
|
|
11
11
|
Keyring = "endowment:keyring",
|
|
12
|
-
HomePage = "endowment:page-home"
|
|
12
|
+
HomePage = "endowment:page-home",
|
|
13
|
+
SettingsPage = "endowment:page-settings"
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=enum.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.cts","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,aAAa,6BAA6B;IAC1C,gBAAgB,gCAAgC;IAChD,kBAAkB,kCAAkC;IACpD,OAAO,sBAAsB;IAC7B,gBAAgB,gCAAgC;IAChD,GAAG,kBAAkB;IACrB,iBAAiB,0BAA0B;IAC3C,UAAU,0BAA0B;IACpC,cAAc,8BAA8B;IAC5C,OAAO,sBAAsB;IAC7B,QAAQ,wBAAwB;
|
|
1
|
+
{"version":3,"file":"enum.d.cts","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,aAAa,6BAA6B;IAC1C,gBAAgB,gCAAgC;IAChD,kBAAkB,kCAAkC;IACpD,OAAO,sBAAsB;IAC7B,gBAAgB,gCAAgC;IAChD,GAAG,kBAAkB;IACrB,iBAAiB,0BAA0B;IAC3C,UAAU,0BAA0B;IACpC,cAAc,8BAA8B;IAC5C,OAAO,sBAAsB;IAC7B,QAAQ,wBAAwB;IAChC,YAAY,4BAA4B;CACzC"}
|
|
@@ -9,6 +9,7 @@ export declare enum SnapEndowments {
|
|
|
9
9
|
NameLookup = "endowment:name-lookup",
|
|
10
10
|
LifecycleHooks = "endowment:lifecycle-hooks",
|
|
11
11
|
Keyring = "endowment:keyring",
|
|
12
|
-
HomePage = "endowment:page-home"
|
|
12
|
+
HomePage = "endowment:page-home",
|
|
13
|
+
SettingsPage = "endowment:page-settings"
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=enum.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.mts","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,aAAa,6BAA6B;IAC1C,gBAAgB,gCAAgC;IAChD,kBAAkB,kCAAkC;IACpD,OAAO,sBAAsB;IAC7B,gBAAgB,gCAAgC;IAChD,GAAG,kBAAkB;IACrB,iBAAiB,0BAA0B;IAC3C,UAAU,0BAA0B;IACpC,cAAc,8BAA8B;IAC5C,OAAO,sBAAsB;IAC7B,QAAQ,wBAAwB;
|
|
1
|
+
{"version":3,"file":"enum.d.mts","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,aAAa,6BAA6B;IAC1C,gBAAgB,gCAAgC;IAChD,kBAAkB,kCAAkC;IACpD,OAAO,sBAAsB;IAC7B,gBAAgB,gCAAgC;IAChD,GAAG,kBAAkB;IACrB,iBAAiB,0BAA0B;IAC3C,UAAU,0BAA0B;IACpC,cAAc,8BAA8B;IAC5C,OAAO,sBAAsB;IAC7B,QAAQ,wBAAwB;IAChC,YAAY,4BAA4B;CACzC"}
|
package/dist/endowments/enum.mjs
CHANGED
|
@@ -11,5 +11,6 @@ export var SnapEndowments;
|
|
|
11
11
|
SnapEndowments["LifecycleHooks"] = "endowment:lifecycle-hooks";
|
|
12
12
|
SnapEndowments["Keyring"] = "endowment:keyring";
|
|
13
13
|
SnapEndowments["HomePage"] = "endowment:page-home";
|
|
14
|
+
SnapEndowments["SettingsPage"] = "endowment:page-settings";
|
|
14
15
|
})(SnapEndowments || (SnapEndowments = {}));
|
|
15
16
|
//# sourceMappingURL=enum.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.mjs","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"enum.mjs","sourceRoot":"","sources":["../../src/endowments/enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,4DAA0C,CAAA;IAC1C,kEAAgD,CAAA;IAChD,sEAAoD,CAAA;IACpD,+CAA6B,CAAA;IAC7B,kEAAgD,CAAA;IAChD,uCAAqB,CAAA;IACrB,6DAA2C,CAAA;IAC3C,sDAAoC,CAAA;IACpC,8DAA4C,CAAA;IAC5C,+CAA6B,CAAA;IAC7B,kDAAgC,CAAA;IAChC,0DAAwC,CAAA;AAC1C,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB","sourcesContent":["export enum SnapEndowments {\n NetworkAccess = 'endowment:network-access',\n SignatureInsight = 'endowment:signature-insight',\n TransactionInsight = 'endowment:transaction-insight',\n Cronjob = 'endowment:cronjob',\n EthereumProvider = 'endowment:ethereum-provider',\n Rpc = 'endowment:rpc',\n WebAssemblyAccess = 'endowment:webassembly',\n NameLookup = 'endowment:name-lookup',\n LifecycleHooks = 'endowment:lifecycle-hooks',\n Keyring = 'endowment:keyring',\n HomePage = 'endowment:page-home',\n SettingsPage = 'endowment:page-settings',\n}\n"]}
|
|
@@ -25,6 +25,7 @@ const lifecycle_hooks_1 = require("./lifecycle-hooks.cjs");
|
|
|
25
25
|
const name_lookup_1 = require("./name-lookup.cjs");
|
|
26
26
|
const network_access_1 = require("./network-access.cjs");
|
|
27
27
|
const rpc_1 = require("./rpc.cjs");
|
|
28
|
+
const settings_page_1 = require("./settings-page.cjs");
|
|
28
29
|
const signature_insight_1 = require("./signature-insight.cjs");
|
|
29
30
|
const transaction_insight_1 = require("./transaction-insight.cjs");
|
|
30
31
|
const web_assembly_1 = require("./web-assembly.cjs");
|
|
@@ -38,6 +39,7 @@ exports.endowmentPermissionBuilders = {
|
|
|
38
39
|
[name_lookup_1.nameLookupEndowmentBuilder.targetName]: name_lookup_1.nameLookupEndowmentBuilder,
|
|
39
40
|
[lifecycle_hooks_1.lifecycleHooksEndowmentBuilder.targetName]: lifecycle_hooks_1.lifecycleHooksEndowmentBuilder,
|
|
40
41
|
[keyring_1.keyringEndowmentBuilder.targetName]: keyring_1.keyringEndowmentBuilder,
|
|
42
|
+
[settings_page_1.settingsPageEndowmentBuilder.targetName]: settings_page_1.settingsPageEndowmentBuilder,
|
|
41
43
|
[home_page_1.homePageEndowmentBuilder.targetName]: home_page_1.homePageEndowmentBuilder,
|
|
42
44
|
[signature_insight_1.signatureInsightEndowmentBuilder.targetName]: signature_insight_1.signatureInsightEndowmentBuilder,
|
|
43
45
|
};
|
|
@@ -59,6 +61,7 @@ exports.endowmentCaveatMappers = {
|
|
|
59
61
|
[signature_insight_1.signatureInsightEndowmentBuilder.targetName]: (0, caveats_1.createMaxRequestTimeMapper)(signature_insight_1.getSignatureInsightCaveatMapper),
|
|
60
62
|
[lifecycle_hooks_1.lifecycleHooksEndowmentBuilder.targetName]: caveats_1.getMaxRequestTimeCaveatMapper,
|
|
61
63
|
[home_page_1.homePageEndowmentBuilder.targetName]: caveats_1.getMaxRequestTimeCaveatMapper,
|
|
64
|
+
[settings_page_1.settingsPageEndowmentBuilder.targetName]: caveats_1.getMaxRequestTimeCaveatMapper,
|
|
62
65
|
};
|
|
63
66
|
// We allow null because a permitted handler does not have an endowment
|
|
64
67
|
exports.handlerEndowments = {
|
|
@@ -70,6 +73,7 @@ exports.handlerEndowments = {
|
|
|
70
73
|
[snaps_utils_1.HandlerType.OnUpdate]: lifecycle_hooks_1.lifecycleHooksEndowmentBuilder.targetName,
|
|
71
74
|
[snaps_utils_1.HandlerType.OnKeyringRequest]: keyring_1.keyringEndowmentBuilder.targetName,
|
|
72
75
|
[snaps_utils_1.HandlerType.OnHomePage]: home_page_1.homePageEndowmentBuilder.targetName,
|
|
76
|
+
[snaps_utils_1.HandlerType.OnSettingsPage]: settings_page_1.settingsPageEndowmentBuilder.targetName,
|
|
73
77
|
[snaps_utils_1.HandlerType.OnSignature]: signature_insight_1.signatureInsightEndowmentBuilder.targetName,
|
|
74
78
|
[snaps_utils_1.HandlerType.OnUserInput]: null,
|
|
75
79
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,uDAAoD;AAGpD,iDAImB;AACnB,2CAImB;AACnB,+DAAuE;AACvE,+CAAuD;AACvD,2CAImB;AACnB,2DAAmE;AACnE,mDAIuB;AACvB,yDAAiE;AACjE,mCAIe;AACf,+DAI6B;AAC7B,mEAI+B;AAC/B,qDAA6D;AAEhD,QAAA,2BAA2B,GAAG;IACzC,CAAC,8CAA6B,CAAC,UAAU,CAAC,EAAE,8CAA6B;IACzE,CAAC,wDAAkC,CAAC,UAAU,CAAC,EAC7C,wDAAkC;IACpC,CAAC,iCAAuB,CAAC,UAAU,CAAC,EAAE,iCAAuB;IAC7D,CAAC,oDAAgC,CAAC,UAAU,CAAC,EAC3C,oDAAgC;IAClC,CAAC,yBAAmB,CAAC,UAAU,CAAC,EAAE,yBAAmB;IACrD,CAAC,0CAA2B,CAAC,UAAU,CAAC,EAAE,0CAA2B;IACrE,CAAC,wCAA0B,CAAC,UAAU,CAAC,EAAE,wCAA0B;IACnE,CAAC,gDAA8B,CAAC,UAAU,CAAC,EAAE,gDAA8B;IAC3E,CAAC,iCAAuB,CAAC,UAAU,CAAC,EAAE,iCAAuB;IAC7D,CAAC,oCAAwB,CAAC,UAAU,CAAC,EAAE,oCAAwB;IAC/D,CAAC,oDAAgC,CAAC,UAAU,CAAC,EAC3C,oDAAgC;CAC1B,CAAC;AAEE,QAAA,6BAA6B,GAAG;IAC3C,GAAG,qCAA2B;IAC9B,GAAG,4DAAsC;IACzC,GAAG,6BAAuB;IAC1B,GAAG,4CAA8B;IACjC,GAAG,qCAA2B;IAC9B,GAAG,wDAAoC;IACvC,GAAG,4CAAkC;CACtC,CAAC;AAEW,QAAA,sBAAsB,GAG/B;IACF,CAAC,iCAAuB,CAAC,UAAU,CAAC,EAAE,IAAA,oCAA0B,EAC9D,gCAAsB,CACvB;IACD,CAAC,wDAAkC,CAAC,UAAU,CAAC,EAAE,IAAA,oCAA0B,EACzE,uDAAiC,CAClC;IACD,CAAC,yBAAmB,CAAC,UAAU,CAAC,EAC9B,IAAA,oCAA0B,EAAC,wBAAkB,CAAC;IAChD,CAAC,wCAA0B,CAAC,UAAU,CAAC,EAAE,IAAA,oCAA0B,EACjE,uCAAyB,CAC1B;IACD,CAAC,iCAAuB,CAAC,UAAU,CAAC,EAAE,IAAA,oCAA0B,EAC9D,gCAAsB,CACvB;IACD,CAAC,oDAAgC,CAAC,UAAU,CAAC,EAAE,IAAA,oCAA0B,EACvE,mDAA+B,CAChC;IACD,CAAC,gDAA8B,CAAC,UAAU,CAAC,EAAE,uCAA6B;IAC1E,CAAC,oCAAwB,CAAC,UAAU,CAAC,EAAE,uCAA6B;
|
|
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 {\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 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 [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,\n [signatureInsightEndowmentBuilder.targetName]:\n signatureInsightEndowmentBuilder,\n} as const;\n\nexport const endowmentCaveatSpecifications = {\n ...cronjobCaveatSpecifications,\n ...transactionInsightCaveatSpecifications,\n ...rpcCaveatSpecifications,\n ...nameLookupCaveatSpecifications,\n ...keyringCaveatSpecifications,\n ...signatureInsightCaveatSpecifications,\n ...maxRequestTimeCaveatSpecifications,\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 [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getSignatureInsightCaveatMapper,\n ),\n [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\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};\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';\n"]}
|
|
@@ -89,6 +89,15 @@ export declare const endowmentPermissionBuilders: {
|
|
|
89
89
|
subjectTypes: readonly import("@metamask/permission-controller").SubjectType[];
|
|
90
90
|
}>;
|
|
91
91
|
}>;
|
|
92
|
+
readonly "endowment:page-settings": Readonly<{
|
|
93
|
+
readonly targetName: import("./enum.cjs").SnapEndowments.SettingsPage;
|
|
94
|
+
readonly specificationBuilder: import("@metamask/permission-controller").PermissionSpecificationBuilder<import("@metamask/permission-controller").PermissionType.Endowment, any, {
|
|
95
|
+
permissionType: import("@metamask/permission-controller").PermissionType.Endowment;
|
|
96
|
+
targetName: import("./enum.cjs").SnapEndowments.SettingsPage;
|
|
97
|
+
endowmentGetter: (_options?: import("@metamask/permission-controller").EndowmentGetterParams | undefined) => null;
|
|
98
|
+
allowedCaveats: readonly [string, ...string[]] | null;
|
|
99
|
+
}>;
|
|
100
|
+
}>;
|
|
92
101
|
readonly "endowment:page-home": Readonly<{
|
|
93
102
|
readonly targetName: import("./enum.cjs").SnapEndowments.HomePage;
|
|
94
103
|
readonly specificationBuilder: import("@metamask/permission-controller").PermissionSpecificationBuilder<import("@metamask/permission-controller").PermissionType.Endowment, any, {
|
|
@@ -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;
|
|
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;AA4C5C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB9B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;CAQzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAsBvD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAYhE,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"}
|
|
@@ -89,6 +89,15 @@ export declare const endowmentPermissionBuilders: {
|
|
|
89
89
|
subjectTypes: readonly import("@metamask/permission-controller").SubjectType[];
|
|
90
90
|
}>;
|
|
91
91
|
}>;
|
|
92
|
+
readonly "endowment:page-settings": Readonly<{
|
|
93
|
+
readonly targetName: import("./enum.mjs").SnapEndowments.SettingsPage;
|
|
94
|
+
readonly specificationBuilder: import("@metamask/permission-controller").PermissionSpecificationBuilder<import("@metamask/permission-controller").PermissionType.Endowment, any, {
|
|
95
|
+
permissionType: import("@metamask/permission-controller").PermissionType.Endowment;
|
|
96
|
+
targetName: import("./enum.mjs").SnapEndowments.SettingsPage;
|
|
97
|
+
endowmentGetter: (_options?: import("@metamask/permission-controller").EndowmentGetterParams | undefined) => null;
|
|
98
|
+
allowedCaveats: readonly [string, ...string[]] | null;
|
|
99
|
+
}>;
|
|
100
|
+
}>;
|
|
92
101
|
readonly "endowment:page-home": Readonly<{
|
|
93
102
|
readonly targetName: import("./enum.mjs").SnapEndowments.HomePage;
|
|
94
103
|
readonly specificationBuilder: import("@metamask/permission-controller").PermissionSpecificationBuilder<import("@metamask/permission-controller").PermissionType.Endowment, any, {
|
|
@@ -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;
|
|
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;AA4C5C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB9B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;CAQzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAsBvD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAYhE,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"}
|
|
@@ -8,6 +8,7 @@ import { lifecycleHooksEndowmentBuilder } from "./lifecycle-hooks.mjs";
|
|
|
8
8
|
import { getNameLookupCaveatMapper, nameLookupCaveatSpecifications, nameLookupEndowmentBuilder } from "./name-lookup.mjs";
|
|
9
9
|
import { networkAccessEndowmentBuilder } from "./network-access.mjs";
|
|
10
10
|
import { getRpcCaveatMapper, rpcCaveatSpecifications, rpcEndowmentBuilder } from "./rpc.mjs";
|
|
11
|
+
import { settingsPageEndowmentBuilder } from "./settings-page.mjs";
|
|
11
12
|
import { getSignatureInsightCaveatMapper, signatureInsightCaveatSpecifications, signatureInsightEndowmentBuilder } from "./signature-insight.mjs";
|
|
12
13
|
import { getTransactionInsightCaveatMapper, transactionInsightCaveatSpecifications, transactionInsightEndowmentBuilder } from "./transaction-insight.mjs";
|
|
13
14
|
import { webAssemblyEndowmentBuilder } from "./web-assembly.mjs";
|
|
@@ -21,6 +22,7 @@ export const endowmentPermissionBuilders = {
|
|
|
21
22
|
[nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder,
|
|
22
23
|
[lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder,
|
|
23
24
|
[keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder,
|
|
25
|
+
[settingsPageEndowmentBuilder.targetName]: settingsPageEndowmentBuilder,
|
|
24
26
|
[homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,
|
|
25
27
|
[signatureInsightEndowmentBuilder.targetName]: signatureInsightEndowmentBuilder,
|
|
26
28
|
};
|
|
@@ -42,6 +44,7 @@ export const endowmentCaveatMappers = {
|
|
|
42
44
|
[signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getSignatureInsightCaveatMapper),
|
|
43
45
|
[lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,
|
|
44
46
|
[homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,
|
|
47
|
+
[settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,
|
|
45
48
|
};
|
|
46
49
|
// We allow null because a permitted handler does not have an endowment
|
|
47
50
|
export const handlerEndowments = {
|
|
@@ -53,6 +56,7 @@ export const handlerEndowments = {
|
|
|
53
56
|
[HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,
|
|
54
57
|
[HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,
|
|
55
58
|
[HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,
|
|
59
|
+
[HandlerType.OnSettingsPage]: settingsPageEndowmentBuilder.targetName,
|
|
56
60
|
[HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName,
|
|
57
61
|
[HandlerType.OnUserInput]: null,
|
|
58
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/endowments/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,8BAA8B;AAGpD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,kCAAkC,EACnC,4BAAkB;AACnB,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACvB,sBAAkB;AACnB,OAAO,EAAE,gCAAgC,EAAE,gCAA4B;AACvE,OAAO,EAAE,wBAAwB,EAAE,wBAAoB;AACvD,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACxB,sBAAkB;AACnB,OAAO,EAAE,8BAA8B,EAAE,8BAA0B;AACnE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC3B,0BAAsB;AACvB,OAAO,EAAE,6BAA6B,EAAE,6BAAyB;AACjE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACpB,kBAAc;AACf,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,gCAAgC,EACjC,gCAA4B;AAC7B,OAAO,EACL,iCAAiC,EACjC,sCAAsC,EACtC,kCAAkC,EACnC,kCAA8B;AAC/B,OAAO,EAAE,2BAA2B,EAAE,2BAAuB;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,CAAC,6BAA6B,CAAC,UAAU,CAAC,EAAE,6BAA6B;IACzE,CAAC,kCAAkC,CAAC,UAAU,CAAC,EAC7C,kCAAkC;IACpC,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,uBAAuB;IAC7D,CAAC,gCAAgC,CAAC,UAAU,CAAC,EAC3C,gCAAgC;IAClC,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,mBAAmB;IACrD,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAAE,2BAA2B;IACrE,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,0BAA0B;IACnE,CAAC,8BAA8B,CAAC,UAAU,CAAC,EAAE,8BAA8B;IAC3E,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,uBAAuB;IAC7D,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,wBAAwB;IAC/D,CAAC,gCAAgC,CAAC,UAAU,CAAC,EAC3C,gCAAgC;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,GAAG,2BAA2B;IAC9B,GAAG,sCAAsC;IACzC,GAAG,uBAAuB;IAC1B,GAAG,8BAA8B;IACjC,GAAG,2BAA2B;IAC9B,GAAG,oCAAoC;IACvC,GAAG,kCAAkC;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,0BAA0B,CAC9D,sBAAsB,CACvB;IACD,CAAC,kCAAkC,CAAC,UAAU,CAAC,EAAE,0BAA0B,CACzE,iCAAiC,CAClC;IACD,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAC9B,0BAA0B,CAAC,kBAAkB,CAAC;IAChD,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,0BAA0B,CACjE,yBAAyB,CAC1B;IACD,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,0BAA0B,CAC9D,sBAAsB,CACvB;IACD,CAAC,gCAAgC,CAAC,UAAU,CAAC,EAAE,0BAA0B,CACvE,+BAA+B,CAChC;IACD,CAAC,8BAA8B,CAAC,UAAU,CAAC,EAAE,6BAA6B;IAC1E,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,6BAA6B;
|
|
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 {\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 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 [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,\n [signatureInsightEndowmentBuilder.targetName]:\n signatureInsightEndowmentBuilder,\n} as const;\n\nexport const endowmentCaveatSpecifications = {\n ...cronjobCaveatSpecifications,\n ...transactionInsightCaveatSpecifications,\n ...rpcCaveatSpecifications,\n ...nameLookupCaveatSpecifications,\n ...keyringCaveatSpecifications,\n ...signatureInsightCaveatSpecifications,\n ...maxRequestTimeCaveatSpecifications,\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 [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getSignatureInsightCaveatMapper,\n ),\n [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\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};\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';\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settingsPageEndowmentBuilder = void 0;
|
|
4
|
+
const permission_controller_1 = require("@metamask/permission-controller");
|
|
5
|
+
const enum_1 = require("./enum.cjs");
|
|
6
|
+
const permissionName = enum_1.SnapEndowments.SettingsPage;
|
|
7
|
+
/**
|
|
8
|
+
* `endowment:settings-page` returns nothing; it is intended to be used as a
|
|
9
|
+
* flag by the snap controller to detect whether the snap has the capability to
|
|
10
|
+
* use the snap settings page feature.
|
|
11
|
+
*
|
|
12
|
+
* @param _builderOptions - Optional specification builder options.
|
|
13
|
+
* @returns The specification for the `settings-page` endowment.
|
|
14
|
+
*/
|
|
15
|
+
const specificationBuilder = (_builderOptions) => {
|
|
16
|
+
return {
|
|
17
|
+
permissionType: permission_controller_1.PermissionType.Endowment,
|
|
18
|
+
targetName: permissionName,
|
|
19
|
+
allowedCaveats: null,
|
|
20
|
+
endowmentGetter: (_getterOptions) => null,
|
|
21
|
+
subjectTypes: [permission_controller_1.SubjectType.Snap],
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.settingsPageEndowmentBuilder = Object.freeze({
|
|
25
|
+
targetName: permissionName,
|
|
26
|
+
specificationBuilder,
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=settings-page.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-page.cjs","sourceRoot":"","sources":["../../src/endowments/settings-page.ts"],"names":[],"mappings":";;;AAKA,2EAA8E;AAG9E,qCAAwC;AAExC,MAAM,cAAc,GAAG,qBAAc,CAAC,YAAY,CAAC;AASnD;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAItB,CAAC,eAAyB,EAAE,EAAE;IAChC,OAAO;QACL,cAAc,EAAE,sCAAc,CAAC,SAAS;QACxC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI;QACjE,YAAY,EAAE,CAAC,mCAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,cAAc;IAC1B,oBAAoB;CACZ,CAAC,CAAC","sourcesContent":["import type {\n PermissionSpecificationBuilder,\n EndowmentGetterParams,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport type { NonEmptyArray } from '@metamask/utils';\n\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.SettingsPage;\n\ntype SettingsPageEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: EndowmentGetterParams) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * `endowment:settings-page` returns nothing; it is intended to be used as a\n * flag by the snap controller to detect whether the snap has the capability to\n * use the snap settings page feature.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the `settings-page` endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n SettingsPageEndowmentSpecification\n> = (_builderOptions?: unknown) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: null,\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const settingsPageEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PermissionSpecificationBuilder, EndowmentGetterParams } from "@metamask/permission-controller";
|
|
2
|
+
import { PermissionType } from "@metamask/permission-controller";
|
|
3
|
+
import type { NonEmptyArray } from "@metamask/utils";
|
|
4
|
+
import { SnapEndowments } from "./enum.cjs";
|
|
5
|
+
declare const permissionName = SnapEndowments.SettingsPage;
|
|
6
|
+
export declare const settingsPageEndowmentBuilder: Readonly<{
|
|
7
|
+
readonly targetName: SnapEndowments.SettingsPage;
|
|
8
|
+
readonly specificationBuilder: PermissionSpecificationBuilder<PermissionType.Endowment, any, {
|
|
9
|
+
permissionType: PermissionType.Endowment;
|
|
10
|
+
targetName: typeof permissionName;
|
|
11
|
+
endowmentGetter: (_options?: EndowmentGetterParams) => null;
|
|
12
|
+
allowedCaveats: Readonly<NonEmptyArray<string>> | null;
|
|
13
|
+
}>;
|
|
14
|
+
}>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=settings-page.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-page.d.cts","sourceRoot":"","sources":["../../src/endowments/settings-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EAEtB,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB;AAErD,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,8BAA8B,CAAC;AA+BnD,eAAO,MAAM,4BAA4B;;;wBA5BvB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,qBAAqB,KAAK,IAAI;wBAC3C,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;EA4B7C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PermissionSpecificationBuilder, EndowmentGetterParams } from "@metamask/permission-controller";
|
|
2
|
+
import { PermissionType } from "@metamask/permission-controller";
|
|
3
|
+
import type { NonEmptyArray } from "@metamask/utils";
|
|
4
|
+
import { SnapEndowments } from "./enum.mjs";
|
|
5
|
+
declare const permissionName = SnapEndowments.SettingsPage;
|
|
6
|
+
export declare const settingsPageEndowmentBuilder: Readonly<{
|
|
7
|
+
readonly targetName: SnapEndowments.SettingsPage;
|
|
8
|
+
readonly specificationBuilder: PermissionSpecificationBuilder<PermissionType.Endowment, any, {
|
|
9
|
+
permissionType: PermissionType.Endowment;
|
|
10
|
+
targetName: typeof permissionName;
|
|
11
|
+
endowmentGetter: (_options?: EndowmentGetterParams) => null;
|
|
12
|
+
allowedCaveats: Readonly<NonEmptyArray<string>> | null;
|
|
13
|
+
}>;
|
|
14
|
+
}>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=settings-page.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-page.d.mts","sourceRoot":"","sources":["../../src/endowments/settings-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EAEtB,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB;AAErD,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,8BAA8B,CAAC;AA+BnD,eAAO,MAAM,4BAA4B;;;wBA5BvB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,qBAAqB,KAAK,IAAI;wBAC3C,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;EA4B7C,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PermissionType, SubjectType } from "@metamask/permission-controller";
|
|
2
|
+
import { SnapEndowments } from "./enum.mjs";
|
|
3
|
+
const permissionName = SnapEndowments.SettingsPage;
|
|
4
|
+
/**
|
|
5
|
+
* `endowment:settings-page` returns nothing; it is intended to be used as a
|
|
6
|
+
* flag by the snap controller to detect whether the snap has the capability to
|
|
7
|
+
* use the snap settings page feature.
|
|
8
|
+
*
|
|
9
|
+
* @param _builderOptions - Optional specification builder options.
|
|
10
|
+
* @returns The specification for the `settings-page` endowment.
|
|
11
|
+
*/
|
|
12
|
+
const specificationBuilder = (_builderOptions) => {
|
|
13
|
+
return {
|
|
14
|
+
permissionType: PermissionType.Endowment,
|
|
15
|
+
targetName: permissionName,
|
|
16
|
+
allowedCaveats: null,
|
|
17
|
+
endowmentGetter: (_getterOptions) => null,
|
|
18
|
+
subjectTypes: [SubjectType.Snap],
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export const settingsPageEndowmentBuilder = Object.freeze({
|
|
22
|
+
targetName: permissionName,
|
|
23
|
+
specificationBuilder,
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=settings-page.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-page.mjs","sourceRoot":"","sources":["../../src/endowments/settings-page.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,wCAAwC;AAG9E,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC;AASnD;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAItB,CAAC,eAAyB,EAAE,EAAE;IAChC,OAAO;QACL,cAAc,EAAE,cAAc,CAAC,SAAS;QACxC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI;QACjE,YAAY,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,cAAc;IAC1B,oBAAoB;CACZ,CAAC,CAAC","sourcesContent":["import type {\n PermissionSpecificationBuilder,\n EndowmentGetterParams,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport type { NonEmptyArray } from '@metamask/utils';\n\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.SettingsPage;\n\ntype SettingsPageEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: EndowmentGetterParams) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * `endowment:settings-page` returns nothing; it is intended to be used as a\n * flag by the snap controller to detect whether the snap has the capability to\n * use the snap settings page feature.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the `settings-page` endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n SettingsPageEndowmentSpecification\n> = (_builderOptions?: unknown) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: null,\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const settingsPageEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n"]}
|