@etherisc/gif-next 3.0.0-1b49bd6-565 → 3.0.0-1bd1936-188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +72 -139
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +116 -110
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -72
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +66 -89
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +101 -122
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +65 -20
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +10 -20
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -126
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -72
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +139 -198
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -71
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -166
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +138 -200
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +60 -30
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +152 -173
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +65 -41
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +108 -170
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +164 -211
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +106 -163
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -171
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -77
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +44 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +50 -144
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +147 -169
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +36 -36
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +75 -138
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +81 -132
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -94
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +117 -176
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -71
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +86 -94
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +247 -24
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +165 -233
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +64 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +127 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +57 -72
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +56 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +96 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +142 -163
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +150 -159
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +185 -127
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +320 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +38 -96
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +226 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -72
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +56 -101
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +36 -75
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +109 -170
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -26
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +65 -132
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -27
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +6 -5
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +19 -22
- package/contracts/authorization/AccessAdminLib.sol +9 -12
- package/contracts/authorization/AccessManagerCloneable.sol +48 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +20 -24
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +5 -1
- package/contracts/examples/flight/FlightOracle.sol +8 -0
- package/contracts/examples/flight/FlightPool.sol +4 -0
- package/contracts/examples/flight/FlightProduct.sol +29 -4
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/Instance.sol +11 -7
- package/contracts/instance/InstanceAdmin.sol +17 -10
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +15 -15
- package/contracts/instance/InstanceService.sol +20 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +4 -0
- package/contracts/oracle/Oracle.sol +4 -3
- package/contracts/oracle/OracleService.sol +67 -37
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +19 -25
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IPoolService.sol +6 -5
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +4 -5
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +1 -0
- package/contracts/product/PolicyService.sol +57 -44
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +2 -0
- package/contracts/product/RiskService.sol +40 -8
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +78 -124
- package/contracts/registry/RegistryAdmin.sol +22 -11
- package/contracts/registry/RegistryAuthorization.sol +3 -4
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +16 -9
- package/contracts/registry/ReleaseRegistry.sol +74 -64
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +15 -6
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +130 -45
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +14 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +64 -29
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +33 -28
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +13 -16
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
| @@ -16,6 +16,7 @@ contract FirePool is | |
| 16 16 | 
             
                BasicPool
         | 
| 17 17 | 
             
            {   
         | 
| 18 18 | 
             
                constructor(
         | 
| 19 | 
            +
                    address registry,
         | 
| 19 20 | 
             
                    NftId fireProductNftId,
         | 
| 20 21 | 
             
                    string memory componentName,
         | 
| 21 22 | 
             
                    IAuthorization authorization
         | 
| @@ -23,6 +24,7 @@ contract FirePool is | |
| 23 24 | 
             
                {
         | 
| 24 25 | 
             
                    address initialOwner = msg.sender;
         | 
| 25 26 | 
             
                    _intialize(
         | 
| 27 | 
            +
                        registry,
         | 
| 26 28 | 
             
                        fireProductNftId,
         | 
| 27 29 | 
             
                        componentName,
         | 
| 28 30 | 
             
                        IComponents.PoolInfo({
         | 
| @@ -39,6 +41,7 @@ contract FirePool is | |
| 39 41 | 
             
                }
         | 
| 40 42 |  | 
| 41 43 | 
             
                function _intialize(
         | 
| 44 | 
            +
                    address registry,
         | 
| 42 45 | 
             
                    NftId fireProductNftId,
         | 
| 43 46 | 
             
                    string memory componentName,
         | 
| 44 47 | 
             
                    IComponents.PoolInfo memory poolInfo,
         | 
| @@ -49,6 +52,7 @@ contract FirePool is | |
| 49 52 | 
             
                    initializer
         | 
| 50 53 | 
             
                {
         | 
| 51 54 | 
             
                    _initializeBasicPool(
         | 
| 55 | 
            +
                        registry,
         | 
| 52 56 | 
             
                        fireProductNftId,
         | 
| 53 57 | 
             
                        componentName,
         | 
| 54 58 | 
             
                        poolInfo,
         | 
| @@ -65,6 +65,7 @@ contract FireProduct is | |
| 65 65 | 
             
                mapping(uint256 fireId => mapping (NftId policyId => bool claimed)) private _claimed;
         | 
| 66 66 |  | 
| 67 67 | 
             
                constructor(
         | 
| 68 | 
            +
                    address registry,
         | 
| 68 69 | 
             
                    NftId instanceNftid,
         | 
| 69 70 | 
             
                    string memory componentName,
         | 
| 70 71 | 
             
                    IAuthorization authorization
         | 
| @@ -73,6 +74,7 @@ contract FireProduct is | |
| 73 74 | 
             
                    address initialOwner = msg.sender;
         | 
| 74 75 |  | 
| 75 76 | 
             
                    _initialize(
         | 
| 77 | 
            +
                        registry,
         | 
| 76 78 | 
             
                        instanceNftid,
         | 
| 77 79 | 
             
                        componentName,
         | 
| 78 80 | 
             
                        authorization,
         | 
| @@ -80,6 +82,7 @@ contract FireProduct is | |
| 80 82 | 
             
                }
         | 
| 81 83 |  | 
| 82 84 | 
             
                function _initialize(
         | 
| 85 | 
            +
                    address registry,
         | 
| 83 86 | 
             
                    NftId instanceNftId,
         | 
| 84 87 | 
             
                    string memory componentName,
         | 
| 85 88 | 
             
                    IAuthorization authorization,
         | 
| @@ -89,6 +92,7 @@ contract FireProduct is | |
| 89 92 | 
             
                    initializer
         | 
| 90 93 | 
             
                {
         | 
| 91 94 | 
             
                    _initializeBasicProduct(
         | 
| 95 | 
            +
                        registry,
         | 
| 92 96 | 
             
                        instanceNftId,
         | 
| 93 97 | 
             
                        componentName,
         | 
| 94 98 | 
             
                        IComponents.ProductInfo({
         | 
| @@ -243,7 +243,9 @@ library FlightLib { | |
| 243 243 | 
             
                    NftId productNftId, 
         | 
| 244 244 | 
             
                    Str flightData,
         | 
| 245 245 | 
             
                    Timestamp departureTime, 
         | 
| 246 | 
            -
                     | 
| 246 | 
            +
                    string memory departureTimeLocal,
         | 
| 247 | 
            +
                    Timestamp arrivalTime,
         | 
| 248 | 
            +
                    string memory arrivalTimeLocal
         | 
| 247 249 | 
             
                )
         | 
| 248 250 | 
             
                    public
         | 
| 249 251 | 
             
                    view
         | 
| @@ -261,7 +263,9 @@ library FlightLib { | |
| 261 263 | 
             
                        flightRisk = FlightProduct.FlightRisk({
         | 
| 262 264 | 
             
                            flightData: flightData,
         | 
| 263 265 | 
             
                            departureTime: departureTime,
         | 
| 266 | 
            +
                            departureTimeLocal: departureTimeLocal,
         | 
| 264 267 | 
             
                            arrivalTime: arrivalTime,
         | 
| 268 | 
            +
                            arrivalTimeLocal: arrivalTimeLocal,
         | 
| 265 269 | 
             
                            sumOfSumInsuredAmounts: AmountLib.toAmount(0),
         | 
| 266 270 | 
             
                            status: bytes1(0),
         | 
| 267 271 | 
             
                            delayMinutes: 0});
         | 
| @@ -38,6 +38,7 @@ contract FlightOracle is | |
| 38 38 |  | 
| 39 39 |  | 
| 40 40 | 
             
                constructor(
         | 
| 41 | 
            +
                    address registry,
         | 
| 41 42 | 
             
                    NftId productNftId,
         | 
| 42 43 | 
             
                    string memory componentName,
         | 
| 43 44 | 
             
                    IAuthorization authorization
         | 
| @@ -45,6 +46,7 @@ contract FlightOracle is | |
| 45 46 | 
             
                {
         | 
| 46 47 | 
             
                    address initialOwner = msg.sender;
         | 
| 47 48 | 
             
                    initialize(
         | 
| 49 | 
            +
                        registry,
         | 
| 48 50 | 
             
                        productNftId,
         | 
| 49 51 | 
             
                        authorization,
         | 
| 50 52 | 
             
                        initialOwner,
         | 
| @@ -54,6 +56,7 @@ contract FlightOracle is | |
| 54 56 |  | 
| 55 57 |  | 
| 56 58 | 
             
                function initialize(
         | 
| 59 | 
            +
                    address registry,
         | 
| 57 60 | 
             
                    NftId productNftId,
         | 
| 58 61 | 
             
                    IAuthorization authorization,
         | 
| 59 62 | 
             
                    address initialOwner,
         | 
| @@ -64,6 +67,7 @@ contract FlightOracle is | |
| 64 67 | 
             
                    initializer()
         | 
| 65 68 | 
             
                {
         | 
| 66 69 | 
             
                    _initializeBasicOracle(
         | 
| 70 | 
            +
                        registry,
         | 
| 67 71 | 
             
                        productNftId,
         | 
| 68 72 | 
             
                        authorization,
         | 
| 69 73 | 
             
                        initialOwner,
         | 
| @@ -127,6 +131,10 @@ contract FlightOracle is | |
| 127 131 | 
             
                    return LibRequestIdSet.getElementAt(_activeRequests, idx);
         | 
| 128 132 | 
             
                }
         | 
| 129 133 |  | 
| 134 | 
            +
                function decodeFlightStatusRequestData(bytes memory data) external pure returns (FlightStatusRequest memory) {
         | 
| 135 | 
            +
                    return abi.decode(data, (FlightStatusRequest));
         | 
| 136 | 
            +
                }
         | 
| 137 | 
            +
             | 
| 130 138 | 
             
                //--- internal functions ------------------------------------------------//
         | 
| 131 139 |  | 
| 132 140 | 
             
                /// @dev use case specific handling of oracle requests
         | 
| @@ -20,6 +20,7 @@ contract FlightPool is | |
| 20 20 | 
             
                BasicPool
         | 
| 21 21 | 
             
            {   
         | 
| 22 22 | 
             
                constructor(
         | 
| 23 | 
            +
                    address registry,
         | 
| 23 24 | 
             
                    NftId productNftId,
         | 
| 24 25 | 
             
                    string memory componentName,
         | 
| 25 26 | 
             
                    IAuthorization authorization
         | 
| @@ -27,6 +28,7 @@ contract FlightPool is | |
| 27 28 | 
             
                {
         | 
| 28 29 | 
             
                    address initialOwner = msg.sender;
         | 
| 29 30 | 
             
                    _intialize(
         | 
| 31 | 
            +
                        registry,
         | 
| 30 32 | 
             
                        productNftId,
         | 
| 31 33 | 
             
                        componentName,
         | 
| 32 34 | 
             
                        IComponents.PoolInfo({
         | 
| @@ -43,6 +45,7 @@ contract FlightPool is | |
| 43 45 | 
             
                }
         | 
| 44 46 |  | 
| 45 47 | 
             
                function _intialize(
         | 
| 48 | 
            +
                    address registry,
         | 
| 46 49 | 
             
                    NftId productNftId,
         | 
| 47 50 | 
             
                    string memory componentName,
         | 
| 48 51 | 
             
                    IComponents.PoolInfo memory poolInfo,
         | 
| @@ -53,6 +56,7 @@ contract FlightPool is | |
| 53 56 | 
             
                    initializer
         | 
| 54 57 | 
             
                {
         | 
| 55 58 | 
             
                    _initializeBasicPool(
         | 
| 59 | 
            +
                        registry,
         | 
| 56 60 | 
             
                        productNftId,
         | 
| 57 61 | 
             
                        componentName,
         | 
| 58 62 | 
             
                        poolInfo,
         | 
| @@ -101,7 +101,11 @@ contract FlightProduct is | |
| 101 101 | 
             
                struct FlightRisk {
         | 
| 102 102 | 
             
                    Str flightData; // example: "LX 180 ZRH BKK 20241104"
         | 
| 103 103 | 
             
                    Timestamp departureTime;
         | 
| 104 | 
            +
                    // this field contains static data required by the frontend and is not directly used by the product
         | 
| 105 | 
            +
                    string departureTimeLocal; // example "2024-10-14T10:10:00.000 Asia/Seoul"
         | 
| 104 106 | 
             
                    Timestamp arrivalTime; 
         | 
| 107 | 
            +
                    // this field contains static data required by the frontend and is not directly used by the product
         | 
| 108 | 
            +
                    string arrivalTimeLocal; // example "2024-10-14T10:10:00.000 Asia/Seoul"
         | 
| 105 109 | 
             
                    Amount sumOfSumInsuredAmounts;
         | 
| 106 110 | 
             
                    // uint256 premiumMultiplier; // what is this? UFixed?
         | 
| 107 111 | 
             
                    // uint256 weight; // what is this? UFixed?
         | 
| @@ -112,12 +116,11 @@ contract FlightProduct is | |
| 112 116 | 
             
                struct ApplicationData {
         | 
| 113 117 | 
             
                    Str flightData;
         | 
| 114 118 | 
             
                    Timestamp departureTime;
         | 
| 119 | 
            +
                    string departureTimeLocal;
         | 
| 115 120 | 
             
                    Timestamp arrivalTime;
         | 
| 121 | 
            +
                    string arrivalTimeLocal;
         | 
| 116 122 | 
             
                    Amount premiumAmount;
         | 
| 117 123 | 
             
                    uint256[6] statistics;
         | 
| 118 | 
            -
                    uint8 v;
         | 
| 119 | 
            -
                    bytes32 r; 
         | 
| 120 | 
            -
                    bytes32 s;
         | 
| 121 124 | 
             
                }
         | 
| 122 125 |  | 
| 123 126 | 
             
                struct PermitData {
         | 
| @@ -132,6 +135,7 @@ contract FlightProduct is | |
| 132 135 |  | 
| 133 136 |  | 
| 134 137 | 
             
                constructor(
         | 
| 138 | 
            +
                    address registry,
         | 
| 135 139 | 
             
                    NftId instanceNftid,
         | 
| 136 140 | 
             
                    string memory componentName,
         | 
| 137 141 | 
             
                    IAuthorization authorization,
         | 
| @@ -141,6 +145,7 @@ contract FlightProduct is | |
| 141 145 | 
             
                    address initialOwner = msg.sender;
         | 
| 142 146 |  | 
| 143 147 | 
             
                    _initialize(
         | 
| 148 | 
            +
                        registry,
         | 
| 144 149 | 
             
                        instanceNftid,
         | 
| 145 150 | 
             
                        componentName,
         | 
| 146 151 | 
             
                        authorization,
         | 
| @@ -206,7 +211,9 @@ contract FlightProduct is | |
| 206 211 | 
             
                        policyHolder,
         | 
| 207 212 | 
             
                        application.flightData,
         | 
| 208 213 | 
             
                        application.departureTime,
         | 
| 214 | 
            +
                        application.departureTimeLocal,
         | 
| 209 215 | 
             
                        application.arrivalTime,
         | 
| 216 | 
            +
                        application.arrivalTimeLocal,
         | 
| 210 217 | 
             
                        application.premiumAmount,
         | 
| 211 218 | 
             
                        application.statistics);
         | 
| 212 219 | 
             
                        // application.v,
         | 
| @@ -240,7 +247,9 @@ contract FlightProduct is | |
| 240 247 | 
             
                    address policyHolder,
         | 
| 241 248 | 
             
                    Str flightData, 
         | 
| 242 249 | 
             
                    Timestamp departureTime,
         | 
| 250 | 
            +
                    string memory departureTimeLocal,
         | 
| 243 251 | 
             
                    Timestamp arrivalTime,
         | 
| 252 | 
            +
                    string memory arrivalTimeLocal,
         | 
| 244 253 | 
             
                    Amount premiumAmount,
         | 
| 245 254 | 
             
                    uint256[6] memory statistics
         | 
| 246 255 | 
             
                    // signature fields
         | 
| @@ -271,7 +280,9 @@ contract FlightProduct is | |
| 271 280 | 
             
                        policyHolder, 
         | 
| 272 281 | 
             
                        flightData,
         | 
| 273 282 | 
             
                        departureTime,
         | 
| 283 | 
            +
                        departureTimeLocal,
         | 
| 274 284 | 
             
                        arrivalTime,
         | 
| 285 | 
            +
                        arrivalTimeLocal,
         | 
| 275 286 | 
             
                        premiumAmount,
         | 
| 276 287 | 
             
                        statistics);
         | 
| 277 288 |  | 
| @@ -303,7 +314,9 @@ contract FlightProduct is | |
| 303 314 | 
             
                    address policyHolder,
         | 
| 304 315 | 
             
                    Str flightData, 
         | 
| 305 316 | 
             
                    Timestamp departureTime,
         | 
| 317 | 
            +
                    string memory departureTimeLocal,
         | 
| 306 318 | 
             
                    Timestamp arrivalTime,
         | 
| 319 | 
            +
                    string memory arrivalTimeLocal,
         | 
| 307 320 | 
             
                    Amount premiumAmount,
         | 
| 308 321 | 
             
                    uint256[6] memory statistics
         | 
| 309 322 | 
             
                )
         | 
| @@ -324,7 +337,9 @@ contract FlightProduct is | |
| 324 337 | 
             
                    ) = _createRiskAndPayoutAmounts(
         | 
| 325 338 | 
             
                        flightData,
         | 
| 326 339 | 
             
                        departureTime,
         | 
| 340 | 
            +
                        departureTimeLocal,
         | 
| 327 341 | 
             
                        arrivalTime,
         | 
| 342 | 
            +
                        arrivalTimeLocal,
         | 
| 328 343 | 
             
                        premiumAmount,
         | 
| 329 344 | 
             
                        statistics);
         | 
| 330 345 |  | 
| @@ -455,7 +470,9 @@ contract FlightProduct is | |
| 455 470 | 
             
                function _createRiskAndPayoutAmounts(
         | 
| 456 471 | 
             
                    Str flightData, 
         | 
| 457 472 | 
             
                    Timestamp departureTime,
         | 
| 473 | 
            +
                    string memory departureTimeLocal,
         | 
| 458 474 | 
             
                    Timestamp arrivalTime,
         | 
| 475 | 
            +
                    string memory arrivalTimeLocal,
         | 
| 459 476 | 
             
                    Amount premiumAmount,
         | 
| 460 477 | 
             
                    uint256[6] memory statistics
         | 
| 461 478 | 
             
                )
         | 
| @@ -481,7 +498,9 @@ contract FlightProduct is | |
| 481 498 | 
             
                    riskId = _checkAndUpdateFlightRisk(
         | 
| 482 499 | 
             
                        flightData,
         | 
| 483 500 | 
             
                        departureTime,
         | 
| 501 | 
            +
                        departureTimeLocal,
         | 
| 484 502 | 
             
                        arrivalTime,
         | 
| 503 | 
            +
                        arrivalTimeLocal,
         | 
| 485 504 | 
             
                        sumInsuredAmount,
         | 
| 486 505 | 
             
                        weight);
         | 
| 487 506 | 
             
                }
         | 
| @@ -490,7 +509,9 @@ contract FlightProduct is | |
| 490 509 | 
             
                function _checkAndUpdateFlightRisk(
         | 
| 491 510 | 
             
                    Str flightData,
         | 
| 492 511 | 
             
                    Timestamp departureTime,
         | 
| 512 | 
            +
                    string memory departureTimeLocal,
         | 
| 493 513 | 
             
                    Timestamp arrivalTime,
         | 
| 514 | 
            +
                    string memory arrivalTimeLocal,
         | 
| 494 515 | 
             
                    Amount sumInsuredAmount,
         | 
| 495 516 | 
             
                    uint256 weight
         | 
| 496 517 | 
             
                )
         | 
| @@ -505,7 +526,9 @@ contract FlightProduct is | |
| 505 526 | 
             
                        getNftId(), 
         | 
| 506 527 | 
             
                        flightData, 
         | 
| 507 528 | 
             
                        departureTime, 
         | 
| 508 | 
            -
                         | 
| 529 | 
            +
                        departureTimeLocal,
         | 
| 530 | 
            +
                        arrivalTime,
         | 
| 531 | 
            +
                        arrivalTimeLocal);
         | 
| 509 532 |  | 
| 510 533 | 
             
                    // create risk, if new
         | 
| 511 534 | 
             
                    if (!exists) {
         | 
| @@ -614,6 +637,7 @@ contract FlightProduct is | |
| 614 637 |  | 
| 615 638 |  | 
| 616 639 | 
             
                function _initialize(
         | 
| 640 | 
            +
                    address registry,
         | 
| 617 641 | 
             
                    NftId instanceNftId,
         | 
| 618 642 | 
             
                    string memory componentName,
         | 
| 619 643 | 
             
                    IAuthorization authorization,
         | 
| @@ -623,6 +647,7 @@ contract FlightProduct is | |
| 623 647 | 
             
                    initializer
         | 
| 624 648 | 
             
                {
         | 
| 625 649 | 
             
                    _initializeBasicProduct(
         | 
| 650 | 
            +
                        registry,
         | 
| 626 651 | 
             
                        instanceNftId,
         | 
| 627 652 | 
             
                        componentName,
         | 
| 628 653 | 
             
                        IComponents.ProductInfo({
         | 
| @@ -17,12 +17,14 @@ contract SimpleDistribution is | |
| 17 17 | 
             
            {
         | 
| 18 18 |  | 
| 19 19 | 
             
                constructor(
         | 
| 20 | 
            +
                    address registry,
         | 
| 20 21 | 
             
                    NftId productNftId,
         | 
| 21 22 | 
             
                    IAuthorization authorization,
         | 
| 22 23 | 
             
                    address initialOwner
         | 
| 23 24 | 
             
                ) 
         | 
| 24 25 | 
             
                {
         | 
| 25 26 | 
             
                    initialize(
         | 
| 27 | 
            +
                        registry,
         | 
| 26 28 | 
             
                        productNftId,
         | 
| 27 29 | 
             
                        authorization,
         | 
| 28 30 | 
             
                        initialOwner,
         | 
| @@ -30,6 +32,7 @@ contract SimpleDistribution is | |
| 30 32 | 
             
                }
         | 
| 31 33 |  | 
| 32 34 | 
             
                function initialize(
         | 
| 35 | 
            +
                    address registry,
         | 
| 33 36 | 
             
                    NftId productNftId,
         | 
| 34 37 | 
             
                    IAuthorization authorization,
         | 
| 35 38 | 
             
                    address initialOwner,
         | 
| @@ -40,6 +43,7 @@ contract SimpleDistribution is | |
| 40 43 | 
             
                    initializer()
         | 
| 41 44 | 
             
                {
         | 
| 42 45 | 
             
                    _initializeBasicDistribution(
         | 
| 46 | 
            +
                        registry,
         | 
| 43 47 | 
             
                        productNftId,
         | 
| 44 48 | 
             
                        authorization,
         | 
| 45 49 | 
             
                        initialOwner,
         | 
| @@ -31,12 +31,14 @@ contract SimpleOracle is | |
| 31 31 | 
             
                event LogSimpleOracleSyncResponseSent(RequestId requestId, string responseText);
         | 
| 32 32 |  | 
| 33 33 | 
             
                constructor(
         | 
| 34 | 
            +
                    address registry,
         | 
| 34 35 | 
             
                    NftId productNftId,
         | 
| 35 36 | 
             
                    IAuthorization authorization,
         | 
| 36 37 | 
             
                    address initialOwner
         | 
| 37 38 | 
             
                ) 
         | 
| 38 39 | 
             
                {
         | 
| 39 40 | 
             
                    initialize(
         | 
| 41 | 
            +
                        registry,
         | 
| 40 42 | 
             
                        productNftId,
         | 
| 41 43 | 
             
                        authorization,
         | 
| 42 44 | 
             
                        initialOwner,
         | 
| @@ -45,6 +47,7 @@ contract SimpleOracle is | |
| 45 47 | 
             
                }
         | 
| 46 48 |  | 
| 47 49 | 
             
                function initialize(
         | 
| 50 | 
            +
                    address registry,
         | 
| 48 51 | 
             
                    NftId productNftId,
         | 
| 49 52 | 
             
                    IAuthorization authorization,
         | 
| 50 53 | 
             
                    address initialOwner,
         | 
| @@ -55,6 +58,7 @@ contract SimpleOracle is | |
| 55 58 | 
             
                    initializer()
         | 
| 56 59 | 
             
                {
         | 
| 57 60 | 
             
                    _initializeBasicOracle(
         | 
| 61 | 
            +
                        registry,
         | 
| 58 62 | 
             
                        productNftId,
         | 
| 59 63 | 
             
                        authorization,
         | 
| 60 64 | 
             
                        initialOwner,
         | 
| @@ -17,6 +17,7 @@ contract SimplePool is | |
| 17 17 | 
             
            {
         | 
| 18 18 |  | 
| 19 19 | 
             
                constructor(
         | 
| 20 | 
            +
                    address registry,
         | 
| 20 21 | 
             
                    NftId productNftId,
         | 
| 21 22 | 
             
                    IComponents.PoolInfo memory poolInfo,
         | 
| 22 23 | 
             
                    IAuthorization authorization,
         | 
| @@ -24,6 +25,7 @@ contract SimplePool is | |
| 24 25 | 
             
                ) 
         | 
| 25 26 | 
             
                {
         | 
| 26 27 | 
             
                    initialize(
         | 
| 28 | 
            +
                        registry,
         | 
| 27 29 | 
             
                        productNftId,
         | 
| 28 30 | 
             
                        poolInfo,
         | 
| 29 31 | 
             
                        authorization,
         | 
| @@ -33,6 +35,7 @@ contract SimplePool is | |
| 33 35 |  | 
| 34 36 |  | 
| 35 37 | 
             
                function initialize(
         | 
| 38 | 
            +
                    address registry,
         | 
| 36 39 | 
             
                    NftId productNftId,
         | 
| 37 40 | 
             
                    IComponents.PoolInfo memory poolInfo,
         | 
| 38 41 | 
             
                    IAuthorization authorization,
         | 
| @@ -43,6 +46,7 @@ contract SimplePool is | |
| 43 46 | 
             
                    initializer()
         | 
| 44 47 | 
             
                {
         | 
| 45 48 | 
             
                    _initializeBasicPool(
         | 
| 49 | 
            +
                        registry,
         | 
| 46 50 | 
             
                        productNftId,
         | 
| 47 51 | 
             
                        "SimplePool",
         | 
| 48 52 | 
             
                        poolInfo,
         | 
| @@ -34,6 +34,7 @@ contract SimpleProduct is | |
| 34 34 | 
             
                IOracleService private _oracleService;
         | 
| 35 35 |  | 
| 36 36 | 
             
                constructor(
         | 
| 37 | 
            +
                    address registry,
         | 
| 37 38 | 
             
                    NftId instanceNftId,
         | 
| 38 39 | 
             
                    string memory name,
         | 
| 39 40 | 
             
                    IComponents.ProductInfo memory productInfo,
         | 
| @@ -43,6 +44,7 @@ contract SimpleProduct is | |
| 43 44 | 
             
                )
         | 
| 44 45 | 
             
                {
         | 
| 45 46 | 
             
                    initialize(
         | 
| 47 | 
            +
                        registry,
         | 
| 46 48 | 
             
                        instanceNftId,
         | 
| 47 49 | 
             
                        name,
         | 
| 48 50 | 
             
                        productInfo,
         | 
| @@ -53,6 +55,7 @@ contract SimpleProduct is | |
| 53 55 |  | 
| 54 56 |  | 
| 55 57 | 
             
                function initialize(
         | 
| 58 | 
            +
                    address registry,
         | 
| 56 59 | 
             
                    NftId instanceNftid,
         | 
| 57 60 | 
             
                    string memory name,
         | 
| 58 61 | 
             
                    IComponents.ProductInfo memory productInfo,
         | 
| @@ -65,6 +68,7 @@ contract SimpleProduct is | |
| 65 68 | 
             
                    initializer()
         | 
| 66 69 | 
             
                {
         | 
| 67 70 | 
             
                    _initializeBasicProduct(
         | 
| 71 | 
            +
                        registry,
         | 
| 68 72 | 
             
                        instanceNftid,
         | 
| 69 73 | 
             
                        name,
         | 
| 70 74 | 
             
                        productInfo,
         | 
| @@ -26,6 +26,8 @@ contract Instance is | |
| 26 26 | 
             
                IInstance,
         | 
| 27 27 | 
             
                Registerable
         | 
| 28 28 | 
             
            {
         | 
| 29 | 
            +
                bool private _initialized;
         | 
| 30 | 
            +
             | 
| 29 31 | 
             
                IComponentService internal _componentService;
         | 
| 30 32 | 
             
                IInstanceService internal _instanceService;
         | 
| 31 33 |  | 
| @@ -57,6 +59,8 @@ contract Instance is | |
| 57 59 |  | 
| 58 60 | 
             
                function initialize(
         | 
| 59 61 | 
             
                    InstanceContracts memory instanceContracts,
         | 
| 62 | 
            +
                    IRegistry registry, 
         | 
| 63 | 
            +
                    VersionPart release,
         | 
| 60 64 | 
             
                    address initialOwner,
         | 
| 61 65 | 
             
                    bool tokenRegistryDisabled // only disable for testing
         | 
| 62 66 | 
             
                ) 
         | 
| @@ -70,9 +74,9 @@ contract Instance is | |
| 70 74 | 
             
                    _instanceAdmin = instanceContracts.instanceAdmin;
         | 
| 71 75 |  | 
| 72 76 | 
             
                    // setup instance object info
         | 
| 73 | 
            -
                    IRegistry registry = _getRegistry();
         | 
| 74 77 | 
             
                    __Registerable_init({
         | 
| 75 78 | 
             
                        authority: instanceContracts.instanceAdmin.authority(),
         | 
| 79 | 
            +
                        registry: address(registry), 
         | 
| 76 80 | 
             
                        parentNftId: registry.getNftId(), 
         | 
| 77 81 | 
             
                        objectType: INSTANCE(), 
         | 
| 78 82 | 
             
                        isInterceptor: false, 
         | 
| @@ -89,19 +93,19 @@ contract Instance is | |
| 89 93 | 
             
                    // initialize instance supporting contracts
         | 
| 90 94 | 
             
                    _instanceStore.initialize();
         | 
| 91 95 | 
             
                    _productStore.initialize();
         | 
| 92 | 
            -
                    _bundleSet.initialize(instanceContracts.instanceAdmin.authority());
         | 
| 93 | 
            -
                    _riskSet.initialize(instanceContracts.instanceAdmin.authority());
         | 
| 96 | 
            +
                    _bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
         | 
| 97 | 
            +
                    _riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
         | 
| 94 98 | 
             
                    _instanceReader.initialize();
         | 
| 95 99 |  | 
| 96 100 | 
             
                    _componentService = IComponentService(
         | 
| 97 | 
            -
                         | 
| 101 | 
            +
                        getRegistry().getServiceAddress(
         | 
| 98 102 | 
             
                            COMPONENT(), 
         | 
| 99 | 
            -
                             | 
| 103 | 
            +
                            release));
         | 
| 100 104 |  | 
| 101 105 | 
             
                    _instanceService = IInstanceService(
         | 
| 102 | 
            -
                         | 
| 106 | 
            +
                        getRegistry().getServiceAddress(
         | 
| 103 107 | 
             
                            INSTANCE(), 
         | 
| 104 | 
            -
                             | 
| 108 | 
            +
                            release));
         | 
| 105 109 |  | 
| 106 110 | 
             
                    _tokenRegistryDisabled = tokenRegistryDisabled;
         | 
| 107 111 |  | 
| @@ -11,10 +11,9 @@ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol"; | |
| 11 11 | 
             
            import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
         | 
| 12 12 | 
             
            import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
         | 
| 13 13 | 
             
            import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
         | 
| 14 | 
            -
            import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
         | 
| 15 14 | 
             
            import {Str} from "../type/String.sol";
         | 
| 16 | 
            -
            import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
         | 
| 17 15 | 
             
            import {VersionPart} from "../type/Version.sol";
         | 
| 16 | 
            +
            import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
         | 
| 18 17 |  | 
| 19 18 |  | 
| 20 19 | 
             
            contract InstanceAdmin is
         | 
| @@ -27,12 +26,13 @@ contract InstanceAdmin is | |
| 27 26 | 
             
                error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
         | 
| 28 27 |  | 
| 29 28 | 
             
                IInstance internal _instance;
         | 
| 29 | 
            +
                IRegistry internal _registry;
         | 
| 30 30 |  | 
| 31 31 | 
             
                uint64 internal _customRoleIdNext;
         | 
| 32 32 |  | 
| 33 33 |  | 
| 34 34 | 
             
                modifier onlyInstanceService() {
         | 
| 35 | 
            -
                    if (msg.sender !=  | 
| 35 | 
            +
                    if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
         | 
| 36 36 | 
             
                        revert ErrorInstanceAdminNotInstanceService(msg.sender);
         | 
| 37 37 | 
             
                    }
         | 
| 38 38 | 
             
                    _;
         | 
| @@ -43,8 +43,7 @@ contract InstanceAdmin is | |
| 43 43 | 
             
                constructor(address accessManager) {
         | 
| 44 44 | 
             
                    initialize(
         | 
| 45 45 | 
             
                        accessManager,
         | 
| 46 | 
            -
                        "MasterInstanceAdmin" | 
| 47 | 
            -
                        GIF_INITIAL_RELEASE());
         | 
| 46 | 
            +
                        "MasterInstanceAdmin");
         | 
| 48 47 | 
             
                }
         | 
| 49 48 |  | 
| 50 49 |  | 
| @@ -52,23 +51,32 @@ contract InstanceAdmin is | |
| 52 51 | 
             
                /// Important: Initialization of instance admin is only complete after calling this function. 
         | 
| 53 52 | 
             
                /// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
         | 
| 54 53 | 
             
                function completeSetup(
         | 
| 54 | 
            +
                    address registry,
         | 
| 55 55 | 
             
                    address authorization,
         | 
| 56 | 
            +
                    VersionPart release,
         | 
| 56 57 | 
             
                    address instance
         | 
| 57 58 | 
             
                )
         | 
| 58 59 | 
             
                    external
         | 
| 60 | 
            +
                    reinitializer(uint64(release.toInt()))
         | 
| 59 61 | 
             
                {
         | 
| 60 62 | 
             
                    // checks
         | 
| 61 | 
            -
                    AccessAdminLib.checkIsRegistered(instance, INSTANCE() | 
| 63 | 
            +
                    AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
         | 
| 62 64 |  | 
| 63 65 | 
             
                    // effects
         | 
| 66 | 
            +
                    AccessManagerCloneable(
         | 
| 67 | 
            +
                        authority()).completeSetup(
         | 
| 68 | 
            +
                            registry, 
         | 
| 69 | 
            +
                            release); 
         | 
| 70 | 
            +
             | 
| 64 71 | 
             
                    AccessAdminLib.checkAuthorization(
         | 
| 65 72 | 
             
                        address(_authorization), 
         | 
| 66 73 | 
             
                        authorization, 
         | 
| 67 74 | 
             
                        INSTANCE(), // expectedDomain
         | 
| 68 | 
            -
                         | 
| 75 | 
            +
                        release, // expectedRelease
         | 
| 69 76 | 
             
                        false, // expectServiceAuthorization
         | 
| 70 77 | 
             
                        true); // checkAlreadyInitialized
         | 
| 71 78 |  | 
| 79 | 
            +
                    _registry = IRegistry(registry);
         | 
| 72 80 | 
             
                    _instance = IInstance(instance);
         | 
| 73 81 | 
             
                    _authorization = IAuthorization(authorization);
         | 
| 74 82 | 
             
                    _customRoleIdNext = 0;
         | 
| @@ -97,7 +105,7 @@ contract InstanceAdmin is | |
| 97 105 | 
             
                    for(uint256 i = 0; i < serviceDomains.length; i++) {
         | 
| 98 106 | 
             
                        ObjectType serviceDomain = serviceDomains[i];
         | 
| 99 107 | 
             
                        RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
         | 
| 100 | 
            -
                        address service =  | 
| 108 | 
            +
                        address service = _registry.getServiceAddress(serviceDomain, getRelease());
         | 
| 101 109 |  | 
| 102 110 | 
             
                        _grantRoleToAccount(
         | 
| 103 111 | 
             
                            serviceRoleId,
         | 
| @@ -127,8 +135,7 @@ contract InstanceAdmin is | |
| 127 135 | 
             
                /// Important: The component MUST be registered.
         | 
| 128 136 | 
             
                function initializeComponentAuthorization(
         | 
| 129 137 | 
             
                    address componentAddress,
         | 
| 130 | 
            -
                    ObjectType expectedType | 
| 131 | 
            -
                    VersionPart expectedRelease
         | 
| 138 | 
            +
                    ObjectType expectedType
         | 
| 132 139 | 
             
                )
         | 
| 133 140 | 
             
                    external
         | 
| 134 141 | 
             
                    restricted()
         | 
| @@ -13,9 +13,7 @@ import {InstanceStore} from "../instance/InstanceStore.sol"; | |
| 13 13 | 
             
            import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
         | 
| 14 14 | 
             
            import {ProductStore} from "../instance/ProductStore.sol";
         | 
| 15 15 | 
             
            import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
         | 
| 16 | 
            -
            import { | 
| 17 | 
            -
            import {RiskSet} from "../instance/RiskSet.sol";
         | 
| 18 | 
            -
            import {VersionPartLib} from "../type/Version.sol";
         | 
| 16 | 
            +
            import {RiskSet} from "../instance/RiskSet.sol"; 
         | 
| 19 17 |  | 
| 20 18 |  | 
| 21 19 | 
             
            contract InstanceAuthorizationV3
         | 
| @@ -29,7 +27,7 @@ contract InstanceAuthorizationV3 | |
| 29 27 | 
             
                      Authorization(
         | 
| 30 28 | 
             
                           INSTANCE_TARGET_NAME, 
         | 
| 31 29 | 
             
                           INSTANCE(), 
         | 
| 32 | 
            -
                            | 
| 30 | 
            +
                           3, 
         | 
| 33 31 | 
             
                           COMMIT_HASH,
         | 
| 34 32 | 
             
                           TargetType.Instance, 
         | 
| 35 33 | 
             
                           false)
         | 
| @@ -28,7 +28,6 @@ import {NftId} from "../type/NftId.sol"; | |
| 28 28 | 
             
            import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
         | 
| 29 29 | 
             
            import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
         | 
| 30 30 | 
             
            import {ProductStore} from "./ProductStore.sol";
         | 
| 31 | 
            -
            import {RegistryLinked} from "../shared/RegistryLinked.sol";
         | 
| 32 31 | 
             
            import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
         | 
| 33 32 | 
             
            import {RequestId} from "../type/RequestId.sol";
         | 
| 34 33 | 
             
            import {RiskId} from "../type/RiskId.sol";
         | 
| @@ -41,19 +40,14 @@ import {UFixed, UFixedLib} from "../type/UFixed.sol"; | |
| 41 40 |  | 
| 42 41 | 
             
            /// @dev Central reader contract for a specific instance.
         | 
| 43 42 | 
             
            /// Provides reading functions for all instance data and related component data.
         | 
| 44 | 
            -
            contract InstanceReader  | 
| 45 | 
            -
                RegistryLinked
         | 
| 46 | 
            -
            {
         | 
| 43 | 
            +
            contract InstanceReader {
         | 
| 47 44 |  | 
| 48 45 | 
             
                error ErrorInstanceReaderAlreadyInitialized();
         | 
| 49 46 | 
             
                error ErrorInstanceReaderInstanceAddressZero();
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                // 1. instance receives reader through setInstanceReader()
         | 
| 52 | 
            -
                // 2. this way instance initialization is not depends on reader
         | 
| 53 | 
            -
                // 3. and reader is simple contract with constructor
         | 
| 54 | 
            -
                // 4. no _initialized in storage, the rest is immutable
         | 
| 47 | 
            +
             | 
| 55 48 | 
             
                bool private _initialized = false;
         | 
| 56 49 |  | 
| 50 | 
            +
                IRegistry internal _registry;
         | 
| 57 51 | 
             
                IInstance internal _instance;
         | 
| 58 52 | 
             
                InstanceAdmin internal _instanceAdmin;
         | 
| 59 53 |  | 
| @@ -84,24 +78,27 @@ contract InstanceReader is | |
| 84 78 | 
             
                    _initialized = true;
         | 
| 85 79 | 
             
                    _instance = IInstance(instanceAddress);
         | 
| 86 80 | 
             
                    _instanceAdmin = _instance.getInstanceAdmin();
         | 
| 81 | 
            +
                    _registry = _instance.getRegistry();
         | 
| 87 82 |  | 
| 88 83 | 
             
                    _store = _instance.getInstanceStore();
         | 
| 89 84 | 
             
                    _productStore = _instance.getProductStore();
         | 
| 90 85 | 
             
                    _bundleSet = _instance.getBundleSet();
         | 
| 91 86 | 
             
                    _riskSet = _instance.getRiskSet();
         | 
| 92 | 
            -
             | 
| 93 | 
            -
                    _distributionService = IDistributionService(
         | 
| 94 | 
            -
                        _getRegistry().getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
         | 
| 87 | 
            +
                    _distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
         | 
| 95 88 | 
             
                }
         | 
| 96 89 |  | 
| 97 90 |  | 
| 98 91 | 
             
                //--- instance functions ---------------------------------------------------------//
         | 
| 99 92 |  | 
| 93 | 
            +
                /// @dev Returns the registry this instance is registered in.
         | 
| 94 | 
            +
                function getRegistry() public view returns (IRegistry registry) {
         | 
| 95 | 
            +
                    return _registry;
         | 
| 96 | 
            +
                }
         | 
| 100 97 |  | 
| 101 98 |  | 
| 102 99 | 
             
                /// @dev Returns the instance NFT ID.
         | 
| 103 100 | 
             
                function getInstanceNftId() public view returns (NftId instanceNftid) {
         | 
| 104 | 
            -
                    return  | 
| 101 | 
            +
                    return _registry.getNftIdForAddress(address(_instance));
         | 
| 105 102 | 
             
                }
         | 
| 106 103 |  | 
| 107 104 |  | 
| @@ -438,7 +435,7 @@ contract InstanceReader is | |
| 438 435 | 
             
                    return _store.getReferralInfo(referralId);
         | 
| 439 436 | 
             
                }
         | 
| 440 437 |  | 
| 441 | 
            -
             | 
| 438 | 
            +
             | 
| 442 439 | 
             
                function getDiscountPercentage(ReferralId referralId)
         | 
| 443 440 | 
             
                    public
         | 
| 444 441 | 
             
                    view
         | 
| @@ -447,7 +444,10 @@ contract InstanceReader is | |
| 447 444 | 
             
                        ReferralStatus status
         | 
| 448 445 | 
             
                    )
         | 
| 449 446 | 
             
                {
         | 
| 450 | 
            -
                    return  | 
| 447 | 
            +
                    return IDistributionService(
         | 
| 448 | 
            +
                        _registry.getServiceAddress(
         | 
| 449 | 
            +
                            DISTRIBUTION(),
         | 
| 450 | 
            +
                            _instance.getRelease())).getDiscountPercentage(
         | 
| 451 451 | 
             
                                this, // instance reader
         | 
| 452 452 | 
             
                                referralId);
         | 
| 453 453 | 
             
                }
         |