Tokens

未能填寫 0x 報價

  • July 30, 2021

我正在嘗試填寫從 0x API 獲得的報價:

const qs = createQueryString({
  sellToken: 'TUSD',
  buyToken: 'WETH',
  sellAmount: BigInt(882693 * 10 ** 18)
}); 

..但交易恢復,即使在成功獲得報價後(接受者有賣出餘額,已授予津貼,費用值為 0)。

網址:https ://api.0x.org/swap/v1/quote?sellToken=TUSD&buyToken=WETH&sellAmount=882693000000000051118080&slippagePercentage=0.8

如果我修改sellAmount

  1. BigInt(882693 * 10 ** 12): 掉期執行但交易量較少(顯然因為 TUSD 是 18 位小數)。
  2. 882693 * 10 ** 18: 甚至沒有得到報價(在 上引發錯誤sellAmount)。
  3. 882693: 和1一樣的問題。

例如,如果我includedSources: 'Uniswap_V2'在報價中添加 ,則掉期會執行,但交易量較少,而order報價中只有一個:

在此處輸入圖像描述

但是在執行原始報價時,我得到了兩個orders,所以我認為這是失敗的地方。

在此處輸入圖像描述

如何從有兩個的 API 中填寫此報價orders?我查看了 API 文件,但找不到答案。

謝謝您的幫助!

解決方案:

我的合約是一個安全帽叉,從主網將區塊固定到舊狀態,並且 0x API 向目前狀態發對外連結下請求,因此報價中出現的流動性與合約旨在填充的流動性不同。

可能是並且最有可能是它失敗的原因,因為當我在通話中加倍汽油並檢查 -執行時所採取gasleft()的數量gas,它大約是 90k - 失敗後 - 當我超過 1M 時gas來電。

引用自:https://ethereum.stackexchange.com/questions/103911