Partner Onboarding

This document describes how partners can integrate their own FRAME pallets and/or business logic into the taler runtime, pass quality checks and prepare for release.

Prerequisites

The pallet repository supports no_std and has a std feature.
Weights and benchmarking are implemented or ready for generation.
License is compatible (Apache-2.0/Permissive).

Integration Steps

Dependency in runtime/Cargo.toml
- See partner-pallets.html, section "Adding dependency".
Implementing Config in runtime/src/lib.rs
- Define constants/traits and WeightInfo.
Including in construct_runtime!
- Unique pallet index, no conflicts.
Genesis (if needed)
- Initialization in node/src/chain_spec.rs.
Runtime API / RPC (optional)
- Add runtime-api and server RPC in node/src/rpc.rs.
Migrations
- Implement OnRuntimeUpgrade, include in runtime migrations aggregator.

Quality Requirements

Tests: unit/integration (cargo test), negative scenarios, storage invariants.
Weights: current for target profile; benchmarks are repeatable.
Security: no unsafe unchecked paths, Origin/Permissions validation.
Documentation: brief pallet README and list of extrinsics with events/errors.

Review Process

PR to main repository with checklist:
- [ ] Build cargo build --release
- [ ] Tests cargo test
- [ ] Benchmarks/weights updated
- [ ] Migrations, if required
- [ ] Updated spec_version when changing logic

Deployment and Environments

Dev: local network (--dev).
Testnet: taler-dev-raw.json, multi-node setup.
Prod: production profile, authority keys, telemetry.

Support

Questions — in repository issues/discussions. Critical vulnerabilities — through private channel.