Function: depositToken(address contributor, uint256 amount, address token)

This function emits the Deposit event and transfers the supported tokens from the caller to the rabbit on behalf of the contributor.

Inputs

  • contributor

    • Control: Fully controlled by the caller.

    • Constraints: N/A.

    • Impact: The contributor of the deposit.

  • amount

    • Control: Fully controlled by the caller.

    • Constraints: The value must not be smaller than minDeposits[token], and the caller must have enough tokens to transfer.

    • Impact: The amount to transfer.

  • token

    • Control: Fully controlled by the caller.

    • Constraints: The token must be supported by this contract.

    • Impact: The token to transfer.

Branches and code coverage

Intended branches

  • Transfer the supported tokens from the caller to the rabbit.

  • Increase the nextDepositNum by one when the transfer succeeds.

Negative behavior

  • Revert when the token is not supported.

  • Revert when the amount is smaller than minDeposits[token].

  • Revert when the transfer fails.

Zellic © 2025Back to top ↑