Implement adapter and test templates
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
pragma experimental ABIEncoderV2;
|
||||
pragma solidity ^0.8.13;
|
||||
|
||||
import {IERC20, ISwapAdapter} from "src/interfaces/ISwapAdapter.sol";
|
||||
|
||||
/// @title TemplateSwapAdapter
|
||||
/// @dev This is a template for a swap adapter.
|
||||
/// Rename it to your own protocol's name and implement it according to the
|
||||
/// specification.
|
||||
contract TemplateSwapAdapter is ISwapAdapter {
|
||||
function price(
|
||||
bytes32 _poolId,
|
||||
IERC20 _sellToken,
|
||||
IERC20 _buyToken,
|
||||
uint256[] memory _specifiedAmounts
|
||||
) external view override returns (Fraction[] memory _prices) {
|
||||
revert NotImplemented("TemplateSwapAdapter.price");
|
||||
}
|
||||
|
||||
function swap(
|
||||
bytes32 poolId,
|
||||
IERC20 sellToken,
|
||||
IERC20 buyToken,
|
||||
OrderSide side,
|
||||
uint256 specifiedAmount
|
||||
) external returns (Trade memory trade) {
|
||||
revert NotImplemented("TemplateSwapAdapter.swap");
|
||||
}
|
||||
|
||||
function getLimits(bytes32 poolId, IERC20 sellToken, IERC20 buyToken)
|
||||
external
|
||||
returns (uint256[] memory limits)
|
||||
{
|
||||
revert NotImplemented("TemplateSwapAdapter.getLimits");
|
||||
}
|
||||
|
||||
function getCapabilities(bytes32 poolId, IERC20 sellToken, IERC20 buyToken)
|
||||
external
|
||||
returns (Capability[] memory capabilities)
|
||||
{
|
||||
revert NotImplemented("TemplateSwapAdapter.getCapabilities");
|
||||
}
|
||||
|
||||
function getTokens(bytes32 poolId)
|
||||
external
|
||||
returns (IERC20[] memory tokens)
|
||||
{
|
||||
revert NotImplemented("TemplateSwapAdapter.getTokens");
|
||||
}
|
||||
|
||||
function getPoolIds(uint256 offset, uint256 limit)
|
||||
external
|
||||
returns (bytes32[] memory ids)
|
||||
{
|
||||
revert NotImplemented("TemplateSwapAdapter.getPoolIds");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user