问题标签 [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 投票
3 回答
222 浏览

ethereum - 在 Brownie、Hardhat 或 Truffle 测试套件中部署 Uniswap v2 / Sushiswap 或类似软件

我正在编写一个自动化测试套件,需要针对 Uniswap v2 风格的自动市场标记测试功能:进行掉期并使用不同的订单路由。因此,需要部署路由器。

是否有任何现有示例说明如何在 Brownie 中部署可测试的 Uniswap v2 样式交换?因为 Brownie 是少数智能合约开发者,有 Truffle 或 Hardhat 的例子吗?

我也在探索使用主网分叉的选项,但我不确定这个操作是否太昂贵(太慢)而无法用于单元测试。

0 投票
0 回答
75 浏览

python-3.x - 自省结果无效或不完整

当我尝试运行此订阅代码时,我收到错误消息:- TypeError:自省结果无效或不完整。确保您正在传递自省响应的“数据”属性,并且没有同时返回“错误”:无。

我能做些什么来纠正这个问题?

0 投票
0 回答
39 浏览

node.js - Uniswap V3 AlphaRouter - “无法从任何提供者那里获取子图池”

我正在尝试将 WETH 与之前在 Arbitrum Rinkeby 上创建的 Uniswap V3 池中的 MyToken 交换。但是,在调用 AlphaRouter.route 时,我收到以下错误消息

还缺少什么可以交换?我需要创建什么?

我的目标是将 WETH 交换为 MyToken 的给定输出。

我试图在完成我的池后简单地在 Uniswap V3 上进行交换。有任何想法吗?

0 投票
0 回答
63 浏览

python - 尝试创建 Unisocks 副本时出现问题

我正在尝试构建 Unisocks 的副本(https://github.com/Uniswap/unisocks-erc721)并且有几个问题。

  1. 这对初学者来说有多难?
  2. “安装依赖项”有什么作用?尝试这样做时遇到错误,但似乎能够执行下一步:运行测试
  3. 这是我得到的错误:
0 投票
1 回答
68 浏览

ethereum - Solidity - 外部合约调用不起作用

所以,我是刚接触solidity的新手,我一直在尝试制作一个可以调用另一个合同的合同。

我发现了一些描述这个确切问题的文章,例如:https ://soliditydeveloper.com/uniswap2

尽管如此,即使使用提供的代码我也无法使其工作。

交易通过,BNB 被转移到合约中,尽管调用者没有收到它应该收到的代币,合约也没有。

这是我正在处理的代码:

这是一个交易示例:https ://testnet.bscscan.com/tx/0x0b2849412825dc9c279a102161db4db945ffc54bb4a47538f2a25a477c2c6fe4

0 投票
2 回答
158 浏览

solidity - 如何在 Truffle 测试套件中与 Uniswap V2 交互?

我正在寻找一种使用 Truffle 创建自动化测试套件的方法,该套件可以测试我的智能合约与 Uniswap V2 的交互。Uniswap 文档简要提到了使用 Truffle 进行测试,但没有提供任何示例。我希望使用带有 ganache 的主网分叉对其进行测试。

我猜这与这个问题的公认答案类似,但我特别在寻找一种使用 Truffle 和 web3.js 的方法。

例如,如果我正在测试以下合约:

我将如何创建一个单元测试来验证是否将swapExactETHForTokens()ETH换成 DAI?对于_uniswap我一直在使用UniswapV2Router02的价值。

任何帮助将不胜感激。

0 投票
0 回答
18 浏览

smartcontracts - Pancake Swap 智能合约交易失败,错误为 INSUFFICIENT_B_AMOUNT

当尝试在此合约上写入 addLiquidityEth 时,交易失败并出现错误 Fail with error 'PancakeRouter: INSUFFICIENT_B_AMOUNT'。为什么是这样?

输入是:

  • addLiquidityEth: .0171
  • token (address): 0x32f7f735D4Fb03f92F81562bf69B1dEA72181FCa
  • amountTokenDesired (uint256): 100000000000000000000
  • amountTokenMin (uint256): 100000000000000000000
  • amountETHMin (uint256): 171000000000000000
  • to (address): 0x1ef47b1fb42a2a3872e33F18b629e559648299d7
  • deadline (uint256): 1645863301

我觉得解决方案非常简单,就像我没有允许 PancakeSwap 或其他东西使用我的资金......但不应该包含在这篇文章中,或者我在能够写之前错过了一步到这个功能?

0 投票
0 回答
23 浏览

uniswap - Uniswap toSignificant() 方法

目前我正在尝试在不使用子图的情况下从池中获取现货价格,但是,有一个我无法弄清楚的功能

Uniswap 文档参考

以 USDC/ETH 池为例,获取 USDC 期限 (ETH/USDC) 中的 ETH 价格点

ToSignificant方法为我做了所有的技巧,但我对引擎盖下的精确数学计算感到好奇。上面是发送查询时返回的对象,所以我的问题是 如何 通过上面给定的价格对象的计算得到Price.ToSignificant()返回的结果“0.0003766630711”

0 投票
1 回答
20 浏览

token - 如何收回对 uniswapV3 池的控制权

早些时候,我在 0x779084304ff90e8be79d5c4dbd1ca323b9ac555e 发布了一个令牌,它已在 uniswapV3 交易所上市。由于钱包被盗,我做了一个 transferOwnership 到一个新的钱包,但是没有转移池。最后,我发布了旧钱包的助记词。有人使用 setApprovalForAll 来转移我的池的所有权。我怎样才能找回我的游泳池?

0 投票
1 回答
75 浏览

ethereum - TypeError:“msg.value”和“callvalue()”只能用于应付公共函数

在我的合同中,我尝试使用 Uniswap 的swapExactETHForTokens()功能将 Eth 换成 Dai:

但是在这条线上swapExactETHForTokens()

Remix IDE 显示以下错误:

我很困惑,因为在顶部我已经swapExactETHForTokens()在 IUniswap 界面中声明了应付账款。

此错误的搜索结果显示为空白,所以我认为在这里询问会很好。我怎样才能解决这个问题?