Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@statechannels/channel-provider

Package Overview
Dependencies
Maintainers
5
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@statechannels/channel-provider

It exposes a global object called `channelProvider` that implements the [EIP 1193](https://github.com/ryanio/EIPs/blob/master/EIPS/eip-1193.md) standard.

  • 0.0.4
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
5
Weekly downloads
 
Created
Source

🔌 Channel Provider

It exposes a global object called channelProvider that implements the EIP 1193 standard.

In the near future, it'll feature-detect if a wallet such as MetaMask has state channels support. If it does, the package does nothing; if it doesn't, it'll plug in the Embedded Wallet into a dApp.

Usage

Include the channel-provider.min.js file in your app via a script tag:

<script src="node_modules/@statechannels/channel-provider/dist/channel-provider.min.js"></script>

Then, enable the provider, passing on an URL to where the Wallet UI hosted.

This isn't final behavior. Eventually, the UI will be integrated inside a wallet like MetaMask, and the URL won't be necessary. Right now, we need this because of the usage of the .postMessage() API + CORS requirements.

window.channelProvider.mountWalletComponent('http://xstate-wallet.statechannels.org');

In order for the wallet connection to be useful, you'll want to enable it by calling .enable(). This method tells the wallet to establish a connection with the user's Web3 provider.

API

MethodDescription
mountWalletComponent(url?: string)Configures the dApp to be able to send/receive JSON-RPC messages.
enable()Sends an EthereumEnable API call to the wallet.
send<ResultType>(method: string, params?: any[]): PromiseSends a message to the wallet using JSON-RPC and returns the result, if any.
on(eventNameOrSubscriptionId: string, callback?: Function): voidAllows to register for events or subscriptions received from the wallet.
off(eventNameOrSubscriptionId: string, callback?: Function): voidAllows to un-register for events or subscriptions received from the wallet.
subscribe(subscriptionType: string, callback?: Function): Promise<string>Allows to subscribe to an event feed, returns a subscriptionId that can be used later with .on() or .off().
unsubscribe(subscriptionId: string)Removes all event listeners tied to a given subscriptionId and stops listening events on the requested feed.

FAQs

Package last updated on 17 Jul 2020

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc