dnalob / SwapKit

SwapKit SDK - Integrate blockchains easily. Docs - https://docs.thorswap.finance/swapkit-docs

Home Page:https://thorswap.github.io/SwapKit/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SwapKit

Integrate Blockchains easily

Usage

Documentation

Packages

This repo contains packages around SwapKit sdk and its integrations with different blockchains.

Package Description
@coinmasters/api SwapKit API wrapper
@coinmasters/core Core package for SwapKit
@coinmasters/helpers Helpers for Assets & BigInt handle
@coinmasters/sdk All-in-one package for SwapKit
@coinmasters/tokens Static tokens lists with decimals & contract addresses
@coinmasters/types Types & enums for SwapKit
@coinmasters/toolbox-cosmos Integrate Cosmos chains
@coinmasters/toolbox-evm Integrate EVM chain
@coinmasters/toolbox-utxo Integrate UTXO chain
@coinmasters/wallet-evm-extensions EVM Browser Extensions
@coinmasters/wallet-keplr Keplr Wallet
@coinmasters/wallet-keystore Keystore Wallet
@coinmasters/wallet-ledger Ledger Wallet
@coinmasters/wallet-okx OKX Wallet
@coinmasters/wallet-trezor Trezor Wallet
@coinmasters/wallet-wc Walletconnect Wallet
@coinmasters/wallet-xdefi XDEFI Wallet

Contributing

Pre-requisites

npm install -g pnpm
Copy .env.example to .env and fill it with data

Installation

pnpm bootstrap;

Branches

  • main - production branch
  • develop - development branch - all PRs should be merged here first
  • nightly - branch for nightly builds - can be used for testing purposes

Testing

To run tests use pnpm test command.

Pull requests

  • PRs should be created from develop branch
  • PRs should be reviewed by at least Code Owner (see CODEOWNERS file)
  • PRs should have scope in commit message (see commit messages section)
  • PRs should have tests if it's possible
  • PRs should have changeset file if it's needed (see release section)

New package

To create new package use pnpm generate and pick one of the options It will setup the package with the necessary files for bundling and publishing.

Release and publish

Packages are automatically published to npm when new PR is merged to main & develop branches. To automate and handle process we use changesets and github action workflows.

Before running pnpm changeset you have to pull main & develop

To release new version of package you need to create PR with changes and add changeset file to your commit.

pnpm changeset

After PR is merged to develop branch with changeset file, github action will create new PR with updated versions of packages and changelogs.

About

SwapKit SDK - Integrate blockchains easily. Docs - https://docs.thorswap.finance/swapkit-docs

https://thorswap.github.io/SwapKit/

License:Apache License 2.0


Languages

Language:TypeScript 92.7%Language:JavaScript 7.2%Language:HTML 0.1%Language:CSS 0.0%