Skip to content

Repository files navigation

Wire Libraries TypeScript

A monorepo containing shared TypeScript libraries for Wire applications, providing cross-platform utilities for logging, type guards, async helpers, blockchain SDK primitives, and protobuf code-generation tooling.

Packages

Package Description npm
@wireio/shared Core shared utilities (logging, guards, helpers) npm
@wireio/shared-web Web-specific utilities private
@wireio/shared-node Node.js-specific utilities private
@wireio/sdk-core Wire blockchain SDK core types, primitives, signing helpers, generated sysio contract proxy, and domain workflows such as multisig and reserves npm
@wireio/sdk-outpost Strictly typed Ethereum and Solana outpost clients consuming source-owned artifact libraries npm
@wireio/wallet-ext-sdk Client SDK for the Wire Wallet browser extension npm
@wireio/wallet-browser-ext Chrome extension developer wallet for Wire private

The sdk-outpost package consumes exact published versions of the Ethereum and Solana artifact libraries, including their ethers v6 factories and Anchor types. Chain bindings are generated and verified by those producer repos, not inside this monorepo. An internal compile-time artifact-suite registry selects compatible producer bindings from caller-supplied deployment profiles without owning endpoints or environment configuration.

Examples

Example Description
web-logging-example Browser-based logging demo using @wireio/shared

Requirements

  • Node.js >= 24
  • pnpm >= 9

Getting Started

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Build in watch mode
pnpm build:dev

# Run tests
pnpm test

Publishing

GitHub Actions publishes non-private workspace packages to npm with provenance. Each published package manifest must keep repository.url set to https://github.com/Wire-Network/wire-libraries-ts or npm will reject provenance validation.

Project Structure

wire-libraries-ts/
├── packages/
│   ├── shared/              # Core utilities (logging, guards, helpers)
│   ├── shared-web/          # Web-specific utilities
│   ├── shared-node/         # Node.js-specific utilities
│   ├── sdk-core/            # Wire blockchain SDK core
│   ├── sdk-outpost/         # Typed external-chain outpost SDK
│   ├── wallet-ext-sdk/      # Wallet extension client SDK
│   ├── wallet-browser-ext/  # Chrome extension wallet
│   ├── protoc-gen-solana/   # protoc plugin → Rust/Solana
│   ├── protoc-gen-solidity/ # protoc plugin → Solidity
│   └── protobuf-bundler/    # CLI for proto → package pipeline
├── examples/
│   └── web-logging-example/
├── etc/
│   └── tsconfig/            # Shared TypeScript configurations
└── tsconfig.json            # Root config with project references

TypeScript Configuration

The monorepo uses project references with shared base configs in etc/tsconfig/:

  • tsconfig.base.json — ESM packages (DOM + ESNext)
  • tsconfig.base.cjs.json — CommonJS packages (Node-only)
  • tsconfig.base.jest.json / tsconfig.base.jest.json — Jest transforms

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages