Set Documentation
Search…
⌃K

DelegatedManager

Smart contract manager that contains permissions and admin functionality. Paired with extensions that enable permissionless and automated functionality on the SetToken (ex: leverage tokens)

Select Methods

setManager()

function setManager()
Owner only: Update the SetToken manager address
Parameter Name
Type
Description
_newManager
address
New manager address

addExtensions()

function addExtensions()
Owner only: Add new extension(s) that the DelegatedManager can call. Puts extensions into PENDING * state, each must be initialized in order to be used.
Parameter Name
Type
Description
_newExtensions
address[]
New extension addresses

removeExtensions()

function removeExtensions()
Owner only: Remove an existing extension(s) tracked by the DelegatedManager. Removed extensions are * placed in NONE state.
Parameter Name
Type
Description
_extensions
address
Extension addresses to remove

initializeExtension()

function initializeExtension()
Extension only: Initializes an added extension from PENDING to INITIALIZED state and adds to extension array. An address can only enter a PENDING state if it is an enabled extension added by the manager. Only callable by the extension itself, hence msg.sender is the subject of update.

interactManager()

function interactManager()
Extension only: Interact with a module registered on the SetToken. In order to ensure SetToken admin functions can only be changed from this contract no calls to the SetToken can originate from Extensions. To transfer SetTokens use the transferTokens function.
Parameter Name
Type
Description
_module
address
Set Protocol V2 module to interact with
_data
bytes
Byte data of function to call in module

transferTokens()

function transferTokens()
Extension Only: Transfers _tokens held by the manager to _destination. Can be used to distribute fees or recover anything sent to the DelegatedManager accidentally.
Parameter Name
Type
Description
_token
address
ERC20 token to send
_destination
address
Address receiving the tokens
_amount
uint256
Quantity of tokens to send

addModule()

function addModule()
Owner only: Add a new module to the SetToken
Parameter Name
Type
Description
_newModule
address
New module address

removeModule()

function removeModule()
Owner only: Remove a module from the SetToken
Parameter Name
Type
Description
_newModule
address
New module address

setMethodologist()

function setMethodologist()
Methodologist only: Set a new methodologist address
Parameter Name
Type
Description
_newMethodologist
address
New methodologist address

addOperators()

function addOperators()
Owner only: Add new operator(s) address(es)
Parameter Name
Type
Description
_operators
address[]
New operators to add

removeOperators()

function removeOperators()
Owner only: Remove operator(s) address(es)
Parameter Name
Type
Description
_operators
address[]
Operators to remove

addAllowedAssets()

function addAllowedAssets()
Owner only: Add new asset(s) that can be traded to, wrapped to, or claimed
Parameter Name
Type
Description
_assets
address[]
Assets to add

removeAllowedAssets()

function removeAllowedAssets()
Owner only: Remove asset(s) so that it/they can't be traded to, wrapped to, or claimed
Parameter Name
Type
Description
_assets
address[]
Assets to add

updateUseAssetAllowlist()

function updateUseAssetAllowlist()
Owner only: Toggle useAssetAllowlist on and off. When false asset allowlist is ignored when true it is enforced.
Parameter Name
Type
Description
_useAssetAllowlist
bool
Indicates whether to use asset allow list

updateOwnerFeeSplit()

function updateOwnerFeeSplit()
Must be called by both the operator and methodologist. Updates the extension's fee split. The split is defined in precise units (1% = 10^16). Fees are accrued and distributed before the new split goes into effect.
Parameter Name
Type
Description
_newFeeSplit
uint256
Percent in precise units (100% = 10**18) of fees that accrue to owner

updateOwnerFeeRecipient()

function updateOwnerFeeRecipient()
Owner only: Update address owner receives fees at
Parameter Name
Type
Description
_newFeeRecipient
address
Address to send owner fees to