This is an automated archive.
The original was posted on /r/ethereum by /u/Dexaran on 2023-08-12 14:27:36+00:00.
Token Converter
Token Converter is a smart-contract based service which is designed to make ERC-20 and ERC-223 tokens interchangeable. With this service users will be able to exchange ERC-20 tokens for ERC-223 1:1 anytime. In the same way ERC-223 tokens can be exchanged back to ERC-20 version.
Formal specification: EIP-7417
Source code: TokenConverter.sol
More info about ERC-223: ERC-223 token standard frontpage
The reasons to convert ERC-20 tokens to ERC-223
ERC-223 prevents user mistakes
Is it a fear for you to lose your crypto assets due to some accident or a mistake? Well, ERC-223 token standard prevents most common user mistakes which was not possible with ERC-20.
Secure interactions with contracts
Did you know that most services on Ethereum require the user to allow them to have unlimited access to the users’ tokens by issuing an approval? For example after using Uniswap for one time it will have the access to your tokens until you manually revoke it.
It is not the best idea to give a contract full control over your wallet because smart-contract hacks are quite common. With ERC-223 tokens it is no longer required to rely on approvals and a swap can be executed by simply depositing ERC-223 tokens to the smart-contract.
ERC-223 swaps can be cheaper than ERC-20
The source code of an exchange that is compatible with ERC-20 and ERC-223 tokens:
ERC-20 swap (consumed 257K GAS)
approve (45K GAS):
swapExactTokenForCLO (212K GAS):
ERC-223 swap (consumed 220K GAS)
A transfer of ERC-223 token that encodes swapExactTokenForCLO function invocation in its _data:
220K GAS vs 257K GAS.

