-
Notifications
You must be signed in to change notification settings - Fork 6
feat(ProductiveAssetExtensions): Add WrapExtension and ClaimExtension [SIM-270] #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* ONLY OWNER: Update address AirdropModule manager fees are sent to. | ||
* | ||
* @param _setToken Address of SetToken | ||
* @param _newFeeRecipient Address of new fee recipient |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may want an endpoint to distributeFees
to the DelegatedManager, similar to the IssuanceExtension, but with the reward token as input.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems like fees are auto-distributed in the module whenever someone calls absorb, here. Is there a case where a separate distribution mechanism would be helpful?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My thinking here was that we accrue to the DelegatedManager
first, and then distribute to the owner
and methodologist
according to the fee split.
With the IssuanceExtension we
- accrue mint/redeem fees to the DelegatedManager everytime someone calls mint/redeem
- distribute via
IssuanceExtension.distributeFees()
We would follow a similar pattern with the ClaimExtension with
- accrue absorb fees to the DelegatedManager everytime someone calls absorb
- distribute via
ClaimExtension.distributeFees(rewardToken)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok great, yes agree it makes sense that this would have the same interface & behavior as IssuanceExtension.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks basically flawless to me. @pblivin0x Is there anything your uncertain about or that's come up in the last couple weeks with respect to the PRD?
The only substantive thing left to do is bump the upstream contracts package and pull the interfaces from there / remove them from here.
* ONLY OWNER: Update address AirdropModule manager fees are sent to. | ||
* | ||
* @param _setToken Address of SetToken | ||
* @param _newFeeRecipient Address of new fee recipient |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems like fees are auto-distributed in the module whenever someone calls absorb, here. Is there a case where a separate distribution mechanism would be helpful?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
Notes
IAirdropModule
,IClaimModule
, andIWrapModuleV2
interfaces to set-protocol-v2 [PR]