-
Notifications
You must be signed in to change notification settings - Fork 542
/
index.ts
73 lines (67 loc) · 2.46 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import { PermissionConstraint } from '@metamask/permission-controller';
import { Json } from '@metamask/utils';
import { confirmBuilder, ConfirmMethodHooks } from './confirm';
import { dialogBuilder, DialogMethodHooks } from './dialog';
import {
getBip32EntropyBuilder,
getBip32EntropyCaveatMapper,
getBip32EntropyCaveatSpecifications,
GetBip32EntropyMethodHooks,
} from './getBip32Entropy';
import {
getBip32PublicKeyBuilder,
GetBip32PublicKeyMethodHooks,
} from './getBip32PublicKey';
import {
getBip44EntropyBuilder,
getBip44EntropyCaveatMapper,
getBip44EntropyCaveatSpecifications,
GetBip44EntropyMethodHooks,
} from './getBip44Entropy';
import { getEntropyBuilder, GetEntropyHooks } from './getEntropy';
import { invokeSnapBuilder, InvokeSnapMethodHooks } from './invokeSnap';
import { manageStateBuilder, ManageStateMethodHooks } from './manageState';
import { notifyBuilder, NotifyMethodHooks } from './notify';
export type {
AlertFields,
ConfirmationFields,
DialogFields,
DialogParameters,
PromptFields,
} from './dialog';
export { DialogType } from './dialog';
export { ManageStateOperation } from './manageState';
export type { NotificationArgs } from './notify';
export { NotificationType } from './notify';
export type RestrictedMethodHooks = ConfirmMethodHooks &
DialogMethodHooks &
GetBip32EntropyMethodHooks &
GetBip32PublicKeyMethodHooks &
GetBip44EntropyMethodHooks &
GetEntropyHooks &
InvokeSnapMethodHooks &
ManageStateMethodHooks &
NotifyMethodHooks;
export const restrictedMethodPermissionBuilders = {
[confirmBuilder.targetKey]: confirmBuilder,
[dialogBuilder.targetKey]: dialogBuilder,
[getBip32EntropyBuilder.targetKey]: getBip32EntropyBuilder,
[getBip32PublicKeyBuilder.targetKey]: getBip32PublicKeyBuilder,
[getBip44EntropyBuilder.targetKey]: getBip44EntropyBuilder,
[getEntropyBuilder.targetKey]: getEntropyBuilder,
[invokeSnapBuilder.targetKey]: invokeSnapBuilder,
[manageStateBuilder.targetKey]: manageStateBuilder,
[notifyBuilder.targetKey]: notifyBuilder,
} as const;
export const caveatSpecifications = {
...getBip32EntropyCaveatSpecifications,
...getBip44EntropyCaveatSpecifications,
} as const;
export const caveatMappers: Record<
string,
(value: Json) => Pick<PermissionConstraint, 'caveats'>
> = {
[getBip32EntropyBuilder.targetKey]: getBip32EntropyCaveatMapper,
[getBip32PublicKeyBuilder.targetKey]: getBip32EntropyCaveatMapper,
[getBip44EntropyBuilder.targetKey]: getBip44EntropyCaveatMapper,
};