Assessment reports>d3-doma>Threat Model>Function: claimOwnership(uint256 tokenId, bool isSynthetic, ProofOfContactsVoucher calldata proofOfContactsVoucher, bytes calldata signature)

Function: claimOwnership(uint256 tokenId, bool isSynthetic, ProofOfContactsVoucher calldata proofOfContactsVoucher, bytes calldata signature)

This function claims domain ownership using ownership tokens and proof-of-contacts verification. It validates voucher signatures from registrars or Doma, verifies token ownership, collects fees, and initiates cross-chain ownership claim via _relayMessage to Doma chain.

Inputs

  • tokenId

    • Control: Full.

    • Constraints: Token ownership verified via _verifyTokenOwnership() and registrar validation for registrar vouchers.

    • Impact: Identifies the ownership token being used to claim domain ownership.

  • isSynthetic

    • Control: Not controlled.

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

    • Impact: Distinguishes between regular and permissioned tokens.

  • proofOfContactsVoucher

    • Control: Full.

    • Constraints: Expiration date checked via _verifyNotExpiredVoucher() and nonce verified via _verifyAndUpdateNonce().

    • Impact: Contains registrant handle, proof source, nonce, and expiration for contact verification.

  • signature

    • Control: Full.

    • Constraints: Verified via _verifyRegistrarSignature() or _verifyDomaSignature() depending on proof source.

    • Impact: Ensures voucher authenticity from authorized signers.

Branches and code coverage (including function calls)

Intended branches

Negative behavior

Zellic © 2025Back to top ↑