An open API service indexing awesome lists of open source software.

https://github.com/aboutcircles/sdk


https://github.com/aboutcircles/sdk

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# Circles SDK v2

A comprehensive TypeScript SDK for the Circles protocol.

## 📚 API Documentation

**[View Complete API Documentation →](docs/modules.md)**

Detailed API reference with types, classes, and interfaces for all packages.

## 🚀 Quick Start

### Installation

```bash
bun install
bun run build
```

### Basic Usage

**Core SDK - Contract Interaction**

```typescript
import { Core } from '@aboutcircles/sdk-core';

const core = new Core();

const tx = core.hubV2.groupMint(
'0x1234567890123456789012345678901234567890',
['0xRecipient1', '0xRecipient2'],
[BigInt(100), BigInt(200)],
'0x'
);
```

**RPC SDK - Data Queries**

```typescript
import { CirclesRpc } from '@aboutcircles/sdk-rpc';

const rpc = new CirclesRpc('https://rpc.circlesubi.network/');

// Get balance
const balance = await rpc.circlesV2.getTotalBalance('0xYourAddress');

// Find transfer path
const path = await rpc.circlesV2.findPath({
from: '0xSenderAddress',
to: '0xRecipientAddress',
targetFlow: BigInt(100)
});
```

## 📦 Packages

- **[@aboutcircles/sdk](./packages/sdk/)** - Main SDK package
- **[@aboutcircles/sdk-core](./packages/core/)** - Contract wrappers for direct blockchain interaction
- **[@aboutcircles/sdk-rpc](./packages/rpc/)** - RPC client for querying Circles data and pathfinding
- **[@aboutcircles/sdk-types](./packages/types/)** - Shared TypeScript types
- **[@aboutcircles/sdk-abis](./packages/abis/)** - Contract ABIs
- **[@aboutcircles/sdk-utils](./packages/utils/)** - Utility functions
- **[@aboutcircles/sdk-profiles](./packages/profiles/)** - Profile management
- **[@aboutcircles/sdk-pathfinder](./packages/pathfinder/)** - Transfer pathfinding algorithms
- **[@aboutcircles/sdk-transfers](./packages/transfers/)** - Transfer operations
- **[@aboutcircles/sdk-runner](./packages/runner/)** - Transaction execution

## 💡 Examples

Explore comprehensive examples in the [`examples/`](./examples/) directory:

**Core SDK:**
- [Basic Usage ](./examples/core/01-basic-usage.ts) - Core initialization
- [HubV2 Operations](./examples/core/02-hubv2-examples.ts) - Contract operations
- [BaseGroup Management](./examples/core/03-basegroup-examples.ts) - Group creation

**RPC SDK:**
- [RPC Client](./examples/rpc/01-basic-rpc.ts) - Client configuration
- [Balance & Pathfinding](./examples/rpc/02-circlesv2-balance-and-pathfinding.ts)
- [Trust Relations](./examples/rpc/04-trust-examples.ts)
- [Avatar Info](./examples/rpc/06-avatar-examples.ts)
- [Profiles](./examples/rpc/07-profile-examples.ts)

[View all examples →](./examples/README.md)

**Run examples:**
```bash
bun run examples # All examples
bun run examples/core/01-basic-usage.ts # Specific example
```

## 🛠️ Development

```bash
# Build
bun run build # All packages
bun run build:core # Core package
bun run build:rpc # RPC package

# Development (watch mode)
bun run dev # All packages
bun run dev:core # Core package

# Documentation
bun run docs # Generate API docs

# Publishing
bun run publish # Build and publish all packages

# Clean
bun run clean # Remove build artifacts
```

## 📄 License

MIT