Files
smom-dbis-138/contracts/dex/DVMFactoryAdapter.sol
2026-03-02 12:14:09 -08:00

39 lines
1.1 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
/**
* @title DVMFactoryAdapter
* @notice Wraps DODO DVMFactory.createDODOVendingMachine as createDVM for DODOPMMIntegration
* @dev DODOPMMIntegration expects IDODOVendingMachine.createDVM(); official DODO uses createDODOVendingMachine.
*/
interface IDVMFactoryOfficial {
function createDODOVendingMachine(
address baseToken,
address quoteToken,
uint256 lpFeeRate,
uint256 i,
uint256 k,
bool isOpenTWAP
) external returns (address newVendingMachine);
}
contract DVMFactoryAdapter {
IDVMFactoryOfficial public immutable dodoFactory;
constructor(address _dodoFactory) {
require(_dodoFactory != address(0), "zero factory");
dodoFactory = IDVMFactoryOfficial(_dodoFactory);
}
function createDVM(
address baseToken,
address quoteToken,
uint256 lpFeeRate,
uint256 i,
uint256 k,
bool isOpenTWAP
) external returns (address dvm) {
return dodoFactory.createDODOVendingMachine(baseToken, quoteToken, lpFeeRate, i, k, isOpenTWAP);
}
}