Skip to content

Conversation

tuna1207
Copy link
Member

@tuna1207 tuna1207 commented Sep 13, 2025

Description

  • Set up subscription controller, expose api from metamask controller
  • Integrate price fetching, crypto balances in shield plan screen
  • Currently only enable card payment

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

  1. Go to this page #shield-plan page
  2. check if available token and card payment options are loaded correctly
  3. can use card payment successfully

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

@tuna1207 tuna1207 added the team-web3auth Web3Auth team label Sep 13, 2025
@tuna1207 tuna1207 requested review from a team and chaitanyapotti September 13, 2025 08:14
@metamaskbot metamaskbot requested a review from a team as a code owner September 17, 2025 00:26
@metamaskbot
Copy link
Collaborator

metamaskbot commented Sep 17, 2025

✨ Files requiring CODEOWNER review ✨

🧩 @MetaMask/extension-devs (4 files, +36 -0)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +9 -0
      • 📁 experimental/
        • 📄 policy.json +9 -0
      • 📁 flask/
        • 📄 policy.json +9 -0
      • 📁 main/
        • 📄 policy.json +9 -0

📜 @MetaMask/policy-reviewers (4 files, +36 -0)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +9 -0
      • 📁 experimental/
        • 📄 policy.json +9 -0
      • 📁 flask/
        • 📄 policy.json +9 -0
      • 📁 main/
        • 📄 policy.json +9 -0

Tip

Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers.


🔗 @MetaMask/supply-chain (4 files, +36 -0)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +9 -0
      • 📁 experimental/
        • 📄 policy.json +9 -0
      • 📁 flask/
        • 📄 policy.json +9 -0
      • 📁 main/
        • 📄 policy.json +9 -0

cursor[bot]

This comment was marked as outdated.

"@metamask/snaps-utils>validate-npm-package-name": true
}
},
"@metamask/subscription-controller": {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This package, @metamask/subscription-controller is new controller being used for subscription feature

cc: @MetaMask/policy-reviewers

"@metamask/snaps-utils>validate-npm-package-name": true
}
},
"@metamask/subscription-controller": {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This package, @metamask/subscription-controller is new controller being used for subscription feature

cc: @MetaMask/policy-reviewers

"@metamask/snaps-utils>validate-npm-package-name": true
}
},
"@metamask/subscription-controller": {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This package, @metamask/subscription-controller is new controller being used for subscription feature

cc: @MetaMask/policy-reviewers

"@metamask/snaps-utils>validate-npm-package-name": true
}
},
"@metamask/subscription-controller": {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This package, @metamask/subscription-controller is new controller being used for subscription feature

cc: @MetaMask/policy-reviewers

@tuna1207
Copy link
Member Author

@metamaskbot update-policies

@metamaskbot
Copy link
Collaborator

Policies updated.
👀 Please review the diff for suspicious new powers.

🧠 Learn how: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 4f2d9c8 | Date: 9/17/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±70ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 737ms (±68ms) 🟢 | historical mean value: 738ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 70ms 1.01s 1.32s 1.28s 1.32s
domContentLoaded 737ms 68ms 695ms 1.01s 947ms 1.01s
firstPaint 75ms 11ms 60ms 172ms 84ms 172ms
firstContentfulPaint 75ms 11ms 60ms 172ms 84ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [4f2d9c8]
UI Startup Metrics (1208 ± 55 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1208111214315512411293
load104492612354910711135
domContentLoaded103491712265010621126
domInteractive17143951633
firstPaint653112123141010431086
backgroundConnect24923340117250262
firstReactRender25178892637
getState1553672031
initialActions50839512
loadScripts79467698448822877
setupStore1062541117
WebpackHomeuiStartup110491214579811601270
load9167461134879841046
domContentLoaded9117431119879791035
domInteractive161279101441
firstPaint1546052467176282
backgroundConnect17105191639
firstReactRender36328063542
getState74425713
initialActions723851014
loadScripts9087411109869751025
setupStore96182913
FirefoxBrowserifyHomeuiStartup13881189178311414461601
load1200104014597912571355
domContentLoaded1200104014597912561355
domInteractive1073732350108215
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect41191763139123
firstReactRender27235652836
getState728512614
initialActions4165939
loadScripts1169102514397512211321
setupStore10511313826
WebpackHomeuiStartup16051403348324317051910
load13651186173913914901619
domContentLoaded13651185173813914891619
domInteractive109333567198306
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect31215473740
firstReactRender44356354753
getState731591569
initialActions511381539
loadScripts13421162171714014691600
setupStore2551617160913
Benchmark value 250 exceeds gate value 10 for chrome browserify home mean backgroundConnect
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 263 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 12 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 8 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 41 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 28 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 215 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 123 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 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 45 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 25 exceeds gate value 13 for firefox webpack home mean setupStore
Benchmark value 306 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 53 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 9 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 311ms | Sum of p95 exceeds: 502.8ms
Sum of all benchmark exceeds: 813.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 3.97 KiB (0.08%)
  • ui: 5.41 KiB (0.08%)
  • common: 14.76 KiB (0.2%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 49f15b7 | Date: 9/17/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±73ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 730ms (±70ms) 🟢 | historical mean value: 738ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±14ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 73ms 999ms 1.33s 1.28s 1.33s
domContentLoaded 730ms 70ms 690ms 1.00s 945ms 1.00s
firstPaint 75ms 14ms 56ms 192ms 84ms 192ms
firstContentfulPaint 75ms 14ms 56ms 192ms 84ms 192ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [49f15b7]
UI Startup Metrics (1196 ± 56 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1196109414505612291288
load103294612524710591117
domContentLoaded102494012244710501109
domInteractive17134561634
firstPaint70771112339410341079
backgroundConnect2482362766250260
firstReactRender25174962838
getState1466691833
initialActions50546613
loadScripts78370097647811867
setupStore1062941015
WebpackHomeuiStartup110891313589711621306
load9157491128879811071
domContentLoaded9097451124879771066
domInteractive16125281440
firstPaint1706643568195312
backgroundConnect191155102046
firstReactRender373310693747
getState841831014
initialActions722041014
loadScripts9067431122869731057
setupStore962421012
FirefoxBrowserifyHomeuiStartup14061249194511814381634
load1217109316338012691339
domContentLoaded1217109316328012681338
domInteractive1083634960110285
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3721122203792
firstReactRender28235152940
getState63578614
initialActions3116235
loadScripts1188103216138212391312
setupStore13525733914
WebpackHomeuiStartup15531352205114916401827
load13331160171013514291577
domContentLoaded13321159171013514291576
domInteractive105323566397283
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect31199793640
firstReactRender44367854651
getState6324369
initialActions411551536
loadScripts13101141168513414091554
setupStore95313915
Benchmark value 249 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 25 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 260 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 1407 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 28 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 14 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 285 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 92 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 5 exceeds gate value 2 for firefox browserify home p95 initialActions
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 44 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 283 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 51 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 6 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 290ms | Sum of p95 exceeds: 507.8ms
Sum of all benchmark exceeds: 797.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 3.97 KiB (0.08%)
  • ui: 5.41 KiB (0.08%)
  • common: 14.76 KiB (0.2%)

Copy link
Contributor

@naugtur naugtur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving policy change on behalf of @MetaMask/policy-reviewers

@github-project-automation github-project-automation bot moved this from Needs dev review to Review finalised - Ready to be merged in PR review queue Sep 17, 2025
@chaitanyapotti chaitanyapotti added this pull request to the merge queue Sep 17, 2025
Merged via the queue into main with commit 5735de7 Sep 17, 2025
145 of 146 checks passed
@chaitanyapotti chaitanyapotti deleted the feat/subscription-payment-options-integration branch September 17, 2025 07:29
@github-actions github-actions bot locked and limited conversation to collaborators Sep 17, 2025
@metamaskbot metamaskbot added the release-13.5.0 Issue or pull request that will be included in release 13.5.0 label Sep 17, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-shield release-13.5.0 Issue or pull request that will be included in release 13.5.0 size-XL team-web3auth Web3Auth team
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

6 participants