Oryn’s contracts are intentionally small in responsibility:
  • factories create deterministic vaults
  • vaults enforce claim and cancel rules
  • the bridge factory registers Avalanche ICTT routes and dispatches bridge sends
  • interfaces keep cross-contract calls narrow

Which contract should I read?

QuestionContract
How is a standard vault address predicted?EscrowFactory
How does a normal claim/cancel work?EscrowVault
How does Avalanche add L1 hop support?AvalancheEscrowFactory
How does claimHop prevent route redirection?AvalancheEscrowVault
How are Avalanche bridge routes registered?ICMBridgeFactory
What external bridge functions are called?Interfaces

Contract families

FamilyContractsPurpose
Standard escrowEscrowFactory, EscrowVaultChain-agnostic HTLC vault creation and settlement.
Avalanche escrowAvalancheEscrowFactory, AvalancheEscrowVaultStandard settlement plus optional L1 hop settlement.
Bridge routingICMBridgeFactory, IICMBridgeFactory, IICTTICTT route registration and bridge dispatch.

Creation paths

User experienceFactory functionBest for
Pre-fund predicted addresscreateEscrowDeterministic funding workflows.
Single native-token transactioncreateEscrowNativeNative token deposits.
Permit approvalcreateEscrowPermitERC20s with EIP-2612 support.
Signed authorizationcreateEscrowSignedRelayer-submitted or gas-sponsored creation.
Multiple vaultscreateEscrowBatchOperational batch creation.
All creation paths end in the same basic object: a minimal proxy vault with immutable escrow parameters.

Settlement paths

VaultClaim functionCancel function
EscrowVaultclaim(bytes32)refund()
AvalancheEscrowVault with l1Hop = falseclaim(bytes32)refund()
AvalancheEscrowVault with l1Hop = trueclaimHop(bytes32,bytes,HopData)refund()

Review checklist

When reviewing a route or deployment, verify:
  • token is whitelisted on the relevant escrow factory
  • factory address in the order matches the chain registry
  • vault address matches factory prediction
  • commitmentHash is nonzero and unique
  • expiry windows are long enough for the route
  • Avalanche routes are registered in ICMBridgeFactory