Module Accounts
Certain LagomChain modules have dedicated module accounts, which act as wallets controlled exclusively by their respective modules. These accounts are used to manage minting, burning, staking, and IBC transfers.
Module Accounts & Permissions
Each module account has specific permissions that define what operations it can perform.
Types of Permissions
Burner – Can burn (destroy) tokens.
Minter – Can mint (create) new tokens.
Staking – Can stake tokens on behalf of users.
These permissions ensure that only authorized modules execute key token-related operations, preventing unauthorized minting or burning.
IBC Module Accounts in LagomChain
In addition to standard module accounts, IBC transfers use specialized module accounts to escrow tokens when LagomChain is the source chain of a transfer.
How IBC Escrow Accounts Work
When an IBC transfer is initiated, the tokens are escrowed into a module account.
Each IBC connection has a unique escrow account, derived using SHA256 hashing.
The account format follows ADR 028, using the first 20 bytes of the SHA256 hash of the account name.
Example: Generating an IBC Escrow Address
Note: These IBC escrow accounts do not appear in standard queries using:
This is because module accounts are pre-defined at compile time, and dynamically generated IBC accounts are not included in the AccountKeeper's address map.
Last updated