You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is to discuss an on chain safety net that secures tokens and important data
Background:
In the Cosmos-SDK modules can register for a callback to verify that their state is consistent. On any failure the chain is stopped by a panic (in the crisis end blocker). These operations run with an infinite gas meter and do ensure data integrity.
I think we have a similar use case in our contracts. For example the amount locked in the valset contract must not be < sum of all staked amounts and pending claims.
Steps can be
Identify and document relevant conditions that will always be true
define how a callback should be handled by a contract:
should it check it's owns state only or also be able to query other contracts/ native modules?
how would the callback message look like?
runs in a read only context
Add a new privilege to tgrade (check_invariants for example) with sudo call to registered contracts
should we integrate with crisis or do in own end blocker?
The text was updated successfully, but these errors were encountered:
This issue is to discuss an on chain safety net that secures tokens and important data
Background:
In the Cosmos-SDK modules can register for a callback to verify that their state is consistent. On any failure the chain is stopped by a panic (in the
crisis
end blocker). These operations run with an infinite gas meter and do ensure data integrity.I think we have a similar use case in our contracts. For example
the amount locked in the valset contract must not be < sum of all staked amounts and pending claims.
Steps can be
Identify and document relevant conditions that will always be true
define how a callback should be handled by a contract:
Add a new privilege to tgrade (
check_invariants
for example) with sudo call to registered contractsThe text was updated successfully, but these errors were encountered: