araw-sdk
v0.0.1-alpha
Published
An SDK for building applications on top of araw.
Downloads
4
Readme
Wara SDK
An SDK for building applications on top of Wara.
Usage Guide
Installation
$ yarn add wara-sdk
SDK method Demo
SDK local test
$ yarn dev {directory}
e.g. yarn dev test/init.ts
Features
Initialization
import { Wara } from "@wara-io/wara-sdk";
const wara = await Wara.load({
connection,
owner, // key pair or publicKey, if you run a node process, provide keyPair
signAllTransactions, // optional - provide sign functions provided by @solana/wallet-adapter-react
tokenAccounts, // optional, if dapp handle it by self can provide to sdk
tokenAccountRowInfos, // optional, if dapp handle it by self can provide to sdk
disableLoadToken: false, // default is false, if you don't need token info, set to true
});
how to transform token account data
import { parseTokenAccountResp } from "@wara-io/wara-sdk";
const solAccountResp = await connection.getAccountInfo(owner.publicKey);
const tokenAccountResp = await connection.getTokenAccountsByOwner(owner.publicKey, { programId: TOKEN_PROGRAM_ID });
const token2022Req = await connection.getTokenAccountsByOwner(owner.publicKey, { programId: TOKEN_2022_PROGRAM_ID });
const tokenAccountData = parseTokenAccountResp({
owner: owner.publicKey,
solAccountResp,
tokenAccountResp: {
context: tokenAccountResp.context,
value: [...tokenAccountResp.value, ...token2022Req.value],
},
});
data after initialization
# token
wara.token.tokenList
wara.token.tokenMap
wara.token.mintGroup
# token account
wara.account.tokenAccounts
wara.account.tokenAccountRawInfos
Api methods (https://github.com/wara-io/wara-sdk-V2/blob/master/src/api/api.ts)
- fetch wara default mint list (mainnet only)
const data = await wara.api.getTokenList();
- fetch mints recognizable by wara
const data = await wara.api.getTokenInfo([
"So11111111111111111111111111111111111111112",
"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",
]);
- fetch pool list (mainnet only) available fetch params defined here: https://github.com/wara-io/wara-sdk-V2/blob/master/src/api/type.ts#L249
const data = await wara.api.getPoolList({});
- fetch poolInfo by id (mainnet only)
// ids: join pool ids by comma(,)
const data = await wara.api.fetchPoolById({
ids: "AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA,8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj",
});
- fetch pool list by mints (mainnet only)
const data = await wara.api.fetchPoolByMints({
mint1: "So11111111111111111111111111111111111111112",
mint2: "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R", // optional,
// extra params: https://github.com/wara-io/wara-sdk-V2/blob/master/src/api/type.ts#L249
});
- fetch farmInfo by id (mainnet only)
// ids: join farm ids by comma(,)
const data = await wara.api.fetchFarmInfoById({
ids: "4EwbZo8BZXP5313z5A2H11MRBP15M5n6YxfmkjXESKAW,HUDr9BDaAGqi37xbQHzxCyXvfMCKPTPNF8g9c9bPu1Fu",
});