# odiinnn-orbiter-sdk

> [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![Greenkeeper badge](https://badges.greenkeeper.io/alexjoverm/typescript-library-starter.svg)](https://greenkeeper.io/) [![Cover

Latest version **0.1.11** (published 2023-09-27) · MIT license · 0 weekly downloads

## Install

```sh
npm install odiinnn-orbiter-sdk
pnpm add odiinnn-orbiter-sdk
yarn add odiinnn-orbiter-sdk
bun add odiinnn-orbiter-sdk
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.11 |
| Published | 2023-09-27 |
| First published | 2023-09-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=14.0.0 |
| Dependencies | 5 |
| Unpacked size | 2.5 MB |
| Known vulnerabilities | 0 (+23 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | odiinnn |
| Maintainers | odiinnn |

## Links

- npm: https://www.npmjs.com/package/odiinnn-orbiter-sdk
- Repository: https://github.com/odiinnn/orbiter-sdk
- Homepage: https://github.com/odiinnn/orbiter-sdk#readme
- Issues: https://github.com/odiinnn/orbiter-sdk/issues
- npm.io page: https://npm.io/package/odiinnn-orbiter-sdk

## Dependencies (5)

- [keyv](https://npm.io/package/keyv.md) ^4.5.0
- [web3](https://npm.io/package/web3.md) ^1.7.3
- [axios](https://npm.io/package/axios.md) ^0.26.1
- [ethers](https://npm.io/package/ethers.md) ^5.6.4
- [bignumber.js](https://npm.io/package/bignumber.js.md) ^9.0.2

## Recent versions

- 0.1.11 (latest) — 2023-09-27
- 0.1.10 — 2023-09-27
- 0.1.9 — 2023-09-13
- 0.1.8 — 2023-09-12
- 0.1.7 — 2023-09-11
- 0.1.6 — 2023-09-11
- 0.1.5 — 2023-09-11
- 0.1.4 — 2023-09-11
- 0.1.3 — 2023-09-11
- 0.1.2 — 2023-09-11
- 0.1.1 — 2023-09-11
- 0.1.0 — 2023-09-11

## README

# Orbiter-Sdk

[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![Greenkeeper badge](https://badges.greenkeeper.io/alexjoverm/typescript-library-starter.svg)](https://greenkeeper.io/)
[![Coveralls](https://img.shields.io/coveralls/alexjoverm/typescript-library-starter.svg)](https://github.com/linkdrone/orbiter-sdk)

Orbiter-Sdk is a secure and fast Layer2 cross-platform transfer library

## Usage

```bash
# Use yarn
yarn add odiinnn-orbiter-sdk

# Or use npm
npm install odiinnn-orbiter-sdk --save
```

## Examples

### Frontend

![example-frontend.png](./example/assets/example-frontend.png)

Front-end example project based on vue3+vite. [dir](./example/frontend/)

## Types

### BridgeToken

| Field        |  type  | default |               desc               |
| :----------- | :----: | :-----: | :------------------------------: |
| chainId      | number |    -    |        Orbiter's chainId         |
| name         | string |    -    |    Token name. ex: ETH, USDC     |
| address      | string |    -    |      Token contract address      |
| precision    | number |    -    |          Token decimals          |
| makerAddress | string |    -    | Orbiter's maker ethereum address |
| icon         | string |    -    |         Token icon(TODO)         |

### BridgeChain

| Field     |       type       | default |       desc        |
| :-------- | :--------------: | :-----: | :---------------: |
| id        |      number      |    -    | Orbiter's chainId |
| name      |      string      |    -    |    Chain name     |
| networkId | number \| string |    -    |  Chain nerworkId  |
| icon      |      string      |    -    | Chain icon(TODO)  |

### BridgeNetwork

value: `'Mainnet' | 'Testnet'`

## Classes

### Bridge

```TypeScript
// constructor
const bridge = new Bridge('Mainnet' or 'Testnet')
```

#### bridge.getNetwork

Params: -

Return: `'Mainnet' | 'Testnet'`

#### bridge.supports

> Usage example: around line 118 in [the file](./example/frontend/src/components/HomeView.vue)

Params:
| Field | type | default | desc |
| :-------- | :---------: | :-------: | :-----------------: |
| fromChain | BridgeChain | undefined | Selected from chain |
| toChain | BridgeChain | undefined | Selected to chain |

Return:
| Field | type | default | desc |
| :-------- | :---------: | :-------: | :-----------------: |
| tokens | BridgeToken[] | - | Support tokens |
| fromChains | BridgeChain[] | - | Support fromChains |
| toChains | BridgeChain[] | - | Support toChains |

#### bridge.getAmounts

> Usage example: around line 151 in [the file](./example/frontend/src/components/HomeView.vue)

Params:
| Field | type | default | desc |
| :-------- | :---------: | :-------: | :-----------------: |
| token | BridgeToken | - | Selected token |
| fromChain | BridgeChain | - | Selected from chain |
| toChain | BridgeChain | - | Selected from chain |
| amountHm | string \| number | undefined | Human readable amount. ex: 0.01 |

Return:
| Field | type | default | desc |
| :-------- | :---------: | :-------: | :-----------------: |
| payText | string | - | Orbiter identification code |
| payAmount | ethers.BigNumber | - | Bignumbber pay amount |
| payAmountHm | string | - | Human readable pay amount |
| receiveAmountHm | string | - | Human readable receive amount |

#### bridge.transfer

> Usage example: around line 167 in [the file](./example/frontend/src/components/HomeView.vue)

Params:
| Field | type | default | desc |
| :-------- | :---------: | :-------: | :-----------------: |
| signer | ethers.Signer | - | Ethereum signer. ex: new providers.Web3Provider(window.ethereum).getSigner() |
| token | BridgeToken | - | Selected token |
| fromChain | BridgeChain | - | Selected from chain |
| toChain | BridgeChain | - | Selected from chain |
| amountHm | string \| number | undefined | Human readable amount. ex: 0.01 |

Return: The current data structure returned by different from chains, no unified data structure yet

## Features

- [x] Bridge support
- [ ] Bridge.transfer return unified data structure
- [ ] Bridge.getSave support. (Get save times an fee using orbiter)
- [ ] Bridge.transferListen support. (Listen transfer into user address)

---
_Source: https://npm.io/package/odiinnn-orbiter-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
