Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,14 @@ To build locally:

```bash
cd packages/fastlane
pnpm install
pnpm build
bun install
bun run build
```

To test locally:

```bash
pnpm test
bun run test
```

### Troubleshooting
Expand Down
33 changes: 18 additions & 15 deletions .github/workflows/build-tpu-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.6

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
Expand All @@ -74,10 +75,10 @@ jobs:
key: ${{ matrix.settings.target }}-cargo-${{ matrix.settings.host }}

- name: Install dependencies
run: pnpm install --no-frozen-lockfile
run: bun install

- name: Build
run: pnpm exec napi build --platform --release --target ${{ matrix.settings.target }}
run: bun run napi build --platform --release --target ${{ matrix.settings.target }}
shell: bash
working-directory: packages/fastlane

Expand Down Expand Up @@ -112,17 +113,18 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.6

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: pnpm

- name: Install dependencies
run: pnpm install --no-frozen-lockfile
run: bun install

- name: Download artifacts
uses: actions/download-artifact@v4
Expand All @@ -135,7 +137,7 @@ jobs:
shell: bash

- name: Test bindings
run: pnpm test
run: bun run test
working-directory: packages/fastlane

publish:
Expand All @@ -148,26 +150,27 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.6

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://registry.npmjs.org/
cache: pnpm

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable

- name: Install dependencies
run: pnpm install --no-frozen-lockfile
run: bun install

- name: Regenerate JS + types (index.js / index.d.ts)
run: pnpm exec napi build --platform --release --target x86_64-unknown-linux-gnu
run: bun run napi build --platform --release --target x86_64-unknown-linux-gnu
shell: bash
working-directory: packages/fastlane

Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,27 +33,28 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.6

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://registry.npmjs.org/
cache: pnpm

- name: Install dependencies
run: pnpm install --no-frozen-lockfile
run: bun install

- name: Build core
if: inputs.package == 'core' || inputs.package == 'all'
run: pnpm build
run: bun run build
working-directory: packages/core

- name: Build actions
if: inputs.package == 'actions' || inputs.package == 'all'
run: pnpm build
run: bun run build
working-directory: packages/actions

- name: Publish core
Expand Down
6 changes: 2 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ coverage/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
bun-debug.log*
lerna-debug.log*

# Environment
Expand Down Expand Up @@ -45,7 +45,7 @@ Thumbs.db
# research
/references/

.pnpm-store/
.bun/

#cursor
.cursor/
Expand All @@ -56,5 +56,3 @@ Thumbs.db





16 changes: 16 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
node_modules/
dist/
build/
coverage/
.turbo/
.bun/
bun.lock

examples/next-js/.next/
examples/next-js/next-env.d.ts
examples/next-js/out/

packages/fastlane/target/
packages/fastlane/*.node
packages/fastlane/index.d.ts
packages/fastlane/index.js
32 changes: 16 additions & 16 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Thank you for your interest in contributing to Pipeit! This document provides gu
3. **Install dependencies**

```bash
pnpm install
bun install
```

4. **Create a branch**
Expand All @@ -25,7 +25,7 @@ Thank you for your interest in contributing to Pipeit! This document provides gu

## 📦 Project Structure

This is a monorepo managed with Turbo and pnpm workspaces:
This is a monorepo managed with Turbo and Bun workspaces:

- `packages/core/` - Main transaction builder with execution strategies, Flow API, and Kit integration
- `packages/actions/` - InstructionPlan factories for DeFi (Titan, Metis)
Expand All @@ -36,8 +36,8 @@ This is a monorepo managed with Turbo and pnpm workspaces:

### Prerequisites

- Node.js >= 20.18.0
- pnpm >= 10
- Node.js >= 22.13.0
- Bun >= 1.3.6
- Rust (for fastlane package development)

### Code Style
Expand All @@ -59,27 +59,27 @@ This is a monorepo managed with Turbo and pnpm workspaces:
### Testing

- Add tests for new functionality
- Ensure all tests pass: `pnpm test`
- Ensure all tests pass: `bun run test`
- Maintain or improve code coverage
- Tests are located in `__tests__/` directories within each package

### Before Submitting

```bash
# Format code (if configured)
pnpm run format
bun run format

# Lint code
pnpm lint
bun run lint

# Type check
pnpm typecheck
bun run typecheck

# Build all packages
pnpm build
bun run build

# Run tests
pnpm test
bun run test
```

## 📝 Pull Request Guidelines
Expand Down Expand Up @@ -123,7 +123,7 @@ Include:
- Clear description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Environment details (Node.js version, OS, pnpm version)
- Environment details (Node.js version, OS, Bun version)
- Relevant logs or error messages
- Package version (`@pipeit/core`, `@pipeit/actions`, etc.)
- Solana network (mainnet/devnet/testnet)
Expand Down Expand Up @@ -161,15 +161,15 @@ By contributing, you agree that your contributions will be licensed under the MI
```bash
# Build a specific package
cd packages/core
pnpm build
bun run build

# Run tests for a specific package
cd packages/core
pnpm test
bun run test

# Watch mode for development
cd packages/core
pnpm dev
bun run dev
```

### Testing Execution Strategies
Expand All @@ -187,10 +187,10 @@ When working on execution strategies (Jito, TPU, parallel), test with:
cd packages/fastlane

# Build native bindings
pnpm build:native
bun run build:native

# Run tests
pnpm test
bun run test

# Check Rust code
cargo check
Expand Down
29 changes: 15 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Built on modern Solana libraries (@solana/kit) with a focus on type safety, deve
| Package | Description | Docs |
| --------------------------------------- | ------------------------------------------------------------------------ | -------------------------------------- |
| [@pipeit/core](./packages/core) | Transaction builder with smart defaults, flows, and execution strategies | [README](./packages/core/README.md) |
| [@pipeit/actions](./packages/actions) | InstructionPlan factories for DeFi (Titan, Metis) | [README](./packages/actions/README.md) |
| [@pipeit/actions](./packages/actions) | InstructionPlan factories for DeFi (Titan, Metis, Phoenix, Flash) | [README](./packages/actions/README.md) |
| [@pipeit/fastlane](./packages/fastlane) | Native Rust QUIC client for direct TPU submission | [Package](./packages/fastlane) |

## Package Overview
Expand All @@ -42,8 +42,9 @@ The foundation package for transaction building:

Composable InstructionPlan factories for DeFi:

- Kit-compatible InstructionPlans for swap operations
- Kit-compatible InstructionPlans for swaps and perps workflows
- Titan and Metis aggregator integration
- Phoenix and Flash Trade perps integrations
- Address lookup table support
- Composable with Kit's plan combinators

Expand Down Expand Up @@ -73,20 +74,20 @@ pipeit/
**Choosing a Package:**

- Building transactions? → `@pipeit/core`
- DeFi operations (swaps)? → `@pipeit/actions` + `@pipeit/core`
- DeFi operations (swaps/perps)? → `@pipeit/actions` + `@pipeit/core`
- Ultra-fast submission? → `@pipeit/fastlane` + `@pipeit/core`

## Installation

```bash
# Transaction builder (recommended starting point)
pnpm install @pipeit/core @solana/kit
bun add @pipeit/core @solana/kit

# DeFi operations (swaps via Titan/Metis)
pnpm install @pipeit/actions @pipeit/core @solana/kit
# DeFi operations (swaps via Titan/Metis, perps via Phoenix/Flash)
bun add @pipeit/actions @pipeit/core @solana/kit

# TPU direct submission (server-side only)
pnpm install @pipeit/fastlane
bun add @pipeit/fastlane
```

## Usage Examples
Expand Down Expand Up @@ -238,25 +239,25 @@ export { tpuHandler as POST } from '@pipeit/core/server';

### Prerequisites

- Node.js 20+
- pnpm 10+
- Node.js 22.13+
- Bun 1.3+
- Rust (for @pipeit/fastlane development)

### Setup

```bash
git clone https://github.com/stevesarmiento/pipeit.git
cd pipeit
pnpm install
bun install
```

### Commands

```bash
pnpm build # Build all packages
pnpm test # Run all tests
pnpm typecheck # Type checking
pnpm lint # Lint code
bun run build # Build all packages
bun run test # Run all tests
bun run typecheck # Type checking
bun run lint # Lint code
```

## Contributing
Expand Down
Loading
Loading