Let's go through the process of adding support for a new marketplace, in this case taking LooksRare as an example.
- Update core SDK
- Create helper classes/methods for parsing, validating and formatting the native order type of the new marketplace. This is how the LooksRare integration is implemented.
- Update the router (both the contract and the filling logic) to handle the new order type.
- Add extensive unit and integration tests for the previous changes.
- Update backend logic
- Update any order posting APIs (eg.
POST /order
,POST /orders
) to accept the new order type (example here) - Add any needed normalization logic (the Reservoir backend normalizes the orders from all supported marketplaces into a common generic format) (example here).
- Update any execute APIs (eg.
GET /execute/list
,GET /execute/buy
) to understand the new order type (filling and also building orders of the newly added type) (example here).