diff --git a/contracts/examples/crop/CropProduct.sol b/contracts/examples/crop/CropProduct.sol index d9a6880b8..4e161a683 100644 --- a/contracts/examples/crop/CropProduct.sol +++ b/contracts/examples/crop/CropProduct.sol @@ -195,7 +195,6 @@ contract CropProduct is if (seasonEndAt < TimestampLib.current()) { revert ErrorInvalidSeasonEndAt(seasonEndAt); } // create risk, if new - bytes32 riskKey = keccak256(abi.encode(id)); CropRisk memory cropRisk = CropRisk({ seasonId: seasonId, locationId: locationId, @@ -205,7 +204,7 @@ contract CropProduct is payoutDefined: false }); - riskId = _createRisk(riskKey, abi.encode(cropRisk)); + riskId = _createRisk(abi.encode(cropRisk)); _riskId[id] = riskId; } diff --git a/contracts/examples/fire/FireProduct.sol b/contracts/examples/fire/FireProduct.sol index 3e7c09458..4bd1e2e44 100644 --- a/contracts/examples/fire/FireProduct.sol +++ b/contracts/examples/fire/FireProduct.sol @@ -248,7 +248,7 @@ contract FireProduct is return _riskMapping[cityName]; } _cities.push(cityName); - risk = _createRisk(bytes32(abi.encodePacked(cityName)), ""); + risk = _createRisk(""); _riskMapping[cityName] = risk; } diff --git a/contracts/examples/flight/FlightLib.sol b/contracts/examples/flight/FlightLib.sol index 599f58891..54b27d6c4 100644 --- a/contracts/examples/flight/FlightLib.sol +++ b/contracts/examples/flight/FlightLib.sol @@ -243,8 +243,6 @@ library FlightLib { function getFlightRisk( - InstanceReader reader, - NftId productNftId, Str flightData, Timestamp departureTime, string memory departureTimeLocal, @@ -254,28 +252,20 @@ library FlightLib { public view returns ( - RiskId riskId, - bool exists, FlightProduct.FlightRisk memory flightRisk ) { - riskId = getRiskId(productNftId, flightData); - (exists, flightRisk) = getFlightRisk(reader, productNftId, riskId, false); - - // create new risk if not existing - if (!exists) { - flightRisk = FlightProduct.FlightRisk({ - flightData: flightData, - departureTime: departureTime, - departureTimeLocal: departureTimeLocal, - arrivalTime: arrivalTime, - arrivalTimeLocal: arrivalTimeLocal, - sumOfSumInsuredAmounts: AmountLib.toAmount(0), - status: bytes1(0), - delayMinutes: 0, - payoutOption: uint8(0), - statusUpdatedAt: TimestampLib.zero()}); - } + flightRisk = FlightProduct.FlightRisk({ + flightData: flightData, + departureTime: departureTime, + departureTimeLocal: departureTimeLocal, + arrivalTime: arrivalTime, + arrivalTimeLocal: arrivalTimeLocal, + sumOfSumInsuredAmounts: AmountLib.toAmount(0), + status: bytes1(0), + delayMinutes: 0, + payoutOption: uint8(0), + statusUpdatedAt: TimestampLib.zero()}); } @@ -306,20 +296,6 @@ library FlightLib { } } - - function getRiskId( - NftId productNftId, - Str flightData - ) - public - view - returns (RiskId riskId) - { - bytes32 riskKey = getRiskKey(flightData); - riskId = getRiskId(productNftId, riskKey); - } - - function getRiskKey( Str flightData ) @@ -330,8 +306,4 @@ library FlightLib { return keccak256(abi.encode(flightData)); } - - function getRiskId(NftId productNftId, bytes32 riskKey) internal view returns (RiskId riskId) { - return RiskIdLib.toRiskId(productNftId, riskKey); - } } \ No newline at end of file diff --git a/contracts/examples/flight/FlightProduct.sol b/contracts/examples/flight/FlightProduct.sol index aed5af67a..ca73c247c 100644 --- a/contracts/examples/flight/FlightProduct.sol +++ b/contracts/examples/flight/FlightProduct.sol @@ -67,6 +67,7 @@ contract FlightProduct is bool internal _testMode; mapping(RiskId riskId => RequestId requestId) internal _requests; + mapping(bytes32 encodedRisk => RiskId) internal _risks; // GIF V3 specifics NftId internal _defaultBundleNftId; @@ -507,20 +508,22 @@ contract FlightProduct is returns (RiskId riskId) { bool exists; - FlightRisk memory flightRisk; - (riskId, exists, flightRisk) = FlightLib.getFlightRisk( - _getInstanceReader(), - getNftId(), + FlightRisk memory flightRisk = FlightLib.getFlightRisk( flightData, departureTime, departureTimeLocal, arrivalTime, arrivalTimeLocal); + bytes32 riskKey = FlightLib.getRiskKey(flightData); + exists = _risks[riskKey].gtz(); + // create risk, if new if (!exists) { - bytes32 riskKey = FlightLib.getRiskKey(flightData); - _createRisk(riskKey, abi.encode(flightRisk)); + riskId = _createRisk(abi.encode(flightRisk)); + _risks[riskKey] = riskId; + } else { + riskId = _risks[riskKey]; } FlightLib.checkClusterRisk( diff --git a/contracts/examples/unpermissioned/SimpleProduct.sol b/contracts/examples/unpermissioned/SimpleProduct.sol index cf62e20cd..61bd04b05 100644 --- a/contracts/examples/unpermissioned/SimpleProduct.sol +++ b/contracts/examples/unpermissioned/SimpleProduct.sol @@ -81,13 +81,9 @@ contract SimpleProduct is function createRisk( - string memory id, bytes memory data ) public returns (RiskId) { - return _createRisk( - bytes32(abi.encodePacked(id)), - data - ); + return _createRisk(data); } function updateRisk( diff --git a/contracts/instance/ProductStore.sol b/contracts/instance/ProductStore.sol index 4cbe92f63..ee4969768 100644 --- a/contracts/instance/ProductStore.sol +++ b/contracts/instance/ProductStore.sol @@ -113,7 +113,8 @@ contract ProductStore is } //--- Risk --------------------------------------------------------------// - function createRisk(RiskId riskId, IRisk.RiskInfo memory info) external restricted() { + function createRisk(IRisk.RiskInfo memory info) external restricted() returns (RiskId riskId) { + riskId = _createNextRiskId(); Key32 key = riskId.toKey32(); _createMetadata(key); _risks[key] = info; diff --git a/contracts/instance/base/ObjectCounter.sol b/contracts/instance/base/ObjectCounter.sol index 84a096c1c..493cb3ffb 100644 --- a/contracts/instance/base/ObjectCounter.sol +++ b/contracts/instance/base/ObjectCounter.sol @@ -1,20 +1,22 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.20; -import {Blocknumber, BlocknumberLib} from "../../type/Blocknumber.sol"; import {NftId} from "../../type/NftId.sol"; -import {Amount} from "../../type/Amount.sol"; import {RequestId, RequestIdLib} from "../../type/RequestId.sol"; +import {RiskId, RiskIdLib} from "../../type/RiskId.sol"; contract ObjectCounter { - // TODO refactor risk id - // mapping(NftId productNftId => uint64 risks) private _riskCounter; - + uint64 private _riskCounter = 0; uint256 private _requestCounter = 0; function _createNextRequestId() internal returns (RequestId requestId) { _requestCounter++; requestId = RequestIdLib.toRequestId(_requestCounter); } + + function _createNextRiskId() internal returns (RiskId riskId) { + _riskCounter++; + riskId = RiskIdLib.toRiskId(_riskCounter); + } } diff --git a/contracts/product/IRiskService.sol b/contracts/product/IRiskService.sol index a7cb852e2..b1800da80 100644 --- a/contracts/product/IRiskService.sol +++ b/contracts/product/IRiskService.sol @@ -23,7 +23,6 @@ interface IRiskService is IService { /// The key of the risk derived from the risk id in comination with the product NftId. /// Risk data is stored in the instance store. function createRisk( - bytes32 id, bytes memory data ) external returns (RiskId riskId); diff --git a/contracts/product/Product.sol b/contracts/product/Product.sol index 4a7382e07..74a86ab84 100644 --- a/contracts/product/Product.sol +++ b/contracts/product/Product.sol @@ -181,17 +181,13 @@ abstract contract Product is function _createRisk( - bytes32 id, bytes memory data ) internal virtual returns (RiskId riskId) { - return _getProductStorage()._riskService.createRisk( - id, - data - ); + return _getProductStorage()._riskService.createRisk(data); } function _updateRisk( diff --git a/contracts/product/RiskService.sol b/contracts/product/RiskService.sol index a9b83e4f5..80e8655c6 100644 --- a/contracts/product/RiskService.sol +++ b/contracts/product/RiskService.sol @@ -40,7 +40,6 @@ contract RiskService is /// @inheritdoc IRiskService function createRisk( - bytes32 id, bytes memory data ) external @@ -52,16 +51,12 @@ contract RiskService is (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT()); // effects - riskId = RiskIdLib.toRiskId(productNftId, id); IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo({ productNftId: productNftId, createdAt: TimestampLib.current(), data: data}); - instance.getProductStore().createRisk( - riskId, - riskInfo - ); + riskId = instance.getProductStore().createRisk(riskInfo); // add risk to RiskSet RiskSet riskSet = instance.getRiskSet(); diff --git a/contracts/type/RiskId.sol b/contracts/type/RiskId.sol index d06dbaad5..8ff08b096 100644 --- a/contracts/type/RiskId.sol +++ b/contracts/type/RiskId.sol @@ -2,10 +2,9 @@ pragma solidity ^0.8.20; import {Key32, KeyId, Key32Lib} from "./Key32.sol"; -import {NftId} from "./NftId.sol"; import {RISK} from "./ObjectType.sol"; -type RiskId is bytes8; +type RiskId is uint64; // type bindings using { @@ -33,7 +32,7 @@ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) { library RiskIdLib { function zero() public pure returns (RiskId) { - return RiskId.wrap(bytes8(0)); + return RiskId.wrap(uint64(0)); } // @dev Converts a risk id into a uint256. @@ -42,8 +41,8 @@ library RiskIdLib { } // @dev Converts a risk id string with a product NftId into a risk id. - function toRiskId(NftId productNftId, bytes32 risk) public pure returns (RiskId) { - return RiskId.wrap(bytes8(keccak256(abi.encode(productNftId, risk)))); + function toRiskId(uint256 id) public pure returns (RiskId) { + return RiskId.wrap(uint64(id)); } /// @dev Returns the key32 value for the specified risk id. @@ -53,12 +52,13 @@ library RiskIdLib { /// @dev Returns the key id value for the specified nft id function toKeyId(RiskId id) public pure returns (KeyId keyId) { - return KeyId.wrap(bytes31(RiskId.unwrap(id))); + return KeyId.wrap(bytes31(uint248(RiskId.unwrap(id)))); } function toRiskId(KeyId keyId) public pure returns (RiskId riskId) { - riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId))); - assert(toInt(riskId) < 2**64); + uint248 keyIdInt = uint248(bytes31(KeyId.unwrap(keyId))); + assert(keyIdInt < type(uint64).max); + return RiskId.wrap(uint64(keyIdInt)); } function eq(RiskId a, RiskId b) public pure returns (bool isSame) { diff --git a/scripts/deploy_flightdelay_components.ts b/scripts/deploy_flightdelay_components.ts index d40062060..3c042961b 100644 --- a/scripts/deploy_flightdelay_components.ts +++ b/scripts/deploy_flightdelay_components.ts @@ -142,7 +142,6 @@ export async function deployFlightDelayComponentContracts(libraries: LibraryAddr { libraries: { AmountLib: amountLibAddress, - RiskIdLib: riskIdLibAddress, TimestampLib: timestampLibAddress, } }); @@ -188,6 +187,7 @@ export async function deployFlightDelayComponentContracts(libraries: LibraryAddr ObjectTypeLib: objectTypeLibAddress, ReferralLib: referralLibAddress, RequestIdLib: requestIdLibAddress, + RiskIdLib: riskIdLibAddress, SecondsLib: secondsLibAddress, StrLib: strLibAddress, TimestampLib: timestampLibAddress, diff --git a/scripts/libs/services.ts b/scripts/libs/services.ts index 0f27e94ae..02b634205 100644 --- a/scripts/libs/services.ts +++ b/scripts/libs/services.ts @@ -410,7 +410,6 @@ export async function deployAndRegisterServices(owner: Signer, registry: Registr ContractLib: libraries.contractLibAddress, BlocknumberLib: libraries.blockNumberLibAddress, NftIdLib: libraries.nftIdLibAddress, - RiskIdLib: libraries.riskIdLibAddress, RoleIdLib: libraries.roleIdLibAddress, TimestampLib: libraries.timestampLibAddress, VersionLib: libraries.versionLibAddress, diff --git a/test/TestBundle.t.sol b/test/TestBundle.t.sol index f1ecfabb2..76a6d5710 100644 --- a/test/TestBundle.t.sol +++ b/test/TestBundle.t.sol @@ -1098,7 +1098,7 @@ contract TestBundle is GifTest { function _createRisk(string memory riskIdStr) internal returns (RiskId riskId) { vm.startPrank(productOwner); - riskId = product.createRisk(riskIdStr, ""); + riskId = product.createRisk(""); vm.stopPrank(); } diff --git a/test/TestFees.t.sol b/test/TestFees.t.sol index 9b04be56a..0fdf858b5 100644 --- a/test/TestFees.t.sol +++ b/test/TestFees.t.sol @@ -701,7 +701,7 @@ contract TestFees is GifTest { FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); if (purchaseWithReferral) { diff --git a/test/component/distribution/Referral.t.sol b/test/component/distribution/Referral.t.sol index dc2e84e8e..aa5a0fd6f 100644 --- a/test/component/distribution/Referral.t.sol +++ b/test/component/distribution/Referral.t.sol @@ -89,7 +89,7 @@ contract ReferralTest is ReferralTestBase { // create risk vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -187,7 +187,7 @@ contract ReferralTest is ReferralTestBase { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); diff --git a/test/component/product/PolicyServiceLib.t.sol b/test/component/product/PolicyServiceLib.t.sol index 78ba4eb7c..8ed7a91d1 100644 --- a/test/component/product/PolicyServiceLib.t.sol +++ b/test/component/product/PolicyServiceLib.t.sol @@ -33,7 +33,7 @@ contract PolicyServiceLibTest is GifTest { // create test specific risk bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); // crete application uint256 sumInsuredAmount = 1000; @@ -97,7 +97,7 @@ contract PolicyServiceLibTest is GifTest { // create test specific risk bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); // crete application uint256 sumInsuredAmount = 1000; @@ -150,7 +150,7 @@ contract PolicyServiceLibTest is GifTest { // create test specific risk bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); // crete application uint256 sumInsuredAmount = 1000; diff --git a/test/component/product/ProductApplication.t.sol b/test/component/product/ProductApplication.t.sol index 2f0243e23..dcc04130c 100644 --- a/test/component/product/ProductApplication.t.sol +++ b/test/component/product/ProductApplication.t.sol @@ -50,7 +50,7 @@ contract ProductApplicationTest is GifTest { bytes memory data = "bla di blubb"; SimpleProduct dproduct = SimpleProduct(address(product)); - RiskId riskId = dproduct.createRisk("42x4711", data); + RiskId riskId = dproduct.createRisk(data); NftId policyNftId = dproduct.createApplication( customer, @@ -77,8 +77,8 @@ contract ProductApplicationTest is GifTest { function test_Product_createApplication_invalidRisk() public { vm.startPrank(productOwner); - RiskId riskId = product.createRisk("42x4711", "bla di blubb"); - RiskId riskId2 = RiskIdLib.toRiskId(productNftId, "42x4712"); + RiskId riskId = product.createRisk("bla di blubb"); + RiskId riskId2 = RiskIdLib.toRiskId(888); Seconds lifetime = SecondsLib.toSeconds(30); ReferralId noReferral = ReferralLib.zero(); Amount sumInsured = AmountLib.toAmount(1000); @@ -103,7 +103,7 @@ contract ProductApplicationTest is GifTest { function test_Product_createApplication_lockedRisk() public { vm.startPrank(productOwner); - RiskId riskId = product.createRisk("42x4711", "bla di blubb"); + RiskId riskId = product.createRisk("bla di blubb"); Seconds lifetime = SecondsLib.toSeconds(30); ReferralId noReferral = ReferralLib.zero(); Amount sumInsured = AmountLib.toAmount(1000); @@ -131,7 +131,7 @@ contract ProductApplicationTest is GifTest { // GIVEN vm.startPrank(productOwner); - RiskId riskId = product.createRisk("42x4711", "bla di blubb"); + RiskId riskId = product.createRisk("bla di blubb"); Seconds lifetime = SecondsLib.toSeconds(30); ReferralId noReferral = ReferralLib.zero(); Amount sumInsured = AmountLib.toAmount(1000); @@ -168,7 +168,7 @@ contract ProductApplicationTest is GifTest { // GIVEN vm.startPrank(productOwner); - RiskId riskId = product.createRisk("42x4711", "bla di blubb"); + RiskId riskId = product.createRisk("bla di blubb"); Seconds lifetime = SecondsLib.toSeconds(30); ReferralId referralId = ReferralLib.toReferralId(distributionNftId, "UNKNOWN"); Amount sumInsured = AmountLib.toAmount(1000); @@ -201,7 +201,7 @@ contract ProductApplicationTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -241,7 +241,7 @@ contract ProductApplicationTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); diff --git a/test/component/product/ProductClaim.t.sol b/test/component/product/ProductClaim.t.sol index 6c3d11869..4e32a72ad 100644 --- a/test/component/product/ProductClaim.t.sol +++ b/test/component/product/ProductClaim.t.sol @@ -37,7 +37,7 @@ contract TestProductClaim is GifTest { // create risk vm.startPrank(productOwner); - riskId = product.createRisk("Risk_1", ""); + riskId = product.createRisk(""); vm.stopPrank(); // create application diff --git a/test/component/product/ProductClusterRisk.t.sol b/test/component/product/ProductClusterRisk.t.sol index 39f341725..f06ce1d00 100644 --- a/test/component/product/ProductClusterRisk.t.sol +++ b/test/component/product/ProductClusterRisk.t.sol @@ -27,8 +27,8 @@ contract ProductClusterRiskTest is GifClusterTest { string memory riskName = "Risk1"; // WHEN - riskId1 = myProduct1.createRisk(riskName, abi.encode(1,2,3)); - riskId2 = myProduct2.createRisk(riskName, abi.encode(1,2,3)); + riskId1 = myProduct1.createRisk(abi.encode(1,2,3)); + riskId2 = myProduct2.createRisk(abi.encode(1,2,3)); // THEN assertFalse(riskId1.eq(riskId2), "riskId1 and riskid2 should not be equal"); diff --git a/test/component/product/ProductLifecycle.t.sol b/test/component/product/ProductLifecycle.t.sol index fa165671e..f79c6c878 100644 --- a/test/component/product/ProductLifecycle.t.sol +++ b/test/component/product/ProductLifecycle.t.sol @@ -43,7 +43,7 @@ contract TestProductLifecycle // create risk vm.startPrank(productOwner); - riskId = product.createRisk("Risk_1", ""); + riskId = product.createRisk(""); vm.stopPrank(); policyHolder = new MyPolicyHolder(address(registry)); diff --git a/test/component/product/ProductPayout.t.sol b/test/component/product/ProductPayout.t.sol index 8e036e30c..34de47557 100644 --- a/test/component/product/ProductPayout.t.sol +++ b/test/component/product/ProductPayout.t.sol @@ -38,7 +38,7 @@ contract TestProductClaim is GifTest { // create risk vm.startPrank(productOwner); - riskId = product.createRisk("Risk_1", ""); + riskId = product.createRisk(""); vm.stopPrank(); // create application diff --git a/test/component/product/ProductPolicy.t.sol b/test/component/product/ProductPolicy.t.sol index a2f2d7ed5..81ffcd2aa 100644 --- a/test/component/product/ProductPolicy.t.sol +++ b/test/component/product/ProductPolicy.t.sol @@ -52,7 +52,7 @@ contract ProductPolicyTest is GifTest { // create test specific risk bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); // crete application uint sumInsuredAmount = 1000; @@ -117,7 +117,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -223,7 +223,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); product.setFees(productFee, FeeLib.zero()); - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); // configure distribution fee and referral @@ -342,7 +342,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); uint sumInsuredAmount = 1000; NftId policyNftId = product.createApplication( @@ -384,7 +384,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); uint sumInsuredAmount = 1000; NftId policyNftId = product.createApplication( @@ -426,7 +426,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); product.setFees(productFee, FeeLib.zero()); - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); // configure distribution fee and referral @@ -532,7 +532,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -627,7 +627,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -674,7 +674,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -719,7 +719,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); uint sumInsuredAmount = 1000; NftId policyNftId = product.createApplication( @@ -773,7 +773,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); uint sumInsuredAmount = 1000; NftId policyNftId = product.createApplication( @@ -813,7 +813,7 @@ contract ProductPolicyTest is GifTest { vm.stopPrank(); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -866,7 +866,7 @@ contract ProductPolicyTest is GifTest { vm.stopPrank(); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -924,7 +924,7 @@ contract ProductPolicyTest is GifTest { vm.stopPrank(); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -981,7 +981,7 @@ contract ProductPolicyTest is GifTest { vm.stopPrank(); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -1038,7 +1038,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -1145,7 +1145,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -1240,7 +1240,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -1297,7 +1297,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -1357,7 +1357,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -1416,7 +1416,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -1472,7 +1472,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -1531,7 +1531,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); uint sumInsuredAmount = 1000; NftId policyNftId = product.createApplication( @@ -1571,7 +1571,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); uint sumInsuredAmount = 1000; NftId policyNftId = product.createApplication( @@ -1612,7 +1612,7 @@ contract ProductPolicyTest is GifTest { product.setFees(productFee, FeeLib.zero()); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); vm.startPrank(customer); @@ -1658,7 +1658,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); @@ -1734,7 +1734,7 @@ contract ProductPolicyTest is GifTest { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); diff --git a/test/component/product/ProductRisk.Cluster.t.sol b/test/component/product/ProductRisk.Cluster.t.sol index 69e78d48f..fcaae378c 100644 --- a/test/component/product/ProductRisk.Cluster.t.sol +++ b/test/component/product/ProductRisk.Cluster.t.sol @@ -27,7 +27,7 @@ contract ProductRiskClusterTest is GifClusterTest { function test_updateRisk_fromOtherProductCluster() public { // GIVEN - RiskId riskId = myProduct1.createRisk("risk1", "risk1data"); + RiskId riskId = myProduct1.createRisk("risk1data"); // THEN vm.expectRevert(abi.encodeWithSelector( @@ -41,7 +41,7 @@ contract ProductRiskClusterTest is GifClusterTest { function test_setRiskLocked_fromOtherProductCluster() public { // GIVEN - RiskId riskId = myProduct1.createRisk("risk1", "risk1data"); + RiskId riskId = myProduct1.createRisk("risk1data"); // THEN vm.expectRevert(abi.encodeWithSelector( @@ -55,7 +55,7 @@ contract ProductRiskClusterTest is GifClusterTest { function test_closeRisk_fromOtherProductCluster() public { // GIVEN - RiskId riskId = myProduct1.createRisk("risk1", "risk1data"); + RiskId riskId = myProduct1.createRisk("risk1data"); // THEN vm.expectRevert(abi.encodeWithSelector( diff --git a/test/component/product/ProductRisk.t.sol b/test/component/product/ProductRisk.t.sol index ab8ba0ebf..f8c453f0f 100644 --- a/test/component/product/ProductRisk.t.sol +++ b/test/component/product/ProductRisk.t.sol @@ -33,7 +33,7 @@ contract TestProductRisk is GifTest { // create risk vm.startPrank(productOwner); - initialRiskId = product.createRisk("Risk1", abi.encode(1,2,3)); + initialRiskId = product.createRisk(abi.encode(1,2,3)); vm.stopPrank(); // create application @@ -49,7 +49,7 @@ contract TestProductRisk is GifTest { function test_productRiskIdLib() public view { // GIVEN - RiskId riskId = RiskIdLib.toRiskId(productNftId, "Risk1"); + RiskId riskId = RiskIdLib.toRiskId(17); KeyId keyId = RiskIdLib.toKeyId(riskId); RiskId riskIdReverse = RiskIdLib.toRiskId(keyId); @@ -81,7 +81,6 @@ contract TestProductRisk is GifTest { assertEq(instanceReader.activeRisks(productNftId), 1, "unexpected number of active risks"); assertEq(instanceReader.getActiveRiskId(productNftId, 0).toInt(), initialRiskId.toInt(), "unexpected active risk id"); - assertEq(initialRiskId.toInt(), RiskIdLib.toRiskId(productNftId, "Risk1").toInt(), "unexpected initial risk id"); assertEq(instanceReader.getPolicyInfo(initialPolicyNftId).riskId.toInt(), initialRiskId.toInt(), "unexpected risk id for policy"); assertEq(instanceReader.policiesForRisk(initialRiskId), 0, "unexpected number of policies for risk"); } @@ -92,7 +91,7 @@ contract TestProductRisk is GifTest { // WHEN vm.startPrank(productOwner); - RiskId newRiskId = product.createRisk("RiskA", abi.encode(4,5,6)); + RiskId newRiskId = product.createRisk(abi.encode(4,5,6)); vm.stopPrank(); // THEN @@ -111,7 +110,6 @@ contract TestProductRisk is GifTest { assertEq(instanceReader.getActiveRiskId(productNftId, 1).toInt(), newRiskId.toInt(), "unexpected active new risk id"); // check all risks - assertEq(newRiskId.toInt(), RiskIdLib.toRiskId(productNftId, "RiskA").toInt(), "unexpected new risk id"); assertEq(instanceReader.policiesForRisk(initialRiskId), 0, "unexpected number of policies for initial risk"); assertEq(instanceReader.policiesForRisk(newRiskId), 0, "unexpected number of policies for new risk"); @@ -349,7 +347,7 @@ contract TestProductRisk is GifTest { console.log("creating risk", riskName, riskId.toInt()); vm.startPrank(productOwner); - riskId = product.createRisk(riskName, ""); + riskId = product.createRisk(""); vm.stopPrank(); } diff --git a/test/component/product/TestProduct.Cluster.t.sol b/test/component/product/TestProduct.Cluster.t.sol index f9860eaea..2f39447e1 100644 --- a/test/component/product/TestProduct.Cluster.t.sol +++ b/test/component/product/TestProduct.Cluster.t.sol @@ -69,7 +69,7 @@ contract TestProductClusterTest is GifClusterTest { vm.stopPrank(); vm.startPrank(instanceOwner); - RiskId riskId = myProduct2.createRisk("42x4711", ""); + RiskId riskId = myProduct2.createRisk(""); vm.stopPrank(); Seconds lifetime = SecondsLib.toSeconds(30); diff --git a/test/component/product/TestProduct.t.sol b/test/component/product/TestProduct.t.sol index 144a12f34..b5276c786 100644 --- a/test/component/product/TestProduct.t.sol +++ b/test/component/product/TestProduct.t.sol @@ -105,7 +105,7 @@ contract TestProduct is GifTest { bytes memory data = "bla di blubb"; SimpleProduct dproduct = SimpleProduct(address(product)); - RiskId riskId = dproduct.createRisk("42x4711", data); + RiskId riskId = dproduct.createRisk(data); Amount sumInsured = AmountLib.toAmount(1000); Seconds lifetime = SecondsLib.toSeconds(30); @@ -136,7 +136,7 @@ contract TestProduct is GifTest { // SimpleProduct dproduct = SimpleProduct(address(product)); vm.startPrank(productOwner); - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); vm.stopPrank(); IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId); @@ -150,7 +150,7 @@ contract TestProduct is GifTest { bytes memory data = "bla di blubb"; vm.startPrank(productOwner); - RiskId riskId = product.createRisk("42x4711", data); + RiskId riskId = product.createRisk(data); IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId); assertTrue(riskInfo.productNftId.eq(productNftId), "productNftId not set"); diff --git a/test/component/registration/ProductCluster.t.sol b/test/component/registration/ProductCluster.t.sol index 331d60ffb..8f78dc3e3 100644 --- a/test/component/registration/ProductCluster.t.sol +++ b/test/component/registration/ProductCluster.t.sol @@ -204,7 +204,7 @@ contract ProductClusterTest is GifClusterTest { function _createRisk(SimpleProduct prd, string memory riskName) internal returns (RiskId riskId) { vm.startPrank(instanceOwner); - riskId = prd.createRisk(riskName, ""); + riskId = prd.createRisk(""); vm.stopPrank(); } diff --git a/test/examples/composeability/PoolWithReinsurance.sol b/test/examples/composeability/PoolWithReinsurance.sol index 8fdd62244..a5f91fc76 100644 --- a/test/examples/composeability/PoolWithReinsurance.sol +++ b/test/examples/composeability/PoolWithReinsurance.sol @@ -86,7 +86,7 @@ contract PoolWithReinsurance is reinsuranceProduct = product; // step 1. create risk - RiskId riskId = reinsuranceProduct.createRisk("default", ""); + RiskId riskId = reinsuranceProduct.createRisk(""); // step 1. create application InstanceReader instanceReader = reinsuranceProduct.getInstance().getInstanceReader(); diff --git a/test/examples/composeability/ProductWithReinsurance.t.sol b/test/examples/composeability/ProductWithReinsurance.t.sol index 63697ec2f..96ecd47a7 100644 --- a/test/examples/composeability/ProductWithReinsurance.t.sol +++ b/test/examples/composeability/ProductWithReinsurance.t.sol @@ -423,13 +423,13 @@ contract ProductWithReinsuranceTest is console.log("--- create risk"); vm.startPrank(productOwner); - riskReId = productRe.createRisk("RiskWithReinsurance", ""); + riskReId = productRe.createRisk(""); vm.stopPrank(); // solhint-disable-next-line console.log("risk id"); // solhint-disable-next-line - console.logBytes8(RiskId.unwrap(riskReId)); + console.logUint(RiskId.unwrap(riskReId)); // solhint-disable-next-line console.log("--- pool creating its reinsurance policy"); diff --git a/test/examples/external/ExternallyManagedProduct.sol b/test/examples/external/ExternallyManagedProduct.sol index 38731ce22..14885dbef 100644 --- a/test/examples/external/ExternallyManagedProduct.sol +++ b/test/examples/external/ExternallyManagedProduct.sol @@ -47,7 +47,7 @@ contract ExternallyManagedProduct is } function init() public { - riskId = _createRisk("Risk1", "Risk1"); + riskId = _createRisk("Risk1"); policyDuration = SecondsLib.toSeconds(14 * 24 * 3600); referralId = ReferralLib.zero(); diff --git a/test/examples/flight/FlightPricing.t.sol b/test/examples/flight/FlightPricing.t.sol index 5ef44f5d1..bf4216093 100644 --- a/test/examples/flight/FlightPricing.t.sol +++ b/test/examples/flight/FlightPricing.t.sol @@ -3,22 +3,12 @@ pragma solidity ^0.8.20; import {console} from "../../../lib/forge-std/src/Test.sol"; -import {INftOwnable} from "../../../contracts/shared/INftOwnable.sol"; -import {IOracle} from "../../../contracts/oracle/IOracle.sol"; -import {IPolicy} from "../../../contracts/instance/module/IPolicy.sol"; import {Amount, AmountLib} from "../../../contracts/type/Amount.sol"; -import {BUNDLE} from "../../../contracts/type/ObjectType.sol"; -import {COLLATERALIZED, PAID} from "../../../contracts/type/StateId.sol"; import {FlightBaseTest} from "./FlightBase.t.sol"; import {FlightLib} from "../../../contracts/examples/flight/FlightLib.sol"; -import {FlightProduct} from "../../../contracts/examples/flight/FlightProduct.sol"; -import {FlightOracle} from "../../../contracts/examples/flight/FlightOracle.sol"; -import {IBundle} from "../../../contracts/instance/module/IBundle.sol"; -import {NftId} from "../../../contracts/type/NftId.sol"; -import {RiskId} from "../../../contracts/type/RiskId.sol"; +import {RiskId, RiskIdLib} from "../../../contracts/type/RiskId.sol"; import {RequestId, RequestIdLib} from "../../../contracts/type/RequestId.sol"; -import {SecondsLib} from "../../../contracts/type/Seconds.sol"; import {Str, StrLib} from "../../../contracts/type/String.sol"; import {Timestamp, TimestampLib} from "../../../contracts/type/Timestamp.sol"; @@ -82,9 +72,7 @@ contract FlightPricingTest is FlightBaseTest { function test_flightPricingPayoutOptions() public { // GIVEN RequestId rqId = RequestIdLib.toRequestId(1); - RiskId rkId = FlightLib.getRiskId( - flightProductNftId, - flightData); + RiskId rkId = RiskIdLib.toRiskId(1); // solhint-disable console.log("X 42", FlightLib.checkAndGetPayoutOption(rqId, rkId, "X", 42)); diff --git a/test/examples/flight/FlightProduct.t.sol b/test/examples/flight/FlightProduct.t.sol index fb4a23850..7aa09c700 100644 --- a/test/examples/flight/FlightProduct.t.sol +++ b/test/examples/flight/FlightProduct.t.sol @@ -528,7 +528,7 @@ contract FlightProductTest is FlightBaseTest { // solhint-disable console.log("--- after policy creation (before departure) ---"); console.log("request id", requestId.toInt(), "risk id"); - console.logBytes8(RiskId.unwrap(riskId)); + console.logUint(RiskId.unwrap(riskId)); console.log("flight data", flightData, "request state", requestState.toInt()); // console.log("request state", requestState.toInt()); console.log("readyForResponse, waitingForResend", readyForResponse, waitingForResend); @@ -577,7 +577,7 @@ contract FlightProductTest is FlightBaseTest { // solhint-disable console.log("--- after response with insufficient gas ---"); console.log("request id", requestId.toInt(), "risk id"); - console.logBytes8(RiskId.unwrap(riskId)); + console.logUint(RiskId.unwrap(riskId)); console.log("flight data", flightData, "request state", requestState.toInt()); // console.log("request state", requestState.toInt()); console.log("readyForResponse, waitingForResend", readyForResponse, waitingForResend); @@ -604,7 +604,7 @@ contract FlightProductTest is FlightBaseTest { // solhint-disable console.log("--- after resend ---"); console.log("request id", requestId.toInt(), "risk id"); - console.logBytes8(RiskId.unwrap(riskId)); + console.logUint(RiskId.unwrap(riskId)); console.log("flight data", flightData, "request state", requestState.toInt()); // console.log("request state", requestState.toInt()); console.log("readyForResponse, waitingForResend", readyForResponse, waitingForResend); diff --git a/test/examples/verifying/VerifyingProduct.sol b/test/examples/verifying/VerifyingProduct.sol index aec0fa30a..48cf97f1f 100644 --- a/test/examples/verifying/VerifyingProduct.sol +++ b/test/examples/verifying/VerifyingProduct.sol @@ -48,7 +48,7 @@ contract VerifyingProduct is } function init() public { - riskId = _createRisk("Risk1", "Risk1"); + riskId = _createRisk("Risk1"); sumInsuredAmount = AmountLib.toAmount(1000); premiumAmount = AmountLib.toAmount(100); diff --git a/test/instance/service/PricingService.Cluster.t.sol b/test/instance/service/PricingService.Cluster.t.sol index d1f1bad6e..eb9b4000c 100644 --- a/test/instance/service/PricingService.Cluster.t.sol +++ b/test/instance/service/PricingService.Cluster.t.sol @@ -62,7 +62,7 @@ contract PricingServiceClusterTest is GifClusterTest { ""); vm.stopPrank(); - RiskId riskId2 = myProduct2.createRisk("42x4711", ""); + RiskId riskId2 = myProduct2.createRisk(""); Amount sumInsured = AmountLib.toAmount(1000); Seconds lifetime = SecondsLib.toSeconds(300); diff --git a/test/instance/service/PricingService.t.sol b/test/instance/service/PricingService.t.sol index 1c9d78ba8..0fec79913 100644 --- a/test/instance/service/PricingService.t.sol +++ b/test/instance/service/PricingService.t.sol @@ -27,7 +27,7 @@ contract PricingServiceTest is GifTest { FeeLib.zero() ); - RiskId riskId = product.createRisk("42x4711", ""); + RiskId riskId = product.createRisk(""); IPolicy.PremiumInfo memory premium = pricingService.calculatePremium( productNftId, riskId, @@ -52,7 +52,7 @@ contract PricingServiceTest is GifTest { FeeLib.toFee(UFixedLib.zero(), 10) ); - RiskId riskId = product.createRisk("42x4711", ""); + RiskId riskId = product.createRisk(""); IPolicy.PremiumInfo memory premium = pricingService.calculatePremium( productNftId, riskId, @@ -86,7 +86,7 @@ contract PricingServiceTest is GifTest { FeeLib.toFee(UFixedLib.toUFixed(5, -2), 0) ); - RiskId riskId = product.createRisk("42x4711", ""); + RiskId riskId = product.createRisk(""); IPolicy.PremiumInfo memory premium = pricingService.calculatePremium( productNftId, riskId, @@ -120,7 +120,7 @@ contract PricingServiceTest is GifTest { FeeLib.toFee(UFixedLib.toUFixed(5, -2), 6) ); - RiskId riskId = product.createRisk("42x4711", ""); + RiskId riskId = product.createRisk(""); IPolicy.PremiumInfo memory premium = pricingService.calculatePremium( productNftId, riskId, @@ -183,7 +183,7 @@ contract PricingServiceTest is GifTest { ""); vm.stopPrank(); - RiskId riskId = product.createRisk("42x4711", ""); + RiskId riskId = product.createRisk(""); IPolicy.PremiumInfo memory premium = pricingService.calculatePremium( productNftId, riskId, @@ -248,7 +248,7 @@ contract PricingServiceTest is GifTest { ""); vm.stopPrank(); - RiskId riskId = product.createRisk("42x4711", ""); + RiskId riskId = product.createRisk(""); IPolicy.PremiumInfo memory premium = pricingService.calculatePremium( productNftId, riskId, @@ -313,7 +313,7 @@ contract PricingServiceTest is GifTest { ""); vm.stopPrank(); - RiskId riskId = product.createRisk("42x4711", ""); + RiskId riskId = product.createRisk(""); IPolicy.PremiumInfo memory premium = pricingService.calculatePremium( productNftId, riskId, diff --git a/test/release/component/ReleaseProduct.t.sol b/test/release/component/ReleaseProduct.t.sol index 3a4b0598d..9de71c93d 100644 --- a/test/release/component/ReleaseProduct.t.sol +++ b/test/release/component/ReleaseProduct.t.sol @@ -86,7 +86,7 @@ contract ReleaseProductTest is GifTest { address(product))); vm.startPrank(productOwner); - RiskId riskId2 = product.createRisk("RiskWhileReleaseInactive", ""); + RiskId riskId2 = product.createRisk(""); vm.stopPrank(); assertTrue(instanceReader.getRiskInfo(riskId2).createdAt.eqz(), "new risk unexpectedly created"); @@ -182,7 +182,7 @@ contract ReleaseProductTest is GifTest { function _createRisk(string memory riskName) internal returns (RiskId rskId) { vm.startPrank(productOwner); - rskId = product.createRisk(riskName, ""); + rskId = product.createRisk(""); vm.stopPrank(); } diff --git a/test/staking/RequiredStaking.t.sol b/test/staking/RequiredStaking.t.sol index 6e33491f5..b6c159cd7 100644 --- a/test/staking/RequiredStaking.t.sol +++ b/test/staking/RequiredStaking.t.sol @@ -476,7 +476,7 @@ contract RequiredStakingTest is GifTest { function _configureProduct(uint bundleCapital) internal { vm.startPrank(productOwner); bytes memory data = "bla di blubb"; - riskId = product.createRisk("42x4711", data); + riskId = product.createRisk(data); policyLifetime = SecondsLib.toSeconds(30); vm.stopPrank(); diff --git a/test/staking/TvlCalculation.t.sol b/test/staking/TvlCalculation.t.sol index 235b6e1b9..854a67b87 100644 --- a/test/staking/TvlCalculation.t.sol +++ b/test/staking/TvlCalculation.t.sol @@ -42,7 +42,7 @@ contract TvlCalculation is GifTest { // create risk vm.startPrank(productOwner); - riskId = product.createRisk("Risk_1", ""); + riskId = product.createRisk(""); vm.stopPrank(); // fund customer diff --git a/test/type/RiskId.t.sol b/test/type/RiskId.t.sol index cd02a2a9f..86cdb6c8b 100644 --- a/test/type/RiskId.t.sol +++ b/test/type/RiskId.t.sol @@ -8,10 +8,8 @@ import {RiskId, RiskIdLib} from "../../contracts/type/RiskId.sol"; contract RiskIdTest is Test { function testEncodeRiskIdWithProductNftId() public { - NftId productNftId = NftIdLib.toNftId(42); - NftId productNftId2 = NftIdLib.toNftId(43); - RiskId riskId1 = RiskIdLib.toRiskId(productNftId, "Risk1"); - RiskId riskId2 = RiskIdLib.toRiskId(productNftId2, "Risk1"); + RiskId riskId1 = RiskIdLib.toRiskId(1); + RiskId riskId2 = RiskIdLib.toRiskId(2); assertFalse(riskId1.eq(riskId2), "riskId1 should not be equal to riskId2"); }