@c3exchange/sdk
TypeScript icon, indicating that this package has built-in type declarations

0.5.0-alpha.7 • Public • Published

C3 Exchange SDK

Website shields.io Discord Twitter

Overview

C3SDK is the javascript package needed to interact with C3.

Installation

The package can be installed via npm:

npm install @c3exchange/sdk

API Usage

Quick start

import { C3SDK } from "@c3exchange/sdk";
const c3Sdk = new C3SDK();

Obtain instruments and markets

import { Instrument, MarketInfo } from "@c3exchange/sdk";

async function getInfoFromC3API(c3Sdk: C3SDK) {
  const instruments: Instrument[] = await c3Sdk.getInstruments();
  const markets: MarketInfo[] = await c3Sdk.getMarkets().getAll();
}

Login your account to C3

import { C3SDK, EVMSigner, CHAIN_ID_ETH } from "@c3exchange/sdk";
import * as ethers from "ethers";

async function loginToC3(c3Sdk: C3SDK) {
  const ethereumAccount = ethers.Wallet.createRandom();

  const signer = new EVMSigner(
    ethereumAccount.address,
    CHAIN_ID_ETH,
    ethereumAccount
  );

  const c3Account = await c3Sdk.login(signer);

  return c3Account;
}

Sign deposit operation

import {
  InstrumentAmount,
  Account,
  EVMSigner,
  toChainName,
} from "@c3exchange/sdk";

async function depositToC3(
  c3Account: Account,
  amount: InstrumentAmount
) {
  const originChain = "ethereum";

  const wormholeDeposit = await c3Account.deposit(amount, originChain);
  await wormholeDeposit.waitForWormholeVAA();
}

Sign lend operation

import {
  InstrumentAmount,
  Account,
  EVMSigner,
  toChainName,
} from "@c3exchange/sdk";

async function lendInC3(
  c3Account: Account,
  amount: InstrumentAmount
) {
  const txid = await c3resultAccount.lend(amount);
  console.log(txid);
}

Copyright and License

See LICENSE file.

Readme

Keywords

Package Sidebar

Install

npm i @c3exchange/sdk

Weekly Downloads

147

Version

0.5.0-alpha.7

License

Apache-2.0

Unpacked Size

31.3 MB

Total Files

83

Last publish

Collaborators

  • alex99y
  • mxmauro