Assessment reports>Nocturne>Threat Model>handleOperation

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.

Zellic © 2024Back to top ↑