FullTrustedUW

Underwriter that just decodes what it receives. The access validations should be done on risk module methods.

Public Functions

priceNewPolicy

function priceNewPolicy(address, bytes inputData) external pure returns (uint256 payout, uint256 premium, uint256 lossProb, uint40 expiration, uint96 internalId, struct Policy.Params params)

Prices a new policy request for RiskModule rm.

Parameters

Name Type Description
address
inputData bytes Opaque payload consumed by the Underwriter implementation.

Return Values

Name Type Description
payout uint256 The policy payout.
premium uint256 The total premium for the policy.
lossProb uint256 Loss probability used for pricing/risk calculations.
expiration uint40 Policy expiration timestamp (seconds since epoch).
internalId uint96 Unique id within rm used to derive the policy id.
params struct Policy.Params Additional policy parameters used by {Policy-initialize}.

Pre-conditions

  • inputData must follow the ABI/layout expected by the concrete Underwriter implementation.
  • The caller must satisfy any access/authentication requirements imposed by the implementation.

pricePolicyReplacement

function pricePolicyReplacement(address, bytes inputData) external pure returns (struct Policy.PolicyData oldPolicy, uint256 payout, uint256 premium, uint256 lossProb, uint40 expiration, uint96 internalId, struct Policy.Params params)

Prices a policy replacement request for RiskModule rm.

Parameters

Name Type Description
address
inputData bytes Opaque payload consumed by the Underwriter implementation.

Return Values

Name Type Description
oldPolicy struct Policy.PolicyData The policy being replaced (as {Policy-PolicyData}).
payout uint256 The replacement policy payout.
premium uint256 The replacement policy premium.
lossProb uint256 Loss probability used for pricing/risk calculations.
expiration uint40 Replacement policy expiration timestamp.
internalId uint96 Unique id within rm for the replacement policy.
params struct Policy.Params Additional policy parameters used by {Policy-initialize}.

Pre-conditions

  • inputData must follow the ABI/layout expected by the concrete Underwriter implementation.
  • The caller must satisfy any access/authentication requirements imposed by the implementation.

pricePolicyCancellation

function pricePolicyCancellation(address, bytes inputData) external view returns (struct Policy.PolicyData policyToCancel, uint256 purePremiumRefund, uint256 jrCocRefund, uint256 srCocRefund)

Prices a policy cancellation request for RiskModule rm.

Parameters

Name Type Description
address
inputData bytes Opaque payload consumed by the Underwriter implementation.

Return Values

Name Type Description
policyToCancel struct Policy.PolicyData The policy to cancel (as {Policy-PolicyData}).
purePremiumRefund uint256 Amount to refund from pure premium.
jrCocRefund uint256 Amount to refund from junior CoC (or a sentinel value, if supported).
srCocRefund uint256 Amount to refund from senior CoC (or a sentinel value, if supported).

Pre-conditions

  • inputData must follow the ABI/layout expected by the concrete Underwriter implementation.
  • The caller must satisfy any access/authentication requirements imposed by the implementation.