useDeployEscrow
Deploy the escrow contract and define the escrow properties.
useDeployEscrow
Build an unsigned deploy transaction for a new v2 escrow. Returns unsignedXdr plus the predicted contractId.
Import
import { useDeployEscrow } from "@trustless-work/escrow";
// or
import { useDeployEscrow } from "@trustless-work/escrow/hooks/rest";Signature
function useDeployEscrow(): {
deployEscrow: (
payload: DeploySingleReleaseEscrowPayload | DeployMultiReleaseEscrowPayload,
type: EscrowType,
attribution?: AttributionHeaders,
) => Promise<DeployEscrowResponse>;
};Returns DeployEscrowResponse: { unsignedXdr, txHash, contractId }.
Single vs multi
DeploySingleReleaseEscrowPayload: signer, engagementId, title, description, amount, platformFee, roles (Roles), milestones (SingleReleaseMilestonePayload[]), trustline (DeployTrustline).
await deployEscrow(payload, "single-release");DeployMultiReleaseEscrowPayload: same fields except no top-level amount; roles is MultiReleaseRoles; each milestone includes amount + receiver.
await deployEscrow(payload, "multi-release");Example
There is no useInitializeEscrow in v5. Use useDeployEscrow + Deploy*EscrowPayload.