Function: handleOperation(Operation op, uint256 perJoinSplitVerifyGas, address bundler)
This is called by Teller to handle one Operation
. Ensures zeroed balances on all of the tracked assets of the operation, unwraps (transfers from Teller) assets, executes actions, pays bundler gas-compensation tokens, and creates refund tokens for tracked assets obtained during the actions.
Inputs
op
Control: Arbitrary --- proof must be valid.
Constraints: All assets must be tracked.
Impact: Operation to run.
perJoinSplitVerifyGas
Control: None.
Constraints: None.
Impact: Reserves this amount to pay for gas from unwrapped assets.
bundler
Control: None.
Constraints: None.
Impact: Address of bundler for refund.
Branches and code coverage
Intended branches
Actions run successfully.
Balance not zeroed; actions run successfully after transfer.
An Action reverts during execution.
Negative behavior
Contract paused.
Not called by Teller.
Tracked assets contains unsupported asset.