@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-a73fc6f-862
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/README.md +10 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +64 -193
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +62 -157
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -126
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +63 -130
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +145 -100
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +84 -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 +3 -45
- 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 +67 -158
- 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 +49 -112
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +197 -227
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +93 -184
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +48 -124
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +104 -106
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +76 -187
- 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 +122 -233
- 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/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +74 -193
- 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 +73 -192
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +81 -200
- 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 +81 -200
- 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/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +18 -118
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +92 -118
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +34 -181
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +149 -207
- 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 +236 -75
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -167
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +59 -148
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- 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/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 +2 -2
- 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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +67 -158
- 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 +52 -128
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +26 -113
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +53 -116
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +69 -184
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +68 -159
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +56 -119
- 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 +96 -199
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +80 -171
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +31 -106
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +55 -131
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +38 -113
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +56 -119
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +20 -25
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +107 -210
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +81 -172
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +50 -165
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +62 -153
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +49 -112
- 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 +96 -211
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +85 -176
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +19 -106
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +19 -106
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +38 -113
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +26 -113
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +48 -124
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +19 -106
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +101 -204
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +78 -169
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -186
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +69 -160
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +49 -112
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +46 -161
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +60 -151
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +62 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +185 -219
- 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 +102 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +145 -207
- 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 +213 -302
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -162
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +150 -208
- 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 +146 -181
- 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 +4 -46
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +31 -124
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +323 -198
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +91 -166
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +44 -24
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +30 -136
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +234 -113
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -124
- 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 +2 -44
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +2 -44
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +17 -117
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +2 -44
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +19 -106
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +49 -112
- 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 +4 -46
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -46
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +16 -116
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +4 -46
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +18 -105
- 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 +64 -132
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +31 -106
- 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 +111 -195
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +71 -156
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +4 -46
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +54 -157
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +58 -149
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -274
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
- 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/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -2
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- 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/Fee.sol/FeeLib.json +2 -2
- 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 +22 -25
- 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 +23 -4
- 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 +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- 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/Seconds.sol/SecondsLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
- 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 +40 -109
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- 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 +18 -30
- package/contracts/accounting/AccountingServiceManager.sol +3 -3
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +22 -44
- package/contracts/authorization/AccessAdminLib.sol +20 -3
- package/contracts/authorization/AccessManagerCloneable.sol +51 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -2
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/DistributionService.sol +13 -14
- package/contracts/distribution/DistributionServiceManager.sol +3 -3
- package/contracts/distribution/IDistributionService.sol +4 -3
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +6 -3
- package/contracts/instance/InstanceAdmin.sol +14 -10
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +41 -7
- package/contracts/instance/InstanceService.sol +8 -4
- package/contracts/instance/InstanceServiceManager.sol +3 -3
- package/contracts/oracle/BasicOracle.sol +1 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +4 -5
- package/contracts/oracle/OracleService.sol +1 -1
- package/contracts/oracle/OracleServiceManager.sol +3 -3
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +6 -6
- package/contracts/pool/BundleServiceManager.sol +3 -3
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolService.sol +1 -1
- package/contracts/pool/PoolLib.sol +4 -7
- package/contracts/pool/PoolService.sol +4 -4
- package/contracts/pool/PoolServiceManager.sol +3 -3
- package/contracts/product/ApplicationService.sol +5 -4
- package/contracts/product/ApplicationServiceManager.sol +3 -3
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +1 -1
- package/contracts/product/ClaimServiceManager.sol +3 -3
- package/contracts/product/IPolicyService.sol +1 -1
- package/contracts/product/PolicyService.sol +2 -2
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +3 -3
- package/contracts/product/PricingService.sol +1 -1
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/RiskService.sol +1 -1
- package/contracts/product/RiskServiceManager.sol +3 -3
- package/contracts/registry/ChainNft.sol +1 -1
- 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 +23 -11
- package/contracts/registry/RegistryAuthorization.sol +1 -2
- package/contracts/registry/RegistryService.sol +78 -96
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +19 -14
- package/contracts/registry/ReleaseRegistry.sol +50 -52
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/shared/Component.sol +17 -24
- package/contracts/shared/ComponentService.sol +106 -28
- package/contracts/shared/ComponentServiceManager.sol +3 -3
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +15 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/IRegisterable.sol +3 -8
- package/contracts/shared/IRegistryLinked.sol +1 -3
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +126 -40
- package/contracts/shared/NftOwnable.sol +14 -1
- package/contracts/shared/PolicyHolder.sol +2 -2
- package/contracts/shared/Registerable.sol +18 -36
- package/contracts/shared/RegistryLinked.sol +4 -11
- package/contracts/shared/Service.sol +5 -6
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +4 -2
- package/contracts/staking/IStakingService.sol +1 -1
- package/contracts/staking/Staking.sol +18 -7
- package/contracts/staking/StakingManager.sol +3 -3
- package/contracts/staking/StakingService.sol +8 -11
- package/contracts/staking/StakingServiceManager.sol +4 -3
- package/contracts/staking/StakingStore.sol +8 -10
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +50 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +2 -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
@@ -4,9 +4,9 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
|
5
5
|
import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
|
6
6
|
|
7
|
-
import {IAccessAdmin} from "./IAccessAdmin.sol";
|
8
7
|
import {InitializableERC165} from "../shared/InitializableERC165.sol";
|
9
|
-
import {
|
8
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
9
|
+
import {VersionPart} from "../type/Version.sol";
|
10
10
|
|
11
11
|
|
12
12
|
/// @dev An AccessManager based on OpenZeppelin that is cloneable and has a central lock property.
|
@@ -14,7 +14,8 @@ import {VersionPartLib, VersionPart} from "../type/Version.sol";
|
|
14
14
|
/// Cloned by upon release preparation and instance cloning.
|
15
15
|
contract AccessManagerCloneable is
|
16
16
|
AccessManagerUpgradeable,
|
17
|
-
InitializableERC165
|
17
|
+
InitializableERC165,
|
18
|
+
RegistryLinked
|
18
19
|
{
|
19
20
|
error ErrorAccessManagerCallerNotAdmin(address caller);
|
20
21
|
error ErrorAccessManagerRegistryAlreadySet(address registry);
|
@@ -23,6 +24,9 @@ contract AccessManagerCloneable is
|
|
23
24
|
error ErrorAccessManagerTargetAdminLocked(address target);
|
24
25
|
error ErrorAccessManagerCallerAdminLocked(address caller);
|
25
26
|
|
27
|
+
event LogAccessManagerLocked(address indexed accessManager, bool indexed locked);
|
28
|
+
|
29
|
+
VersionPart private _release;
|
26
30
|
bool private _isLocked;
|
27
31
|
|
28
32
|
|
@@ -34,36 +38,34 @@ contract AccessManagerCloneable is
|
|
34
38
|
_;
|
35
39
|
}
|
36
40
|
|
37
|
-
function initialize(address adminAddress, VersionPart release)
|
38
|
-
public
|
39
41
|
|
42
|
+
function initialize(address admin)
|
43
|
+
public
|
44
|
+
initializer()
|
40
45
|
{
|
41
|
-
|
42
|
-
|
43
|
-
}
|
46
|
+
__ERC165_init();
|
47
|
+
__AccessManager_init(admin);
|
44
48
|
|
45
|
-
|
49
|
+
_registerInterface(type(IAccessManager).interfaceId);
|
46
50
|
}
|
47
51
|
|
48
|
-
|
49
|
-
|
52
|
+
|
53
|
+
/// @dev Completes the setup of the access manager.
|
54
|
+
/// Links the access manager to the registry and sets the release version.
|
55
|
+
function completeSetup(
|
56
|
+
address registry,
|
50
57
|
VersionPart release
|
51
58
|
)
|
52
|
-
|
53
|
-
|
59
|
+
external
|
60
|
+
onlyAdminRole
|
61
|
+
reinitializer(uint64(release.toInt()))
|
54
62
|
{
|
55
|
-
|
56
|
-
|
57
|
-
}
|
58
|
-
|
59
|
-
__ERC165_init();
|
60
|
-
__AccessManager_init(admin);
|
61
|
-
|
62
|
-
_registerInterface(type(IAccessManager).interfaceId);
|
63
|
+
_checkAndSetRegistry(registry);
|
64
|
+
_checkAndSetRelease(release);
|
63
65
|
}
|
64
66
|
|
65
67
|
/// @dev Returns true if the caller is authorized to call the target with the given selector and the manager lock is not set to locked.
|
66
|
-
///
|
68
|
+
/// Feturn values as in OpenZeppelin AccessManager.
|
67
69
|
/// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
|
68
70
|
function canCall(
|
69
71
|
address caller,
|
@@ -94,6 +96,7 @@ contract AccessManagerCloneable is
|
|
94
96
|
onlyAdminRole()
|
95
97
|
{
|
96
98
|
_isLocked = locked;
|
99
|
+
emit LogAccessManagerLocked(address(this), locked);
|
97
100
|
}
|
98
101
|
|
99
102
|
|
@@ -101,10 +104,10 @@ contract AccessManagerCloneable is
|
|
101
104
|
/// For the registry admin release 3 is returned.
|
102
105
|
/// For the release admin and the instance admin the actual release version is returned.
|
103
106
|
function getRelease() external view returns (VersionPart release) {
|
104
|
-
return
|
105
|
-
uint8(_getInitializedVersion()));
|
107
|
+
return _release;
|
106
108
|
}
|
107
109
|
|
110
|
+
|
108
111
|
/// @dev Returns true iff all contracts of this access manager are locked.
|
109
112
|
function isLocked()
|
110
113
|
public
|
@@ -113,4 +116,28 @@ contract AccessManagerCloneable is
|
|
113
116
|
{
|
114
117
|
return _isLocked;
|
115
118
|
}
|
119
|
+
|
120
|
+
|
121
|
+
function _checkAndSetRelease(VersionPart release)
|
122
|
+
internal
|
123
|
+
{
|
124
|
+
if (!release.isValidRelease()) {
|
125
|
+
revert ErrorAccessManagerInvalidRelease(release);
|
126
|
+
}
|
127
|
+
|
128
|
+
_release = release;
|
129
|
+
}
|
130
|
+
|
131
|
+
|
132
|
+
function _checkAndSetRegistry(address registry)
|
133
|
+
internal
|
134
|
+
{
|
135
|
+
// checks
|
136
|
+
if(address(getRegistry()) != address(0)) {
|
137
|
+
revert ErrorAccessManagerRegistryAlreadySet(address(getRegistry()) );
|
138
|
+
}
|
139
|
+
|
140
|
+
// effects
|
141
|
+
__RegistryLinked_init(registry);
|
142
|
+
}
|
116
143
|
}
|
@@ -9,7 +9,7 @@ import {ObjectType} from "../type/ObjectType.sol";
|
|
9
9
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
10
10
|
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
11
11
|
import {Str, StrLib} from "../type/String.sol";
|
12
|
-
|
12
|
+
|
13
13
|
|
14
14
|
contract Authorization is
|
15
15
|
ServiceAuthorization,
|
@@ -30,7 +30,7 @@ contract Authorization is
|
|
30
30
|
constructor(
|
31
31
|
string memory mainTargetName,
|
32
32
|
ObjectType domain,
|
33
|
-
|
33
|
+
uint8 release,
|
34
34
|
string memory commitHash,
|
35
35
|
IAccess.TargetType targetType,
|
36
36
|
bool includeTokenHandler
|
@@ -6,6 +6,7 @@ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessMana
|
|
6
6
|
import {IAccess} from "./IAccess.sol";
|
7
7
|
import {IAuthorization} from "./IAuthorization.sol";
|
8
8
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
9
|
+
import {IRelease} from "../registry/IRelease.sol";
|
9
10
|
|
10
11
|
import {Blocknumber} from "../type/Blocknumber.sol";
|
11
12
|
import {NftId} from "../type/NftId.sol";
|
@@ -18,7 +19,8 @@ import {VersionPart} from "../type/Version.sol";
|
|
18
19
|
interface IAccessAdmin is
|
19
20
|
IAccessManaged,
|
20
21
|
IAccess,
|
21
|
-
IRegistryLinked
|
22
|
+
IRegistryLinked,
|
23
|
+
IRelease
|
22
24
|
{
|
23
25
|
|
24
26
|
// roles, targets and functions
|
@@ -137,5 +139,4 @@ interface IAccessAdmin is
|
|
137
139
|
|
138
140
|
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
139
141
|
function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
|
140
|
-
function getRelease() external view returns (VersionPart);
|
141
142
|
}
|
@@ -16,7 +16,7 @@ interface IServiceAuthorization is
|
|
16
16
|
|
17
17
|
error ErrorAuthorizationMainTargetNameEmpty();
|
18
18
|
error ErrorAuthorizationTargetDomainZero();
|
19
|
-
error ErrorAuthorizationReleaseInvalid(
|
19
|
+
error ErrorAuthorizationReleaseInvalid(uint8 release);
|
20
20
|
error ErrorAuthorizationCommitHashInvalid(string commitHash);
|
21
21
|
|
22
22
|
/// @dev Returns the main domain of the authorization.
|
@@ -30,7 +30,7 @@ contract ServiceAuthorization is
|
|
30
30
|
string public constant ROLE_NAME_SUFFIX = "_Role";
|
31
31
|
|
32
32
|
ObjectType public immutable DOMAIN;
|
33
|
-
|
33
|
+
uint256 internal immutable _release;
|
34
34
|
string internal _commitHash;
|
35
35
|
|
36
36
|
string internal _mainTargetName;
|
@@ -55,7 +55,7 @@ contract ServiceAuthorization is
|
|
55
55
|
constructor(
|
56
56
|
string memory mainTargetName,
|
57
57
|
ObjectType domain,
|
58
|
-
|
58
|
+
uint8 release,
|
59
59
|
string memory commitHash
|
60
60
|
)
|
61
61
|
{
|
@@ -68,7 +68,7 @@ contract ServiceAuthorization is
|
|
68
68
|
revert ErrorAuthorizationTargetDomainZero();
|
69
69
|
}
|
70
70
|
|
71
|
-
if (
|
71
|
+
if (release < VersionPartLib.releaseMin().toInt() || release >= VersionPartLib.releaseMax().toInt()) {
|
72
72
|
revert ErrorAuthorizationReleaseInvalid(release);
|
73
73
|
}
|
74
74
|
|
@@ -103,7 +103,7 @@ contract ServiceAuthorization is
|
|
103
103
|
|
104
104
|
/// @inheritdoc IServiceAuthorization
|
105
105
|
function getRelease() public view returns(VersionPart release) {
|
106
|
-
return _release;
|
106
|
+
return VersionPartLib.toVersionPart(_release);
|
107
107
|
}
|
108
108
|
|
109
109
|
/// @inheritdoc IServiceAuthorization
|
@@ -2,16 +2,15 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
-
import {
|
5
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
6
6
|
|
7
7
|
import {Authorization} from "../authorization/Authorization.sol";
|
8
8
|
import {BasicDistribution} from "./BasicDistribution.sol";
|
9
9
|
import {Distribution} from "./Distribution.sol";
|
10
10
|
import {COMPONENT, DISTRIBUTION} from "../type/ObjectType.sol";
|
11
11
|
import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
12
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
13
12
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
14
|
-
|
13
|
+
|
15
14
|
|
16
15
|
contract BasicDistributionAuthorization
|
17
16
|
is Authorization
|
@@ -21,7 +20,7 @@ contract BasicDistributionAuthorization
|
|
21
20
|
Authorization(
|
22
21
|
distributionName,
|
23
22
|
DISTRIBUTION(),
|
24
|
-
|
23
|
+
3,
|
25
24
|
COMMIT_HASH,
|
26
25
|
TargetType.Component,
|
27
26
|
true)
|
@@ -61,7 +60,7 @@ contract BasicDistributionAuthorization
|
|
61
60
|
_authorize(functions, BasicDistribution.changeDistributorType.selector, "changeDistributorType");
|
62
61
|
_authorize(functions, BasicDistribution.createReferral.selector, "createReferral");
|
63
62
|
|
64
|
-
_authorize(functions,
|
63
|
+
_authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
|
65
64
|
_authorize(functions, Distribution.withdrawCommission.selector, "withdrawCommission");
|
66
65
|
}
|
67
66
|
}
|
@@ -44,7 +44,7 @@ contract DistributionService is
|
|
44
44
|
)
|
45
45
|
internal
|
46
46
|
virtual override
|
47
|
-
|
47
|
+
initializer()
|
48
48
|
{
|
49
49
|
(
|
50
50
|
address authority,
|
@@ -112,7 +112,7 @@ contract DistributionService is
|
|
112
112
|
|
113
113
|
instance.getInstanceStore().createDistributorType(distributorType, info);
|
114
114
|
|
115
|
-
emit LogDistributionServiceDistributorTypeCreated(distributionNftId, name);
|
115
|
+
emit LogDistributionServiceDistributorTypeCreated(distributionNftId, name, commissionPercentage);
|
116
116
|
}
|
117
117
|
|
118
118
|
|
@@ -134,12 +134,11 @@ contract DistributionService is
|
|
134
134
|
NftIdLib.zero(),
|
135
135
|
distributionNftId,
|
136
136
|
DISTRIBUTOR(),
|
137
|
-
getRelease(),
|
138
137
|
true, // intercepting property for bundles is defined on pool
|
139
|
-
address(0)
|
140
|
-
|
141
|
-
|
142
|
-
|
138
|
+
address(0),
|
139
|
+
distributor,
|
140
|
+
""
|
141
|
+
));
|
143
142
|
|
144
143
|
IDistribution.DistributorInfo memory info = IDistribution.DistributorInfo({
|
145
144
|
distributorType: distributorType,
|
@@ -198,11 +197,9 @@ contract DistributionService is
|
|
198
197
|
revert ErrorDistributionServiceExpirationInvalid(expiryAt);
|
199
198
|
}
|
200
199
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
revert ErrorDistributionServiceDistributorDistributionMismatch(distributorNftId, distributorDistributionNftId, distributionNftId);
|
205
|
-
}
|
200
|
+
NftId distributorDistributionNftId = getRegistry().getParentNftId(distributorNftId);
|
201
|
+
if (distributorDistributionNftId != distributionNftId) {
|
202
|
+
revert ErrorDistributionServiceDistributorDistributionMismatch(distributorNftId, distributorDistributionNftId, distributionNftId);
|
206
203
|
}
|
207
204
|
|
208
205
|
{
|
@@ -239,7 +236,7 @@ contract DistributionService is
|
|
239
236
|
|
240
237
|
instance.getInstanceStore().createReferral(referralId, info);
|
241
238
|
|
242
|
-
emit LogDistributionServiceReferralCreated(distributionNftId, distributorNftId, referralId, code);
|
239
|
+
emit LogDistributionServiceReferralCreated(distributionNftId, distributorNftId, referralId, code, discountPercentage, maxReferrals, expiryAt);
|
243
240
|
}
|
244
241
|
}
|
245
242
|
|
@@ -298,12 +295,14 @@ contract DistributionService is
|
|
298
295
|
IDistribution.DistributorInfo memory distributorInfo = reader.getDistributorInfo(referralInfo.distributorNftId);
|
299
296
|
distributorInfo.numPoliciesSold += 1;
|
300
297
|
store.updateDistributor(referralInfo.distributorNftId, distributorInfo, KEEP_STATE());
|
298
|
+
emit LogDistributionServiceSaleProcessedWithReferral(distributionNftId, referralInfo.distributorNftId, referralId, distributorInfo.numPoliciesSold, premium.premiumAmount, distributionOwnerFee, commissionAmount);
|
301
299
|
} else {
|
302
300
|
// increase distribution balance by distribution owner fee
|
303
301
|
_accountingService.increaseDistributionBalance(store, distributionNftId, AmountLib.zero(), distributionOwnerFee);
|
302
|
+
emit LogDistributionServiceSaleProcessed(distributionNftId, referralId, premium.premiumAmount, distributionOwnerFee);
|
304
303
|
}
|
305
304
|
|
306
|
-
|
305
|
+
|
307
306
|
}
|
308
307
|
|
309
308
|
/// @inheritdoc IDistributionService
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {DistributionService} from "./DistributionService.sol";
|
7
7
|
|
@@ -18,13 +18,13 @@ contract DistributionServiceManager is ProxyManager {
|
|
18
18
|
{
|
19
19
|
DistributionService svc = new DistributionService{salt: salt}();
|
20
20
|
bytes memory data = abi.encode(authority, registry);
|
21
|
-
|
21
|
+
IVersionable versionable = initialize(
|
22
22
|
registry,
|
23
23
|
address(svc),
|
24
24
|
data,
|
25
25
|
salt);
|
26
26
|
|
27
|
-
_distributionService = DistributionService(address(
|
27
|
+
_distributionService = DistributionService(address(versionable));
|
28
28
|
}
|
29
29
|
|
30
30
|
//--- view functions ----------------------------------------------------//
|
@@ -40,12 +40,13 @@ interface IDistributionService is IService {
|
|
40
40
|
error ErrorDistributionServiceReferralDistributionMismatch(ReferralId referralId, NftId referralDistributionNft, NftId distributionNftId);
|
41
41
|
|
42
42
|
event LogDistributionServiceCommissionWithdrawn(NftId distributorNftId, address recipient, address tokenAddress, Amount amount);
|
43
|
-
event LogDistributionServiceDistributorTypeCreated(NftId distributionNftId, string name);
|
43
|
+
event LogDistributionServiceDistributorTypeCreated(NftId distributionNftId, string name, UFixed commissionPercentage);
|
44
44
|
event LogDistributionServiceDistributorCreated(NftId distributionNftId, NftId distributorNftId, DistributorType distributorType, address distributor);
|
45
45
|
event LogDistributionServiceDistributorTypeChanged(NftId distributorNftId, DistributorType oldDistributorType, DistributorType newDistributorType);
|
46
|
-
event LogDistributionServiceReferralCreated(NftId distributionNftId, NftId distributorNftId, ReferralId referralId, string code);
|
46
|
+
event LogDistributionServiceReferralCreated(NftId distributionNftId, NftId distributorNftId, ReferralId referralId, string code, UFixed discountPercentage, uint32 maxReferrals, Timestamp expiryAt);
|
47
47
|
event LogDistributionServiceReferralProcessed(NftId distributionNftId, NftId distributorNftId, ReferralId referralId, uint32 usedReferrals);
|
48
|
-
event LogDistributionServiceSaleProcessed(NftId distributionNftId, ReferralId referralId);
|
48
|
+
event LogDistributionServiceSaleProcessed(NftId distributionNftId, ReferralId referralId, Amount premium, Amount distributionOwnerFee);
|
49
|
+
event LogDistributionServiceSaleProcessedWithReferral(NftId distributionNftId, NftId distributorNftId, ReferralId referralId, uint32 numPoliciesSold, Amount premium, Amount distributionOwnerFee, Amount commissionAmount);
|
49
50
|
|
50
51
|
function createDistributorType(
|
51
52
|
string memory name,
|