Conversation
59cb266 to
751c702
Compare
…torage for redeemable amount
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Single entry point via:
redeem(bytes32 id, bytes calldata data)Three redemption types:
Groups
Internal call:
_redeemGroup(bytes32 id)External calls via multisend
ERC1155.safeTransferFrom(transfer subscribers tokens to the module)IHubV2.groupMint(mint group tokens using subscriber CRC to the module)ERC1155.safeTransferFrom(transfer group tokens to the subscriber)Redeeming occurs via this route if the recipient address is a group address.
Group minting locks tokens from the
msg.senderand mints group tokens to themsg.sender, so fairly sure three calls are required in a pull-based setup.Personal Trusted
operateFlowMatrixPersonal Untrusted
safeTransferFromRefactor Notes
periodswith transient storage (T_REDEEMABLE_AMOUNT), set once inredeemusingLibTransient_redeemGroup,_redeemTrusted, and_redeemUntrustednow consume the redeemable amount from transient storage.clearcalls clean up the slot after redemption