The MIPD Store stores the Providers that have been emitted by a Wallet (or other source), and provides a way to subscribe to the store and retrieve the Providers.
Overview
import { createStore } from'mipd'// Set up a MIPD Store, and request Providers.const store = createStore()
// Subscribe to the MIPD Store.
store.subscribe(providerDetails => {
console.log(providerDetails)
// => [EIP6963ProviderDetail, EIP6963ProviderDetail, ...]
})
// Retrieve emitted Providers.
store.getProviders()
// => [EIP6963ProviderDetail, EIP6963ProviderDetail, ...]// Find a Provider Detail.
store.findProvider({ rdns: 'com.example' })
// => EIP6963ProviderDetail | undefined// Clear the store, including all Providers.
store.clear()
// Reset the store, and emit an event to request Providers.
store.reset()
// Destroy the store, and remove all Providers and event listeners.
store.destroy()
exporttypeListener = (// The updated Providers store.
providerDetails: EIP6963ProviderDetail[],
meta?: {
// The Providers that were added to the store.
added?: EIP6963ProviderDetail[]
// The Providers that were removed from the store.
removed?: EIP6963ProviderDetail[]
},
) =>voidfunctionsubscribe(// The listener function.
listener: Listener,
args?: {
// If `true`, the listener will be called immediately with the stored Providers.
emitImmediately?: boolean
}
): () =>void// Returns an unsubscribe function.
functionrequestProviders(// The listener.
listener: (providerDetail: EIP6963ProviderDetail) => void// Unsubscribe function to clean up the listener.): () =>void
announceProvider
The announceProvider utility emits an event to announce a Provider to the Wallet(s), and also listen for incoming requests. It returns an unsubscribe function to clean up event listeners.
functionrequestProviders(// The EIP-1193 Provider and Provider Info.
detail: EIP6963ProviderDetail
// Unsubscribe function to clean up the listener.): () =>void
window Polyfill
By importing the mipd/window Polyfill, the types on window.addEventListener will be inferred to include the EIP6963AnnounceProviderEvent and EIP6963RequestProviderEvent types.
In some cases you might want to tune the global types (e.g. the EIP1193Provider). To do this, the following configuration options are available:
Type
Default
Description
provider
import('viem').EIP1193Provider
The EIP-1193 Provider.
rdns
`'com.coinbase'
'com.enkrypt'
Configuration options are customizable using declaration merging. Extend the Register interface either directly in your code or in a d.ts file (e.g. eip6963.d.ts):
We found that mipd demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 2 open source maintainers collaborating on the project.
Package last updated on 04 Jul 2023
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Socket safeguards companies from software supply chain attacks by detecting and preventing threats in open source code and empowering developers to secure their applications and critical services against malware and other security risks.
Socket is launching Ruby support for all users. Enhance your Rails projects with AI-powered security scans for vulnerabilities and supply chain threats. Now in Beta!