Skip to content
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

[ETHEREUM-CONTRACTS] Complete the Superfluid batch operation set #1895

Closed
13 tasks done
hellwolf opened this issue Mar 15, 2024 · 2 comments · Fixed by #1967
Closed
13 tasks done

[ETHEREUM-CONTRACTS] Complete the Superfluid batch operation set #1895

hellwolf opened this issue Mar 15, 2024 · 2 comments · Fixed by #1967
Assignees
Labels
Project: PROTOCOL-EVMv1 Superfluid protocol EVM v1 implementation in Solidity Type: Enhancement New feature or request

Comments

@hellwolf
Copy link
Contributor

hellwolf commented Mar 15, 2024

Why

We have not reviewed the completeness of the (Sueprfluid) batch operations. Since we are about to roll-out the macro forwarder feature, it is a good time to have it reviewed and completed.

What

  • Complete Set of Operation Types
    • SuperToken ERC20/ERC-777 Operations (1-99)
      • OPERATION_TYPE_ERC20_APPROVE
      • OPERATION_TYPE_ERC20_TRANSFER_FROM
      • OPERATION_TYPE_ERC777_SEND
      • OPERATION_TYPE_ERC20_INCREASE_ALLOWANCE
      • OPERATION_TYPE_ERC20_DECREASE_ALLOWANCE
    • SuperToken Upgrade/Downgrade Operations (101-199)
      • OPERATION_TYPE_SUPERTOKEN_UPGRADE
      • OPERATION_TYPE_SUPERTOKEN_DOWNGRADE
      • OPERATION_TYPE_SUPERTOKEN_UPGRADE_TO # equiv. ISuperToken.upgradeTo
      • OPERATION_TYPE_SUPERTOKEN_DOWNGRADE_TO # equiv. ISeperToken.downgradeTo
    • Superfluid Host Call Proxies (201-299)
    • Generic Call Proxies (301-399) # overlapping with multicall3

Out of Scope

  • New Feature of Batchcalls
    • Allow fail
     struct Operation2 {
         // Operation type. Defined in BatchOperation (Definitions.sol)
         uint32 operationType;
         // Operation target
         address target;
         // Allow the operation fail for unspecified reasons
         bool allowFail;
         // Data specific to the operation
         bytes data;
     }
    
    • batchCall2
    • forwardBatchCall2
  • Out-of-scope discussion(s)
    • a multicalls3 compatible generic call proxies portion of the batch call.
@hellwolf
Copy link
Contributor Author

hellwolf commented Mar 30, 2024

Total missed so far: add permit2 to the catchable:

Adding OPERATION_TYPE_PERMIT2.

@d10r
Copy link
Collaborator

d10r commented Jun 28, 2024

permit2 becomes possible through the generic call proxies, so doesn't need explicit support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Project: PROTOCOL-EVMv1 Superfluid protocol EVM v1 implementation in Solidity Type: Enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants