Assessment reports>d3-doma>Threat Model>Function: tokenTransfer()

Function: tokenTransfer()

When a user transfers their ownership token to another wallet, the _beforeTokenTransfer() hook function on the remote chain will trigger a cross-chain message that executes this function.

Inputs

  • chainId

    • Control: Not controlled.

    • Constraints: This is hardcoded by the ProxyDomaRecord contract.

    • Impact: This is the chain ID of the remote chain.

  • tokenId

    • Control: Not controlled.

    • Constraints: This is hardcoded by the token contract remote chain.

    • Impact: The token ID of the ownership token being transferred.

  • oldOwnerAddress

    • Control: Not controlled.

    • Constraints: N/A.

    • Impact: This is the msg.sender who initiated the token transfer on the remote chain.

  • newOwnerAddress

    • Control: Fully controlled.

    • Constraints: N/A.

    • Impact: This is address of the new owner on the remote chain.

  • correlationId

    • Control: Not controlled.

    • Constraints: This is hardcoded by the ProxyDomaRecord contract.

    • Impact: This is a hash of the current block number, the chain ID, and a nonce on the remote chain.

Branches and code coverage (including function calls)

Intended branches

Negative behavior

Zellic © 2025Back to top ↑