npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

symbiosis-js-sdk

v3.1.171

Published

[![Build Status](https://drone.symbiosis.finance/api/badges/symbiosis-finance/sdk/status.svg)](https://drone.symbiosis.finance/symbiosis-finance/sdk)

Downloads

3,070

Readme

symbiosis-js-sdk

Build Status

Docs

You can find js-sdk docs here - https://docs.symbiosis.finance/developer-tools/symbiosis-js-sdk

Installation

npm i symbiosis-js-sdk

Install dependencies

npm i

Upgrade version

For upgrade versions should be use npm versions command. Version will upgrade automatically.

npm version major|minor|patch

How To Use

The current implementation use ethers to interact with the Ethereum like blockchains.

Init Symbiosis SDK

To work with Symbiosis SDK you should init Symbiosis instance with config (check Config type) and your CLIENT_ID.

import { Symbiosis } from 'symbiosis-js-sdk'

const symbiosis = new Symbiosis('mainnet', 'awesome-app')

Swapping

A combination of uniswap and bridging allowing you to swap any supported tokens between networks.

// Create new Swapping instance
const swapping = symbiosis.bestPoolSwapping()

// Calculates fee for swapping between networks and get execute function
const { transactionRequest } = await swapping.exactIn({
    tokenAmountIn, // TokenAmount object
    tokenOut, // Token object
    from, // from account address
    to, // to account address
    revertableAddress, // account who can revert stucked transaction
    slippage, // slippage
    deadline // deadline date in seconds
})

// Send transactionRequest and get receipt
const receipt = ...

// Wait for transaction to be completed on destination chain
const log = await swapping.waitForComplete(receipt)

// check if transit token was received instead target token
const transitTokenSent = await symbiosis.findTransitTokenSent(
    tokenOut.chainId,
    log.transactionHash
)

// if `transitTokenSent` is not null please show this information to the user

Zapping to Symbiosis

Cross-chain zaps automate liquidity adding to the Symbiosis stable pools, DeFi protocols, NFT, etc.

// Create new Swapping instance
const swapping = symbiosis.newZapping(omniPoolConfig)

// Calculates fee for bridging between networks and get execute function
const { execute, fee, tokenAmountOut, route, priceImpact } = await swapping.exactIn({
    tokenAmountIn, // TokenAmount object
    from, // from account address
    to, // to account address
    revertableAddress, // account who can revert stucked transaction
    slippage, // slippage
    deadline, // deadline date in seconds
})

All next steps as in swapping example

Bridging

Bridging allows you to swap stable tokens between chains.

// Create new Bridging instance
const bridging = symbiosis.newBridging()

// Calculates fee for bridging and get execute function
const { transactionRequest } = await bridging.exactIn({
    tokenAmountIn, // TokenAmount object
    tokenOut, // Token object
    to, // to account address
    revertableAddress // account who can revert stucked transaction
})

// Send transaction or get receipt
const receipt = ...

// Wait for transaction to be completed on recipient chain
const log = await bridging.waitForComplete(receipt)

Revert stucked transaction:

// Create RevertPending instance
const revertPending = symbiosis.newRevertPending(
    request // PendingRequest object
)

// transactionRequest contains everything you need to send a transaction by yourself
const { transactionRequest } = await revertPending.revert()

... // Send transaction

// Wait for transaction to be completed on recipient chain
const log = await revertPending.waitForComplete()