C3SDK is the javascript package needed to interact with C3.
The package can be installed via npm:
npm install @c3exchange/sdk
import { C3SDK } from "@c3exchange/sdk";
const c3Sdk = new C3SDK();
import { Instrument, MarketInfo } from "@c3exchange/sdk";
async function getInfoFromC3API(c3Sdk: C3SDK) {
const instruments: Instrument[] = await c3Sdk.getInstruments();
const markets: MarketInfo[] = await c3Sdk.getMarkets().getAll();
}
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;
}
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();
}
import {
InstrumentAmount,
Account,
EVMSigner,
toChainName,
} from "@c3exchange/sdk";
async function lendInC3(
c3Account: Account,
amount: InstrumentAmount
) {
const txid = await c3resultAccount.lend(amount);
console.log(txid);
}
See LICENSE file.