some changes & rename

This commit is contained in:
mingda
2021-09-10 19:37:06 +08:00
committed by owen05
parent 8d40444a89
commit 551e7063dd
11 changed files with 502 additions and 381 deletions

View File

@@ -0,0 +1,16 @@
/*
Copyright 2021 DODO ZOO.
SPDX-License-Identifier: Apache-2.0
*/
pragma solidity 0.6.9;
interface IController {
function getMintFeeRate(address filterAdminAddr) external view returns (uint256);
function getBurnFeeRate(address filterAdminAddr) external view returns (uint256);
function isEmergencyWithdrawOpen(address filter) external view returns (bool);
}

View File

@@ -1,16 +0,0 @@
/*
Copyright 2021 DODO ZOO.
SPDX-License-Identifier: Apache-2.0
*/
pragma solidity 0.6.9;
interface IControllerModel {
function getMintFee(address filterAdminAddr) external view returns (uint256);
function getBurnFee(address filterAdminAddr) external view returns (uint256);
function getEmergencySwitch(address filter) external view returns (bool);
}

View File

@@ -0,0 +1,45 @@
/*
Copyright 2021 DODO ZOO.
SPDX-License-Identifier: Apache-2.0
*/
pragma solidity 0.6.9;
interface IFilter {
function isNFTValid(address nftCollectionAddress, uint256 nftId) external view returns (bool);
function _NFT_COLLECTION_() external view returns (address);
function queryNFTIn(uint256 NFTInAmount)
external
view
returns (uint256 rawReceive, uint256 received);
function queryNFTTargetOut(uint256 NFTOutAmount)
external
view
returns (uint256 rawPay, uint256 pay);
function queryNFTRandomOut(uint256 NFTOutAmount)
external
view
returns (uint256 rawPay, uint256 pay);
function ERC721In(uint256[] memory tokenIds, address to) external returns (uint256 received);
function ERC721TargetOut(uint256[] memory indexes, address to) external returns (uint256 paid);
function ERC721RandomOut(uint256 amount, address to) external returns (uint256 paid);
function ERC1155In(uint256[] memory tokenIds, address to) external returns (uint256 received);
function ERC1155TargetOut(
uint256[] memory indexes,
uint256[] memory amounts,
address to
) external returns (uint256 paid);
function ERC1155RandomOut(uint256 amount, address to) external returns (uint256 paid);
}

View File

@@ -10,16 +10,16 @@ pragma solidity 0.6.9;
interface IFilterAdmin {
function _OWNER_() external returns (address);
function _CONTROLLER_MODEL_() external returns (address);
function _CONTROLLER_() external returns (address);
function init(
address owner,
uint256 initSupply,
string memory name,
string memory symbol,
uint256 fee,
address mtFeeModel,
address defaultMaintainer,
uint256 feeRate,
address controller,
address maintainer,
address[] memory filters
) external;
@@ -27,7 +27,21 @@ interface IFilterAdmin {
function burnFragFrom(address from, uint256 rawAmount) external returns (uint256 paid);
function queryChargeMintFee(uint256 rawAmount) external view returns (uint256 poolFee, uint256 mtFee);
function queryMintFee(uint256 rawAmount)
external
view
returns (
uint256 poolFee,
uint256 mtFee,
uint256 afterChargedAmount
);
function queryChargeBurnFee(uint256 rawAmount) external view returns (uint256 poolFee, uint256 mtFee);
function queryBurnFee(uint256 rawAmount)
external
view
returns (
uint256 poolFee,
uint256 mtFee,
uint256 afterChargedAmount
);
}

View File

@@ -1,32 +0,0 @@
/*
Copyright 2021 DODO ZOO.
SPDX-License-Identifier: Apache-2.0
*/
pragma solidity 0.6.9;
interface IFilterModel {
function isNFTValid(address nftCollectionAddress, uint256 nftId) external view returns (bool);
function _NFT_COLLECTION_() external view returns(address);
function queryNFTIn(uint256 NFTInAmount) external view returns (uint256 rawReceive, uint256 received);
function queryNFTTargetOut(uint256 NFTOutAmount) external view returns (uint256 rawPay, uint256 pay);
function queryNFTRandomOut(uint256 NFTOutAmount) external view returns (uint256 rawPay, uint256 pay);
function ERC721In(uint256[] memory tokenIds, address to) external returns(uint256 received);
function ERC721TargetOut(uint256[] memory indexes, address to) external returns(uint256 paid);
function ERC721RandomOut(uint256 amount, address to) external returns (uint256 paid);
function ERC1155In(uint256[] memory tokenIds, address to) external returns(uint256 received);
function ERC1155TargetOut(uint256[] memory indexes, uint256[] memory amounts, address to) external returns(uint256 paid);
function ERC1155RandomOut(uint256 amount, address to) external returns (uint256 paid);
}