0x

如何使用 V4 API 和合約從我的合約中填寫訂單?

  • October 5, 2021

我正在嘗試通過使用 0x V4 API 和 Mainnet 上的契約來填寫契約中的訂單。

到目前為止,我猜我應該在這個契約中呼叫 batchFill 函式。

https://etherscan.io/address//0xdef1c0ded9bec7f1a1670819833240f027b25eff#writeProxyContract

但我不知道我需要將哪些數據傳遞給“fillData(元組)”。有人可以幫我嗎?此外,我發現“exchangeProxy”合約已部署到 Polygon 網路,但界面似乎不同。如何在 Polygon 網路上填寫訂單?

https://polygonscan.com/address/0xdef1c0ded9bec7f1a1670819833240f027b25eff#writeProxyContract

我正在使用這樣的 API 呼叫來獲取訂單資訊。

https://api.0x.org/sra/v4/orderbook?baseToken=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"eToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&perPage=1000

我在這裡找到了 v4 合約地址

https://protocol.0x.org/en/latest/basics/addresses.html#exchange-v4 https://github.com/0xProject/protocol/blob/development/packages/contract-addresses/addresses.json

謝謝,

幾件事。

  1. Etherscan 的 Exchange 代理 ABI 錯誤,因此不要將其用作參考。您感興趣的功能的實際介面可以在這里這裡找到(它們都存在於同一個0xdef1c0ded9bec7f1a1670819833240f027b25eff地址上)。
  2. batchFillLimitOrders()用於填寫多個訂單。如果您只是想完成一個訂單,您只需呼叫fillLimitOrder().
  3. 否則,該過程相當典型:在 Exchange 代理0xdef1c0ded9bec7f1a1670819833240f027b25eff上為您出售的代幣(接受者代幣)設置限額,然後呼叫fillLimitOrder()該訂單。

更多資訊可以在這裡找到https://protocol.0x.org/en/latest/basics/functions.html

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