问题标签 [uniswap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
126 浏览

smartcontracts - 在 ROPSTEN 和其他非主网网络上哪里可以找到 Uniswap v3 ERC20 代币和流动性池合约地址?

我正在测试一些 Uniswap v3 库,例如https://github.com/uniswap-integration/simple-uniswap-sdk/并且想知道如何在 Ropsten 网络上找到 Uniswap v3 的池和令牌地址最终用于 Optimism main 和 Kovan 测试网络。

我已经能够通过查询v3 subgraph 成功获得这些主网值。是否有可用于测试网络的子图或在哪里可以找到合约 ID?

0 投票
1 回答
109 浏览

blockchain - UniswapV2Pair.sol中关于mint、burn功能的问题

我正在研究 UniswapV2Pair.sol https://github.com/Uniswap/v2-core/blob/master/contracts/UniswapV2Pair.solmint ,我对功能和功能有一些疑问burn

我的理解:

  • 当用户存入代币对时,mint函数会铸造新的流动性代币并发送给用户
  • 当用户提取代币对时,burn函数会销毁新的流动性代币并将存入的代币对发回给用户

我很困惑:

我对burn上面提到的功能的粗体部分感到困惑。我认为mintburn功能就像镜像(相反)功能,但mint功能不包括将令牌对发送到交换合约的功能。但是,burn函数使用_safeTransfer将令牌对发送回用户。

我很困惑为什么他们设计的不对称。

0 投票
1 回答
67 浏览

ethereum - uniswapv2router如何返回WETH地址

在关于 uniswapv2router 的实现中,uniswapv2router.WETH() 返回规范的 WETH 地址。我想知道它是如何返回 WETH 地址的。我知道的一件事是,在 uniwapv2router.sol 代码中,构造函数设置了WETH值。但是,在下面的示例中,我看不到uniswapRouter. 抱歉新手问题!

0 投票
1 回答
495 浏览

ethereum - 在scaffold-eth 上实现Uniswap v3 API 单交换示例 - 错误:无法估计gas

使用scaffold-eth来实现uniswap 文档中的这个单一交换示例 - https://docs.uniswap.org/protocol/guides/swaps/single-swaps

几乎只是复制并粘贴了代码,并且能够成功地将其部署到 rinkeby:

还学会了编辑我的部署程序以添加构造函数的参数,并确保从此处传递 SwapRouter 地址:

这一切都奏效了,我可以在我的本地脚手架-eth 上的调试控制台中看到这一点,在 rinkeby 上运行:

在此处输入图像描述

我还确保我的钱包中有足够的资金用于加油等:

在此处输入图像描述

当我尝试在 swapExactInputSingle 函数中为任意数量的 DAI 发送时,每次都会收到以下错误:

我一点击发送就收到此错误,并且从未提示我批准我的 DAI 或其他任何内容。其他简单的合约也有效,我能够在 Rinkeby 上正确发送交易,所以假设这是由于使用 Uniswap API 等增加了复杂性。

任何想法表示赞赏!

0 投票
0 回答
109 浏览

token - uniswap v2 外围合约的问题,无法使用接口通过我自己的合约进行交换

我已经在 ropsten 测试网上部署了这段代码来测试 uniswap 交换。我正在尝试使用我的合同的“交换”功能与此数据路径进行交换:

但总是出错 - 警告!合约执行过程中遇到的错误 [已恢复]

顺便说一句 AmountOut 我正在通过我的合同功能“getAmountOutMin”这是我的合同代码

有人可以解释我做错了什么吗?

0 投票
1 回答
77 浏览

blockchain - Uniswap V3 sqrtPrice 用于 ETH/DAI 和 ETH/USDT,ETH/USDC 大不相同

我使用 IUniswapV3PoolState.slot0 返回 sqrtPriceX96 并勾选 Uniswap V3 中的不同对。结果对于 ETH/DAI 来说是非常合理的。但对于 ETH/USDT 和 ETH/USDC,情况就大不相同了。这不是因为代币的顺序,而是价格的最终结果(在考虑了平方根和 Q96 之后)相差 10^(-12)。所以我会得到大约 3200 美元的 ETH/DAI,而 ETH/USDT 和 ETH/USDC 会得到 3200*10^(-12) 美元。有什么我想念的吗?谢谢!

0 投票
0 回答
83 浏览

web3 - 合约的 Web3py 交换代币路径

我正在尝试使用swapExactETHForTokensSupportingFeeOnTransferTokens函数将令牌与 web3py 交换,其中一些令牌运行良好,在其他情况下我收到错误“执行恢复:PancakeRouter: INSUFFICIENT_OUTPUT_AMOUNT ”我正在通知参数“ amountOutMin (uint256) ”来控制滑点。我在有效和无效的代币中看到不同的是用于交换的合约的路径。

在poocoin网站上,当我进行交易时,合约路径是“ WBNB > TOKEN ”,即从BNB直接到TOKEN,当中间有一些其他合约如“ WBNB ”时,它也可以使用“ swapExactETHForTokensSupportingFeeOnTransferTokens ”功能> WUSD > TOKEN " 不起作用,这些路径更改为相同的令牌,请参见下图:

在此处输入图像描述在此处输入图像描述在此处输入图像描述

poocoin 如何识别用于将 BNB 转换为 TOKEN 的合约?如何识别我应该在参数“路径(地址[]) ”中使用的联系人

谢谢!

0 投票
0 回答
66 浏览

web3 - pancakeswap swapExactTokensForETH 如何将 wbnb 转入 bnb

我使用合约功能swapExactTokensForETH将一些代币兑换成 bnb,但结果是我只得到了 wbnb 而不是 bnb。

我在浏览器中查找了事务,发现了我的代码和 pancakeswap 的区别:

这是我的代码所做的:

在此处输入图像描述

这是 pancakeswap 所做的: 这是 pancakeswap 所做的

如何修复我的代码以将 wbnb 转移到 bnb?

0 投票
0 回答
37 浏览

solidity - 锁定流动性和放弃:锁定期后仍然可以退出?

有人可以帮助我了解锁定流动性的工作原理吗?我想知道 Unicrypt 或 Trustswap 如何锁定我们的令牌:

如果我创建一个代币,添加流动性,用 unicrypt 锁定它,放弃所有权(到死地址)

锁定期过后,我还可以提现吗?

那正确吗?

合约的拥有者与锁的拥有者不一样?放弃合约只会阻止代码修改?

0 投票
0 回答
55 浏览

hardhat - Invariant failed: PRICE_BOUNDS 是什么意思?

我正在尝试创建一个 v3 uniswap 池的实例。我正在使用安全帽和孟买测试网的一个分支。

当我尝试创建池实例时:

我收到以下错误:

堆栈是:

关于追踪错误来源的任何提示?

池的参数具有以下值: