IFlowERC20V4

Git Source

Functions

stackToFlow

As per IFlowV4 but returns a FlowERC20IOV1 instead of a FlowTransferV1.

function stackToFlow(uint256[] memory stack) external pure returns (FlowERC20IOV1 memory flowERC20IO);

Parameters

NameTypeDescription
stackuint256[]The stack to convert to a FlowERC20IOV1.

Returns

NameTypeDescription
flowERC20IOFlowERC20IOV1The FlowERC20IOV1 representation of the stack.

flow

As per IFlowV4 but returns a FlowERC20IOV1 instead of a FlowTransferV1 and mints/burns itself as an ERC20 accordingly.

function flow(Evaluable calldata evaluable, uint256[] calldata callerContext, SignedContextV1[] calldata signedContexts)
    external
    returns (FlowERC20IOV1 calldata flowERC20IO);

Parameters

NameTypeDescription
evaluableEvaluableThe Evaluable to use to evaluate the flow.
callerContextuint256[]The caller context to use to evaluate the flow.
signedContextsSignedContextV1[]The signed contexts to use to evaluate the flow.

Returns

NameTypeDescription
flowERC20IOFlowERC20IOV1The FlowERC20IOV1 representing all token mint/burns and transfers that occurred during the flow.

Events

Initialize

Contract has initialized.

event Initialize(address sender, FlowERC20ConfigV2 config);

Parameters

NameTypeDescription
senderaddressmsg.sender initializing the contract (factory).
configFlowERC20ConfigV2All initialized config.