Skip to content

feat: added authenticated user storage#8260

Open
dovydas55 wants to merge 49 commits intomainfrom
MCA-83
Open

feat: added authenticated user storage#8260
dovydas55 wants to merge 49 commits intomainfrom
MCA-83

Conversation

@dovydas55
Copy link
Copy Markdown
Contributor

@dovydas55 dovydas55 commented Mar 20, 2026

Note

Medium Risk
Introduces new network-facing code that sends bearer tokens and persists user-related data via external APIs; while mostly additive, mistakes could impact auth/header handling and data validation behavior.

Overview
Adds a new package, @metamask/authenticated-user-storage, providing an AuthenticatedUserStorageService (built on BaseDataService) that calls Authenticated User Storage API endpoints to list/create/revoke delegations and get/put notification preferences, including bearer-token auth, optional X-Client-Type header support, runtime response validation, and cache invalidation.

Wires the package into the monorepo (TypeScript project references, yarn.lock, README package list/dependency graph) and updates ownership metadata (CODEOWNERS, teams.json), with accompanying Jest tests plus Nock fixtures/mocks and initial docs/changelog/license.

Reviewed by Cursor Bugbot for commit 2339810. Bugbot is set up for automated code reviews on this repo. Configure here.

@dovydas55 dovydas55 requested a review from a team as a code owner March 20, 2026 10:50
@dovydas55 dovydas55 requested a review from a team as a code owner March 20, 2026 10:54
@dovydas55 dovydas55 marked this pull request as draft March 20, 2026 15:50
@dovydas55 dovydas55 marked this pull request as ready for review March 24, 2026 11:56
/** Keccak-256 hash uniquely identifying the delegation (0x-prefixed). */
delegationHash: string;
/** Chain ID in hex format (0x-prefixed). */
chainIdHex: string;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

q - do we only support EVM?

Wondering if we can change the format to use CAIP-19 to support non-evm? That way we could remove chainId and tokenAddress and just have 1 field for assetId.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@V00D00-child what do you think? i believe cash accounts team already implemted they v1. However we could look into using CAIP-10

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

do we only support EVM

Yes, the Delegation Framework is only supported on EVM, so I think we should leave out using CAIP-19 for these types

@dovydas55 dovydas55 requested a review from a team as a code owner April 10, 2026 15:01
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4be6409. Configure here.

@dovydas55 dovydas55 requested a review from mcmire April 10, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants