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 vialockStatusOf()
.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