WildcatSanctionsSentinel.sol

The WildcatSanctionsSentinel contract interfaces with Chainalysis, allows borrowers to override lenders' sanction statuses and deploys escrows.

WildcatSanctionsEscrowInitcodeHash

 bytes32 public constant override WildcatSanctionsEscrowInitcodeHash;

chainalysisSanctionsList

 address public immutable override chainalysisSanctionsList;

archController

 address public immutable override archController;

tmpEscrowParams

 TmpEscrowParams public override tmpEscrowParams;

sanctionOverrides

 mapping(address borrower =>
           mapping(address account => bool sanctionOverride))
   public override sanctionOverrides;

isSanctioned

 function isSanctioned(address borrower, address account)
   public view override returns (bool);

overrideSanction

 function overrideSanction(address account)
   public override;

Yes, anyone can 'file an override' because it's a public function - no, it doesn't work for the purpose of releasing assets from an escrow contract unless msg.sender is a borrower for a market that invoked nukeFromOrbit.

This isn't the gotcha you're thinking of.

removeSanctionOverride

 function removeSanctionOverride(address account)
   public override;

See above.

getEscrowAddress

 function getEscrowAddress(
    address borrower,
    address account,
    address asset
  ) public view override returns (address escrowAddress);

createEscrow

 function createEscrow(
    address borrower,
    address account,
    address asset
  ) public override returns (address escrowContract);

Last updated