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.
| Package | Description | npm |
|---|---|---|
@wireio/shared |
Core shared utilities (logging, guards, helpers) | |
@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 |
|
@wireio/sdk-outpost |
Strictly typed Ethereum and Solana outpost clients consuming source-owned artifact libraries | |
@wireio/wallet-ext-sdk |
Client SDK for the Wire Wallet browser extension | |
@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.
| Example | Description |
|---|---|
web-logging-example |
Browser-based logging demo using @wireio/shared |
- Node.js >= 24
- pnpm >= 9
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Build in watch mode
pnpm build:dev
# Run tests
pnpm testGitHub 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.
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
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
MIT