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

@terra-money/bridge-sdk

Package Overview
Dependencies
Maintainers
10
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@terra-money/bridge-sdk

## Basic usage

  • 1.0.0-beta.4
  • beta
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
Maintainers
10
Weekly downloads
 
Created
Source

Bridge SDK

Basic usage

Install from npm:

npm i @terra-money/bridge-sdk

Connect station:

import { StationWallet, ChainType, BridgeType, isValidAddress } from '@terra-money/bridge-sdk'

const wallet = new StationWallet()

if (!wallet.isSupported()) {
  console.log(
    `${wallet.description.name} is not supported on your device, please try from a different wallet.`,
  )
} else if (!wallet.isInstalled()) {
  console.log(`You can install ${wallet.description.name} here: ${wallet.description.installLink}`)
}

wallet
  .connect(ChainType.terra)
  .then(({ address }) => console.log(address))

If you are using TerraLedgerWallet you can specify more options on the connect function, to select a custom derivation index (default is 0) and to use bluetooth (default is USB)

Get the balance (wallet must be already connected):

wallet
  .getBalance('uluna')
  .then((res) => {
    res.success
      ? console.log(`Balance: ${res.data} uluna`)
      : console.log(`Error: ${res.error}`
  })

Send tx from station (wallet must be already connected):

const destinationAddress = 'osmo1...'

// validate destination address
if(!isValidAddress(destinationAddress, ChainType.osmosis)) {
  console.log('Error: invalid address')
  return
}

// transfer
wallet
  .transfer({
    src: ChainType.terra,
    dst: ChainType.osmosis,
    bridge: BridgeType.ibc,
    address: destinationAddress,
    coin: {
      amount: 100_000,
      denom: 'uluna',
    },
  })
  .then((res) => {
    res.success
      ? console.log(`TX hash: ${res.txhash}`)
      : console.log(`Error: ${res.error}`
  })

You can use the same functions on the TerraLedgerWallet,KeplrWallet and MetaMaskWallet to send a tx from those wallets

You can find more info about the available functions on the Wallet inteface

Coming soon

  • More IBC chains

  • Support for wormhole

  • Other wallets: (Station mobile, Coinbase wallet, BSC, WalletConnect, Keplr Mobile)

  • Function estimateBridgeFee() to calculate the fee that the user will pay on the transfer.

  • Function waitForTx()to wait until the tx is confirmed on-chain.

  • Functions onAccountChange() and onNetworkChange() to trigger actions when the user switch account or networ.

FAQs

Package last updated on 17 Oct 2022

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