spoolOwner
inherits permissions of vaultOwner
.Controller.sol
addStrategy
: Add (new) Strategies (addresses) to the Spool EcosystemsetEmergencyWithdrawer
: Set the address(es) that can call the emergency withdraw function setEmergencyRecipient
: Set the address to which funds are sent to if emergencyWithdraw
is called. If this is not set, it defaults to the emergencyWithdrawer
pause
: Emergency pause of SpoolunPause
: Unpause Spool after emergency pauseFeeHandler.sol
setEcosystemFee
: Set the Ecosystem Fee charged on profits generated once a user withdraws funds from a Spool, this Ecosystem Fee is limited to 20%, hard codedsetTreasuryFee
: Set the Treasury Fee charged on profits generated once a user withdraws funds from a Spool, this Treasury Fee is limited to 10%, hard codedsetEcosystemCollector
: Set the address Ecosystem fees will be attributed tosetTreasuryCollector
: Set the address Treasury Fees will be attributed toRiskProviderRegistry.sol
addProvider
: Add a Risk Model Provider (address) to the Risk Provider Registry that users can choose from when creating a Spool removeProvider
: Remove a Risk Provider(address) from the Risk Provider RegistrySpoolBase.sol (Part of Spool.sol)
setAllocationProvider
: Set the address that can set the allocation of funds in relation to an individual Spool's chosen Risk Provider Scores and Risk Appetite scoressetDoHardWorker
: Add a HardWorker(address) to the HardWorker whitelist setForceOneTxDoHardWork
: Set flag to force DoHardWork to be executed in a single transaction instead of multiple setLogReallocationProportions
: Exists solely for debugging purposes. When spool reallocates, a server will first simulate this call while setting this to true to get data to support underlying spool infrastructure. setAwaitingEmergencyWithdraw
: Failsafe function to assist with emergency withdraw functionsRewardDrip.sol (Part of Vault.sol)
updatePeriodFinish
: Sets the ending time for incentive tokens claimFinishedRewards
: Send unclaimed reward tokens, when the incentive period has finished send unclaimed reward tokens to Spool DAO (address)forceRemoveReward
: Forcibly remove a reward in the case of a malicious reward token and add to blacklist addToken
: Add an incentive token to an existing SpoolnotifyRewardAmount
: Sets or increases reward token amount and durationVaultBase.sol (Part of Vault.sol)
updateName
: Update the user-given name of a user-created Spool (e.g. for profanity)transferVaultOwner
: Transfers ownership from the current user (address) of a user-created Spool to a new user (address). We are of the opinion this should never be used. However, it is a requirement for certain real world entities to participate in the Spool EcosystemsetEmergencyRecipient
. Can only be set by spoolOwner
role.removeStrategyAndWithdraw
is called emergencyWithdraw
is calledsetEmergencyWithdrawer
. Can only be set by spoolOwner
role. Currently a 3/15 multisignature wallet with signatures spread across various time zones.Controller.sol
removeStrategyAndWithdraw
: Combines the two below mentioned functions into a single callremoveStrategy
: Blacklists a strategy from the Spool SystememergencyWithdraw
: Removes all funds from the specified strategy and sends funds to Spool DAO Multisignature walletrunDisableStrategy
: Helper function for emergency withdraw edge casessetAllocationProvider
. Can only be set by spoolOwner
role. Currently a 3/5 multisignature wallet.SpoolReallocation.sol
reallocateVaults
: Set allocation of funds in relation to an individual Spool's chosen Risk Provider Scores and Risk Appetite SettingRewardDrip.sol
addToken
: Adds an incentive token to a user-owned Spool in order to reward users (addresses) that interact with said SpoolnotifyRewardAmount
: Sets or increases reward token amount and durationremoveReward
: Allows a vault owner (address) to remove a previously added reward token they have added to incentivize users to interact with their Spool. Can only be called after the reward duration has finishedVaultBase.sol (Part of Vault.sol)
transferVaultOwner
: Allows a vault (Spool) owner (address) to transfer ownership of their created vault to another addressspoolDoHardWork.sol
batchDoHardWork
:batchDoHardWorkReallocation
: