The Open Runtime Module Library (ORML) is a community maintained collection of Substrate runtime modules.
- auction
- Implements a generalized auction interface, used by Acala for liquidation auctions.
- authority
- Allow more advanced permission configuration such as timelock for governance actions.
- gradually-update
- Provides way to adjust numeric parameter gradually over a period of time.
- oracle
- Allow offchain oracle providers to feed data to be consumed by onchain pallets.
- rewards
- Implements ability to calculate and distribute token staking rewards.
- traits
- Implements various utility traits including BasicCurrency, MultiCurrency, Auction and more. Used by other ORML pallets.
- asset-registry
- Register asset / token metadata including name, decimals, and XCM MultiLocation
- Partially based on the Acala’s asset-registry pallet, which includes some Acala specific code (e.g. EVM+) so not suitable for other teams.
- currencies
- Provide an unified interface to combine pallet-balances and orml-tokens
- nft
- Provide a non-fungible-token implementation
- payments
- This pallet allows users to create secure reversible payments that keep funds locked in a merchant’s account until the off-chain goods are confirmed to be received. Each payment gets assigned its own judge that can help resolve any disputes between the two parties.
- tokens
- Implements fungible tokens pallet with compatibility with Substrate tokens abstractions
- vesting
- Provides scheduled balance locking mechanism, in a graded vesting way.
- xcm-support
- Provides supporting traits, types and implementations, to support cross-chain message(XCM) integration with ORML modules.
- xcm
- Provides a way for governance body to dispatch XCM.
- xtokens
- Provide crosschain token transfer functionality.
- Used by multiple parachains for their XCM token transfer implementation.
- bencher
- Benchmarking tool using cargo bench for benchmarking
- benchmarking
- Fork of frame-benchmarking in Substrate to allow implement runtime specific benchmarks
- weight-gen
- Weight meter file generation
- weight-meter
- A low overhead dynamic weight meter
Checkout orml-workshop for example usage.
make check
- Type check the code, without std feature, excluding tests.
make check-tests
- Type check the code, with std feature, including tests.
make test
- Run tests.
ORML use Cargo.dev.toml
to avoid workspace conflicts with project cargo config. To use cargo commands in ORML workspace, create Cargo.toml
by running
cp Cargo.dev.toml Cargo.toml
, ormake Cargo.toml
, or- change the command to
make dev-check
etc which does the copy. (For the full list ofmake
commands, checkMakefile
)
ORML is part of the bigger Open-Web3-Stack
initiative, that is currently under a General Grant from Web3 Foundation. See Application details here. The 1st milestone has been delivered.
In alphabetical order