What it offers
- createFlow: Create a continuous payment stream
- updateFlow: Update the flow rate of an existing stream
- deleteFlow: Stop/delete a payment stream
Notes
- Flowrate is in tokens per second (int96) - e.g. 1e18 / (30 * 86400) for ~1 token/month
- Uses Super Tokens - wrapped ERC-20s with streaming capability (wrap before streaming)
- The CFAForwarder has one address on every chain; the Host’s address differs per chain
- CFAForwarder is the simplified interface; host is the core protocol contract
- Streams are continuous - balance updates every second without transactions
- Sender must maintain sufficient Super Token balance; otherwise stream gets liquidated
- userData allows passing arbitrary data for composability with other contracts
Its names in a program
On Ethereum,Superfluid is a namespace: its contracts need no import.
Deployments
ABI
CFAForwarderABI
import CFAForwarderABI from "./protocols/superfluid/CFAForwarderABI.json"; Speaks for: cfaForwarder.
createFlow(address token, address sender, address receiver, int96 flowrate, bytes userData) returns (bool)updateFlow(address token, address sender, address receiver, int96 flowrate, bytes userData) returns (bool)deleteFlow(address token, address sender, address receiver, bytes userData) returns (bool)
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
