The escrow contract currently locks a single token address at initialize() (one contract instance per settlement asset, as demonstrated with the separate USDC and native-XLM instances already deployed). Add support for a single contract instance to handle multiple SEP-41 tokens with per-token fee configuration.
Acceptance criteria: lock() accepts a token address parameter rather than relying solely on the instance-wide configured token; per-token fee basis points configurable by the admin; existing single-token behavior remains available for backward compatibility.
The escrow contract currently locks a single token address at initialize() (one contract instance per settlement asset, as demonstrated with the separate USDC and native-XLM instances already deployed). Add support for a single contract instance to handle multiple SEP-41 tokens with per-token fee configuration.
Acceptance criteria: lock() accepts a token address parameter rather than relying solely on the instance-wide configured token; per-token fee basis points configurable by the admin; existing single-token behavior remains available for backward compatibility.