@gitgrant/sdk
v0.2.1
Published
GitGrant SDK — typed client for the GitGrant API, onchain contract helpers, and utilities
Maintainers
Readme
@gitgrant/sdk
TypeScript SDK for GitGrant — typed API client and onchain contract helpers for the GitGrant bounty platform on Base.
Installation
npm install @gitgrant/sdkUsage
API Client
import { GitGrantClient } from "@gitgrant/sdk";
const client = new GitGrantClient({ baseUrl: "https://api.gitgrant.app" });
// List open bounties
const { bounties } = await client.listBounties({ status: ["Open"] });
// Get a specific bounty
const { bounty } = await client.getBounty("0xabc123...");
// Filter by repo
const { bounties } = await client.listBounties({ repo: "owner/repo" });
// Platform stats
const { stats } = await client.getStats();Utilities
import { computeBountyId, parseIssueUri, formatWeiToEth, statusEmoji } from "@gitgrant/sdk";
// Compute bounty ID from an issue URI
const id = computeBountyId("github:owner/repo#123");
// Parse an issue URI
const parsed = parseIssueUri("github:owner/repo#123");
// → { platform: "github", repo: "owner/repo", issueNumber: 123 }
// Format wei to ETH string
formatWeiToEth("500000000000000000"); // → "0.5"
// Status emoji
statusEmoji("Open"); // → "🟢"
statusEmoji("Completed"); // → "✅"Contract Helpers
import { GitGrantContract } from "@gitgrant/sdk";
const contract = new GitGrantContract({
escrowAddress: "0xFa59AeA9A35880716bC17455d101871Ba2D274a7",
rpcUrl: "https://mainnet.base.org",
chainId: 8453,
});
const bounty = await contract.getBounty("0xabc123...");
const count = await contract.getBountyCount();
const id = await contract.computeId("github:owner/repo#123");API Reference
GitGrantClient
| Method | Description |
|--------|-------------|
| listBounties(query?) | List bounties with optional filters |
| getBounty(bountyId) | Get bounty by ID or issue URI hash |
| getStats() | Get platform statistics |
| getClaimIntent(token) | Get claim intent by token |
| confirmClaim(body) | Confirm a claim transaction |
| confirmSubmit(body) | Confirm a submit transaction |
| confirmMaintainerAction(body) | Confirm maintainer release/cancel |
| confirmCreate(body) | Confirm bounty creation |
| health() | Health check |
ListBountiesQuery
| Field | Type | Description |
|-------|------|-------------|
| status | BountyStatus \| BountyStatus[] | Filter by status |
| repo | string | Filter by owner/repo |
| limit | number | Max results (default 20) |
| offset | number | Pagination offset |
BountyStatus
Open · Claimed · Submitted · Completed · Disputed · Expired · Cancelled
License
MIT
