-
Notifications
You must be signed in to change notification settings - Fork 240
About Batch Call
The host contract provides a bespoke solution for batching super token operations, agreements operations and app actions.
Each operation is described by this struct:
/**
* @dev Batch operation data
*/
struct Operation {
// Operation type. Defined in BatchOperation (Definitions.sol)
uint32 operationType;
// Operation target
address target;
// Data specific to the operation
bytes data;
}
operationType
is a set of enumerable constants defined in BatchOperation
library (NB! to be moved to global scope soon).
The most simple version of the batch call is to call batchCall
directly.
This can be used for operations to be executed on behalf of the transaction sender itself.
ERC-2771 defines a contract-level protocol for Recipient contracts to accept meta-transactions through trusted Forwarder contracts.
By being a trusted forwarder (checked through getTrustedForwarderConfigKey
governance method), a contract can call forwardBatchCall
on behalf of any address. Due to this power, there are very strict requirements on which contracts can be trusted forwarder; usually they should be immutable, verified and perhaps audited.
- (Deprecated) biconomy trusted forwarders for meta transactions.
- CFAv1Forwarder - an ergonomic interface for interacting with CFAv1.
- (To be deployed) https://github.com/superfluid-finance/protocol-monorepo/blob/dev/packages/ethereum-contracts/contracts/utils/IDAv1Forwarder.sol
- TODO GDAv1 Forwarder.
- Governance Overview
- For Contributors
- Development Process
- Protocol EVMv1 Operations
- Protocol EVMv1 Technical Notes
- Protocol EVMv1 Core Subgraph