Skip to content

Latest commit

 

History

History
52 lines (37 loc) · 2.05 KB

File metadata and controls

52 lines (37 loc) · 2.05 KB

Contributing to @nktkas/hyperliquid

Welcome, and thank you for taking time in contributing to SDK! You can contribute to SDK in different ways:

  • Submit new features
  • Report bugs
  • Review code

Dev Environment Setup

If you want to read or modify the SDK code, set up your development environment as follows:

  1. Install Deno.
  2. Use VSCode Deno LSP or a similar extension if you are using a different editor.

Testing

deno test -A

Optional: Set PRIVATE_KEY env for complete tests. Required testnet balance: ~100 usdc-perps, ~3 usdc-spot, ~0.0000001 hype-spot.

Coding Guidelines

  • Style: After making all changes, run: deno task check
  • Dependencies: Use small and easily auditable dependencies (e.g. @noble/hashes or @std).
  • Testing: Write tests for any new functionality.
  • Docs: Update or add JSDoc comments where appropriate.

Common Tasks

Add a new API method

  1. Create a file named after the method in the matching group's _methods directory: src/api/[exchange|info|subscription|explorer]/_methods/[methodName].ts
  2. Implement it using the patterns from existing method files.
  3. Re-export the file from the group barrel: add export * from "./_methods/[methodName].ts"; to src/api/[group]/mod.ts.
  4. Add the matching wrapper method to the client in src/api/[group]/client.ts.
  5. Create a test at tests/api/[group]/[methodName].test.ts (use patterns from other tests) and run it.
  6. Run the deno task check command and fix any errors that are reported.

Update API schemas/types

  1. Go to src/api/[group]/_methods/[methodName].ts
  2. Update the valibot schemas in the "Schemas" section (types are inferred from schemas).
  3. Run the test at tests/api/[group]/[methodName].test.ts to check the schemas against the actual API response.