Oryn keeps small local interfaces for the bridge contracts it calls.

IICMBridgeFactory

Source: evm/src/interfaces/IICMBridgeFactory.sol AvalancheEscrowVault.claimHop() calls this interface after verifying the commitment and recipient signature.
function bridge(
    address token,
    uint256 amount,
    bytes32 destBlockchainId,
    address recipient,
    address primaryFeeToken,
    uint256 primaryRelayerFee
) external;

IICTT

Source: evm/src/interfaces/IICTT.sol ICMBridgeFactory calls ITokenTransferrer.send() after it pulls and approves the bridge token.

SendTokensInput

FieldTypeDescription
destinationBlockchainIDbytes32Avalanche destination blockchain ID.
destinationTokenTransferrerAddressaddressDestination TokenHome or TokenRemote.
recipientaddressDestination recipient.
primaryFeeTokenAddressaddressToken used for relayer fee.
primaryRelayerFeeuint256Primary relayer fee amount.
secondaryRelayerFeeuint256Secondary fee, currently zero for Oryn single-hop usage.
requiredGasLimituint256ICM delivery gas limit.
multiHopFallbackaddressFallback address for multi-hop; Oryn uses address(0) for single-hop.

ITokenTransferrer

function send(SendTokensInput calldata input, uint256 amount) external;