Comments (2)
While I disagree that tokens that call into the recipient are inherently unsafe, I don't think that is relevant here since Uniswap cannot dictate how tokens function internally. Since Uniswap supports arbitrary tokens (one of its biggest selling points!), I think it needs to assume the worst and that the token will do all of the worst things possible when called.
from v1-contracts.
More broadly speaking, the Uniswap contracts incorrectly assume that the token contract being called will not call out into any third party
Imo tokens that do this are inherently unsafe and should not be used.
That said, mutex has already been added in the v2 branch
https://github.com/Uniswap/contracts-vyper/blob/v2/contracts/uniswap_exchange.vy#L66
Hopefully EIP 2200 makes it into the Istanbul (final decision this friday) so its not a huge gas hit.
from v1-contracts.
Related Issues (20)
- contracts-vyper instruction HOT 1
- getTokenToTokenPrice HOT 2
- Tokens that do no return bools do not work HOT 1
- vNext Feature Request: Moving Average Price Feed Data HOT 3
- Unknown list type HOT 1
- Market limit orders for Uniswap HOT 7
- How important is the `min_liquidity` argument when adding liquidity
- UIP 1: Optional Permissioned Liquidity Pools HOT 2
- Add support for EIP1155
- Doesn’t woks with ᴇʀᴄ20 tokens which always returns nothing. HOT 1
- What will happen in case of REVERT inside DELEGATE_CALL? HOT 4
- Support for latest Vyper compiler HOT 4
- End to End encryption of Uniswap to prevent front running HOT 3
- Bytecode: deployedBytecode or constructor?
- ABI removeLiquidity return values name collision
- Can't compile contracts on master branch, are other branch contracts okay to test on local testnet? HOT 1
- Add ERC-20 compatibility check when creating a new exchange HOT 1
- Missing ETH after failed attempt to add additional funds to UBT/ETH Liquidity pool HOT 2
- 如何将一个地址中的代币转移到另外一个地址中?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from v1-contracts.