@metamask/snaps-controllers 0.36.1-flask.1 → 0.37.0-flask.1
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 +6 -1
- package/dist/cjs/cronjob/CronjobController.js.map +1 -1
- package/dist/cjs/fsm.js.map +1 -1
- package/dist/cjs/services/AbstractExecutionService.js.map +1 -1
- package/dist/cjs/services/ExecutionService.js.map +1 -1
- package/dist/cjs/services/ProxyPostMessageStream.js.map +1 -1
- package/dist/cjs/services/iframe/IframeExecutionService.js.map +1 -1
- package/dist/cjs/services/node/NodeProcessExecutionService.js.map +1 -1
- package/dist/cjs/services/node/NodeThreadExecutionService.js.map +1 -1
- package/dist/cjs/services/offscreen/OffscreenExecutionService.js.map +1 -1
- package/dist/cjs/services/webworker/WebWorkerExecutionService.js.map +1 -1
- package/dist/cjs/snaps/SnapController.js.map +1 -1
- package/dist/cjs/snaps/endowments/cronjob.js.map +1 -1
- package/dist/cjs/snaps/endowments/ethereum-provider.js.map +1 -1
- package/dist/cjs/snaps/endowments/index.js.map +1 -1
- package/dist/cjs/snaps/endowments/long-running.js.map +1 -1
- package/dist/cjs/snaps/endowments/network-access.js.map +1 -1
- package/dist/cjs/snaps/endowments/rpc.js.map +1 -1
- package/dist/cjs/snaps/endowments/transaction-insight.js.map +1 -1
- package/dist/cjs/snaps/endowments/web-assembly.js.map +1 -1
- package/dist/cjs/snaps/location/http.js.map +1 -1
- package/dist/cjs/snaps/location/local.js.map +1 -1
- package/dist/cjs/snaps/location/location.js.map +1 -1
- package/dist/cjs/snaps/location/npm.js.map +1 -1
- package/dist/cjs/snaps/permissions.js.map +1 -1
- package/dist/cjs/snaps/registry/json.js.map +1 -1
- package/dist/cjs/snaps/registry/registry.js.map +1 -1
- package/dist/cjs/snaps/selectors.js.map +1 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/cronjob/CronjobController.js.map +1 -1
- package/dist/esm/fsm.js.map +1 -1
- package/dist/esm/services/AbstractExecutionService.js.map +1 -1
- package/dist/esm/services/ExecutionService.js.map +1 -1
- package/dist/esm/services/ProxyPostMessageStream.js.map +1 -1
- package/dist/esm/services/iframe/IframeExecutionService.js.map +1 -1
- package/dist/esm/services/node/NodeProcessExecutionService.js.map +1 -1
- package/dist/esm/services/node/NodeThreadExecutionService.js.map +1 -1
- package/dist/esm/services/offscreen/OffscreenExecutionService.js.map +1 -1
- package/dist/esm/services/webworker/WebWorkerExecutionService.js.map +1 -1
- package/dist/esm/snaps/SnapController.js.map +1 -1
- package/dist/esm/snaps/endowments/cronjob.js.map +1 -1
- package/dist/esm/snaps/endowments/ethereum-provider.js.map +1 -1
- package/dist/esm/snaps/endowments/index.js.map +1 -1
- package/dist/esm/snaps/endowments/long-running.js.map +1 -1
- package/dist/esm/snaps/endowments/network-access.js.map +1 -1
- package/dist/esm/snaps/endowments/rpc.js.map +1 -1
- package/dist/esm/snaps/endowments/transaction-insight.js.map +1 -1
- package/dist/esm/snaps/endowments/web-assembly.js.map +1 -1
- package/dist/esm/snaps/location/http.js.map +1 -1
- package/dist/esm/snaps/location/local.js.map +1 -1
- package/dist/esm/snaps/location/location.js.map +1 -1
- package/dist/esm/snaps/location/npm.js.map +1 -1
- package/dist/esm/snaps/permissions.js.map +1 -1
- package/dist/esm/snaps/registry/json.js.map +1 -1
- package/dist/esm/snaps/registry/registry.js.map +1 -1
- package/dist/esm/snaps/selectors.js.map +1 -1
- package/dist/esm/utils.js +2 -2
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/cronjob/CronjobController.d.ts +5 -4
- package/dist/types/fsm.d.ts +1 -1
- package/dist/types/services/AbstractExecutionService.d.ts +4 -4
- package/dist/types/services/ExecutionService.d.ts +3 -3
- package/dist/types/services/ProxyPostMessageStream.d.ts +1 -1
- package/dist/types/services/iframe/IframeExecutionService.d.ts +3 -2
- package/dist/types/services/node/NodeProcessExecutionService.d.ts +4 -3
- package/dist/types/services/node/NodeThreadExecutionService.d.ts +3 -2
- package/dist/types/services/offscreen/OffscreenExecutionService.d.ts +2 -1
- package/dist/types/services/webworker/WebWorkerExecutionService.d.ts +2 -1
- package/dist/types/snaps/SnapController.d.ts +13 -10
- package/dist/types/snaps/endowments/cronjob.d.ts +5 -3
- package/dist/types/snaps/endowments/ethereum-provider.d.ts +2 -1
- package/dist/types/snaps/endowments/index.d.ts +2 -2
- package/dist/types/snaps/endowments/long-running.d.ts +2 -1
- package/dist/types/snaps/endowments/network-access.d.ts +2 -1
- package/dist/types/snaps/endowments/rpc.d.ts +5 -3
- package/dist/types/snaps/endowments/transaction-insight.d.ts +3 -2
- package/dist/types/snaps/endowments/web-assembly.d.ts +2 -1
- package/dist/types/snaps/location/http.d.ts +3 -2
- package/dist/types/snaps/location/local.d.ts +3 -3
- package/dist/types/snaps/location/location.d.ts +2 -2
- package/dist/types/snaps/location/npm.d.ts +4 -3
- package/dist/types/snaps/permissions.d.ts +2 -2
- package/dist/types/snaps/registry/json.d.ts +5 -4
- package/dist/types/snaps/registry/registry.d.ts +3 -3
- package/dist/types/snaps/selectors.d.ts +2 -2
- package/dist/types/utils.d.ts +14 -14
- package/package.json +10 -9
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
2
|
+
import { BaseControllerV2 as BaseController } from '@metamask/base-controller';
|
|
3
|
+
import type { GetPermissions } from '@metamask/permission-controller';
|
|
4
|
+
import type { SnapId, ValidatedSnapId, CronjobSpecification } from '@metamask/snaps-utils';
|
|
5
|
+
import type { GetAllSnaps, HandleSnapRequest, SnapInstalled, SnapRemoved, SnapUpdated } from '..';
|
|
5
6
|
import { Timer } from '../snaps/Timer';
|
|
6
7
|
export declare type CronjobControllerActions = GetAllSnaps | HandleSnapRequest | GetPermissions;
|
|
7
8
|
export declare type CronjobControllerEvents = SnapInstalled | SnapRemoved | SnapUpdated;
|
package/dist/types/fsm.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import ObjectMultiplex from '@metamask/object-multiplex';
|
|
3
|
-
import { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
4
|
-
import { SnapRpcHookArgs } from '@metamask/snaps-utils';
|
|
3
|
+
import type { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
4
|
+
import type { SnapRpcHookArgs } from '@metamask/snaps-utils';
|
|
5
5
|
import { JsonRpcEngine } from 'json-rpc-engine';
|
|
6
|
-
import { Duplex } from 'stream';
|
|
7
|
-
import { ExecutionService, ExecutionServiceMessenger, SnapExecutionData } from './ExecutionService';
|
|
6
|
+
import type { Duplex } from 'stream';
|
|
7
|
+
import type { ExecutionService, ExecutionServiceMessenger, SnapExecutionData } from './ExecutionService';
|
|
8
8
|
export declare type SetupSnapProvider = (snapId: string, stream: Duplex) => void;
|
|
9
9
|
export declare type ExecutionServiceArgs = {
|
|
10
10
|
setupSnapProvider: SetupSnapProvider;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
2
|
-
import { SnapId, SnapRpcHookArgs } from '@metamask/snaps-utils';
|
|
3
|
-
import { Json } from '@metamask/types';
|
|
1
|
+
import type { RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
2
|
+
import type { SnapId, SnapRpcHookArgs } from '@metamask/snaps-utils';
|
|
3
|
+
import type { Json } from '@metamask/types';
|
|
4
4
|
declare type TerminateSnap = (snapId: string) => Promise<void>;
|
|
5
5
|
declare type TerminateAll = () => Promise<void>;
|
|
6
6
|
declare type ExecuteSnap = (snapData: SnapExecutionData) => Promise<unknown>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
2
|
-
import { JsonRpcRequest } from '@metamask/utils';
|
|
2
|
+
import type { JsonRpcRequest } from '@metamask/utils';
|
|
3
3
|
export declare type ProxyPostMessageStreamArgs = {
|
|
4
4
|
stream: BasePostMessageStream;
|
|
5
5
|
jobId: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
2
|
-
import { Job,
|
|
1
|
+
import type { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
2
|
+
import type { Job, ExecutionServiceArgs } from '../AbstractExecutionService';
|
|
3
|
+
import { AbstractExecutionService } from '../AbstractExecutionService';
|
|
3
4
|
declare type IframeExecutionEnvironmentServiceArgs = {
|
|
4
5
|
iframeUrl: URL;
|
|
5
6
|
} & ExecutionServiceArgs;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
3
|
-
import { ChildProcess } from 'child_process';
|
|
4
|
-
import {
|
|
2
|
+
import type { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
3
|
+
import type { ChildProcess } from 'child_process';
|
|
4
|
+
import type { Job } from '..';
|
|
5
|
+
import { AbstractExecutionService } from '..';
|
|
5
6
|
export declare class NodeProcessExecutionService extends AbstractExecutionService<ChildProcess> {
|
|
6
7
|
protected initEnvStream(): Promise<{
|
|
7
8
|
worker: ChildProcess;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
2
|
+
import type { BasePostMessageStream } from '@metamask/post-message-stream';
|
|
3
3
|
import { Worker } from 'worker_threads';
|
|
4
|
-
import {
|
|
4
|
+
import type { Job } from '..';
|
|
5
|
+
import { AbstractExecutionService } from '..';
|
|
5
6
|
export declare class NodeThreadExecutionService extends AbstractExecutionService<Worker> {
|
|
6
7
|
protected initEnvStream(): Promise<{
|
|
7
8
|
worker: Worker;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ExecutionServiceArgs, Job } from '../AbstractExecutionService';
|
|
2
|
+
import { AbstractExecutionService } from '../AbstractExecutionService';
|
|
2
3
|
import { ProxyPostMessageStream } from '../ProxyPostMessageStream';
|
|
3
4
|
declare type OffscreenExecutionEnvironmentServiceArgs = {
|
|
4
5
|
documentUrl: URL;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ExecutionServiceArgs, Job } from '../AbstractExecutionService';
|
|
2
|
+
import { AbstractExecutionService } from '../AbstractExecutionService';
|
|
2
3
|
import { ProxyPostMessageStream } from '../ProxyPostMessageStream';
|
|
3
4
|
declare type WebWorkerExecutionEnvironmentServiceArgs = {
|
|
4
5
|
documentUrl: URL;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { AddApprovalRequest, UpdateRequestState } from '@metamask/approval-controller';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import type { AddApprovalRequest, UpdateRequestState } from '@metamask/approval-controller';
|
|
2
|
+
import type { RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
3
|
+
import { BaseControllerV2 as BaseController } from '@metamask/base-controller';
|
|
4
|
+
import type { GetEndowments, GetPermissions, GetSubjects, GrantPermissions, HasPermission, HasPermissions, RevokeAllPermissions, RevokePermissionForAllSubjects, RevokePermissions, UpdateCaveat, GetSubjectMetadata } from '@metamask/permission-controller';
|
|
5
|
+
import type { BlockReason } from '@metamask/snaps-registry';
|
|
6
|
+
import type { InstallSnapsResult, PersistedSnap, RequestedSnapPermissions, Snap, SnapId, SnapRpcHook, SnapRpcHookArgs, StatusContext, StatusEvents, StatusStates, TruncatedSnap, ValidatedSnapId } from '@metamask/snaps-utils';
|
|
7
|
+
import { SnapStatusEvents } from '@metamask/snaps-utils';
|
|
8
|
+
import type { Json, NonEmptyArray } from '@metamask/utils';
|
|
9
|
+
import type { StateMachine } from '@xstate/fsm';
|
|
8
10
|
import type { Patch } from 'immer';
|
|
9
|
-
import { ExecuteSnapAction, ExecutionServiceEvents, HandleRpcRequestAction, SnapErrorJson, TerminateAllSnapsAction, TerminateSnapAction } from '../services';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
11
|
+
import type { ExecuteSnapAction, ExecutionServiceEvents, HandleRpcRequestAction, SnapErrorJson, TerminateAllSnapsAction, TerminateSnapAction } from '../services';
|
|
12
|
+
import type { SnapLocation } from './location';
|
|
13
|
+
import { detectSnapLocation } from './location';
|
|
14
|
+
import type { GetMetadata, GetResult, SnapsRegistryMetadata } from './registry';
|
|
12
15
|
import { Timer } from './Timer';
|
|
13
16
|
export declare const controllerName = "SnapController";
|
|
14
17
|
export declare const SNAP_APPROVAL_INSTALL = "wallet_installSnap";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { PermissionSpecificationBuilder,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { PermissionSpecificationBuilder, PermissionConstraint, Caveat, CaveatSpecificationConstraint } from '@metamask/permission-controller';
|
|
2
|
+
import { PermissionType } from '@metamask/permission-controller';
|
|
3
|
+
import type { CronjobSpecification } from '@metamask/snaps-utils';
|
|
4
|
+
import { SnapCaveatType } from '@metamask/snaps-utils';
|
|
5
|
+
import type { Json, NonEmptyArray } from '@metamask/utils';
|
|
4
6
|
import { SnapEndowments } from './enum';
|
|
5
7
|
declare const permissionName = SnapEndowments.Cronjob;
|
|
6
8
|
export declare const cronjobEndowmentBuilder: Readonly<{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PermissionSpecificationBuilder
|
|
1
|
+
import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
|
|
2
|
+
import { PermissionType } from '@metamask/permission-controller';
|
|
2
3
|
import { SnapEndowments } from './enum';
|
|
3
4
|
declare const permissionName = SnapEndowments.EthereumProvider;
|
|
4
5
|
export declare const ethereumProviderEndowmentBuilder: Readonly<{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PermissionConstraint } from '@metamask/permission-controller';
|
|
1
|
+
import type { PermissionConstraint } from '@metamask/permission-controller';
|
|
2
2
|
import { HandlerType } from '@metamask/snaps-utils';
|
|
3
|
-
import { Json } from '@metamask/utils';
|
|
3
|
+
import type { Json } from '@metamask/utils';
|
|
4
4
|
export declare const endowmentPermissionBuilders: {
|
|
5
5
|
readonly "endowment:network-access": Readonly<{
|
|
6
6
|
readonly targetName: import("./enum").SnapEndowments.NetworkAccess;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PermissionSpecificationBuilder
|
|
1
|
+
import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
|
|
2
|
+
import { PermissionType } from '@metamask/permission-controller';
|
|
2
3
|
import { SnapEndowments } from './enum';
|
|
3
4
|
declare const permissionName = SnapEndowments.LongRunning;
|
|
4
5
|
export declare const longRunningEndowmentBuilder: Readonly<{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PermissionSpecificationBuilder
|
|
1
|
+
import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
|
|
2
|
+
import { PermissionType } from '@metamask/permission-controller';
|
|
2
3
|
import { SnapEndowments } from './enum';
|
|
3
4
|
declare const permissionName = SnapEndowments.NetworkAccess;
|
|
4
5
|
export declare const networkAccessEndowmentBuilder: Readonly<{
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { CaveatSpecificationConstraint, PermissionConstraint, PermissionSpecificationBuilder,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { CaveatSpecificationConstraint, PermissionConstraint, PermissionSpecificationBuilder, PermissionValidatorConstraint } from '@metamask/permission-controller';
|
|
2
|
+
import { PermissionType, SubjectType } from '@metamask/permission-controller';
|
|
3
|
+
import type { RpcOrigins } from '@metamask/snaps-utils';
|
|
4
|
+
import { SnapCaveatType } from '@metamask/snaps-utils';
|
|
5
|
+
import type { Json, NonEmptyArray } from '@metamask/utils';
|
|
4
6
|
import { SnapEndowments } from './enum';
|
|
5
7
|
declare const targetName = SnapEndowments.Rpc;
|
|
6
8
|
declare type RpcSpecificationBuilderOptions = {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { PermissionSpecificationBuilder,
|
|
1
|
+
import type { PermissionSpecificationBuilder, EndowmentGetterParams, PermissionValidatorConstraint, PermissionConstraint, CaveatSpecificationConstraint } from '@metamask/permission-controller';
|
|
2
|
+
import { PermissionType } from '@metamask/permission-controller';
|
|
2
3
|
import { SnapCaveatType } from '@metamask/snaps-utils';
|
|
3
|
-
import { Json, NonEmptyArray } from '@metamask/utils';
|
|
4
|
+
import type { Json, NonEmptyArray } from '@metamask/utils';
|
|
4
5
|
import { SnapEndowments } from './enum';
|
|
5
6
|
declare const permissionName = SnapEndowments.TransactionInsight;
|
|
6
7
|
export declare const transactionInsightEndowmentBuilder: Readonly<{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PermissionSpecificationBuilder
|
|
1
|
+
import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
|
|
2
|
+
import { PermissionType } from '@metamask/permission-controller';
|
|
2
3
|
import { SnapEndowments } from './enum';
|
|
3
4
|
declare const permissionName = SnapEndowments.WebAssemblyAccess;
|
|
4
5
|
export declare const webAssemblyEndowmentBuilder: Readonly<{
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { SnapManifest
|
|
2
|
-
import {
|
|
1
|
+
import type { SnapManifest } from '@metamask/snaps-utils';
|
|
2
|
+
import { VirtualFile } from '@metamask/snaps-utils';
|
|
3
|
+
import type { SnapLocation } from './location';
|
|
3
4
|
export interface HttpOptions {
|
|
4
5
|
/**
|
|
5
6
|
* @default fetch
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
|
|
2
|
-
import { HttpOptions } from './http';
|
|
3
|
-
import { SnapLocation } from './location';
|
|
1
|
+
import type { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
|
|
2
|
+
import type { HttpOptions } from './http';
|
|
3
|
+
import type { SnapLocation } from './location';
|
|
4
4
|
export declare class LocalLocation implements SnapLocation {
|
|
5
5
|
#private;
|
|
6
6
|
constructor(url: URL, opts?: HttpOptions);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
|
|
2
|
-
import { NpmOptions } from './npm';
|
|
1
|
+
import type { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
|
|
2
|
+
import type { NpmOptions } from './npm';
|
|
3
3
|
declare module '@metamask/snaps-utils' {
|
|
4
4
|
interface DataMap {
|
|
5
5
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { SnapManifest
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { SnapManifest } from '@metamask/snaps-utils';
|
|
2
|
+
import { VirtualFile } from '@metamask/snaps-utils';
|
|
3
|
+
import type { SemVerRange } from '@metamask/utils';
|
|
4
|
+
import type { DetectSnapLocationOptions, SnapLocation } from './location';
|
|
4
5
|
export declare const DEFAULT_NPM_REGISTRY = "https://registry.npmjs.org";
|
|
5
6
|
export interface NpmOptions {
|
|
6
7
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PermissionConstraint, PermissionSpecificationConstraint } from '@metamask/permission-controller';
|
|
2
|
-
import { SnapPermissions } from '@metamask/snaps-utils';
|
|
1
|
+
import type { PermissionConstraint, PermissionSpecificationConstraint } from '@metamask/permission-controller';
|
|
2
|
+
import type { SnapPermissions } from '@metamask/snaps-utils';
|
|
3
3
|
/**
|
|
4
4
|
* Map initial permissions as defined in a Snap manifest to something that can
|
|
5
5
|
* be processed by the PermissionsController. Each caveat mapping function
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
2
|
+
import { BaseControllerV2 as BaseController } from '@metamask/base-controller';
|
|
3
|
+
import type { SnapsRegistryDatabase } from '@metamask/snaps-registry';
|
|
4
|
+
import type { Hex } from '@metamask/utils';
|
|
5
|
+
import type { SnapsRegistry } from './registry';
|
|
5
6
|
declare type JsonSnapsRegistryUrl = {
|
|
6
7
|
registry: string;
|
|
7
8
|
signature: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BlockReason, SnapsRegistryDatabase } from '@metamask/snaps-registry';
|
|
2
|
-
import { SnapId, ValidatedSnapId } from '@metamask/snaps-utils';
|
|
3
|
-
import { SemVerVersion } from '@metamask/utils';
|
|
1
|
+
import type { BlockReason, SnapsRegistryDatabase } from '@metamask/snaps-registry';
|
|
2
|
+
import type { SnapId, ValidatedSnapId } from '@metamask/snaps-utils';
|
|
3
|
+
import type { SemVerVersion } from '@metamask/utils';
|
|
4
4
|
export declare type SnapsRegistryInfo = {
|
|
5
5
|
version: SemVerVersion;
|
|
6
6
|
checksum: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TruncatedSnap } from '@metamask/snaps-utils';
|
|
2
|
-
export declare const getRunnableSnaps: <
|
|
1
|
+
import type { TruncatedSnap } from '@metamask/snaps-utils';
|
|
2
|
+
export declare const getRunnableSnaps: <Snap extends TruncatedSnap>(snaps: Snap[]) => Snap[];
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { Timer } from './snaps/Timer';
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function setDiff<ObjectA extends Record<any, unknown>, ObjectB extends Record<any, unknown>>(objectA: ObjectA, objectB: ObjectB): Diff<ObjectA, ObjectB>;
|
|
17
17
|
/**
|
|
18
|
-
* A Promise that delays
|
|
18
|
+
* A Promise that delays its return for a given amount of milliseconds.
|
|
19
19
|
*
|
|
20
20
|
* @param ms - Milliseconds to delay the execution for.
|
|
21
21
|
* @param result - The result to return from the Promise after delay.
|
|
@@ -46,7 +46,7 @@ export declare const hasTimedOut: unique symbol;
|
|
|
46
46
|
* @param timerOrMs - The timer controlling the timeout or a ms value.
|
|
47
47
|
* @returns The resolved `PromiseValue`, or the hasTimedOut symbol if
|
|
48
48
|
* returning early.
|
|
49
|
-
* @template PromiseValue
|
|
49
|
+
* @template PromiseValue - The value of the Promise.
|
|
50
50
|
*/
|
|
51
51
|
export declare function withTimeout<PromiseValue = void>(promise: Promise<PromiseValue>, timerOrMs: Timer | number): Promise<PromiseValue | typeof hasTimedOut>;
|
|
52
52
|
/**
|
|
@@ -72,7 +72,7 @@ export declare function withTimeout<PromiseValue = void>(promise: Promise<Promis
|
|
|
72
72
|
* // t5 = false;
|
|
73
73
|
* ```
|
|
74
74
|
*/
|
|
75
|
-
declare type IsLiteral<
|
|
75
|
+
declare type IsLiteral<Type> = Type extends string | number | boolean | symbol ? Extract<string | number | boolean | symbol, Type> extends never ? true : false : false;
|
|
76
76
|
/**
|
|
77
77
|
* Returns all keys of an object, that are literal, as an union
|
|
78
78
|
*
|
|
@@ -83,9 +83,9 @@ declare type IsLiteral<T> = T extends string | number | boolean | symbol ? Extra
|
|
|
83
83
|
* ```
|
|
84
84
|
* @see [Literal types]{@link https://www.typescriptlang.org/docs/handbook/literal-types.html}
|
|
85
85
|
*/
|
|
86
|
-
declare type LiteralKeys<
|
|
87
|
-
[Key in keyof
|
|
88
|
-
}[keyof
|
|
86
|
+
declare type LiteralKeys<Type> = NonNullable<{
|
|
87
|
+
[Key in keyof Type]: IsLiteral<Key> extends true ? Key : never;
|
|
88
|
+
}[keyof Type]>;
|
|
89
89
|
/**
|
|
90
90
|
* Returns all keys of an object, that are not literal, as an union
|
|
91
91
|
*
|
|
@@ -96,9 +96,9 @@ declare type LiteralKeys<T> = NonNullable<{
|
|
|
96
96
|
* ```
|
|
97
97
|
* @see [Literal types]{@link https://www.typescriptlang.org/docs/handbook/literal-types.html}
|
|
98
98
|
*/
|
|
99
|
-
declare type NonLiteralKeys<
|
|
100
|
-
[Key in keyof
|
|
101
|
-
}[keyof
|
|
99
|
+
declare type NonLiteralKeys<Type> = NonNullable<{
|
|
100
|
+
[Key in keyof Type]: IsLiteral<Key> extends false ? Key : never;
|
|
101
|
+
}[keyof Type]>;
|
|
102
102
|
/**
|
|
103
103
|
* A set difference of two objects based on their keys
|
|
104
104
|
*
|
|
@@ -113,16 +113,16 @@ declare type NonLiteralKeys<T> = NonNullable<{
|
|
|
113
113
|
* ```
|
|
114
114
|
* @see {@link setDiff} for the main use-case
|
|
115
115
|
*/
|
|
116
|
-
export declare type Diff<
|
|
116
|
+
export declare type Diff<First, Second> = Omit<First, LiteralKeys<Second>> & Partial<Pick<First, Extract<keyof First, NonLiteralKeys<Second>>>>;
|
|
117
117
|
/**
|
|
118
118
|
* Makes every specified property of the specified object type mutable.
|
|
119
119
|
*
|
|
120
|
-
* @template
|
|
120
|
+
* @template Type - The object whose readonly properties to make mutable.
|
|
121
121
|
* @template TargetKey - The property key(s) to make mutable.
|
|
122
122
|
*/
|
|
123
|
-
export declare type Mutable<
|
|
124
|
-
-readonly [Key in keyof Pick<
|
|
123
|
+
export declare type Mutable<Type extends Record<string, unknown>, TargetKey extends string> = {
|
|
124
|
+
-readonly [Key in keyof Pick<Type, TargetKey>]: Type[Key];
|
|
125
125
|
} & {
|
|
126
|
-
[Key in keyof Omit<
|
|
126
|
+
[Key in keyof Omit<Type, TargetKey>]: Type[Key];
|
|
127
127
|
};
|
|
128
128
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/snaps-controllers",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0-flask.1",
|
|
4
4
|
"description": "Controllers for MetaMask Snaps.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
"@metamask/object-multiplex": "^1.2.0",
|
|
48
48
|
"@metamask/permission-controller": "^4.0.0",
|
|
49
49
|
"@metamask/post-message-stream": "^6.1.2",
|
|
50
|
-
"@metamask/rpc-methods": "^0.
|
|
51
|
-
"@metamask/snaps-execution-environments": "^0.
|
|
50
|
+
"@metamask/rpc-methods": "^0.37.0-flask.1",
|
|
51
|
+
"@metamask/snaps-execution-environments": "^0.37.0-flask.1",
|
|
52
52
|
"@metamask/snaps-registry": "^1.2.1",
|
|
53
|
-
"@metamask/snaps-utils": "^0.
|
|
53
|
+
"@metamask/snaps-utils": "^0.37.0-flask.1",
|
|
54
54
|
"@metamask/utils": "^6.0.1",
|
|
55
55
|
"@xstate/fsm": "^2.0.0",
|
|
56
56
|
"concat-stream": "^2.0.0",
|
|
@@ -70,10 +70,10 @@
|
|
|
70
70
|
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
|
|
71
71
|
"@lavamoat/allow-scripts": "^2.3.1",
|
|
72
72
|
"@metamask/auto-changelog": "^3.1.0",
|
|
73
|
-
"@metamask/eslint-config": "^
|
|
74
|
-
"@metamask/eslint-config-jest": "^
|
|
75
|
-
"@metamask/eslint-config-nodejs": "^
|
|
76
|
-
"@metamask/eslint-config-typescript": "^
|
|
73
|
+
"@metamask/eslint-config": "^12.1.0",
|
|
74
|
+
"@metamask/eslint-config-jest": "^12.1.0",
|
|
75
|
+
"@metamask/eslint-config-nodejs": "^12.1.0",
|
|
76
|
+
"@metamask/eslint-config-typescript": "^12.1.0",
|
|
77
77
|
"@metamask/template-snap": "^0.7.0",
|
|
78
78
|
"@peculiar/webcrypto": "^1.3.3",
|
|
79
79
|
"@swc/cli": "^0.1.62",
|
|
@@ -103,8 +103,9 @@
|
|
|
103
103
|
"eslint-plugin-import": "^2.26.0",
|
|
104
104
|
"eslint-plugin-jest": "^27.1.5",
|
|
105
105
|
"eslint-plugin-jsdoc": "^39.6.2",
|
|
106
|
-
"eslint-plugin-
|
|
106
|
+
"eslint-plugin-n": "^15.7.0",
|
|
107
107
|
"eslint-plugin-prettier": "^4.2.1",
|
|
108
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
108
109
|
"expect-webdriverio": "^4.1.2",
|
|
109
110
|
"istanbul-lib-coverage": "^3.2.0",
|
|
110
111
|
"istanbul-lib-report": "^3.0.0",
|