Part 1. Factory构架改变(单例(singleton)合约) UniswapV2、V3的模式是通过一个主合约(Factory)创建无数个子合约(Pair)。其中Factory只记载关于Pair的极少量信息,并不参与swap交易内部活动,也不持有各种token。 在V2中,Factory只记载简单信息,如Pair的地址、Pair内包含的双方Token都是哪些Token。在V3中,Factory记载的信息稍微复杂一些,记载如Pair地址、Pair费率、Pair内包含的Token种类等信息。 在V4中,模式进行了更改。V4将在主合约(Manager singleton)中进行swap的具体活动,同时将持有各种token如USDT、WETH等,而不是由Pair持有各种token。 在V2和V3中,假如用户想进行多跳交易,比如WETH->USDT->USDC这样的交易,用户需要借助另一个合约(Router合约),因为只有这样才能保证所有交易都在一个交易内完成,以及可以保证在滑点过大或其他不满足交易条件的时候回滚所有交易(交易的原子性)。 但是V2和V3这样的做法会导致额外的成本...