argentlabs / starknetkit

MIT License
23 stars 17 forks source link

🕹️ StarknetKit

Install starknetkit with npm or yarn

# latest official release (main branch)
$ npm install starknetkit

# or with yarn:
$ yarn add starknetkit

Imports

After installation, we get access to different methods, such as connect, disconnect, etc which we should import for use in our application:

import { connect, disconnect } from "starknetkit"

Establishing a connection

To establish a wallet connection, we need to call the connect method which was imported earlier like this:

const wallet = await connect()

By default, the list of connectors is:

Connect with specific connectors

const webwallet = await connect([new WebWalletConnector()])

const argentMobileWallet = await connect([
  new ArgentMobileConnector()
])

const wallet = await connect([
  new InjectedConnector({ options: { id: "argentX" } }),
  new InjectedConnector({ options: { id: "braavos" } })
])

Reconnect to a previously connected wallet on load:

const wallet = await connect({ modalMode: "neverAsk" })

Disconnect a wallet

await disconnect({ clearLastWallet: true })

Listen to account change

const selectedConnectorWallet = getSelectedConnectorWallet()
selectedConnectorWallet.on("accountsChanged", () => {
  setWallet(prevState => {
    const updatedWallet = { ...prevState }
    updatedWallet.account = selectedConnectorWallet.account
    return updatedWallet
  })
})

📕 Guides

Guides can be found here

✏️ Contributing

If you consider to contribute to this project please read CONTRIBUTING.md first.

📜 License

Copyright (c) 2023

Licensed under the MIT license.