Skip to content
Merged
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
14 changes: 14 additions & 0 deletions .github/workflows/build-tpu-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,19 @@ jobs:
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

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

- name: Download all artifacts
uses: actions/download-artifact@v4
with:
Expand All @@ -174,6 +184,10 @@ jobs:
ls -la *.node
working-directory: packages/fastlane

- name: Verify gRPC config is present in types
run: node -e "const fs=require('node:fs'); const dts=fs.readFileSync('index.d.ts','utf8'); const required=['grpcUrl','grpcXToken']; const missing=required.filter(k=>!dts.includes(k)); if(missing.length){ console.error('Missing fields in index.d.ts:', missing.join(', ')); process.exit(1);} console.log('index.d.ts contains gRPC fields');"
working-directory: packages/fastlane

- name: Publish
run: |
npm config set provenance true
Expand Down
2 changes: 1 addition & 1 deletion examples/next-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"@phosphor-icons/react": "^2.1.10",
"@pipeit/actions": "workspace:*",
"@pipeit/core": "^0.2.5",
"@pipeit/fastlane": "^0.1.2",
"@pipeit/fastlane": "^0.1.4",
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-dialog": "^1.1.15",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"@solana/prettier-config-solana": "^0.0.6",
"@types/node": "^24.10.0",
"prettier": "^3.6.2",
"turbo": "^2.6.0",
"turbo": "^2.7.2",
"typescript": "^5.9.3",
"vitest": "^3.2.4"
},
Expand Down
21 changes: 8 additions & 13 deletions packages/fastlane/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/fastlane/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pipeit-fastlane"
version = "0.1.4"
version = "0.1.5"
edition = "2021"
description = "Native QUIC client for direct Solana TPU transaction submission"
license = "MIT"
Expand Down
8 changes: 8 additions & 0 deletions packages/fastlane/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ export interface TpuClientConfig {
rpcUrl: string
/** WebSocket URL for slot update subscriptions. */
wsUrl: string
/**
* Optional gRPC URL for Yellowstone slot subscriptions.
* When set, this takes precedence over WebSocket tracking.
*/
grpcUrl?: string
/** Optional gRPC x-token for authenticated Yellowstone endpoints. */
grpcXToken?: string
/** Number of upcoming leaders to send transactions to (default: 2). */
fanout?: number
/** Whether to pre-warm connections to upcoming leaders (default: true). */
Expand Down Expand Up @@ -85,6 +92,7 @@ export declare class TpuClient {
/**
* Sends a serialized transaction to TPU endpoints (single attempt).
*
* Uses slot-aware leader selection when available, falling back to fanout.
* Returns detailed per-leader results including retry statistics.
* For higher landing rates, use `send_until_confirmed` instead.
*/
Expand Down
2 changes: 1 addition & 1 deletion packages/fastlane/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pipeit/fastlane",
"version": "0.1.4",
"version": "0.1.5",
"description": "Native QUIC client for direct Solana TPU transaction submission",
"main": "index.js",
"types": "index.d.ts",
Expand Down
68 changes: 34 additions & 34 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.