问题标签 [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.
smartcontracts - 在 ROPSTEN 和其他非主网网络上哪里可以找到 Uniswap v3 ERC20 代币和流动性池合约地址?
我正在测试一些 Uniswap v3 库,例如https://github.com/uniswap-integration/simple-uniswap-sdk/并且想知道如何在 Ropsten 网络上找到 Uniswap v3 的池和令牌地址最终用于 Optimism main 和 Kovan 测试网络。
我已经能够通过查询v3 subgraph 成功获得这些主网值。是否有可用于测试网络的子图或在哪里可以找到合约 ID?
blockchain - UniswapV2Pair.sol中关于mint、burn功能的问题
我正在研究 UniswapV2Pair.sol https://github.com/Uniswap/v2-core/blob/master/contracts/UniswapV2Pair.solmint
,我对功能和功能有一些疑问burn
。
我的理解:
- 当用户存入代币对时,
mint
函数会铸造新的流动性代币并发送给用户 - 当用户提取代币对时,
burn
函数会销毁新的流动性代币并将存入的代币对发回给用户。
我很困惑:
我对burn
上面提到的功能的粗体部分感到困惑。我认为mint
和burn
功能就像镜像(相反)功能,但mint
功能不包括将令牌对发送到交换合约的功能。但是,burn
函数使用_safeTransfer
将令牌对发送回用户。
我很困惑为什么他们设计的不对称。
ethereum - uniswapv2router如何返回WETH地址
在关于 uniswapv2router 的实现中,uniswapv2router.WETH() 返回规范的 WETH 地址。我想知道它是如何返回 WETH 地址的。我知道的一件事是,在 uniwapv2router.sol 代码中,构造函数设置了WETH
值。但是,在下面的示例中,我看不到uniswapRouter
. 抱歉新手问题!
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 等增加了复杂性。
任何想法表示赞赏!
token - uniswap v2 外围合约的问题,无法使用接口通过我自己的合约进行交换
我已经在 ropsten 测试网上部署了这段代码来测试 uniswap 交换。我正在尝试使用我的合同的“交换”功能与此数据路径进行交换:
但总是出错 - 警告!合约执行过程中遇到的错误 [已恢复]
顺便说一句 AmountOut 我正在通过我的合同功能“getAmountOutMin”这是我的合同代码
有人可以解释我做错了什么吗?
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) 美元。有什么我想念的吗?谢谢!
web3 - 合约的 Web3py 交换代币路径
我正在尝试使用swapExactETHForTokensSupportingFeeOnTransferTokens函数将令牌与 web3py 交换,其中一些令牌运行良好,在其他情况下我收到错误“执行恢复:PancakeRouter: INSUFFICIENT_OUTPUT_AMOUNT ”我正在通知参数“ amountOutMin (uint256) ”来控制滑点。我在有效和无效的代币中看到不同的是用于交换的合约的路径。
在poocoin网站上,当我进行交易时,合约路径是“ WBNB > TOKEN ”,即从BNB直接到TOKEN,当中间有一些其他合约如“ WBNB ”时,它也可以使用“ swapExactETHForTokensSupportingFeeOnTransferTokens ”功能> WUSD > TOKEN " 不起作用,这些路径更改为相同的令牌,请参见下图:
poocoin 如何识别用于将 BNB 转换为 TOKEN 的合约?如何识别我应该在参数“路径(地址[]) ”中使用的联系人
谢谢!
solidity - 锁定流动性和放弃:锁定期后仍然可以退出?
有人可以帮助我了解锁定流动性的工作原理吗?我想知道 Unicrypt 或 Trustswap 如何锁定我们的令牌:
如果我创建一个代币,添加流动性,用 unicrypt 锁定它,放弃所有权(到死地址)
锁定期过后,我还可以提现吗?
那正确吗?
合约的拥有者与锁的拥有者不一样?放弃合约只会阻止代码修改?
hardhat - Invariant failed: PRICE_BOUNDS 是什么意思?
我正在尝试创建一个 v3 uniswap 池的实例。我正在使用安全帽和孟买测试网的一个分支。
当我尝试创建池实例时:
我收到以下错误:
堆栈是:
关于追踪错误来源的任何提示?
池的参数具有以下值: