Check Mate
Check Mate allows to compose and setup a suite of multiple on-chain transaction checks in your smart contract account.
Created on 18th September 2022
•
Check Mate
Check Mate allows to compose and setup a suite of multiple on-chain transaction checks in your smart contract account.
The problem Check Mate solves
The Safe (formerly Gnosis Safe) allows to setup a transaction guard that performs some checks before and after the state changes when executing a transaction. Check Mate allows to set up a transaction guard that manages multiple guards, composing and ordering by priority all the on-chain transaction checks that are performed.
This adds some benefits to the initial solution:
-
Only devs who can write smart contracts can use a one-guard solution that is customized to fit their needs.
-
Having all the transaction checks in just one guard implies that it has to be updated every time the checked conditions change increasing the risk of introducing new bugs.
-
A modular solution allows to easily add and remove specific checks and build a customized check suite for your smart contract account in a no-code way for the user.
-
Creating small and specific checks as public goods that can be easily reused and composed by the community will increase the adoption of transaction guards, allowing a lot more people to benefit from them.
Challenges I ran into
- Transaction guards are critical as they could unintentionally block all the transactions that are submitted, making the funds inside of the account using them stuck forever.
- Iterating in multiple transactions guards can be not very gas efficient, although the priority order of the checks could be defined in advance.
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.