@etherisc/gif-next 3.0.0-f90c901-018 → 3.0.0-fb87f3a-607
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 +83 -164
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +115 -113
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +46 -91
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- 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 +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 +224 -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 +117 -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 +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 +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/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 +54 -49
- 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 +26 -78
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +51 -145
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
- 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 +238 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +136 -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 +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 +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 +129 -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 +44 -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 +98 -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 +177 -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 +76 -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 +139 -173
- 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 +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/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 +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 +102 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
- 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 +154 -175
- 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 +187 -135
- 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 +345 -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 +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 +38 -96
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +251 -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 +81 -101
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +48 -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 +134 -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 +77 -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 +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/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/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/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 +22 -33
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +24 -47
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +51 -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 +25 -27
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/distribution/IDistributionService.sol +4 -3
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- 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/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/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 +12 -8
- package/contracts/instance/InstanceAdmin.sol +17 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +56 -22
- package/contracts/instance/InstanceService.sol +24 -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 +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +16 -12
- package/contracts/oracle/Oracle.sol +6 -5
- 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 +20 -26
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +1 -1
- 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 +7 -7
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +2 -1
- package/contracts/product/PolicyService.sol +58 -45
- package/contracts/product/PolicyServiceLib.sol +5 -3
- 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/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 +29 -12
- 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 +23 -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 +135 -45
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- 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/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 +130 -39
- 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 +4 -2
- package/contracts/staking/IStakingService.sol +1 -1
- package/contracts/staking/Staking.sol +34 -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 +14 -17
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- 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 +54 -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
@@ -7,11 +7,12 @@ import {IService} from "../shared/IService.sol";
|
|
7
7
|
import {IStaking} from "../staking/IStaking.sol";
|
8
8
|
|
9
9
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
10
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
10
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
11
12
|
import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
|
12
13
|
import {RoleId, RoleIdLib, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE} from "../type/RoleId.sol";
|
13
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
14
14
|
import {Str} from "../type/String.sol";
|
15
|
+
import {VersionPart} from "../type/Version.sol";
|
15
16
|
|
16
17
|
/*
|
17
18
|
1) GIF_MANAGER_ROLE
|
@@ -51,6 +52,7 @@ contract RegistryAdmin is
|
|
51
52
|
// completeSetup
|
52
53
|
error ErrorRegistryAdminNotRegistry(address registry);
|
53
54
|
|
55
|
+
address internal _registry;
|
54
56
|
address private _releaseRegistry;
|
55
57
|
address private _tokenRegistry;
|
56
58
|
address private _staking;
|
@@ -60,34 +62,49 @@ contract RegistryAdmin is
|
|
60
62
|
constructor() {
|
61
63
|
initialize(
|
62
64
|
address(new AccessManagerCloneable()),
|
63
|
-
"RegistryAdmin"
|
64
|
-
GIF_INITIAL_RELEASE());
|
65
|
+
"RegistryAdmin");
|
65
66
|
}
|
66
67
|
|
67
68
|
|
68
69
|
function completeSetup(
|
70
|
+
address registry,
|
69
71
|
address authorization,
|
72
|
+
VersionPart release,
|
70
73
|
address gifAdmin,
|
71
74
|
address gifManager
|
72
75
|
)
|
73
76
|
public
|
74
77
|
virtual
|
78
|
+
reinitializer(type(uint8).max)
|
75
79
|
{
|
76
80
|
// checks
|
77
|
-
|
78
|
-
|
79
|
-
|
81
|
+
AccessAdminLib.checkRegistry(registry);
|
82
|
+
|
83
|
+
AccessManagerCloneable(
|
84
|
+
authority()).completeSetup(
|
85
|
+
registry,
|
86
|
+
release);
|
87
|
+
|
88
|
+
AccessAdminLib.checkAuthorization(
|
89
|
+
address(_authorization),
|
90
|
+
authorization,
|
91
|
+
REGISTRY(),
|
92
|
+
release,
|
93
|
+
false, // expectServiceAuthorization
|
94
|
+
false); // checkAlreadyInitialized);
|
95
|
+
|
96
|
+
_registry = registry;
|
80
97
|
_authorization = IAuthorization(authorization);
|
81
98
|
|
82
|
-
IRegistry
|
83
|
-
_releaseRegistry =
|
84
|
-
_tokenRegistry =
|
85
|
-
_staking =
|
99
|
+
IRegistry registryContract = IRegistry(registry);
|
100
|
+
_releaseRegistry = registryContract.getReleaseRegistryAddress();
|
101
|
+
_tokenRegistry = registryContract.getTokenRegistryAddress();
|
102
|
+
_staking = registryContract.getStakingAddress();
|
86
103
|
_stakingTargetHandler = address(IStaking(_staking).getTargetHandler());
|
87
104
|
_stakingStore = address(IStaking(_staking).getStakingStore());
|
88
105
|
|
89
106
|
// link nft ownability to registry
|
90
|
-
_linkToNftOwnable(
|
107
|
+
_linkToNftOwnable(_registry);
|
91
108
|
|
92
109
|
_createRoles(_authorization);
|
93
110
|
|
@@ -132,7 +149,7 @@ contract RegistryAdmin is
|
|
132
149
|
internal
|
133
150
|
{
|
134
151
|
// create unchecked registry targets
|
135
|
-
_createTarget(
|
152
|
+
_createTarget(_registry, registryTargetName, TargetType.Core, false);
|
136
153
|
_createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, TargetType.Core, false);
|
137
154
|
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, TargetType.Core, false);
|
138
155
|
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, TargetType.Core, false);
|
@@ -12,7 +12,6 @@ import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
|
12
12
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
13
13
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
14
14
|
import {RoleIdLib, ADMIN_ROLE, GIF_ADMIN_ROLE, GIF_MANAGER_ROLE} from "../type/RoleId.sol";
|
15
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
16
15
|
import {StakingStore} from "../staking/StakingStore.sol";
|
17
16
|
import {TargetHandler} from "../staking/TargetHandler.sol";
|
18
17
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
@@ -50,7 +49,7 @@ contract RegistryAuthorization
|
|
50
49
|
Authorization(
|
51
50
|
REGISTRY_TARGET_NAME,
|
52
51
|
REGISTRY(),
|
53
|
-
|
52
|
+
3,
|
54
53
|
commitHash,
|
55
54
|
TargetType.Core,
|
56
55
|
false) // includeTokenHandler
|
@@ -101,7 +100,7 @@ contract RegistryAuthorization
|
|
101
100
|
AccessAdminLib.roleInfo(
|
102
101
|
ADMIN_ROLE(),
|
103
102
|
TargetType.Custom, // custom is only type that allows role removal
|
104
|
-
|
103
|
+
2, // TODO decide on max member count
|
105
104
|
GIF_ADMIN_ROLE_NAME));
|
106
105
|
|
107
106
|
// gif manager role
|
@@ -110,7 +109,7 @@ contract RegistryAuthorization
|
|
110
109
|
AccessAdminLib.roleInfo(
|
111
110
|
ADMIN_ROLE(),
|
112
111
|
TargetType.Custom, // custom is only type that allows role removal
|
113
|
-
|
112
|
+
1, // TODO decide on max member count
|
114
113
|
GIF_MANAGER_ROLE_NAME));
|
115
114
|
|
116
115
|
}
|
@@ -1,18 +1,16 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IComponent} from "../../contracts/shared/IComponent.sol";
|
4
5
|
import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
|
5
6
|
import {IInstance} from "../instance/IInstance.sol";
|
6
|
-
import {IInstanceLinkedComponent} from "../../contracts/shared/IInstanceLinkedComponent.sol";
|
7
7
|
import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
|
8
8
|
import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
|
9
9
|
import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
|
10
10
|
import {IRegistry} from "./IRegistry.sol";
|
11
11
|
import {IRegistryService} from "./IRegistryService.sol";
|
12
|
-
import {IStaking} from "../../contracts/staking/IStaking.sol";
|
13
12
|
|
14
|
-
import {
|
15
|
-
import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, POLICY, BUNDLE, STAKE, STAKING} from "../../contracts/type/ObjectType.sol";
|
13
|
+
import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE} from "../../contracts/type/ObjectType.sol";
|
16
14
|
import {NftId, NftIdLib} from "../../contracts/type/NftId.sol";
|
17
15
|
import {Service} from "../shared/Service.sol";
|
18
16
|
|
@@ -23,6 +21,8 @@ contract RegistryService is
|
|
23
21
|
// TODO update to real hash when registry is stable
|
24
22
|
bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
|
25
23
|
|
24
|
+
// from Versionable
|
25
|
+
|
26
26
|
/// @dev top level initializer
|
27
27
|
function _initialize(
|
28
28
|
address owner,
|
@@ -33,15 +33,16 @@ contract RegistryService is
|
|
33
33
|
onlyInitializing
|
34
34
|
{
|
35
35
|
(
|
36
|
-
address authority
|
37
|
-
|
36
|
+
address authority,
|
37
|
+
address registry
|
38
|
+
) = abi.decode(data, (address, address));
|
38
39
|
|
39
|
-
__Service_init(authority, owner);
|
40
|
+
__Service_init(authority, registry, owner);
|
40
41
|
_registerInterface(type(IRegistryService).interfaceId);
|
41
42
|
}
|
42
43
|
|
43
|
-
|
44
|
-
function registerStaking(IRegisterable staking, address
|
44
|
+
|
45
|
+
function registerStaking(IRegisterable staking, address owner)
|
45
46
|
external
|
46
47
|
virtual
|
47
48
|
restricted()
|
@@ -49,16 +50,12 @@ contract RegistryService is
|
|
49
50
|
IRegistry.ObjectInfo memory info
|
50
51
|
)
|
51
52
|
{
|
52
|
-
|
53
|
-
|
54
|
-
address owner;
|
55
|
-
bytes memory data;
|
56
|
-
(info, owner, data) = _getAndVerifyContractInfo(staking, NftIdLib.zero(), STAKING(), expectedOwner);
|
57
|
-
info.nftId = _getRegistry().register(info, owner, data);
|
53
|
+
info = _getAndVerifyContractInfo(staking, STAKING(), owner);
|
54
|
+
info.nftId = getRegistry().register(info);
|
58
55
|
}
|
59
56
|
|
60
57
|
|
61
|
-
function registerInstance(IRegisterable instance, address
|
58
|
+
function registerInstance(IRegisterable instance, address owner)
|
62
59
|
external
|
63
60
|
virtual
|
64
61
|
restricted()
|
@@ -66,21 +63,19 @@ contract RegistryService is
|
|
66
63
|
IRegistry.ObjectInfo memory info
|
67
64
|
)
|
68
65
|
{
|
69
|
-
|
66
|
+
if(!instance.supportsInterface(type(IInstance).interfaceId)) {
|
67
|
+
revert ErrorRegistryServiceNotInstance(address(instance));
|
68
|
+
}
|
70
69
|
|
71
|
-
|
72
|
-
|
73
|
-
(info, owner, data) = _getAndVerifyContractInfo(instance, _getRegistry().getNftId(), INSTANCE(), expectedOwner);
|
74
|
-
info.nftId = _getRegistry().register(info, owner, data);
|
70
|
+
info = _getAndVerifyContractInfo(instance, INSTANCE(), owner);
|
71
|
+
info.nftId = getRegistry().register(info);
|
75
72
|
|
76
73
|
instance.linkToRegisteredNftId(); // asume safe
|
77
74
|
}
|
78
75
|
|
79
|
-
function
|
80
|
-
|
81
|
-
|
82
|
-
ObjectType expectedType,
|
83
|
-
address expectedOwner
|
76
|
+
function registerProduct(
|
77
|
+
IComponent product,
|
78
|
+
address initialOwner
|
84
79
|
)
|
85
80
|
external
|
86
81
|
virtual
|
@@ -89,75 +84,83 @@ contract RegistryService is
|
|
89
84
|
IRegistry.ObjectInfo memory info
|
90
85
|
)
|
91
86
|
{
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
(info, owner, data) = _getAndVerifyContractInfo(component, expectedParentNftId, expectedType, expectedOwner);
|
99
|
-
info.nftId = _getRegistry().register(info, owner, data);
|
87
|
+
if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
|
88
|
+
revert ErrorRegistryServiceNotProduct(address(product));
|
89
|
+
}
|
90
|
+
|
91
|
+
info = _getAndVerifyContractInfo(product, PRODUCT(), initialOwner);
|
92
|
+
info.nftId = getRegistry().register(info);
|
100
93
|
}
|
101
94
|
|
102
|
-
function
|
95
|
+
function registerProductLinkedComponent(
|
96
|
+
IComponent component,
|
97
|
+
ObjectType objectType,
|
98
|
+
address initialOwner
|
99
|
+
)
|
103
100
|
external
|
104
101
|
virtual
|
105
102
|
restricted()
|
106
|
-
returns(
|
103
|
+
returns(
|
104
|
+
IRegistry.ObjectInfo memory info
|
105
|
+
)
|
107
106
|
{
|
108
|
-
|
109
|
-
|
107
|
+
// CAN revert if no ERC165 support -> will revert with empty message
|
108
|
+
if(!component.supportsInterface(type(IComponent).interfaceId)) {
|
109
|
+
revert ErrorRegistryServiceNotComponent(address(component));
|
110
|
+
}
|
111
|
+
|
112
|
+
if (!(objectType == DISTRIBUTION() || objectType == ORACLE() || objectType == POOL())) {
|
113
|
+
revert ErrorRegistryServiceNotProductLinkedComponent(address(component));
|
114
|
+
}
|
115
|
+
|
116
|
+
info = _getAndVerifyContractInfo(component, objectType, initialOwner);
|
117
|
+
info.nftId = getRegistry().register(info);
|
110
118
|
}
|
111
119
|
|
112
|
-
function
|
120
|
+
function registerDistributor(IRegistry.ObjectInfo memory info)
|
113
121
|
external
|
114
122
|
virtual
|
115
123
|
restricted()
|
116
124
|
returns(NftId nftId)
|
117
125
|
{
|
118
|
-
_verifyObjectInfo(info,
|
119
|
-
nftId =
|
126
|
+
_verifyObjectInfo(info, DISTRIBUTOR());
|
127
|
+
nftId = getRegistry().register(info);
|
120
128
|
}
|
121
129
|
|
122
|
-
function
|
130
|
+
function registerPolicy(IRegistry.ObjectInfo memory info)
|
123
131
|
external
|
124
132
|
virtual
|
125
133
|
restricted()
|
126
134
|
returns(NftId nftId)
|
127
135
|
{
|
128
|
-
_verifyObjectInfo(info,
|
129
|
-
nftId =
|
136
|
+
_verifyObjectInfo(info, POLICY());
|
137
|
+
nftId = getRegistry().register(info);
|
130
138
|
}
|
131
139
|
|
132
|
-
function
|
140
|
+
function registerBundle(IRegistry.ObjectInfo memory info)
|
133
141
|
external
|
134
142
|
virtual
|
135
143
|
restricted()
|
136
144
|
returns(NftId nftId)
|
137
145
|
{
|
138
|
-
_verifyObjectInfo(info,
|
139
|
-
nftId =
|
146
|
+
_verifyObjectInfo(info, BUNDLE());
|
147
|
+
nftId = getRegistry().register(info);
|
140
148
|
}
|
141
149
|
|
142
|
-
|
143
|
-
|
144
|
-
|
150
|
+
function registerStake(IRegistry.ObjectInfo memory info)
|
151
|
+
external
|
152
|
+
virtual
|
153
|
+
restricted()
|
154
|
+
returns(NftId nftId)
|
145
155
|
{
|
146
|
-
|
147
|
-
|
148
|
-
}
|
156
|
+
_verifyObjectInfo(info, STAKE());
|
157
|
+
nftId = getRegistry().register(info);
|
149
158
|
}
|
150
159
|
|
151
|
-
|
152
|
-
|
153
|
-
/// - the component type does not match with the required type
|
154
|
-
/// - the component parent does not match with the required parent (when required parent is not zero)
|
155
|
-
/// - the component initialOwner does not match with the required owner (when required owner is not zero)
|
156
|
-
/// - the component initialOwner is zero (redundant, consider deleting)
|
157
|
-
/// - the component initialOwner is already registered
|
160
|
+
// Internal
|
161
|
+
|
158
162
|
function _getAndVerifyContractInfo(
|
159
163
|
IRegisterable registerable,
|
160
|
-
NftId expectedParent,
|
161
164
|
ObjectType expectedType, // assume can be valid only
|
162
165
|
address expectedOwner // assume can be 0 when given by other service
|
163
166
|
)
|
@@ -165,62 +168,40 @@ contract RegistryService is
|
|
165
168
|
virtual
|
166
169
|
view
|
167
170
|
returns(
|
168
|
-
IRegistry.ObjectInfo memory info
|
169
|
-
address initialOwner,
|
170
|
-
bytes memory data
|
171
|
+
IRegistry.ObjectInfo memory info
|
171
172
|
)
|
172
173
|
{
|
173
174
|
info = registerable.getInitialInfo();
|
174
|
-
data = registerable.getInitialData();
|
175
|
-
initialOwner = registerable.getOwner();
|
176
175
|
|
177
176
|
if(info.objectAddress != address(registerable)) {
|
178
177
|
revert ErrorRegistryServiceRegisterableAddressInvalid(registerable, info.objectAddress);
|
179
178
|
}
|
180
179
|
|
181
|
-
if(
|
182
|
-
|
183
|
-
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
184
|
-
revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
|
185
|
-
}
|
186
|
-
} else {
|
187
|
-
// match any component except product
|
188
|
-
if(!(info.objectType == DISTRIBUTION() || info.objectType == ORACLE() || info.objectType == POOL())) {
|
189
|
-
revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
|
190
|
-
}
|
180
|
+
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
181
|
+
revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
|
191
182
|
}
|
192
183
|
|
193
|
-
|
194
|
-
// exact parent is important
|
195
|
-
if(info.parentNftId != expectedParent) {
|
196
|
-
revert ErrorRegistryServiceRegisterableParentInvalid(registerable, expectedParent, info.parentNftId);
|
197
|
-
}
|
198
|
-
}
|
184
|
+
address owner = info.initialOwner;
|
199
185
|
|
200
|
-
if(
|
201
|
-
|
202
|
-
if(initialOwner != expectedOwner) { // registerable owner protection
|
203
|
-
revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, initialOwner);
|
204
|
-
}
|
186
|
+
if(owner != expectedOwner) { // registerable owner protection
|
187
|
+
revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, owner);
|
205
188
|
}
|
206
189
|
|
207
|
-
if(
|
190
|
+
if(owner == address(registerable)) {
|
208
191
|
revert ErrorRegistryServiceRegisterableSelfRegistration(registerable);
|
209
192
|
}
|
210
193
|
|
211
|
-
|
212
|
-
if(initialOwner == address(0)) {
|
194
|
+
if(owner == address(0)) {
|
213
195
|
revert ErrorRegistryServiceRegisterableOwnerZero(registerable);
|
214
196
|
}
|
215
197
|
|
216
|
-
if(
|
217
|
-
revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable,
|
198
|
+
if(getRegistry().isRegistered(owner)) {
|
199
|
+
revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, owner);
|
218
200
|
}
|
219
201
|
}
|
220
202
|
|
221
203
|
function _verifyObjectInfo(
|
222
204
|
IRegistry.ObjectInfo memory info,
|
223
|
-
address initialOwner,
|
224
205
|
ObjectType expectedType
|
225
206
|
)
|
226
207
|
internal
|
@@ -235,18 +216,20 @@ contract RegistryService is
|
|
235
216
|
revert ErrorRegistryServiceObjectTypeInvalid(expectedType, info.objectType);
|
236
217
|
}
|
237
218
|
|
238
|
-
|
219
|
+
address owner = info.initialOwner;
|
220
|
+
|
221
|
+
if(owner == address(0)) {
|
239
222
|
revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
|
240
223
|
}
|
241
224
|
|
242
|
-
if(
|
243
|
-
revert ErrorRegistryServiceInvalidInitialOwner(
|
225
|
+
if(owner == msg.sender) {
|
226
|
+
revert ErrorRegistryServiceInvalidInitialOwner(owner);
|
244
227
|
}
|
245
228
|
|
246
|
-
if(
|
247
|
-
ObjectType ownerType =
|
229
|
+
if(getRegistry().isRegistered(owner)) {
|
230
|
+
ObjectType ownerType = getRegistry().getObjectInfo(owner).objectType;
|
248
231
|
if(ownerType == REGISTRY() || ownerType == STAKING() || ownerType == SERVICE() || ownerType == INSTANCE()) {
|
249
|
-
revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType,
|
232
|
+
revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
|
250
233
|
}
|
251
234
|
}
|
252
235
|
}
|
@@ -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 {RegistryService} from "./RegistryService.sol";
|
7
7
|
|
@@ -9,6 +9,7 @@ contract RegistryServiceManager is
|
|
9
9
|
ProxyManager
|
10
10
|
{
|
11
11
|
error ErrorRegistryAccessManagerAuthorityZero();
|
12
|
+
error ErrorRegistryAccessManagerRegistryZero();
|
12
13
|
|
13
14
|
bytes32 constant public ACCESS_MANAGER_CREATION_CODE_HASH = 0x0;
|
14
15
|
|
@@ -17,21 +18,27 @@ contract RegistryServiceManager is
|
|
17
18
|
/// @dev initializes proxy manager with registry service implementation and deploys registry
|
18
19
|
constructor(
|
19
20
|
address authority, // used by implementation
|
21
|
+
address registry, // used by implementation
|
20
22
|
bytes32 salt
|
21
23
|
)
|
22
24
|
{
|
23
25
|
if(authority == address(0)) {
|
24
26
|
revert ErrorRegistryAccessManagerAuthorityZero();
|
25
27
|
}
|
28
|
+
|
29
|
+
if(registry == address(0)) {
|
30
|
+
revert ErrorRegistryAccessManagerRegistryZero();
|
31
|
+
}
|
26
32
|
|
27
33
|
RegistryService srv = new RegistryService{ salt: salt }();
|
28
|
-
bytes memory data = abi.encode(authority);
|
29
|
-
|
34
|
+
bytes memory data = abi.encode(authority, registry);
|
35
|
+
IVersionable versionable = initialize(
|
36
|
+
registry,
|
30
37
|
address(srv),
|
31
38
|
data,
|
32
39
|
salt);
|
33
40
|
|
34
|
-
_registryService = RegistryService(address(
|
41
|
+
_registryService = RegistryService(address(versionable));
|
35
42
|
}
|
36
43
|
|
37
44
|
//--- view functions ----------------------------------------------------//
|
@@ -10,7 +10,6 @@ import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
|
10
10
|
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
11
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
12
|
import {ObjectType, ObjectTypeLib, RELEASE} from "../type/ObjectType.sol";
|
13
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
14
13
|
import {RoleId, ADMIN_ROLE, RELEASE_REGISTRY_ROLE} from "../type/RoleId.sol";
|
15
14
|
import {Str} from "../type/String.sol";
|
16
15
|
import {VersionPart} from "../type/Version.sol";
|
@@ -47,30 +46,44 @@ contract ReleaseAdmin is
|
|
47
46
|
}
|
48
47
|
|
49
48
|
|
50
|
-
|
49
|
+
// @dev Only used for master release admin
|
51
50
|
constructor(address accessManager) {
|
52
51
|
initialize(
|
53
52
|
accessManager,
|
54
|
-
"MasterReleaseAdmin"
|
55
|
-
GIF_INITIAL_RELEASE());
|
53
|
+
"MasterReleaseAdmin");
|
56
54
|
}
|
57
55
|
|
58
56
|
|
59
57
|
function completeSetup(
|
58
|
+
address registry,
|
60
59
|
address authorization,
|
60
|
+
VersionPart release,
|
61
61
|
address releaseRegistry
|
62
62
|
)
|
63
63
|
external
|
64
|
-
|
64
|
+
reinitializer(uint64(release.toInt()))
|
65
65
|
{
|
66
|
+
// checks
|
67
|
+
AccessAdminLib.checkRegistry(registry);
|
68
|
+
|
69
|
+
AccessManagerCloneable(
|
70
|
+
authority()).completeSetup(
|
71
|
+
registry,
|
72
|
+
release);
|
66
73
|
|
67
|
-
// effects
|
68
74
|
IServiceAuthorization serviceAuthorization = IServiceAuthorization(authorization);
|
69
|
-
|
75
|
+
AccessAdminLib.checkAuthorization(
|
76
|
+
address(_authorization),
|
77
|
+
address(serviceAuthorization),
|
78
|
+
RELEASE(),
|
79
|
+
release,
|
80
|
+
true, // expectServiceAuthorization
|
81
|
+
true); // checkAlreadyInitialized);
|
82
|
+
|
70
83
|
_serviceAuthorization = serviceAuthorization;
|
71
84
|
|
72
85
|
// link nft ownability to registry
|
73
|
-
_linkToNftOwnable(
|
86
|
+
_linkToNftOwnable(registry);
|
74
87
|
|
75
88
|
_createRoles(_serviceAuthorization);
|
76
89
|
|
@@ -167,7 +180,8 @@ contract ReleaseAdmin is
|
|
167
180
|
//--- private initialization functions -------------------------------------------//
|
168
181
|
|
169
182
|
function _setupReleaseRegistry(address releaseRegistry)
|
170
|
-
private
|
183
|
+
private
|
184
|
+
onlyInitializing()
|
171
185
|
{
|
172
186
|
|
173
187
|
_createRole(
|