xWin FundFactory

FundV2Initialize

initialize

function initialize(string _name, string _symbol, address _USDAddr, address _manageraddr, address _managerRebaddr, address _platformWallet) external

FundV2Factory

fundV2Array

address[] fundV2Array

supportedBaseTokens

mapping(address => bool) supportedBaseTokens

whitelisted

mapping(address => bool) whitelisted

fundIDs

mapping(address => uint256) fundIDs

xWinToken

contract IERC20Upgradeable xWinToken

xWinPriceMaster

contract IxWinPriceMaster xWinPriceMaster

xEmitEvent

contract IxWinEmitEvent xEmitEvent

beaconContract

address beaconContract

autoLockAddr

address autoLockAddr

xWinSwapAddr

address xWinSwapAddr

xWinAdminWallet

address xWinAdminWallet

DEFAULT_BASETOKEN

address DEFAULT_BASETOKEN

DEFAULT_MANAGER

address DEFAULT_MANAGER

DEFAULT_PLATFORM

address DEFAULT_PLATFORM

DEFAULT_MANAGER_FEE

uint256 DEFAULT_MANAGER_FEE

DEFAULT_PERFORMANCE_FEE

uint256 DEFAULT_PERFORMANCE_FEE

DEFAULT_CREATION_FEE

uint256 DEFAULT_CREATION_FEE

DEFAULT_PLATFORM_FEE

uint256 DEFAULT_PLATFORM_FEE

DEFAULT_REBALANCE_PERIOD

uint256 DEFAULT_REBALANCE_PERIOD

DEFAULT_BLOCKSPERDAY

uint256 DEFAULT_BLOCKSPERDAY

DEFAULT_SMALLRATIO

uint256 DEFAULT_SMALLRATIO

BaseTokenUpdate

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) executors

initialize

function initialize(address _xWinAdminWallet, address _xWinSwapAddr, address _xWinPriceMaster, address _emitEventAddr, address _xWinLockStaking, address _xwinAddr, address _beaconAddress, address _baseToken, address _defaultManagerAddr, address _defaultPlatformAddr) public

createFundPrivate

function createFundPrivate(string name, string symbol, address[] _toAddresses, uint256[] _targetWeight) external

Create 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) external

Create 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) internal

massProcessPlatformFee

function massProcessPlatformFee() external

processPlatformFee

function processPlatformFee(address _fundAddr) external

processManagerFee

function processManagerFee(address _fundAddr) external

massProcessManagerFee

function massProcessManagerFee() external

setSwapAddr

function setSwapAddr(address _xWinSwapAddr) external

addNewBaseToken

function addNewBaseToken(address _newTokenAddr) external

removeBaseToken

function removeBaseToken(address _tokenAddr) external

updatePriceMaster

function updatePriceMaster(address _newPriceMaster) external

getLatestFundID

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) external

addWhiteList

function addWhiteList(address _addr) external

removeWhiteList

function removeWhiteList(address _addr) external

setPause

function setPause(address _fundAddr, bool _pauseVal) external

MoveNonIndexNameToBase

function MoveNonIndexNameToBase(address _fundAddr, address _tokenaddress, uint32 _slippage) external returns (uint256 balanceToken, uint256 swapOutput)

setOpenForPublic

function setOpenForPublic(address _fundAddr, bool _allow) external

updateOtherProperties

function updateOtherProperties(address _fundAddr, uint256 newCycle, uint256 _ratio, uint256 _UPMultiplier) external

updatePlatformProperty

function updatePlatformProperty(address _fundAddr, address newPlatformWallet, uint256 newPlatformFee) external

setPerformanceFee

function setPerformanceFee(address _fundAddr, uint256 newPerformFee) external

updateManagerProperty

function updateManagerProperty(address _fundAddr, address newRebManager, address newManager, uint256 newFeebps) external

updateBlockPerday

function updateBlockPerday(address _fundAddr, uint256 _blocksPerDay) external

updatexWinEngines

function updatexWinEngines(address _fundAddr, address _xwinPricesMaster, address _xwinSwap) external

updateUSDAddr

function updateUSDAddr(address _fundAddr, address _newUSDAddr) external

updateEmitEvent

function updateEmitEvent(address _fundAddr) external

updateLockedStaking

function updateLockedStaking(address _fundAddr) external

setWaivedPerformanceFee

function setWaivedPerformanceFee(address _fundAddr, address _toWaive, bool _status) external

setAdminWallet

function setAdminWallet(address _address) external

setEmitEvent

function setEmitEvent(address _newEmitEvent) external

setAutoLock

function setAutoLock(address _newAutoLock) external

setCreationFee

function setCreationFee(uint256 _newCreationFee) external

isRegistered

function isRegistered(address _fundAddress) internal view

countTotalFunds

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 payable

setExecutor

function setExecutor(address _address, bool _allow) external

onlyExecutor

modifier onlyExecutor()

Last updated