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
opControl: Arbitrary --- proof must be valid.
Constraints: All assets must be tracked.
Impact: Operation to run.
perJoinSplitVerifyGasControl: None.
Constraints: None.
Impact: Reserves this amount to pay for gas from unwrapped assets.
bundlerControl: 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.