Skip to content

Conversation

@georgewrmarshall
Copy link
Contributor

@georgewrmarshall georgewrmarshall commented Oct 24, 2025

Description

Improved the Infura project setup instructions to make it clearer for external contributors how to obtain and configure an Infura API key. The previous instructions referenced an outdated GitHub issue from 2018 and were buried deep in the Firebase setup section.

Changes made:

  1. Updated .js.env.example with concise, step-by-step Infura setup instructions
  2. Added dedicated Infura setup section to README.md positioned early in "Getting started"
  3. Simplified instructions to follow the format: go to developer.metamask.io → create account → generate API key → add to MM_INFURA_PROJECT_ID → rename file to .js.env

Changelog

CHANGELOG entry: null

Related issues

Fixes: N/A (proactive documentation improvement)

Manual testing steps

Feature: Infura setup documentation

  Scenario: external contributor follows setup instructions
    Given a new external contributor clones the repo
    When they read the Getting Started section in README.md
    And they follow the Infura setup instructions
    Then they should be able to successfully configure their Infura API key
    And rename .js.env.example to .js.env
    And build the app with blockchain connectivity

Screenshots/Recordings

Before

  • Infura setup was buried in Firebase section with outdated references
  • Instructions referenced 2018 GitHub issue
  • Unclear setup process for external contributors

After

  • Clear, concise instructions positioned early in Getting Started
  • Step-by-step process with correct developer.metamask.io URL
  • Separate instructions for internal vs external contributors

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.

Note

Adds a dedicated Infura setup section to README and updates .js.env.example with Infura guidance, removing outdated notes.

  • Documentation
    • README.md: Adds an “Infura Project Setup” section with steps for internal and external contributors and a caution note about connectivity without an Infura project ID.
  • Configuration
    • .js.env.example: Replaces outdated guidance with concise Infura setup instructions; sets MM_INFURA_PROJECT_ID="null"; documents MM_FOX_CODE purpose; retains existing env variables.
    • Removes obsolete PubNub-related variables/instructions.

Written by Cursor Bugbot for commit 6dad9a6. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Contributor

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.

@metamaskbot metamaskbot added the team-design-system All issues relating to design system in Mobile label Oct 24, 2025
@georgewrmarshall georgewrmarshall self-assigned this Oct 24, 2025
@georgewrmarshall georgewrmarshall added No QA Needed Apply this label when your PR does not need any QA effort. No E2E Smoke Needed no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed labels Oct 24, 2025
Comment on lines -1 to -12
# Sign up and generate your own keys at pubnub.com
# Then rename this file to ".js.env" and rebuild the app
#
# In order for this feature to work properly, you need to
# build metamask-extension from source (https://github.com/MetaMask/metamask-extension)
# and set your the same values there.
#
# For more info take a look at https://github.com/MetaMask/metamask-extension/pull/5955

export MM_PUBNUB_SUB_KEY=""
export MM_PUBNUB_PUB_KEY=""
export MM_FOX_CODE="EXAMPLE_FOX_CODE"
Copy link
Contributor Author

@georgewrmarshall georgewrmarshall Oct 24, 2025

Choose a reason for hiding this comment

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

Removing out dated pubnub.com references and moving MM_FOX_CODE to a new section

env vars not used in the codebase

Image

[!CAUTION]

> Without an Infura project ID, the app cannot connect to blockchain networks.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Adding section about Infura setup

sethkfman
sethkfman previously approved these changes Oct 24, 2025
Copy link
Contributor

@sethkfman sethkfman left a comment

Choose a reason for hiding this comment

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

LGTM

.js.env.example Outdated
Comment on lines 7 to 14
# MetaMask Swaps Origin Code
# This identifier is used to distinguish MetaMask's internal swap transactions
# from external dApp transactions. Used for:
# - Transaction origin tracking in swaps
# - Internal permissions system
# - Smart transaction logic
# - Security: differentiates trusted internal vs external transactions
export MM_FOX_CODE="EXAMPLE_FOX_CODE"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@MetaMask/swaps-engineers can you review this does it make sense?

@sonarqubecloud
Copy link

Copy link
Contributor

@sethkfman sethkfman left a comment

Choose a reason for hiding this comment

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

LGTM

@georgewrmarshall georgewrmarshall added this pull request to the merge queue Oct 28, 2025
Merged via the queue into main with commit 13eee94 Oct 28, 2025
68 checks passed
@georgewrmarshall georgewrmarshall deleted the update-js-env branch October 28, 2025 23:41
@github-actions github-actions bot locked and limited conversation to collaborators Oct 28, 2025
@metamaskbot metamaskbot added the release-7.59.0 Issue or pull request that will be included in release 7.59.0 label Oct 28, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

No QA Needed Apply this label when your PR does not need any QA effort. no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-7.59.0 Issue or pull request that will be included in release 7.59.0 size-S team-design-system All issues relating to design system in Mobile

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants