[FLASK] `snaps-skunkworks@0.22.0` (#16069)

* snaps-skunkworks@0.22.0

* Update LavaMoat policies

* Bump execution environment and fix a breaking change

* Fix caveat and permissions

* Fix test

* Exclude keyring endowment for now

* Fix test

* Fix snap_confirm missing title
feature/default_network_editable
Frederik Bolding 2 years ago committed by seaona
parent 742fc1a1c6
commit 305574703d
  1. 7
      app/scripts/controllers/permissions/flask/snap-permissions.js
  2. 2
      app/scripts/controllers/permissions/specifications.js
  3. 5
      app/scripts/controllers/permissions/specifications.test.js
  4. 4
      app/scripts/metamask-controller.js
  5. 28
      lavamoat/browserify/beta/policy.json
  6. 52
      lavamoat/browserify/flask/policy.json
  7. 28
      lavamoat/browserify/main/policy.json
  8. 6
      package.json
  9. 5
      shared/constants/permissions.test.js
  10. 3
      shared/constants/permissions.ts
  11. 4
      ui/pages/confirmation/templates/flask/snap-confirm/snap-confirm.js
  12. 87
      yarn.lock

@ -3,7 +3,10 @@ import {
restrictedMethodPermissionBuilders,
selectHooks,
} from '@metamask/rpc-methods';
import { ExcludedSnapPermissions } from '../../../../../shared/constants/permissions';
import {
ExcludedSnapEndowments,
ExcludedSnapPermissions,
} from '../../../../../shared/constants/permissions';
/**
* @returns {Record<string, Record<string, unknown>>} All endowment permission
@ -12,7 +15,9 @@ import { ExcludedSnapPermissions } from '../../../../../shared/constants/permiss
export const buildSnapEndowmentSpecifications = () =>
Object.values(endowmentPermissionBuilders).reduce(
(allSpecifications, { targetKey, specificationBuilder }) => {
if (!ExcludedSnapEndowments.has(targetKey)) {
allSpecifications[targetKey] = specificationBuilder();
}
return allSpecifications;
},
{},

@ -1,5 +1,6 @@
import { constructPermission, PermissionType } from '@metamask/controllers';
///: BEGIN:ONLY_INCLUDE_IN(flask)
import { endowmentCaveatSpecifications as snapsEndowmentCaveatSpecifications } from '@metamask/snap-controllers';
import { caveatSpecifications as snapsCaveatsSpecifications } from '@metamask/rpc-methods';
///: END:ONLY_INCLUDE_IN
import {
@ -69,6 +70,7 @@ export const getCaveatSpecifications = ({ getIdentities }) => {
///: BEGIN:ONLY_INCLUDE_IN(flask)
...snapsCaveatsSpecifications,
...snapsEndowmentCaveatSpecifications,
///: END:ONLY_INCLUDE_IN
};
};

@ -16,7 +16,7 @@ describe('PermissionController specifications', () => {
describe('caveat specifications', () => {
it('getCaveatSpecifications returns the expected specifications object', () => {
const caveatSpecifications = getCaveatSpecifications({});
expect(Object.keys(caveatSpecifications)).toHaveLength(3);
expect(Object.keys(caveatSpecifications)).toHaveLength(4);
expect(
caveatSpecifications[CaveatTypes.restrictReturnedAccounts].type,
).toStrictEqual(CaveatTypes.restrictReturnedAccounts);
@ -27,6 +27,9 @@ describe('PermissionController specifications', () => {
expect(caveatSpecifications.permittedCoinTypes.type).toStrictEqual(
SnapCaveatType.PermittedCoinTypes,
);
expect(caveatSpecifications.snapKeyring.type).toStrictEqual(
SnapCaveatType.SnapKeyring,
);
});
describe('restrictReturnedAccounts', () => {

@ -654,7 +654,7 @@ export default class MetamaskController extends EventEmitter {
///: BEGIN:ONLY_INCLUDE_IN(flask)
this.snapExecutionService = new IframeExecutionService({
iframeUrl: new URL(
'https://metamask.github.io/iframe-execution-environment/0.8.0',
'https://metamask.github.io/iframe-execution-environment/0.9.0',
),
messenger: this.controllerMessenger.getRestricted({
name: 'ExecutionService',
@ -3744,7 +3744,7 @@ export default class MetamaskController extends EventEmitter {
),
getSnaps: this.controllerMessenger.call.bind(
this.controllerMessenger,
'SnapController:getSnaps',
'SnapController:getPermittedSnaps',
origin,
),
requestPermissions: async (requestedPermissions) => {

@ -682,11 +682,11 @@
"3box>ipfs>ipfs-unixfs-importer>async-iterator-batch": true,
"3box>ipfs>ipfs-unixfs-importer>async-iterator-first": true,
"3box>ipfs>ipfs-unixfs-importer>rabin-wasm": true,
"3box>ipfs>ipfs-unixfs-importer>superstruct": true,
"3box>ipfs>ipld-dag-pb": true,
"3box>ipfs>ipld-raw>multihashing-async": true,
"3box>ipfs>multicodec": true,
"3box>ipfs>multihashes": true,
"3box>ipfs>superstruct": true,
"browserify>buffer": true,
"madge>rc>deep-extend": true
}
@ -841,11 +841,11 @@
"3box>ipfs>libp2p>libp2p-floodsub": true,
"3box>ipfs>libp2p>libp2p-ping": true,
"3box>ipfs>libp2p>libp2p-switch": true,
"3box>ipfs>libp2p>superstruct": true,
"3box>ipfs>multiaddr": true,
"3box>ipfs>peer-book": true,
"3box>ipfs>peer-id": true,
"3box>ipfs>peer-info": true,
"3box>ipfs>superstruct": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true,
"browserify>process": true,
@ -3091,20 +3091,13 @@
"setTimeout": true
},
"packages": {
"@metamask/eth-json-rpc-infura>@metamask/utils": true,
"@metamask/eth-json-rpc-infura>eth-json-rpc-middleware": true,
"eth-block-tracker>@metamask/utils": true,
"eth-rpc-errors": true,
"json-rpc-engine": true,
"node-fetch": true
}
},
"@metamask/eth-json-rpc-infura>@metamask/utils": {
"packages": {
"@metamask/eth-json-rpc-infura>@metamask/utils>superstruct": true,
"eslint>fast-deep-equal": true,
"nock>debug": true
}
},
"@metamask/eth-json-rpc-infura>eth-json-rpc-middleware": {
"globals": {
"URL": true,
@ -4539,9 +4532,13 @@
}
},
"eth-block-tracker>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/snap-utils>superstruct": true,
"eslint>fast-deep-equal": true,
"eth-block-tracker>@metamask/utils>superstruct": true,
"nock>debug": true
}
},
@ -4598,7 +4595,7 @@
},
"packages": {
"browserify>browser-resolve": true,
"eth-json-rpc-middleware>@metamask/utils": true,
"eth-block-tracker>@metamask/utils": true,
"eth-json-rpc-middleware>eth-sig-util": true,
"eth-json-rpc-middleware>pify": true,
"eth-rpc-errors": true,
@ -4608,13 +4605,6 @@
"vinyl>clone": true
}
},
"eth-json-rpc-middleware>@metamask/utils": {
"packages": {
"eslint>fast-deep-equal": true,
"eth-json-rpc-middleware>@metamask/utils>superstruct": true,
"nock>debug": true
}
},
"eth-json-rpc-middleware>eth-sig-util": {
"packages": {
"eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": true,

@ -682,11 +682,11 @@
"3box>ipfs>ipfs-unixfs-importer>async-iterator-batch": true,
"3box>ipfs>ipfs-unixfs-importer>async-iterator-first": true,
"3box>ipfs>ipfs-unixfs-importer>rabin-wasm": true,
"3box>ipfs>ipfs-unixfs-importer>superstruct": true,
"3box>ipfs>ipld-dag-pb": true,
"3box>ipfs>ipld-raw>multihashing-async": true,
"3box>ipfs>multicodec": true,
"3box>ipfs>multihashes": true,
"3box>ipfs>superstruct": true,
"browserify>buffer": true,
"madge>rc>deep-extend": true
}
@ -841,11 +841,11 @@
"3box>ipfs>libp2p>libp2p-floodsub": true,
"3box>ipfs>libp2p>libp2p-ping": true,
"3box>ipfs>libp2p>libp2p-switch": true,
"3box>ipfs>libp2p>superstruct": true,
"3box>ipfs>multiaddr": true,
"3box>ipfs>peer-book": true,
"3box>ipfs>peer-id": true,
"3box>ipfs>peer-info": true,
"3box>ipfs>superstruct": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true,
"browserify>process": true,
@ -3252,20 +3252,13 @@
"setTimeout": true
},
"packages": {
"@metamask/eth-json-rpc-infura>@metamask/utils": true,
"@metamask/eth-json-rpc-infura>eth-json-rpc-middleware": true,
"eth-block-tracker>@metamask/utils": true,
"eth-rpc-errors": true,
"json-rpc-engine": true,
"node-fetch": true
}
},
"@metamask/eth-json-rpc-infura>@metamask/utils": {
"packages": {
"@metamask/eth-json-rpc-infura>@metamask/utils>superstruct": true,
"eslint>fast-deep-equal": true,
"nock>debug": true
}
},
"@metamask/eth-json-rpc-infura>eth-json-rpc-middleware": {
"globals": {
"URL": true,
@ -3575,11 +3568,15 @@
}
},
"@metamask/rpc-methods": {
"globals": {
"console.warn": true
},
"packages": {
"@metamask/rpc-methods>@metamask/controllers": true,
"@metamask/rpc-methods>@metamask/key-tree": true,
"@metamask/snap-utils": true,
"@metamask/snap-utils>@metamask/utils": true,
"@metamask/snap-utils>superstruct": true,
"eth-block-tracker>@metamask/utils": true,
"eth-rpc-errors": true
}
},
@ -3892,7 +3889,7 @@
"@metamask/snap-controllers>readable-web-to-node-stream": true,
"@metamask/snap-controllers>tar-stream": true,
"@metamask/snap-utils": true,
"@metamask/snap-utils>@metamask/utils": true,
"eth-block-tracker>@metamask/utils": true,
"eth-rpc-errors": true,
"json-rpc-engine": true,
"pump": true
@ -4057,8 +4054,13 @@
"removeEventListener": true
},
"packages": {
"@metamask/snap-controllers>@metamask/post-message-stream>readable-stream": true,
"@metamask/snap-utils>@metamask/utils": true
"@metamask/snap-controllers>@metamask/post-message-stream>@metamask/utils": true,
"@metamask/snap-controllers>@metamask/post-message-stream>readable-stream": true
}
},
"@metamask/snap-controllers>@metamask/post-message-stream>@metamask/utils": {
"packages": {
"eslint>fast-deep-equal": true
}
},
"@metamask/snap-controllers>@metamask/post-message-stream>readable-stream": {
@ -4282,20 +4284,17 @@
"@babel/core>@babel/types": true,
"@metamask/snap-utils>ajv": true,
"@metamask/snap-utils>rfdc": true,
"@metamask/snap-utils>superstruct": true,
"browserify": true,
"browserify>buffer": true,
"browserify>crypto-browserify": true,
"browserify>events": true,
"browserify>path-browserify": true,
"eslint>fast-deep-equal": true,
"eth-block-tracker>@metamask/utils": true,
"semver": true
}
},
"@metamask/snap-utils>@metamask/utils": {
"packages": {
"eslint>fast-deep-equal": true
}
},
"@metamask/snap-utils>rfdc": {
"packages": {
"browserify>buffer": true
@ -5351,9 +5350,13 @@
}
},
"eth-block-tracker>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/snap-utils>superstruct": true,
"eslint>fast-deep-equal": true,
"eth-block-tracker>@metamask/utils>superstruct": true,
"nock>debug": true
}
},
@ -5410,7 +5413,7 @@
},
"packages": {
"browserify>browser-resolve": true,
"eth-json-rpc-middleware>@metamask/utils": true,
"eth-block-tracker>@metamask/utils": true,
"eth-json-rpc-middleware>eth-sig-util": true,
"eth-json-rpc-middleware>pify": true,
"eth-rpc-errors": true,
@ -5420,13 +5423,6 @@
"vinyl>clone": true
}
},
"eth-json-rpc-middleware>@metamask/utils": {
"packages": {
"eslint>fast-deep-equal": true,
"eth-json-rpc-middleware>@metamask/utils>superstruct": true,
"nock>debug": true
}
},
"eth-json-rpc-middleware>eth-sig-util": {
"packages": {
"eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": true,

@ -682,11 +682,11 @@
"3box>ipfs>ipfs-unixfs-importer>async-iterator-batch": true,
"3box>ipfs>ipfs-unixfs-importer>async-iterator-first": true,
"3box>ipfs>ipfs-unixfs-importer>rabin-wasm": true,
"3box>ipfs>ipfs-unixfs-importer>superstruct": true,
"3box>ipfs>ipld-dag-pb": true,
"3box>ipfs>ipld-raw>multihashing-async": true,
"3box>ipfs>multicodec": true,
"3box>ipfs>multihashes": true,
"3box>ipfs>superstruct": true,
"browserify>buffer": true,
"madge>rc>deep-extend": true
}
@ -841,11 +841,11 @@
"3box>ipfs>libp2p>libp2p-floodsub": true,
"3box>ipfs>libp2p>libp2p-ping": true,
"3box>ipfs>libp2p>libp2p-switch": true,
"3box>ipfs>libp2p>superstruct": true,
"3box>ipfs>multiaddr": true,
"3box>ipfs>peer-book": true,
"3box>ipfs>peer-id": true,
"3box>ipfs>peer-info": true,
"3box>ipfs>superstruct": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true,
"browserify>process": true,
@ -3091,20 +3091,13 @@
"setTimeout": true
},
"packages": {
"@metamask/eth-json-rpc-infura>@metamask/utils": true,
"@metamask/eth-json-rpc-infura>eth-json-rpc-middleware": true,
"eth-block-tracker>@metamask/utils": true,
"eth-rpc-errors": true,
"json-rpc-engine": true,
"node-fetch": true
}
},
"@metamask/eth-json-rpc-infura>@metamask/utils": {
"packages": {
"@metamask/eth-json-rpc-infura>@metamask/utils>superstruct": true,
"eslint>fast-deep-equal": true,
"nock>debug": true
}
},
"@metamask/eth-json-rpc-infura>eth-json-rpc-middleware": {
"globals": {
"URL": true,
@ -4539,9 +4532,13 @@
}
},
"eth-block-tracker>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/snap-utils>superstruct": true,
"eslint>fast-deep-equal": true,
"eth-block-tracker>@metamask/utils>superstruct": true,
"nock>debug": true
}
},
@ -4598,7 +4595,7 @@
},
"packages": {
"browserify>browser-resolve": true,
"eth-json-rpc-middleware>@metamask/utils": true,
"eth-block-tracker>@metamask/utils": true,
"eth-json-rpc-middleware>eth-sig-util": true,
"eth-json-rpc-middleware>pify": true,
"eth-rpc-errors": true,
@ -4608,13 +4605,6 @@
"vinyl>clone": true
}
},
"eth-json-rpc-middleware>@metamask/utils": {
"packages": {
"eslint>fast-deep-equal": true,
"eth-json-rpc-middleware>@metamask/utils>superstruct": true,
"nock>debug": true
}
},
"eth-json-rpc-middleware>eth-sig-util": {
"packages": {
"eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": true,

@ -134,11 +134,11 @@
"@metamask/obs-store": "^5.0.0",
"@metamask/post-message-stream": "^4.0.0",
"@metamask/providers": "^9.0.0",
"@metamask/rpc-methods": "^0.21.0",
"@metamask/rpc-methods": "^0.22.0",
"@metamask/slip44": "^2.1.0",
"@metamask/snap-controllers": "^0.21.0",
"@metamask/snap-utils": "^0.21.0",
"@metamask/smart-transactions-controller": "^2.3.2",
"@metamask/snap-controllers": "^0.22.0",
"@metamask/snap-utils": "^0.22.0",
"@ngraveio/bc-ur": "^1.1.6",
"@popperjs/core": "^2.4.0",
"@reduxjs/toolkit": "^1.6.2",

@ -2,6 +2,7 @@ import { endowmentPermissionBuilders } from '@metamask/snap-controllers';
import { restrictedMethodPermissionBuilders } from '@metamask/rpc-methods';
import {
EndowmentPermissions,
ExcludedSnapEndowments,
ExcludedSnapPermissions,
RestrictedMethods,
} from './permissions';
@ -9,7 +10,9 @@ import {
describe('EndowmentPermissions', () => {
it('has the expected permission keys', () => {
expect(Object.keys(EndowmentPermissions).sort()).toStrictEqual(
Object.keys(endowmentPermissionBuilders).sort(),
Object.keys(endowmentPermissionBuilders)
.filter((targetKey) => !ExcludedSnapEndowments.has(targetKey))
.sort(),
);
});
});

@ -27,5 +27,6 @@ export const EndowmentPermissions = Object.freeze({
} as const);
// Methods / permissions in external packages that we are temporarily excluding.
export const ExcludedSnapPermissions = new Set([]);
export const ExcludedSnapPermissions = new Set(['snap_dialog']);
export const ExcludedSnapEndowments = new Set(['endowment:keyring']);
///: END:ONLY_INCLUDE_IN

@ -5,14 +5,14 @@ import {
import ZENDESK_URLS from '../../../../../helpers/constants/zendesk-url';
function getValues(pendingApproval, t, actions) {
const { prompt, description, textAreaContent } = pendingApproval.requestData;
const { title, description, textAreaContent } = pendingApproval.requestData;
return {
content: [
{
element: 'Typography',
key: 'title',
children: prompt,
children: title,
props: {
variant: TYPOGRAPHY.H3,
align: 'center',

@ -3317,17 +3317,17 @@
resolved "https://registry.yarnpkg.com/@metamask/etherscan-link/-/etherscan-link-2.2.0.tgz#76314d0c1405a0669fc4a0a19e0877bd3d0c389f"
integrity sha512-xUgehvgU+ZbzeJ44m4sUtsyf6Dwou+SlYhiKfi6lkRcbWh6Jl3TCi0YM9C7XWgxfnLSdQBO1ndvcp0kslKgMsA==
"@metamask/execution-environments@^0.21.0":
version "0.21.0"
resolved "https://registry.yarnpkg.com/@metamask/execution-environments/-/execution-environments-0.21.0.tgz#40d5c63215fb98a43f9d7b3b31c371dbed93adba"
integrity sha512-KnQ07SRcht/jpHa4KLHftI034GPZXzz2I1RsWk/0OMxQ3ECGJwDroH92pXNRy0+HTdz31XWhMzdc1GW5rR2CzA==
"@metamask/execution-environments@^0.22.0":
version "0.22.0"
resolved "https://registry.yarnpkg.com/@metamask/execution-environments/-/execution-environments-0.22.0.tgz#2dd67add467e64fc6e992cb36461f20959ed87fd"
integrity sha512-mb5O3HX5Nrt0urAPWohiyB9w465Qk12tF1hXz+vjwFZe4LAbTHza7XsbvTzAy1XD99JjhtLMi+IwaHp8GELcDg==
dependencies:
"@metamask/object-multiplex" "^1.2.0"
"@metamask/post-message-stream" "^6.0.0"
"@metamask/providers" "^9.0.0"
"@metamask/snap-types" "^0.21.0"
"@metamask/snap-utils" "^0.21.0"
"@metamask/utils" "^2.0.0"
"@metamask/snap-types" "^0.22.0"
"@metamask/snap-utils" "^0.22.0"
"@metamask/utils" "^3.1.0"
eth-rpc-errors "^4.0.3"
pump "^3.0.0"
ses "^0.15.15"
@ -3449,17 +3449,18 @@
pump "^3.0.0"
webextension-polyfill-ts "^0.25.0"
"@metamask/rpc-methods@^0.21.0":
version "0.21.0"
resolved "https://registry.yarnpkg.com/@metamask/rpc-methods/-/rpc-methods-0.21.0.tgz#7d00029aeaa606d5780fb2e7c01069e714822ae4"
integrity sha512-CXYBzIf6hYH8bkqkvGqFHFmsVdjYGznkgw96NpGosQS4vns07wrvBluA45WehAqgHDZHpom1ffQ8r11PksM86Q==
"@metamask/rpc-methods@^0.22.0":
version "0.22.0"
resolved "https://registry.yarnpkg.com/@metamask/rpc-methods/-/rpc-methods-0.22.0.tgz#17ee8db33deba5152d531123139fd3ea651e49ef"
integrity sha512-FCVbf68zgHHThG2OAOp9u7iBO1hjIMjo8S85bXsGtStUp9KjiGxnuQhyNK7b/Ny+WuHI+GP26abXRIyS2ampfA==
dependencies:
"@metamask/controllers" "^31.0.0"
"@metamask/key-tree" "^5.0.2"
"@metamask/snap-utils" "^0.21.0"
"@metamask/snap-utils" "^0.22.0"
"@metamask/types" "^1.1.0"
"@metamask/utils" "^2.1.0"
"@metamask/utils" "^3.1.0"
eth-rpc-errors "^4.0.2"
superstruct "^0.16.5"
"@metamask/safe-event-emitter@^2.0.0":
version "2.0.0"
@ -3486,19 +3487,20 @@
isomorphic-fetch "^3.0.0"
lodash "^4.17.21"
"@metamask/snap-controllers@^0.21.0":
version "0.21.0"
resolved "https://registry.yarnpkg.com/@metamask/snap-controllers/-/snap-controllers-0.21.0.tgz#5fdc2f350c8739b070f1bfdbc9c7ef7409af234d"
integrity sha512-WZyfB+mQMifB7a5tf5WEVrWnLdoSMG/sXL6YQnItC/96SUX//c9IW+iNB6ZZfiP5lJFwafN5hjOExWH3O/fwbw==
"@metamask/snap-controllers@^0.22.0":
version "0.22.0"
resolved "https://registry.yarnpkg.com/@metamask/snap-controllers/-/snap-controllers-0.22.0.tgz#bb1dfb7551cfca74b17addad2390ad80a6df8b7a"
integrity sha512-k7TgYyzZna54ns3o9GjnLiHJDT3xvkG4i+zSEJSMPzqAy5Su5p2yMiTe/awEwTVFBMsC9xtX9owc0lArkk8NZw==
dependencies:
"@metamask/browser-passworder" "^3.0.0"
"@metamask/controllers" "^31.0.0"
"@metamask/execution-environments" "^0.21.0"
"@metamask/execution-environments" "^0.22.0"
"@metamask/object-multiplex" "^1.1.0"
"@metamask/post-message-stream" "^6.0.0"
"@metamask/rpc-methods" "^0.21.0"
"@metamask/snap-utils" "^0.21.0"
"@metamask/utils" "^2.0.0"
"@metamask/rpc-methods" "^0.22.0"
"@metamask/snap-types" "^0.22.0"
"@metamask/snap-utils" "^0.22.0"
"@metamask/utils" "^3.1.0"
"@xstate/fsm" "^2.0.0"
concat-stream "^2.0.0"
eth-rpc-errors "^4.0.2"
@ -3511,29 +3513,30 @@
readable-web-to-node-stream "^3.0.2"
tar-stream "^2.2.0"
"@metamask/snap-types@^0.21.0":
version "0.21.0"
resolved "https://registry.yarnpkg.com/@metamask/snap-types/-/snap-types-0.21.0.tgz#51380240a97a6ef492dca9d5bcb2d7c6f6c8a023"
integrity sha512-wyamdpiZqVfrHjAysnplVQexEisH8b00XTv6F8kTyKd4pbRTBswmOOc1DhBbi2+7Fw2J5a7pdLb9+/MRMwnztg==
"@metamask/snap-types@^0.22.0":
version "0.22.0"
resolved "https://registry.yarnpkg.com/@metamask/snap-types/-/snap-types-0.22.0.tgz#4d74e34eea69a7afe0ad9a4d54be83cf5391bf9e"
integrity sha512-XwJNk+Qbtr7xjuh1Iz7wqybp+xB3H6uRJjlOqtgIoOui9V2zfL/At/FzHMMvaLeUsWJhOVSJP5qmEzCYaOEvmQ==
dependencies:
"@metamask/providers" "^9.0.0"
"@metamask/snap-utils" "^0.21.0"
"@metamask/snap-utils" "^0.22.0"
"@metamask/types" "^1.1.0"
"@metamask/snap-utils@^0.21.0":
version "0.21.0"
resolved "https://registry.yarnpkg.com/@metamask/snap-utils/-/snap-utils-0.21.0.tgz#7ed5df1d0c25f2660ce36dcc436f3608d72e92d5"
integrity sha512-bfGvCIZd1zfuRUFN68F0HrIHfsCmoh/j6/Sm5sj6v7mIGyERbgpu0mYEwKIRjuCtV5GkGimXU6H2Tof+ZWrLtQ==
"@metamask/snap-utils@^0.22.0":
version "0.22.0"
resolved "https://registry.yarnpkg.com/@metamask/snap-utils/-/snap-utils-0.22.0.tgz#1815eecfc8a388a4ae6744664ff28f58404730ee"
integrity sha512-mwe72I/sVMVogNU+gxUU1P2Kos4S/4lEX1MUz7Hr79jfYzTgwTfxz/gaMubjD6CF2q0ZvF5JQr6OBk6ZRLHhCw==
dependencies:
"@babel/core" "^7.18.6"
"@metamask/snap-types" "^0.21.0"
"@metamask/utils" "^2.0.0"
"@metamask/snap-types" "^0.22.0"
"@metamask/utils" "^3.1.0"
ajv "^8.11.0"
eth-rpc-errors "^4.0.3"
fast-deep-equal "^3.1.3"
rfdc "^1.3.0"
semver "^7.3.7"
ses "^0.15.17"
superstruct "^0.16.5"
"@metamask/test-dapp@^5.2.1":
version "5.2.1"
@ -3545,22 +3548,22 @@
resolved "https://registry.yarnpkg.com/@metamask/types/-/types-1.1.0.tgz#9bd14b33427932833c50c9187298804a18c2e025"
integrity sha512-EEV/GjlYkOSfSPnYXfOosxa3TqYtIW3fhg6jdw+cok/OhMgNn4wCfbENFqjytrHMU2f7ZKtBAvtiP5V8H44sSw==
"@metamask/utils@^2.0.0", "@metamask/utils@^2.1.0":
"@metamask/utils@^2.0.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-2.1.0.tgz#a65eaa0932b863383844ec323e05e293d8e718ab"
integrity sha512-4PHdo5B1ifpw6GbsdlDpp8oqA++rddSmt2pWBHtIGGL2tQMvmfHdaDDSns4JP9iC+AbMogVcUpv5Vt8ow1zsRA==
dependencies:
fast-deep-equal "^3.1.3"
"@metamask/utils@^3.0.1":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-3.0.1.tgz#53ed2b9cbbd12b18c1db6929728446633d6a74c4"
integrity sha512-FDWQ+MeeWQh0b/w2D50+oVPrRqUIvawDlPia+EH9NCOFN0Ty3KkzkQXfO6FgHKMyR4aWuS4SBOrhWFRW8km6lQ==
"@metamask/utils@^3.0.1", "@metamask/utils@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-3.1.0.tgz#ecfabe08e807bfcfb9ed1d7e727779a9382bee2c"
integrity sha512-zBGKgaqdKO9z2CoBSDzeE5KJUr5pM72YsumyUiklSyqMg/xL9vu7Z+E/pkRtwPmyi2YWXvq1rWfjugTt2+38nA==
dependencies:
"@types/debug" "^4.1.7"
debug "^4.3.4"
fast-deep-equal "^3.1.3"
superstruct "^0.16.0"
superstruct "^0.16.5"
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
@ -26723,10 +26726,10 @@ superagent@^7.1.3:
readable-stream "^3.6.0"
semver "^7.3.7"
superstruct@^0.16.0:
version "0.16.0"
resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.16.0.tgz#9af5e059acd08e774789ad8880962427ef68dace"
integrity sha512-IDQtwnnlaan1NhuHqyD/U11lROYvCQ79JyfwlFU9xEVHzqV/Ys/RrwmHPCG0CVH/1g0BuodEjH1msxK2UHxehA==
superstruct@^0.16.5:
version "0.16.5"
resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.16.5.tgz#7b7e1f1f8bf6ab141c660e501ac57026e42c09c0"
integrity sha512-GBa1VPdCUDAIrsoMVy2lzE/hKQnieUlc1JVoVzJ2YLx47SoPY4AqF85Ht1bPg5r+8I0v54GbaRdNTnYQ0p+T+Q==
superstruct@^0.6.0, superstruct@~0.6.0, superstruct@~0.6.1:
version "0.6.1"

Loading…
Cancel
Save