0x

MultiHop掉期購買少於指定的buyAmount而不恢復

  • January 31, 2022

在使用 0xAPI 時,我注意到當對我的本地主網分叉執行“MultiHop”交換時,它有時會在buyAmount不恢復的情況下獲得小於指定的值。

這是預期的行為嗎?我假設指定的交易buyAmount如果獲得的金額少於該金額,則應該恢復,這對於所有其他類型/流動性來源似乎都是正確的。

更多細節:這似乎只有當我設置slippagePercentage> 0 時才成立。沒有slippagePercentage交易恢復為MultiplexFeature::_multiplexMultiHopSell/UNDERBOUGHT.

但是,從 Api 文件中,我假設此 slippagePercentage 僅影響未“固定”的交易方面。(即sellAmount在這種情況下)。

例如(在發布此問題時)使用此 api 查詢: https://api.0x.org/swap/v1/quote?buyToken=0x6B3595068778DD592e39A122f4f5a5cF09C90fE2&sel lToken=0x6b175474e89094c44da98b954eedeac495271d0f&buyAmount=100000000000000000000000&slippagePercentage=0.2

我在 api 響應中得到了以下“來源”:

[
 {
   proportion: '1',
   intermediateToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
   hops: [ 'Uniswap_V3', 'SushiSwap' ],
   name: 'MultiHop'
 }
]

但是在執行交換時,它只獲得96468.20而不是指定的100000Sushi Tokens。

可以在此處找到重新執行此測試/實驗的程式碼: https ://github.com/ckoopmann/0xApiExperiments/blob/main/test/index.ts

現在應該解決這個問題。為延誤道歉

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