@honeybtc/sdk
v0.3.0
Published
TypeScript SDK for interacting with the HoneyB Vault program on Arch Network.
Downloads
207
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
pnpm add @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
pnpm test # run all tests once
pnpm test:watch # watch modeTests live in src/__tests__/. Uses Vitest.
Building
pnpm install
pnpm build # produces dist/ with CJS + ESM + types
pnpm dev # watch modeDependencies
@saturnbtcio/arch-sdk- Arch Network RPC and transaction types@scure/base- Hex encoding/decoding
