Skip to content

Add basic accounts-api package to fetch transactions#8395

Draft
mcmire wants to merge 1 commit intomainfrom
accounts-api
Draft

Add basic accounts-api package to fetch transactions#8395
mcmire wants to merge 1 commit intomainfrom
accounts-api

Conversation

@mcmire
Copy link
Copy Markdown
Contributor

@mcmire mcmire commented Apr 7, 2026

Explanation

This PR demonstrates what a data service class to hit the Accounts API would look like. It's designed to fetch the list of transactions in the extension. For more, see:
MetaMask/metamask-extension#41522

Please note this PR is only intended for demo purposes. For a living example of a data service, including tests, please see: https://github.com/MetaMask/core/blob/main/packages/sample-controllers/src/sample-gas-prices-service/sample-gas-prices-service.ts

References

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

@mcmire
Copy link
Copy Markdown
Contributor Author

mcmire commented Apr 7, 2026

@metamaskbot publish-previews

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.0.0-preview-0fc9da15f
@metamask-previews/accounts-api@0.0.0-preview-0fc9da15f
@metamask-previews/accounts-controller@37.2.0-preview-0fc9da15f
@metamask-previews/address-book-controller@7.1.1-preview-0fc9da15f
@metamask-previews/ai-controllers@0.6.3-preview-0fc9da15f
@metamask-previews/analytics-controller@1.0.1-preview-0fc9da15f
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-0fc9da15f
@metamask-previews/announcement-controller@8.1.0-preview-0fc9da15f
@metamask-previews/app-metadata-controller@2.0.1-preview-0fc9da15f
@metamask-previews/approval-controller@9.0.1-preview-0fc9da15f
@metamask-previews/assets-controller@4.0.0-preview-0fc9da15f
@metamask-previews/assets-controllers@103.1.1-preview-0fc9da15f
@metamask-previews/base-controller@9.0.1-preview-0fc9da15f
@metamask-previews/base-data-service@0.1.1-preview-0fc9da15f
@metamask-previews/bridge-controller@70.0.1-preview-0fc9da15f
@metamask-previews/bridge-status-controller@70.0.5-preview-0fc9da15f
@metamask-previews/build-utils@3.0.4-preview-0fc9da15f
@metamask-previews/chain-agnostic-permission@1.5.0-preview-0fc9da15f
@metamask-previews/claims-controller@0.5.0-preview-0fc9da15f
@metamask-previews/client-controller@1.0.1-preview-0fc9da15f
@metamask-previews/compliance-controller@2.0.0-preview-0fc9da15f
@metamask-previews/composable-controller@12.0.1-preview-0fc9da15f
@metamask-previews/config-registry-controller@0.2.0-preview-0fc9da15f
@metamask-previews/connectivity-controller@0.2.0-preview-0fc9da15f
@metamask-previews/controller-utils@11.20.0-preview-0fc9da15f
@metamask-previews/core-backend@6.2.1-preview-0fc9da15f
@metamask-previews/delegation-controller@2.1.0-preview-0fc9da15f
@metamask-previews/earn-controller@11.2.1-preview-0fc9da15f
@metamask-previews/eip-5792-middleware@3.0.3-preview-0fc9da15f
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.0-preview-0fc9da15f
@metamask-previews/eip1193-permission-middleware@1.0.3-preview-0fc9da15f
@metamask-previews/ens-controller@19.1.1-preview-0fc9da15f
@metamask-previews/eth-block-tracker@15.0.1-preview-0fc9da15f
@metamask-previews/eth-json-rpc-middleware@23.1.1-preview-0fc9da15f
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-0fc9da15f
@metamask-previews/foundryup@1.0.1-preview-0fc9da15f
@metamask-previews/gas-fee-controller@26.1.1-preview-0fc9da15f
@metamask-previews/gator-permissions-controller@3.0.1-preview-0fc9da15f
@metamask-previews/geolocation-controller@0.1.2-preview-0fc9da15f
@metamask-previews/json-rpc-engine@10.2.4-preview-0fc9da15f
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-0fc9da15f
@metamask-previews/keyring-controller@25.2.0-preview-0fc9da15f
@metamask-previews/logging-controller@8.0.1-preview-0fc9da15f
@metamask-previews/message-manager@14.1.1-preview-0fc9da15f
@metamask-previews/messenger@1.1.1-preview-0fc9da15f
@metamask-previews/messenger-cli@0.1.0-preview-0fc9da15f
@metamask-previews/money-account-controller@0.1.0-preview-0fc9da15f
@metamask-previews/multichain-account-service@8.0.1-preview-0fc9da15f
@metamask-previews/multichain-api-middleware@2.0.0-preview-0fc9da15f
@metamask-previews/multichain-network-controller@3.0.6-preview-0fc9da15f
@metamask-previews/multichain-transactions-controller@7.0.4-preview-0fc9da15f
@metamask-previews/name-controller@9.1.1-preview-0fc9da15f
@metamask-previews/network-controller@30.0.1-preview-0fc9da15f
@metamask-previews/network-enablement-controller@5.0.2-preview-0fc9da15f
@metamask-previews/notification-services-controller@23.0.1-preview-0fc9da15f
@metamask-previews/permission-controller@12.3.0-preview-0fc9da15f
@metamask-previews/permission-log-controller@5.1.0-preview-0fc9da15f
@metamask-previews/perps-controller@2.0.0-preview-0fc9da15f
@metamask-previews/phishing-controller@17.1.1-preview-0fc9da15f
@metamask-previews/polling-controller@16.0.4-preview-0fc9da15f
@metamask-previews/preferences-controller@23.1.0-preview-0fc9da15f
@metamask-previews/profile-metrics-controller@3.1.3-preview-0fc9da15f
@metamask-previews/profile-sync-controller@28.0.2-preview-0fc9da15f
@metamask-previews/ramps-controller@13.0.0-preview-0fc9da15f
@metamask-previews/rate-limit-controller@7.0.1-preview-0fc9da15f
@metamask-previews/react-data-query@0.2.0-preview-0fc9da15f
@metamask-previews/remote-feature-flag-controller@4.2.0-preview-0fc9da15f
@metamask-previews/sample-controllers@4.0.4-preview-0fc9da15f
@metamask-previews/seedless-onboarding-controller@9.1.0-preview-0fc9da15f
@metamask-previews/selected-network-controller@26.1.0-preview-0fc9da15f
@metamask-previews/shield-controller@5.1.1-preview-0fc9da15f
@metamask-previews/signature-controller@39.1.2-preview-0fc9da15f
@metamask-previews/social-controllers@0.1.0-preview-0fc9da15f
@metamask-previews/storage-service@1.0.1-preview-0fc9da15f
@metamask-previews/subscription-controller@6.1.2-preview-0fc9da15f
@metamask-previews/transaction-controller@64.0.0-preview-0fc9da15f
@metamask-previews/transaction-pay-controller@19.0.3-preview-0fc9da15f
@metamask-previews/user-operation-controller@41.2.0-preview-0fc9da15f

This PR demonstrates what a data service class to hit the Accounts API
would look like. It's designed to fetch the list of transactions in the
extension. For more, see:
<MetaMask/metamask-extension#41522>

Please note this PR is only intended for demo purposes. For a living
example of a data service, including tests, please see:
<https://github.com/MetaMask/core/blob/main/packages/sample-controllers/src/sample-gas-prices-service/sample-gas-prices-service.ts>
mcmire added a commit to MetaMask/metamask-extension that referenced this pull request Apr 7, 2026
This PR demonstrates how `useQuery` from `@metamask/react-data-query`
can be used to fetch data through a data service, which makes a
request, instead of making a request directly in the UI.

Also see: MetaMask/core#8395
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.

1 participant