@metamask-previews/permission-controller 9.0.2-preview-68beceb0 → 9.0.2-preview-59bf6d5d
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/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/Caveat.d.ts +16 -16
- package/dist/types/Caveat.d.ts.map +1 -1
- package/dist/types/Permission.d.ts +34 -34
- package/dist/types/Permission.d.ts.map +1 -1
- package/dist/types/PermissionController.d.ts +34 -34
- package/dist/types/PermissionController.d.ts.map +1 -1
- package/dist/types/SubjectMetadataController.d.ts +13 -13
- package/dist/types/SubjectMetadataController.d.ts.map +1 -1
- package/dist/types/errors.d.ts +2 -2
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/permission-middleware.d.ts +1 -1
- package/dist/types/permission-middleware.d.ts.map +1 -1
- package/dist/types/rpc-methods/getPermissions.d.ts +1 -1
- package/dist/types/rpc-methods/getPermissions.d.ts.map +1 -1
- package/dist/types/rpc-methods/index.d.ts +1 -1
- package/dist/types/rpc-methods/index.d.ts.map +1 -1
- package/dist/types/rpc-methods/requestPermissions.d.ts +2 -2
- package/dist/types/rpc-methods/requestPermissions.d.ts.map +1 -1
- package/dist/types/rpc-methods/revokePermissions.d.ts +3 -3
- package/dist/types/rpc-methods/revokePermissions.d.ts.map +1 -1
- package/dist/types/utils.d.ts +4 -4
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -3,7 +3,7 @@ import { BaseController } from '@metamask/base-controller';
|
|
|
3
3
|
import type { Json } from '@metamask/utils';
|
|
4
4
|
import type { HasPermissions, PermissionSubjectMetadata } from './PermissionController';
|
|
5
5
|
declare const controllerName = "SubjectMetadataController";
|
|
6
|
-
|
|
6
|
+
type SubjectOrigin = string;
|
|
7
7
|
/**
|
|
8
8
|
* The different kinds of subjects that MetaMask may interact with, including
|
|
9
9
|
* third parties and itself (e.g., when the background communicated with the UI).
|
|
@@ -15,37 +15,37 @@ export declare enum SubjectType {
|
|
|
15
15
|
Website = "website",
|
|
16
16
|
Snap = "snap"
|
|
17
17
|
}
|
|
18
|
-
export
|
|
18
|
+
export type SubjectMetadata = PermissionSubjectMetadata & {
|
|
19
19
|
[key: string]: Json;
|
|
20
20
|
name: string | null;
|
|
21
21
|
subjectType: SubjectType | null;
|
|
22
22
|
extensionId: string | null;
|
|
23
23
|
iconUrl: string | null;
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
type SubjectMetadataToAdd = PermissionSubjectMetadata & {
|
|
26
26
|
name?: string | null;
|
|
27
27
|
subjectType?: SubjectType | null;
|
|
28
28
|
extensionId?: string | null;
|
|
29
29
|
iconUrl?: string | null;
|
|
30
30
|
} & Record<string, Json>;
|
|
31
|
-
export
|
|
31
|
+
export type SubjectMetadataControllerState = {
|
|
32
32
|
subjectMetadata: Record<SubjectOrigin, SubjectMetadata>;
|
|
33
33
|
};
|
|
34
|
-
export
|
|
35
|
-
export
|
|
34
|
+
export type GetSubjectMetadataState = ControllerGetStateAction<typeof controllerName, SubjectMetadataControllerState>;
|
|
35
|
+
export type GetSubjectMetadata = {
|
|
36
36
|
type: `${typeof controllerName}:getSubjectMetadata`;
|
|
37
37
|
handler: (origin: SubjectOrigin) => SubjectMetadata | undefined;
|
|
38
38
|
};
|
|
39
|
-
export
|
|
39
|
+
export type AddSubjectMetadata = {
|
|
40
40
|
type: `${typeof controllerName}:addSubjectMetadata`;
|
|
41
41
|
handler: (metadata: SubjectMetadataToAdd) => void;
|
|
42
42
|
};
|
|
43
|
-
export
|
|
44
|
-
export
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
export
|
|
48
|
-
|
|
43
|
+
export type SubjectMetadataControllerActions = GetSubjectMetadataState | GetSubjectMetadata | AddSubjectMetadata;
|
|
44
|
+
export type SubjectMetadataStateChange = ControllerStateChangeEvent<typeof controllerName, SubjectMetadataControllerState>;
|
|
45
|
+
export type SubjectMetadataControllerEvents = SubjectMetadataStateChange;
|
|
46
|
+
type AllowedActions = HasPermissions;
|
|
47
|
+
export type SubjectMetadataControllerMessenger = RestrictedControllerMessenger<typeof controllerName, SubjectMetadataControllerActions | AllowedActions, SubjectMetadataControllerEvents, AllowedActions['type'], never>;
|
|
48
|
+
type SubjectMetadataControllerOptions = {
|
|
49
49
|
messenger: SubjectMetadataControllerMessenger;
|
|
50
50
|
subjectCacheLimit: number;
|
|
51
51
|
state?: Partial<SubjectMetadataControllerState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubjectMetadataController.d.ts","sourceRoot":"","sources":["../../src/SubjectMetadataController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAEV,cAAc,EACd,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC,QAAA,MAAM,cAAc,8BAA8B,CAAC;AAEnD,
|
|
1
|
+
{"version":3,"file":"SubjectMetadataController.d.ts","sourceRoot":"","sources":["../../src/SubjectMetadataController.ts"],"names":[],"mappings":"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"}
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DataWithOptionalCause } from '@metamask/rpc-errors';
|
|
2
2
|
import { JsonRpcError } from '@metamask/rpc-errors';
|
|
3
3
|
import type { PermissionType } from './Permission';
|
|
4
|
-
|
|
4
|
+
type UnauthorizedArg = {
|
|
5
5
|
data?: Record<string, unknown>;
|
|
6
6
|
message?: string;
|
|
7
7
|
};
|
|
@@ -20,7 +20,7 @@ export declare function unauthorized(opts: UnauthorizedArg): import("@metamask/r
|
|
|
20
20
|
* @returns The built error
|
|
21
21
|
*/
|
|
22
22
|
export declare function methodNotFound(method: string, data?: DataWithOptionalCause): JsonRpcError<import("@metamask/rpc-errors").OptionalDataWithOptionalCause>;
|
|
23
|
-
|
|
23
|
+
type InvalidParamsArg = {
|
|
24
24
|
message?: string;
|
|
25
25
|
data?: DataWithOptionalCause;
|
|
26
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAIL,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';
|
|
2
2
|
import type { Json } from '@metamask/utils';
|
|
3
3
|
import type { GenericPermissionController, PermissionSubjectMetadata, RestrictedMethodParameters } from '.';
|
|
4
|
-
|
|
4
|
+
type PermissionMiddlewareFactoryOptions = {
|
|
5
5
|
executeRestrictedMethod: GenericPermissionController['_executeRestrictedMethod'];
|
|
6
6
|
getRestrictedMethod: GenericPermissionController['getRestrictedMethod'];
|
|
7
7
|
isUnrestrictedMethod: (method: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-middleware.d.ts","sourceRoot":"","sources":["../../src/permission-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,iBAAiB,EAElB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,IAAI,EAGL,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,GAAG,CAAC;AAKX,
|
|
1
|
+
{"version":3,"file":"permission-middleware.d.ts","sourceRoot":"","sources":["../../src/permission-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,iBAAiB,EAElB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,IAAI,EAGL,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,GAAG,CAAC;AAKX,KAAK,kCAAkC,GAAG;IACxC,uBAAuB,EAAE,2BAA2B,CAAC,0BAA0B,CAAC,CAAC;IACjF,mBAAmB,EAAE,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;IACxE,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,GACrB,EAAE,kCAAkC,aAExB,yBAAyB,KACjC,kBAAkB,0BAA0B,EAAE,IAAI,CAAC,CA2CvD"}
|
|
@@ -3,7 +3,7 @@ import type { SubjectPermissions } from '../PermissionController';
|
|
|
3
3
|
import type { PermittedHandlerExport } from '../utils';
|
|
4
4
|
export declare const getPermissionsHandler: PermittedHandlerExport<GetPermissionsHooks, [
|
|
5
5
|
], PermissionConstraint[]>;
|
|
6
|
-
export
|
|
6
|
+
export type GetPermissionsHooks = {
|
|
7
7
|
getPermissionsForOrigin: () => SubjectPermissions<PermissionConstraint>;
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=getPermissions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPermissions.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/getPermissions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,CACxD,mBAAmB,EACnB;CAAE,EACF,oBAAoB,EAAE,CAOvB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"getPermissions.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/getPermissions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,CACxD,mBAAmB,EACnB;CAAE,EACF,oBAAoB,EAAE,CAOvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAEhC,uBAAuB,EAAE,MAAM,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;CACzE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GetPermissionsHooks } from './getPermissions';
|
|
2
2
|
import type { RequestPermissionsHooks } from './requestPermissions';
|
|
3
3
|
import type { RevokePermissionsHooks } from './revokePermissions';
|
|
4
|
-
export
|
|
4
|
+
export type PermittedRpcMethodHooks = RequestPermissionsHooks & GetPermissionsHooks & RevokePermissionsHooks;
|
|
5
5
|
export declare const handlers: readonly [import("..").PermittedHandlerExport<RequestPermissionsHooks, [import("..").RequestedPermissions], import("..").PermissionConstraint[]>, import("..").PermittedHandlerExport<GetPermissionsHooks, [], import("..").PermissionConstraint[]>, import("..").PermittedHandlerExport<RevokePermissionsHooks, {
|
|
6
6
|
[x: string]: import("@metamask/utils").Json;
|
|
7
7
|
}, null>];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,MAAM,MAAM,uBAAuB,GAAG,uBAAuB,GAC3D,mBAAmB,GACnB,sBAAsB,CAAC;AAEzB,eAAO,MAAM,QAAQ;;SAIX,CAAC"}
|
|
@@ -3,14 +3,14 @@ import type { PermittedHandlerExport } from '../utils';
|
|
|
3
3
|
export declare const requestPermissionsHandler: PermittedHandlerExport<RequestPermissionsHooks, [
|
|
4
4
|
RequestedPermissions
|
|
5
5
|
], PermissionConstraint[]>;
|
|
6
|
-
|
|
6
|
+
type RequestPermissions = (requestedPermissions: RequestedPermissions) => Promise<[
|
|
7
7
|
Record<string, PermissionConstraint>,
|
|
8
8
|
{
|
|
9
9
|
id: string;
|
|
10
10
|
origin: string;
|
|
11
11
|
}
|
|
12
12
|
]>;
|
|
13
|
-
export
|
|
13
|
+
export type RequestPermissionsHooks = {
|
|
14
14
|
requestPermissionsForOrigin: RequestPermissions;
|
|
15
15
|
};
|
|
16
16
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestPermissions.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/requestPermissions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,yBAAyB,EAAE,sBAAsB,CAC5D,uBAAuB,EACvB;IAAC,oBAAoB;CAAC,EACtB,oBAAoB,EAAE,CAOvB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"requestPermissions.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/requestPermissions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,yBAAyB,EAAE,sBAAsB,CAC5D,uBAAuB,EACvB;IAAC,oBAAoB;CAAC,EACtB,oBAAoB,EAAE,CAOvB,CAAC;AAEF,KAAK,kBAAkB,GAAG,CACxB,oBAAoB,EAAE,oBAAoB,KACvC,OAAO,CACV;IAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAAC,CACvE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,2BAA2B,EAAE,kBAAkB,CAAC;CACjD,CAAC"}
|
|
@@ -2,9 +2,9 @@ import { type Json, type NonEmptyArray } from '@metamask/utils';
|
|
|
2
2
|
import type { PermissionConstraint } from '../Permission';
|
|
3
3
|
import type { PermittedHandlerExport } from '../utils';
|
|
4
4
|
export declare const revokePermissionsHandler: PermittedHandlerExport<RevokePermissionsHooks, RevokePermissionArgs, null>;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export
|
|
5
|
+
type RevokePermissionArgs = Record<PermissionConstraint['parentCapability'], Json>;
|
|
6
|
+
type RevokePermissions = (permissions: NonEmptyArray<PermissionConstraint['parentCapability']>) => void;
|
|
7
|
+
export type RevokePermissionsHooks = {
|
|
8
8
|
revokePermissionsForOrigin: RevokePermissions;
|
|
9
9
|
};
|
|
10
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revokePermissions.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/revokePermissions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,IAAI,EAET,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,wBAAwB,EAAE,sBAAsB,CAC3D,sBAAsB,EACtB,oBAAoB,EACpB,IAAI,CAOL,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"revokePermissions.d.ts","sourceRoot":"","sources":["../../../src/rpc-methods/revokePermissions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,IAAI,EAET,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,wBAAwB,EAAE,sBAAsB,CAC3D,sBAAsB,EACtB,oBAAoB,EACpB,IAAI,CAOL,CAAC;AAEF,KAAK,oBAAoB,GAAG,MAAM,CAChC,oBAAoB,CAAC,kBAAkB,CAAC,EACxC,IAAI,CACL,CAAC;AAEF,KAAK,iBAAiB,GAAG,CACvB,WAAW,EAAE,aAAa,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,KACjE,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,GAAG;IACnC,0BAA0B,EAAE,iBAAiB,CAAC;CAC/C,CAAC"}
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -15,24 +15,24 @@ export declare enum MethodNames {
|
|
|
15
15
|
* @template SpecificationsMap - The caveat or permission specifications map
|
|
16
16
|
* whose specification type union to extract.
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export type ExtractSpecifications<SpecificationsMap extends CaveatSpecificationMap<CaveatSpecificationConstraint> | PermissionSpecificationMap<PermissionSpecificationConstraint>> = SpecificationsMap[keyof SpecificationsMap];
|
|
19
19
|
/**
|
|
20
20
|
* A middleware function for handling a permitted method.
|
|
21
21
|
*/
|
|
22
|
-
export
|
|
22
|
+
export type HandlerMiddlewareFunction<T, U extends JsonRpcParams, V extends Json> = (req: JsonRpcRequest<U>, res: PendingJsonRpcResponse<V>, next: JsonRpcEngineNextCallback, end: JsonRpcEngineEndCallback, hooks: T) => void | Promise<void>;
|
|
23
23
|
/**
|
|
24
24
|
* We use a mapped object type in order to create a type that requires the
|
|
25
25
|
* presence of the names of all hooks for the given handler.
|
|
26
26
|
* This can then be used to select only the necessary hooks whenever a method
|
|
27
27
|
* is called for purposes of POLA.
|
|
28
28
|
*/
|
|
29
|
-
export
|
|
29
|
+
export type HookNames<T> = {
|
|
30
30
|
[Property in keyof T]: true;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* A handler for a permitted method.
|
|
34
34
|
*/
|
|
35
|
-
export
|
|
35
|
+
export type PermittedHandlerExport<T, U extends JsonRpcParams, V extends Json> = {
|
|
36
36
|
implementation: HandlerMiddlewareFunction<T, U, V>;
|
|
37
37
|
hookNames: HookNames<T>;
|
|
38
38
|
methodNames: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EACb,cAAc,EACd,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,iCAAiC,EACjC,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAEtB,oBAAY,WAAW;IACrB,kBAAkB,8BAA8B;IAChD,cAAc,0BAA0B;IACxC,iBAAiB,6BAA6B;CAC/C;AAED;;;;;;;GAOG;AACH,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EACb,cAAc,EACd,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,iCAAiC,EACjC,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAEtB,oBAAY,WAAW;IACrB,kBAAkB,8BAA8B;IAChD,cAAc,0BAA0B;IACxC,iBAAiB,6BAA6B;CAC/C;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,CAC/B,iBAAiB,SACb,sBAAsB,CAAC,6BAA6B,CAAC,GACrD,0BAA0B,CAAC,iCAAiC,CAAC,IAC/D,iBAAiB,CAAC,MAAM,iBAAiB,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,yBAAyB,CACnC,CAAC,EACD,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,IAAI,IACZ,CACF,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EACtB,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAC9B,IAAI,EAAE,yBAAyB,EAC/B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,CAAC,KACL,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;KACxB,QAAQ,IAAI,MAAM,CAAC,GAAG,IAAI;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAChC,CAAC,EACD,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,IAAI,IACZ;IACF,cAAc,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/permission-controller",
|
|
3
|
-
"version": "9.0.2-preview-
|
|
3
|
+
"version": "9.0.2-preview-59bf6d5d",
|
|
4
4
|
"description": "Mediates access to JSON-RPC methods, used to interact with pieces of the MetaMask stack, via middleware for json-rpc-engine",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"ts-jest": "^27.1.4",
|
|
61
61
|
"typedoc": "^0.24.8",
|
|
62
62
|
"typedoc-plugin-missing-exports": "^2.0.0",
|
|
63
|
-
"typescript": "~4.
|
|
63
|
+
"typescript": "~4.9.5"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
66
|
"@metamask/approval-controller": "^6.0.0"
|