Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TUWA Orbit

License Build Status

Orbit

TUWA Orbit is the foundational baseline layer of the TUWA Web3 frontend stack, providing framework-agnostic modules for low-level multi-chain communication. It acts as the headless, logic-only connector layer that sits below any visual kits (such as Nova UI Kit) or transaction lifecycle tracking engines (such as Pulsar / Quasar), granting developers complete architectural control and absolute application sovereignty.

Orbit enforces a strict multi-chain abstraction through type-safe primitives, ensuring zero vendor lock-in and a complete rejection of legacy dependencies like ethers.js or web3.js in favor of high-performance modern libraries: viem, wagmi, and gill.


🏛️ Ecosystem Layer Architecture

The monorepo structure segregates core cross-chain logic from concrete blockchain execution environments:

Layer 1: Foundational Core (L1)

  • @tuwaio/orbit-core: The brain of the connector layer. Contains shared interfaces, common enums (OrbitAdapter, BaseAdapter), and type-safe primitives for connection persistence and localStorage state helper utilities.

Layer 2: Chain Platforms (L2)

  • @tuwaio/orbit-evm: Concrete implementation of low-level EVM-specific communication primitives. Built strictly on top of viem and @wagmi/core.
  • @tuwaio/orbit-solana: Concrete implementation of low-level Solana-specific communication primitives and RPC client caching. Powered strictly by gill and standard @wallet-standard specifications.

🔧 Monorepo Structure

orbit/
├── apps/
│   └── docs/                   # Nextra-based technical documentation & portal
├── packages/
│   ├── orbit-core/             # L1: Shared types, validations, and storage helpers
│   ├── orbit-evm/              # L2: Viem & Wagmi provider wrappers
│   └── orbit-solana/           # L2: Gill & Wallet-Standard adapters

💾 Installation

Orbit is modular. Install the L1 core package and layer the L2 chain platforms depending on target networks:

# L1 Core
pnpm add @tuwaio/orbit-core

# L2 EVM Platform
pnpm add @tuwaio/orbit-evm @wagmi/core viem

# L2 Solana Platform
pnpm add @tuwaio/orbit-solana gill @wallet-standard/app @wallet-standard/ui-core @wallet-standard/ui-registry

🚀 Architectural Usage Example

Selecting and Invoking Dynamic Adapters

Integrate cross-chain operations through the common BaseAdapter interface:

import { OrbitAdapter, selectAdapterByKey } from '@tuwaio/orbit-core';

// Configure adapters with low-level primitives
const adapters = [
  { key: OrbitAdapter.EVM, getChainName: () => 'Ethereum' /* ... */ },
  { key: OrbitAdapter.SOLANA, getChainName: () => 'Solana' /* ... */ },
];

// Dynamically resolve target primitive execution context
const activeAdapter = selectAdapterByKey({
  adapterKey: OrbitAdapter.EVM,
  adapter: adapters,
});

if (activeAdapter) {
  console.log('Active Execution Target:', activeAdapter.getChainName());
}

🤝 Contribution & Auditing

Please review our ecosystem Contribution Guidelines.

📄 License

Licensed under the Apache-2.0 License. See the LICENSE file for details.

About

Orbit Utils, your toolkit for easily building user interfaces for web3 applications.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages