Grow Open Source Bounties Hackathons Grants Codefund Quests Kudos
Back to Grants

Token Allowance Checker





1 contributors

Your contribution goes a long way!

1 DAI contribution

+ 0 DAI match

10 DAI contribution

+ 1 DAI match

100 DAI contribution

+ 2 DAI match

1,000 DAI contribution

+ 3 DAI match

Next update : 1 month, 2 weeks ago | Last updated : 1 month, 2 weeks ago


{"ops":[{"insert":"Control your approvals"},{"attributes":{"header":1},"insert":"\n"},{"attributes":{"color":"rgba(0, 0, 0, 0.87)","link":"https://tac.dappstar.io"},"insert":"Token Allowance Checker"},{"attributes":{"color":"rgba(0, 0, 0, 0.87)"},"insert":" shows you all approvals for ERC20-compliant tokens, and the option to change the approved amount - or completely zero it."},{"insert":"\n\nThe unlimited approval problem"},{"attributes":{"header":1},"insert":"\n"},{"insert":"Many DApps have the habit of requiring you to approve effectively unlimited amount of tokens. This helps improving the user experience, as you only have to sign off an approval once and it will be enough for all future transactions.\n\nHowever this also means that the DApp (or the person/entity controlling it) can at any time transfer "},{"attributes":{"italic":true},"insert":"all of your tokens"},{"insert":", without requiring any further approval. Imagine the owner of a Spender contract changes\n\nIn addition, there is no concept of expiring approvals. Once approved, the approval will remain forever. If you do not trust a DApp or its operators anymore, there is usually no easy way to remove the approval.\n\nToken Allowance Checker is already live and running at "},{"attributes":{"link":"https://tac.dappstar.io"},"insert":"https://tac.dappstar.io"},{"insert":".\n"},{"attributes":{"header":1},"insert":"\n"},{"insert":"\n"},{"attributes":{"underline":true,"bold":true},"insert":"Grant goals"},{"attributes":{"header":1},"insert":"\n"},{"insert":"Allow to continue maintaining and extending TAC. Depending on the raised amount some tasks will be outsourced as bounties to speed up development.\n\nTop priorities:\n\n"},{"attributes":{"bold":true},"insert":"Extend functionality to cover NFTs (non-fungible tokens):"},{"insert":"\nNon-fungible tokens (e.g. ERC721) have a concept of approval that is very similar to ERC20. You can allow a spender to spend an individual NFT or just allow to spend "},{"attributes":{"italic":true},"insert":"all"},{"insert":" NFTs you own. This concept bears the same issues and risks like the ERC20 approvals, so I want to add the NFT approvals to TAC.\n\n"},{"attributes":{"bold":true},"insert":"Integrate DeFi score information:"},{"insert":"\nWork together with the team behind "},{"attributes":{"link":"https://inspect.codefi.network/"},"insert":"https://inspect.codefi.network/"},{"insert":" to add risk assessment info to spender contracts. This should help the user to evaluate if an approval is okay or should be changed\n\n"},{"attributes":{"bold":true},"insert":"Add batch mode to change multiple allowances at once:"},{"insert":"\nWith the current implementation you need to perform one transaction for each approval change. It would be much better if you can select multiple allowance entries and clear them in just one transaction. Note that this is pretty much a research topic - at the moment I am not sure how this can be accomplished.\n\n"},{"attributes":{"bold":true},"insert":"Add more/better ways to identify spender contracts:"},{"insert":"\nCurrently it is not always possible to identify who an approved spender is. Is it a DApp? A Dex? A wallet? The only hint available at the moment is the contract name retrieved from Etherscan API, which gets set by contract owner when (s)he verifies a contract on Etherscan. Not all contracts are verified on Etherscan, and sometimes the name alone is not very meaningful to the user. \nI don't have a detailed plan yet how to accomplish this task. But I'm thinking having a way to identify what entity a contract belongs to will be useful for many more use cases outside of TAC. So this could evolve into a sub-project on its own. Some food for thought on this topic:\nCreate some kind of decentralized contract metadata database/dapp? "},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Create an EIP to have a community-wide standard way to store contract meta data information?"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Leverage ENS reverse and text records?"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"},{"attributes":{"bold":true},"insert":"Overall fixes and usability improvements:"},{"insert":"\nThere are a number of open issues in the github issue tracker that will improve the user experience. Examples:\nSort allowance list ("},{"attributes":{"link":"https://github.com/TripleSpeeder/token-allowance-checker/issues/40"},"insert":"https://github.com/TripleSpeeder/token-allowance-checker/issues/40"},{"insert":")"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Support ENS Names from url ("},{"attributes":{"link":"https://github.com/TripleSpeeder/token-allowance-checker/issues/37"},"insert":"https://github.com/TripleSpeeder/token-allowance-checker/issues/37"},{"insert":")"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Show timestamp of the last interaction with/of spender ("},{"attributes":{"link":"https://github.com/TripleSpeeder/token-allowance-checker/issues/1"},"insert":"https://github.com/TripleSpeeder/token-allowance-checker/issues/1"},{"insert":")"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Improve wallet handling ("},{"attributes":{"link":"https://github.com/TripleSpeeder/token-allowance-checker/issues/28"},"insert":"https://github.com/TripleSpeeder/token-allowance-checker/issues/28"},{"insert":", "},{"attributes":{"link":"https://github.com/TripleSpeeder/token-allowance-checker/issues/29"},"insert":"https://github.com/TripleSpeeder/token-allowance-checker/issues/29"},{"insert":")"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"And many more :)"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"},{"attributes":{"bold":true},"insert":"Change dfuse subscription to the \"Pro\" tier ($99/month):"},{"insert":"\nSince there is no way to get a quick list of all allowances you ever created directly via web3 methods, TAC relies on the third-party service https://dfuse.io to get this information. They keep an index of the full ethereum blockchain that can be queried via GraphQL. \nAt the moment TAC is running on their \"Free\" tier. The number of dfuse API requests is limited. Moving to the Pro tier substantially increases the limit and makes sure the site stays functional with increasing usage.\n\n\n\n"}]}

Activity Feed