首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UniswapV3贸易函数的编码参数

UniswapV3贸易函数的编码参数
EN

Ethereum用户
提问于 2021-09-17 14:20:04
回答 1查看 87关注 0票数 0

我试图对参数进行编码,以便通过Set TradeModule调用C1。UniswapV3ExchangeAdapter有一个名为generateDataParam的函数,它给定跳数和费用,返回进行交易调用所需的数据。我是这样称呼的:

代码语言:javascript
复制
  '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
  '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
] [ '500' ] 

它正在返回:

然而,当我试图将其输入到0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48中时,就会得到错误param.substring is not a function,这基本上是一个恢复或参数编码失败。

我用来调用trade函数的代码:

代码语言:javascript
复制
const tx = tradeModuleInstance.methods.trade(
    setTokenAddress,
    process.env.uniswapAdapter,
    sourceToken,
    sourceUnits,
    targetToken,
    minTargetUnits,
    // web3.utils.hexToBytes(generatedParams), tried this to to no avail
    Uint8Array.from(Buffer.from(generatedParams.slice(2), 'hex')),
  )

我使用的调用trade函数的全部参数是(set address编辑的):

代码语言:javascript
复制
0x[redacted] 
UniswapV3ExchangeAdapter 
0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 
1000000000 
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 
200000 
[
  192,  42, 170, 57, 178,  35, 254, 141,  10,
   14,  92,  79, 39, 234, 217,   8,  60, 117,
  108, 194,   0,  1, 244, 160, 184, 105, 145,
  198,  33, 139, 54, 193, 209, 157,  74,  46,
  158, 176, 206, 54,   6, 235,  72
]

我不知道如何从data传递这个generatedParams参数,以便UniswapV3能够使用它。有小费吗?

EN

回答 1

Ethereum用户

发布于 2021-09-22 08:49:23

我成功地将generatedParams参数直接应用到trade函数中,而没有进行任何编码,从而成功地修复了这个问题。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/110112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档