Tools for FRAME chain builders to publish chain specific offline transaction generation libraries.
The polkadot.js based txwrapper suite of packages provides chain builders with the tools to quickly create, test, and maintain a library of helper functions for offline transaction generation with their chain. End users can then use these chain specific packages to create an offline transaction workflow. (We sometimes refer to chain specific libs as txwrappers.)
For example, those looking to construct a transaction offline on Polkadot would require @substrate/txwrapper-polkadot. @substrate/txwrapper-polkadot is built by requiring @substrate/txwrapper-core, @substrate/txwrapper-registry, @substrate/txwrapper-substrate and re-exporting utilities and dispatchables relevant to Polkadot.
- @substrate/txwrapper-polkadot Helper functions for Polkadot, Kusama, Rococo and Westend offline transaction generation.
- @substrate/txwrapper-core The essentials for creating a chain specific txwrapper lib.
- @substrate/txwrapper-registry Registry creation support, catering to chains with types in @polkadot/apps-config.
- @substrate/txwrapper-substrate Selected dispatchables of Substrate pallets, to be re-exported by txwrappers (e.g. @substrate/txwrapper-polkadot).
- @substrate/txwrapper-orml Selected dispatchables of ORML pallets, to be re-exported by txwrappers (e.g. txwrapper-acala).
- @substrate/txwrapper-example Usage examples including how to construct, sign, and decode an extrinsic with @substrate/txwrapper-polkadot.
- @substrate/txwrapper-template Template package for chain builders.
- txwrapper-acala PoC of how a
FRAME
-based chain can leverage txwrapper packages to create a txwrapper. N.B. This is only for PoC usage and not intended to be published by txwrapper-core repo maintainers.
Click here to find our guide for chain builders. The guide explains how to make a chain specific txwrapper.
Install dependencies:
yarn install
Build all packages:
yarn run build
We welcome contributions!
Run all tests:
yarn run test
Run the linter:
yarn run lint
# or to automatically fix warnings:
yarn run lint --fix
Publish with lerna by running:*
yarn run deploy
N.B. Ensure you have GH_TOKEN
env variable set to a GitHub personal access token (PAT) so lerna can publish the release on github.
*The publisher will need publishing permissions to the @substrate npm org.