C3 Exchange SDK
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.