@racso/pool-sdk
v1.1.1
Published
TypeScript SDK repository to interact with PancakeSwap vaults.
Readme
Pool SDK
TypeScript SDK repository to interact with PancakeSwap vaults.
Current Version: 1.0.7
Features
- TypeScript Support: Strictly typed SDK.
- Multi-Pool Vault Management: Support for
MultiPoolVaultV1. - Fund Distributor Handlers: Custom contract handlers via
viem. - Viem Integration: Native integration for robust blockchain interactions.
- Pino Logging: Structured logging with pretty printing enabled.
- Development Tooling: ESLint, Prettier, and Vitest testing pre-configured.
Installation
# Using npm
npm install pool-sdk viem
# Or using pnpm (configured in package.json)
pnpm install pool-sdk viemExample Usage
The SDK provides object-oriented handlers to seamlessly read from and write to PancakeSwap vault contracts.
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains'; // Replace with the actual chain
import { MultiPoolVaultV1 } from './src/implementations/vaults/multi-pool-vault-v1';
async function main() {
// 1. Setup a public client
const publicClient = createPublicClient({
chain: mainnet,
transport: http(),
});
// 2. Initialize the vault
const vaultHandler = new MultiPoolVaultV1(
'0xVaultAddressHere', // Replace with the vault address
publicClient,
);
// 3. Interact with the vault
const totalSupply = await vaultHandler.getTotalSupply();
console.log('Total Supply:', totalSupply.toString());
// Wait for full initialization and fetch positions
const positions = await vaultHandler.getPositions({});
console.log('Positions:', positions);
}Available Scripts
pnpm run build: Compile TypeScript files.pnpm run test: Run tests using Vitest.pnpm run test:watch: Watch mode for tests.pnpm run lint: Lint the codebase with ESLint.pnpm run lint:fix: Automatically fix linting issues.pnpm run format: Format code files.
Development Guidelines
Please refer to AGENT.md for rules on creating writes (which require walletClient context), handling read operations using publicClient, and observability metrics (tx_success_rate, nonce_drift, queue_depth).
