@honeybtc/sdk
v0.1.0
Published
TypeScript SDK for interacting with the HoneyB Vault program on Arch Network.
Readme
@honeybtc/sdk
TypeScript SDK for interacting with the HoneyB Vault program on Arch Network.
Provides account decoders, PDA derivation, RPC client, and instruction builders. Works in both browser and Node.js environments.
Installation
npm install @honeybtc/sdkUsage
import { HoneyBClient, createHoneyBClient } from "@honeybtc/sdk";
const client = createHoneyBClient("https://rpc.testnet.arch.network");
// Read vault state
const vault = await client.getVault();
// Read token balances
const balance = await client.getTokenBalance(vault.vaultUsdcAccount);
// Build instructions (for wallet signing)
const instructions = client.buildJoinMintQueueIx(pubkeyHex, usdcAta, amount, whitelistIdx);API
Client
HoneyBClient/createHoneyBClient(rpcUrl, programIdHex?, vaultId?)- RPC client with account loaders and instruction builders
Account Loaders
getVault(),getProgramConfig(),getMintQueue(),getMintRecord(pubkey),getRedemptionRecord(pubkey),getEpochRedemption(epoch),getEpochYield(epoch)
Instruction Builders
buildJoinMintQueueIx/buildLeaveMintQueueIx- Deposit / cancel depositbuildClaimMintRecordIx- Claim minted HoneyBbuildInitiateRedemptionIx/buildCancelRedemptionIx- Redeem / cancel redemptionbuildClaimRedeemAmountIx- Claim redeemed USDCbuildClaimEpochYieldIx- Claim yield via merkle proofbuildInitEpochRedemptionIx- Initialize epoch redemption accountbuildCreateUserHoneyBAccountIx- Create user token account
PDA Derivation
All PDA functions are deterministic (no RPC calls):
deriveVaultPda,deriveProgramConfigPda,deriveMintQueuePda,deriveMintRecordPda,deriveRedemptionRecordPda,deriveEpochRedemptionPda,deriveEpochYieldPda,deriveUserHoneybPda, etc.
Decoders
decodeVault,decodeProgramConfig,decodeMintQueue,decodeMintRecord,decodeRedemptionRecord,decodeEpochRedemption,decodeEpochYield,decodeEpochYieldClaimRecord,decodeUserWhitelist
Utilities
BytesReader/BytesWriter- Borsh binary serializationTOKEN_DECIMALS_DIVISOR,USDC_MINT,DEFAULT_PROGRAM_ID_HEX- Constants
Testing
npm test # run all tests once
npm run test:watch # watch modeTests live in src/__tests__/. Uses Vitest.
Building
npm install
npm run build # produces dist/ with CJS + ESM + types
npm run dev # watch modeDependencies
@saturnbtcio/arch-sdk- Arch Network RPC and transaction types@scure/base- Hex encoding/decoding
