Skip to content
This repository has been archived by the owner on Feb 11, 2022. It is now read-only.

Latest commit

 

History

History
215 lines (191 loc) · 6.84 KB

Finalization.md

File metadata and controls

215 lines (191 loc) · 6.84 KB

Neptune Mutual Governance: Finalization Contract (Finalization.sol)

View Source: contracts/core/governance/resolution/Finalization.sol

↗ Extends: Recoverable, IFinalization ↘ Derived Contracts: Resolvable

Finalization

This contract allows governance agents "finalize" a resolved cover product after the claim period. When a cover product is finalized, it resets back to normal state where tokenholders can again supply liquidity and purchase policies.

Functions

finalize

function finalize(bytes32 key, uint256 incidentDate) external nonpayable nonReentrant 

Arguments

Name Type Description
key bytes32
incidentDate uint256
Source Code
function finalize(bytes32 key, uint256 incidentDate) external override nonReentrant {
    s.mustNotBePaused();
    AccessControlLibV1.mustBeGovernanceAgent(s);

    s.mustBeClaimingOrDisputed(key);
    s.mustBeValidIncidentDate(key, incidentDate);
    s.mustBeAfterClaimExpiry(key);

    _finalize(key, incidentDate);
  }

_finalize

function _finalize(bytes32 key, uint256 incidentDate) internal nonpayable

Arguments

Name Type Description
key bytes32
incidentDate uint256
Source Code
function _finalize(bytes32 key, uint256 incidentDate) internal {
    // Reset to normal
    s.setStatus(key, CoverUtilV1.CoverStatus.Normal);
    s.deleteUintByKeys(ProtoUtilV1.NS_GOVERNANCE_REPORTING_INCIDENT_DATE, key);
    s.deleteUintByKeys(ProtoUtilV1.NS_GOVERNANCE_RESOLUTION_TS, key);
    s.deleteUintByKeys(ProtoUtilV1.NS_CLAIM_BEGIN_TS, key);
    s.deleteUintByKeys(ProtoUtilV1.NS_CLAIM_EXPIRY_TS, key);

    s.deleteAddressByKeys(ProtoUtilV1.NS_GOVERNANCE_REPORTING_WITNESS_YES, key);
    s.deleteUintByKeys(ProtoUtilV1.NS_GOVERNANCE_REPORTING_WITNESS_YES, key);

    s.updateStateAndLiquidity(key);
    emit Finalized(key, msg.sender, incidentDate);
  }

Contracts