xWin FundFactory
FundV2Initialize
initialize
function initialize(string _name, string _symbol, address _USDAddr, address _manageraddr, address _managerRebaddr, address _platformWallet) externalFundV2Factory
fundV2Array
address[] fundV2ArraysupportedBaseTokens
mapping(address => bool) supportedBaseTokenswhitelisted
mapping(address => bool) whitelistedfundIDs
mapping(address => uint256) fundIDsxWinToken
contract IERC20Upgradeable xWinTokenxWinPriceMaster
contract IxWinPriceMaster xWinPriceMasterxEmitEvent
contract IxWinEmitEvent xEmitEventbeaconContract
address beaconContractautoLockAddr
address autoLockAddrxWinSwapAddr
address xWinSwapAddrxWinAdminWallet
address xWinAdminWalletDEFAULT_BASETOKEN
address DEFAULT_BASETOKENDEFAULT_MANAGER
address DEFAULT_MANAGERDEFAULT_PLATFORM
address DEFAULT_PLATFORMDEFAULT_MANAGER_FEE
uint256 DEFAULT_MANAGER_FEEDEFAULT_PERFORMANCE_FEE
uint256 DEFAULT_PERFORMANCE_FEEDEFAULT_CREATION_FEE
uint256 DEFAULT_CREATION_FEEDEFAULT_PLATFORM_FEE
uint256 DEFAULT_PLATFORM_FEEDEFAULT_REBALANCE_PERIOD
uint256 DEFAULT_REBALANCE_PERIODDEFAULT_BLOCKSPERDAY
uint256 DEFAULT_BLOCKSPERDAYDEFAULT_SMALLRATIO
uint256 DEFAULT_SMALLRATIOBaseTokenUpdate
event BaseTokenUpdate(address, bool)Received
event Received(address, uint256)FundCreation
event FundCreation(address rebalanceOwner, address newFund, uint256 fundId, string name, string symbol)executors
mapping(address => bool) executorsinitialize
function initialize(address _xWinAdminWallet, address _xWinSwapAddr, address _xWinPriceMaster, address _emitEventAddr, address _xWinLockStaking, address _xwinAddr, address _beaconAddress, address _baseToken, address _defaultManagerAddr, address _defaultPlatformAddr) publiccreateFundPrivate
function createFundPrivate(string name, string symbol, address[] _toAddresses, uint256[] _targetWeight) externalCreate a Fund
Parameters
Name
Type
Description
name
string
Name of new fund
symbol
string
Symbol of new fund
_toAddresses
address[]
Array of initial target allocation addresses
_targetWeight
uint256[]
Array of inital target allocation weights
createFundPrivateWithBaseToken
function createFundPrivateWithBaseToken(string name, string symbol, address _baseToken, address[] _toAddresses, uint256[] _targetWeight) externalCreate a Fund, with specific base token
Parameters
Name
Type
Description
name
string
Name of new fund
symbol
string
Symbol of new fund
_baseToken
address
base token for new fund
_toAddresses
address[]
Array of initial target allocation addresses
_targetWeight
uint256[]
Array of inital target allocation weights
createFund
function createFund(string name, string symbol, address _baseToken, address managerFeeAddr, address rebalanceAddr, address _USDAddr) external returns (uint256)createProxy
function createProxy(string name, string symbol, address _baseToken, address managerFeeAddr, address rebalanceAddr, address _USDAddr) internal returns (address)initialiseFund
function initialiseFund(uint256 fundId, uint256 _managerFee, uint256 _performanceFee, bool _openForPublic, uint256 _unitpriceMultiplier, address _platformAddr) external_initialiseFund
function _initialiseFund(uint256 fundId, uint256 _managerFee, uint256 _performanceFee, bool _openForPublic, uint256 _unitpriceMultiplier, address _platformAddr) internalmassProcessPlatformFee
function massProcessPlatformFee() externalprocessPlatformFee
function processPlatformFee(address _fundAddr) externalprocessManagerFee
function processManagerFee(address _fundAddr) externalmassProcessManagerFee
function massProcessManagerFee() externalsetSwapAddr
function setSwapAddr(address _xWinSwapAddr) externaladdNewBaseToken
function addNewBaseToken(address _newTokenAddr) externalremoveBaseToken
function removeBaseToken(address _tokenAddr) externalupdatePriceMaster
function updatePriceMaster(address _newPriceMaster) externalgetLatestFundID
function getLatestFundID() public view returns (uint256)getFundfromIndex
function getFundfromIndex(uint256 _index) public view returns (address)setProperties
function setProperties(address _baseToken, uint256 _defaultManagerFee, uint256 _defaultPerformFee, address _defaultManager, uint256 _defaultPlatFee, uint256 _defaultRebalancePeriod, uint256 _defaultBlockPerDays, uint256 _defaultSmallRatio, address _defaultPlatform) externaladdWhiteList
function addWhiteList(address _addr) externalremoveWhiteList
function removeWhiteList(address _addr) externalsetPause
function setPause(address _fundAddr, bool _pauseVal) externalMoveNonIndexNameToBase
function MoveNonIndexNameToBase(address _fundAddr, address _tokenaddress, uint32 _slippage) external returns (uint256 balanceToken, uint256 swapOutput)setOpenForPublic
function setOpenForPublic(address _fundAddr, bool _allow) externalupdateOtherProperties
function updateOtherProperties(address _fundAddr, uint256 newCycle, uint256 _ratio, uint256 _UPMultiplier) externalupdatePlatformProperty
function updatePlatformProperty(address _fundAddr, address newPlatformWallet, uint256 newPlatformFee) externalsetPerformanceFee
function setPerformanceFee(address _fundAddr, uint256 newPerformFee) externalupdateManagerProperty
function updateManagerProperty(address _fundAddr, address newRebManager, address newManager, uint256 newFeebps) externalupdateBlockPerday
function updateBlockPerday(address _fundAddr, uint256 _blocksPerDay) externalupdatexWinEngines
function updatexWinEngines(address _fundAddr, address _xwinPricesMaster, address _xwinSwap) externalupdateUSDAddr
function updateUSDAddr(address _fundAddr, address _newUSDAddr) externalupdateEmitEvent
function updateEmitEvent(address _fundAddr) externalupdateLockedStaking
function updateLockedStaking(address _fundAddr) externalsetWaivedPerformanceFee
function setWaivedPerformanceFee(address _fundAddr, address _toWaive, bool _status) externalsetAdminWallet
function setAdminWallet(address _address) externalsetEmitEvent
function setEmitEvent(address _newEmitEvent) externalsetAutoLock
function setAutoLock(address _newAutoLock) externalsetCreationFee
function setCreationFee(uint256 _newCreationFee) externalisRegistered
function isRegistered(address _fundAddress) internal viewcountTotalFunds
function countTotalFunds() external view returns (uint256 count)countActiveFunds
function countActiveFunds() external view returns (uint256 count)countTVL
function countTVL() external view returns (uint256 amount)countFundNumberByAddress
function countFundNumberByAddress(address _user) external view returns (uint256 count)countTotalTVLByAddress
function countTotalTVLByAddress(address _user) external view returns (uint256 amount)Gets the total deposit value of the given address in all FundV2 contracts
Parameters
Name
Type
Description
_user
address
Wallet to query
receive
receive() external payablesetExecutor
function setExecutor(address _address, bool _allow) externalonlyExecutor
modifier onlyExecutor()Last updated