Skip to content
Lattice

IAgreementFactory

Git Source

Title: IAgreementFactory

Authors: David Dada <daveproxy80@gmail.com> (https://github.com/dadadave80), Vendored minimal subset of SEAL Safe Harbor's registry contracts

(https://github.com/security-alliance/safe-harbor). Upstream license: MIT.

Minimal vendored interface for the SEAL Safe Harbor AgreementFactory (registry v3.0.0), used by SafeHarborAdopter to deploy an Agreement holding the protocol's terms.

The factory CREATE2-deploys an Agreement (Ownable, mutable) owned by owner. The deployed factory + chain-validator addresses are chain-specific and supplied by the deployer.

Functions

create

Deploys an Agreement holding details, owned by owner.

function create(AgreementDetails memory details, address chainValidator, address owner, bytes32 salt)
        external
        returns (address agreementAddress);

Parameters

NameTypeDescription
detailsAgreementDetailsThe agreement details (recovery addresses, accounts, bounty terms).
chainValidatoraddressThe SEAL ChainValidator contract for this chain.
owneraddressThe owner of the new agreement (may update its terms).
saltbytes32A caller-provided salt for CREATE2 uniqueness.

Returns

NameTypeDescription
agreementAddressaddressThe address of the newly deployed agreement.