github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/crisis/spec/02_messages.md (about) 1 <!-- 2 order: 2 3 --> 4 5 # Messages 6 7 In this section we describe the processing of the crisis messages and the 8 corresponding updates to the state. 9 10 ## MsgVerifyInvariant 11 12 Blockchain invariants can be checked using the `MsgVerifyInvariant` message. 13 14 ```go 15 type MsgVerifyInvariant struct { 16 Sender sdk.AccAddress 17 InvariantRoute string 18 } 19 ``` 20 21 This message is expected to fail if: 22 - the sender does not have enough coins for the constant fee 23 - the invariant route is not registered 24 25 This message checks the invariant provided, and if the invariant is broken it 26 panics, halting the blockchain. If the invariant is broken, the constant fee is 27 never deducted as the transaction is never committed to a block (equivalent to 28 being refunded). However, if the invariant is not broken, the constant fee will 29 not be refunded.