-
Notifications
You must be signed in to change notification settings - Fork 5.5k
feat: preinstall EIP-7715 Gator Permissions snaps in Flask #36230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
✨ Files requiring CODEOWNER review ✨🫰 @MetaMask/core-platform (2 files, +16 -0)
🧩 @MetaMask/extension-devs (1 files, +2 -2)
📜 @MetaMask/policy-reviewers (1 files, +2 -2)
Tip Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers. 🔗 @MetaMask/supply-chain (1 files, +2 -2)
|
e56c792 to
44ba350
Compare
- set up a new build feature 'gator-permissions' - add 'gator-permissions' to flask build type - add preinstall artifacts to snap constants - add gator permissions snaps to preinstalled snaps constant
44ba350 to
1ac2b2d
Compare
| - APPLE_FLASK_CLIENT_ID | ||
| - GOOGLE_CLIENT_ID_REF: GOOGLE_FLASK_CLIENT_ID | ||
| - APPLE_CLIENT_ID_REF: APPLE_FLASK_CLIENT_ID | ||
| - GATOR_PERMISSIONS_ENABLED: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the environment variable needed? Ideally we can just use code fences.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I wasn't aware of the ability to use fences when we initially introduced the feature!
We are aiming to get this into the flask release cut tomorrow. I'd be happy if we can accept both the env var and the fence, and open a second PR to replace all checks on the env var to use the fence instead.
WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good to me!
…into feat/preinstall_gator_snaps
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning MetaMask internal reviewing guidelines:
Ignoring alerts on:
|
|
@SocketSecurity ignore @metamask/gator-permissions-snap@0.3.0 This is package that we produce and uses fetch for some API calls. |
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [cea9a62]
UI Startup Metrics (1193 ± 72 ms)
Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 218 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 941 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 30 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 30 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 6 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1671 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 248 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 15 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 35 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 105 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 32 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 46 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 6 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1946 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 293 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 55 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 8 exceeds gate value 2 for firefox webpack home p95 initialActions Sum of mean exceeds: 248ms | Sum of p95 exceeds: 463.8ms Sum of all benchmark exceeds: 711.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
…te permission tests on flask.
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [dda9782]
UI Startup Metrics (1207 ± 65 ms)
Benchmark value 26 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 228 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 15 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 31 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 30 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 237 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 10 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 34 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1654 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1406 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1406 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 113 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 35 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 49 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 6 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1381 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 301 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 57 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 9 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1632 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 379ms | Sum of p95 exceeds: 450.8ms Sum of all benchmark exceeds: 829.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
test/e2e/flask/multichain-api/evm/wallet_sessionChanged.spec.ts
Outdated
Show resolved
Hide resolved
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [4f42907]
UI Startup Metrics (1203 ± 70 ms)
Benchmark value 26 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 220 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 1422 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 37 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 30 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 15 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1669 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 227 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 119 exceeds gate value 70 for firefox browserify home p95 backgroundConnect Benchmark value 9 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 69 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1632 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 111 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 34 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 49 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 8 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 2011 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1671 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1671 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 295 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 62 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 11 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1652 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 306ms | Sum of p95 exceeds: 639.8ms Sum of all benchmark exceeds: 945.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
…Mask/metamask-extension into feat/preinstall_gator_snaps
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [f9f1a97]
UI Startup Metrics (1106 ± 71 ms)
Benchmark value 26 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 44 exceeds gate value 41 for chrome browserify home p95 domInteractive Benchmark value 216 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 35 exceeds gate value 33 for chrome browserify home p95 getState Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 15 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 30 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 245 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 79 exceeds gate value 70 for firefox browserify home p95 backgroundConnect Benchmark value 9 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 39 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 104 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 29 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 47 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 3 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 298 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 58 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 5 exceeds gate value 2 for firefox webpack home p95 initialActions Sum of mean exceeds: 222ms | Sum of p95 exceeds: 453.8ms Sum of all benchmark exceeds: 675.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Results generated automatically by MetaMask CI |
Builds ready [02859e4]
UI Startup Metrics (1236 ± 49 ms)
Benchmark value 254 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 26 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 42 exceeds gate value 41 for chrome browserify home p95 domInteractive Benchmark value 266 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 15 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 33 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 216 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 80 exceeds gate value 70 for firefox browserify home p95 backgroundConnect Benchmark value 13 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 44 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 110 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 47 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 309 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 55 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 5 exceeds gate value 2 for firefox webpack home p95 initialActions Sum of mean exceeds: 301ms | Sum of p95 exceeds: 489.8ms Sum of all benchmark exceeds: 790.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Description
This PR adds
@metamask/gator-permissions-snapsand@metamask/permissions-kernel-snapas preinstalled snaps in flask.It also enables the Gator Permissions feature with
GATOR_PERMISSIONS_SNAPenv variable, and adds thegator-permissionsbuild feature.Changelog
CHANGELOG entry: Adds EIP-7715 Readable Permissions to MetaMask flask, allowing dapps to call
wallet_requestExecutionPermissionsRelated issues
Manual testing steps
Call
wallet_requestExecutionPermissionswith appropriate args, or use the Delegation Toolkit's experimental action to request a permission. This will allow the user to modify and / or approve the permission, but signing will fail until #36054 is merged.Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist