Skip to main content

Governance-regulated Foreign Token Transfers

Overview

Foreign tokens can significantly impact the network's economy if they are stolen or originate from a compromised network (i.e. Luna). For instance, should a token experience sudden supply exploitation, it could pose a serious risk to the network's spam protection mechanism if used for fee payments. To mitigate this risk, KIRA’s governance has the ability to create and manage blacklist and whitelist filters for foreign token transfers. These filters can be enabled or disabled through the enable_token_whitelist and enable_token_blacklist network properties, and their contents are curated through dedicated governance proposals. In the event that a foreign network becomes compromised and its tokens are deposited into KIRA, these filters can be used to recover funds through a planned hard fork. This process is similar to funds recovery in other Proof-of-Stake and Proof-of-Work chains, but offers on-chain signaling of the network governance's intentions.

Filters Mechanism

When the enable_token_whitelist network property is set to true, SEKAI will check whether a given token is whitelisted before allowing it to be transferred. Similarly, when the enable_token_blacklist network property is set to true, SEKAI will check whether a given token is blacklisted before allowing it to be transferred. These checks are performed during the AnteHandler phase of transaction processing.

If a token is not on the whitelist (in the case of enable_token_whitelist being set to true) or is on the blacklist (in the case of enable_token_blacklist being set to true), then the transaction will fail validation during the AnteHandler phase, and the transaction will not be broadcasted to the network or included in any block.

Parameters

Incoming

CLI Syntax & Examples

note

Each CLI command and proposal process in KIRA requires specific permissions. These permissions must be added to the account's whitelist or obtained as sudo permissions for direct changes. Refer to the Roles & Permissions documentation for more details.

note

$SIGNER represents the transaction signer's account name or address. For instructions on setting common flags as environment variables, such as $FLAGS_TX and $FLAGS_QR, see the CLI Guide page.

Transactions

There is no transactions other than the governance proposals for this sub-module.