上次我们在研究 router 合约的时候, 有一个 removeLiquidityWithPermit 函数[2], 今天讲讲它和 Pair 的 permit 方法
UnitSwapPair 合约是一种...注意这里为了避免重放攻击, 在 hash 过程中还附加了很多信息, 例如 DOMAIN_SEPARATOR 和 PERMIT_TYPEHASH,
其中 DOMAIN_SEPARATOR 包含了本条链的...deadline)")
这两个变量被添加到签名信息中, 目的是让这个签名只能用于本条链, 本合约, 本功能(Permit)使用, 从而避免这个签名被拿到其他合约或者其他链的合约实施重放攻击
这个 permit...我们只要按照 permit 的检验流程相同的算法进行 hash, 然后对 hash 后的数据用自己的私钥签名就可以了....:
在前面的交易算法中我们注意到, Router 的每个 swapXXX 函数中, 指定的不是 输入币种和输出币种, 而是一地址的数组 path[], 例如:
function swapExactTokensForTokens