From c970dc8757abd50535038758bad26b212a6422f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20=C5=9Aled=C5=BA?= Date: Wed, 28 Jan 2026 03:21:13 +0100 Subject: [PATCH 1/2] [F11-158] Allow calling completeFunding by insurance authority --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index de40fb6..c5cd3e9 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,12 @@ fida-contracts ### Generate purescript module ``` -nix run -L git+ssh://git@github.com/fida-services/fida-contracts#fida-contracts:exe:fida-contracts-serialise -- -n 'Fida.RawScript' +nix run -L git+ssh://git@github.com/fida-services/fida-contracts#fida-contracts:exe:fida-contracts-serialise -- -n 'Fida.RawScripts' ``` locally ``` -nix run -L .#fida-contracts:exe:fida-contracts-serialise -- -n 'Fida.RawScript' +nix run -L .#fida-contracts:exe:fida-contracts-serialise -- -n 'Fida.RawScripts' ``` ### Generate plutus scripts From 42d16d9ae1c4e71b2307a83777bee6b4fc6da35a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20=C5=9Aled=C5=BA?= Date: Thu, 29 Jan 2026 21:29:11 +0100 Subject: [PATCH 2/2] [F11-158] Allow calling completeFunding by insurance authority --- src/Fida/Contract/Insurance/Lifecycle/Funding.hs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Fida/Contract/Insurance/Lifecycle/Funding.hs b/src/Fida/Contract/Insurance/Lifecycle/Funding.hs index f888c3b..d247c7c 100644 --- a/src/Fida/Contract/Insurance/Lifecycle/Funding.hs +++ b/src/Fida/Contract/Insurance/Lifecycle/Funding.hs @@ -51,7 +51,7 @@ import PlutusTx.Prelude -- -- ERROR-FUNDING-VALIDATOR-5: start date must be before valid range -- --- ERROR-FUNDING-VALIDATOR-6: tx is not signed by the policy holder +-- ERROR-FUNDING-VALIDATOR-6: tx is not signed by the policy holder or policy authority {-# INLINEABLE lifecycleFundingStateValidator #-} lifecycleFundingStateValidator :: InsuranceId -> @@ -68,11 +68,11 @@ lifecycleFundingStateValidator (InsuranceId cs) d@InsuranceInfo {iInfoPolicyAuth outputDatum = untypedOutputDatum cs sc policyInfoTokenName hasCorrectOutput = outputDatum == untypedUpdatePolicyState d Cancelled -lifecycleFundingStateValidator (InsuranceId cs) (iinfo@InsuranceInfo {iInfoState = Funding, iInfoFidaCardNumber, iInfoPolicyHolder}) (PolicyFundingFundingComplete startDate) sc = +lifecycleFundingStateValidator (InsuranceId cs) (iinfo@InsuranceInfo {iInfoState = Funding, iInfoFidaCardNumber, iInfoPolicyHolder, iInfoPolicyAuthority}) (PolicyFundingFundingComplete startDate) sc = traceIfFalse "ERROR-FUNDING-VALIDATOR-3" (fidaCardsSold >= iInfoFidaCardNumber) && traceIfFalse "ERROR-FUNDING-VALIDATOR-4" hasCorrectOutput && traceIfFalse "ERROR-FUNDING-VALIDATOR-5" isStartDateCorrect - && traceIfFalse "ERROR-FUNDING-VALIDATOR-6" isSignedByPolicyHolder + && traceIfFalse "ERROR-FUNDING-VALIDATOR-6" (isSignedByPolicyHolder || isSignedByAuthority') where txInfo = scriptContextTxInfo sc @@ -95,4 +95,6 @@ lifecycleFundingStateValidator (InsuranceId cs) (iinfo@InsuranceInfo {iInfoState isStartDateCorrect = startDate `before` txInfoValidRange txInfo isSignedByPolicyHolder = txSignedBy txInfo iInfoPolicyHolder + + isSignedByAuthority' = isSignedByTheAuthority sc iInfoPolicyAuthority lifecycleFundingStateValidator _ _ _ _ = trace "ERROR-FUNDING-VALIDATOR-0" False