Assessment reports>d3-doma>Threat Model>Function: bridge(uint256 tokenId, bool isSynthetic, string calldata targetChainId, string calldata targetOwnerAddress)

Function: bridge(uint256 tokenId, bool isSynthetic, string calldata targetChainId, string calldata targetOwnerAddress)

This function moves ownership tokens between different chains by verifying ownership, collecting fees, burning the token on the current chain, and initiating cross-chain transfer to the target chain via the _relayMessage call to Doma chain.

Inputs

  • tokenId

    • Control: Full.

    • Constraints: Token ownership verified via _verifyTokenOwnership() and lock status checked via lockStatusOf().

    • Impact: Identifies the specific token to bridge between chains.

  • isSynthetic

    • Control: Not controlled.

    • Constraints: Must be false (synthetic tokens not implemented).

    • Impact: Distinguishes between regular and permissioned tokens.

  • targetChainId

    • Control: Full.

    • Constraints: Must be in supported chains list via isTargetChainSupported().

    • Impact: Specifies destination chain for token bridging.

  • targetOwnerAddress

    • Control: Full.

    • Constraints: N/A (passed to destination chain for validation).

    • Impact: Specifies owner address on target chain.

Branches and code coverage (including function calls)

Intended branches

Negative behavior

Zellic © 2025Back to top ↑