0.0.3 • Published 22 days ago

@injectivelabs/wallet-magic v0.0.3

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
22 days ago

🌟 Injective Protocol - Magic Wallet Strategy

downloads npm-version license

Package to use Magic Wallets on Injective via the wallet strategy.


📚 Installation

yarn add @injectivelabs/wallet-magic

📖 Documentation

Injective's wallet packages are intended to make it easy for developers to choose exactly what wallets - and subsequent dependencies - they want to include in their projects.

Regardless of which wallet package(s) you choose to use you must also have @injectivelabs/wallet-core and @injectivelabs/wallet-base installed. These contain all of the types and core wallet functionality, with the separate wallet packages only providing the necessary dependencies and implementations for their specific wallets.

Here's a brief example of how to use this package to send 1 INJ.:

import { Wallet } from '@injectivelabs/wallet-base';
import { BaseWalletStrategy, MsgBroadcaster } from '@injectivelabs/wallet-core';
import { MagicStrategy } from '@injectivelabs/wallet-magic';


const strategyArgs: WalletStrategyArguments = {
  chainId: ChainId.Mainnet,
  wallet: Wallet.Magic,
  strategies: {
    [Wallet.Magic]: new MagicStrategy({
      chainId: ChainId.Mainnet,
      metadata: {
        apiKey: 'YOUR_MAGIC_API_KEY'
      }
    }),
  },
}
const walletStrategy = new BaseWalletStrategy(strategyArgs)

const msgBroadcaster = new MsgBroadcaster({
  walletStrategy,
  simulateTx: true,
  network: Network.Mainnet,
})

const sendTX = async () => {
    const injectiveAddress = 'someInjectiveAddress'

    const message = MsgSend.fromJSON({
      srcInjectiveAddress: injectiveAddress,
      dstInjectiveAddress: injectiveAddress,
      amount: {
        amount: '1',
        denom: 'inj',
      },
    })

    return await msgBroadcaster.broadcast({ msgs: message })
  }

  const result = await sendTX()

Read more and find example usages on our WalletStrategy Docs


📜 Contribution

Contribution guides and practices will be available once there is a stable foundation of the whole package set within the injective-ts repo.


⛑ Support

Reach out to us at one of the following places!

  • Website at injective.com
  • Twitter at @Injective
  • Discord at Discord
  • Telegram at Telegram

🔓 License

Copyright © 2021 - 2022 Injective Labs Inc. (https://injectivelabs.org/)

Originally released by Injective Labs Inc. under: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/