Auto-generated, multi-language client types for the XION blockchain. Regenerated on every xion release — do not edit generated files; improve the tooling instead.
| Language | Output | Published as |
|---|---|---|
| TypeScript | ts/ |
npm @burnt-labs/xion-types |
| Python | python/ |
PyPI xion-types |
| Rust | rust/ |
crates.io xion-types |
| Ruby | ruby/ |
RubyGems xion_types |
| Kotlin | kotlin/ |
Maven Central io.github.burnt-labs:xion-types-kotlin |
| Swift | swift/ |
CocoaPods XionTypes |
| C, C++, C#, Java, Objective-C, PHP, Scala | <lang>/ |
— (generated, unpublished) |
Proto-derived reference docs are generated into docs/.
Sources are pulled from BSR at generation time — no git submodules required. Configured in scripts/proto-sources.conf:
github.com/cosmos/ibc-apps(packet-forward-middleware, git)buf.build/cosmos/ibcbuf.build/cosmwasm/wasmdbuf.build/cosmos/cosmos-sdkbuf.build/burnt-labs/abstractaccountbuf.build/burnt-labs/tokenfactorybuf.build/burnt-labs/xion(pinnable viaBSR_MODULE/XION_BSR_MODULE)
Xion contracts (TypeScript client types only) are fetched from burnt-labs/contracts at release time.
xion release published
└─▶ release.yaml generate all languages in parallel, open PR, enable auto-merge
└─▶ auto-tag.yaml on merge: cut v0.<xion_major>.<patch>-<xion_short>-<contracts_short>
└─▶ publish.yaml fan out to publish-{ts,python,rust,ruby,kotlin,swift}.yaml
See .github/workflows/README.md for the full workflow reference and tag scheme.
Requires Docker (builds a pinned proto-builder image). No Go or language toolchains needed on the host.
# One language, specific xion version
make proto-gen-ts BSR_MODULE=buf.build/burnt-labs/xion:v29.0.0
# Any language: c, cpp, csharp, docs, java, kotlin, objc, php, python, ruby, rust, scala, swift, ts
make proto-gen-pythonWithout Docker, ./scripts/proto-gen-ext.sh <lang> works too, but requires buf and each language's plugins on $PATH.
See ts/USAGE.md for import rules, the cosmjs bigint-compatibility split, and integration with xion.js.