@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-aa7237e-773
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/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 +113 -224
- 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 +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/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 +84 -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 +19 -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 +26 -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 +95 -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 +26 -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 +89 -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 +56 -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 +96 -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/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/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 +40 -109
- 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 +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 +5 -5
- package/contracts/pool/BundleServiceManager.sol +3 -3
- package/contracts/pool/PoolLib.sol +4 -7
- package/contracts/pool/PoolService.sol +3 -3
- 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/PolicyService.sol +1 -1
- 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
@@ -9,7 +9,7 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
9
9
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
10
10
|
import {Fee} from "../type/Fee.sol";
|
11
11
|
import {NftId} from "../type/NftId.sol";
|
12
|
-
import {ObjectType, ACCOUNTING, BUNDLE, DISTRIBUTION, DISTRIBUTOR, POOL, PRODUCT} from "../type/ObjectType.sol";
|
12
|
+
import {ObjectType, ACCOUNTING, BUNDLE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, POOL, PRODUCT} from "../type/ObjectType.sol";
|
13
13
|
import {Service} from "../shared/Service.sol";
|
14
14
|
|
15
15
|
|
@@ -26,7 +26,7 @@ contract AccountingService is
|
|
26
26
|
)
|
27
27
|
internal
|
28
28
|
virtual override
|
29
|
-
|
29
|
+
initializer()
|
30
30
|
{
|
31
31
|
(
|
32
32
|
address authority,
|
@@ -46,7 +46,7 @@ contract AccountingService is
|
|
46
46
|
virtual
|
47
47
|
restricted()
|
48
48
|
{
|
49
|
-
_changeTargetBalance(DECREASE, instanceStore, componentNftId, AmountLib.zero(), feeAmount);
|
49
|
+
_changeTargetBalance(DECREASE, instanceStore, componentNftId, COMPONENT(), AmountLib.zero(), feeAmount);
|
50
50
|
}
|
51
51
|
|
52
52
|
|
@@ -60,7 +60,7 @@ contract AccountingService is
|
|
60
60
|
restricted()
|
61
61
|
{
|
62
62
|
_checkNftType(productNftId, PRODUCT());
|
63
|
-
_changeTargetBalance(INCREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
|
63
|
+
_changeTargetBalance(INCREASE, instanceStore, productNftId, PRODUCT(), AmountLib.zero(), feeAmount);
|
64
64
|
}
|
65
65
|
|
66
66
|
function increaseProductFeesForPool(
|
@@ -73,7 +73,7 @@ contract AccountingService is
|
|
73
73
|
restricted()
|
74
74
|
{
|
75
75
|
_checkNftType(productNftId, PRODUCT());
|
76
|
-
_changeTargetBalance(INCREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
|
76
|
+
_changeTargetBalance(INCREASE, instanceStore, productNftId, PRODUCT(), AmountLib.zero(), feeAmount);
|
77
77
|
}
|
78
78
|
|
79
79
|
|
@@ -83,7 +83,7 @@ contract AccountingService is
|
|
83
83
|
restricted()
|
84
84
|
{
|
85
85
|
_checkNftType(productNftId, PRODUCT());
|
86
|
-
_changeTargetBalance(DECREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
|
86
|
+
_changeTargetBalance(DECREASE, instanceStore, productNftId, PRODUCT(), AmountLib.zero(), feeAmount);
|
87
87
|
}
|
88
88
|
|
89
89
|
function increaseDistributionBalance(
|
@@ -97,7 +97,7 @@ contract AccountingService is
|
|
97
97
|
restricted()
|
98
98
|
{
|
99
99
|
_checkNftType(distributionNftId, DISTRIBUTION());
|
100
|
-
_changeTargetBalance(INCREASE, instanceStore, distributionNftId, amount, feeAmount);
|
100
|
+
_changeTargetBalance(INCREASE, instanceStore, distributionNftId, DISTRIBUTION(), amount, feeAmount);
|
101
101
|
}
|
102
102
|
|
103
103
|
|
@@ -112,7 +112,7 @@ contract AccountingService is
|
|
112
112
|
restricted()
|
113
113
|
{
|
114
114
|
_checkNftType(distributionNftId, DISTRIBUTION());
|
115
|
-
_changeTargetBalance(DECREASE, instanceStore, distributionNftId, amount, feeAmount);
|
115
|
+
_changeTargetBalance(DECREASE, instanceStore, distributionNftId, DISTRIBUTION(), amount, feeAmount);
|
116
116
|
}
|
117
117
|
|
118
118
|
function increaseDistributorBalance(
|
@@ -126,7 +126,7 @@ contract AccountingService is
|
|
126
126
|
restricted()
|
127
127
|
{
|
128
128
|
_checkNftType(distributorNftId, DISTRIBUTOR());
|
129
|
-
_changeTargetBalance(INCREASE, instanceStore, distributorNftId, amount, feeAmount);
|
129
|
+
_changeTargetBalance(INCREASE, instanceStore, distributorNftId, DISTRIBUTOR(), amount, feeAmount);
|
130
130
|
}
|
131
131
|
|
132
132
|
function decreaseDistributorBalance(
|
@@ -140,7 +140,7 @@ contract AccountingService is
|
|
140
140
|
restricted()
|
141
141
|
{
|
142
142
|
_checkNftType(distributorNftId, DISTRIBUTOR());
|
143
|
-
_changeTargetBalance(DECREASE, instanceStore, distributorNftId, amount, feeAmount);
|
143
|
+
_changeTargetBalance(DECREASE, instanceStore, distributorNftId, DISTRIBUTOR(), amount, feeAmount);
|
144
144
|
}
|
145
145
|
|
146
146
|
function increasePoolBalance(
|
@@ -154,7 +154,7 @@ contract AccountingService is
|
|
154
154
|
restricted()
|
155
155
|
{
|
156
156
|
_checkNftType(poolNftId, POOL());
|
157
|
-
_changeTargetBalance(INCREASE, instanceStore, poolNftId, amount, feeAmount);
|
157
|
+
_changeTargetBalance(INCREASE, instanceStore, poolNftId, POOL(), amount, feeAmount);
|
158
158
|
}
|
159
159
|
|
160
160
|
function decreasePoolBalance(
|
@@ -168,7 +168,7 @@ contract AccountingService is
|
|
168
168
|
restricted()
|
169
169
|
{
|
170
170
|
_checkNftType(poolNftId, POOL());
|
171
|
-
_changeTargetBalance(DECREASE, instanceStore, poolNftId, amount, feeAmount);
|
171
|
+
_changeTargetBalance(DECREASE, instanceStore, poolNftId, POOL(), amount, feeAmount);
|
172
172
|
}
|
173
173
|
|
174
174
|
function increaseBundleBalance(
|
@@ -182,7 +182,7 @@ contract AccountingService is
|
|
182
182
|
restricted()
|
183
183
|
{
|
184
184
|
_checkNftType(bundleNftId, BUNDLE());
|
185
|
-
_changeTargetBalance(INCREASE, instanceStore, bundleNftId, amount, feeAmount);
|
185
|
+
_changeTargetBalance(INCREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
|
186
186
|
}
|
187
187
|
|
188
188
|
function decreaseBundleBalance(
|
@@ -196,7 +196,7 @@ contract AccountingService is
|
|
196
196
|
restricted()
|
197
197
|
{
|
198
198
|
_checkNftType(bundleNftId, BUNDLE());
|
199
|
-
_changeTargetBalance(DECREASE, instanceStore, bundleNftId, amount, feeAmount);
|
199
|
+
_changeTargetBalance(DECREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
|
200
200
|
}
|
201
201
|
|
202
202
|
function increaseBundleBalanceForPool(
|
@@ -210,7 +210,7 @@ contract AccountingService is
|
|
210
210
|
restricted()
|
211
211
|
{
|
212
212
|
_checkNftType(bundleNftId, BUNDLE());
|
213
|
-
_changeTargetBalance(INCREASE, instanceStore, bundleNftId, amount, feeAmount);
|
213
|
+
_changeTargetBalance(INCREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
|
214
214
|
}
|
215
215
|
|
216
216
|
function decreaseBundleBalanceForPool(
|
@@ -224,7 +224,7 @@ contract AccountingService is
|
|
224
224
|
restricted()
|
225
225
|
{
|
226
226
|
_checkNftType(bundleNftId, BUNDLE());
|
227
|
-
_changeTargetBalance(DECREASE, instanceStore, bundleNftId, amount, feeAmount);
|
227
|
+
_changeTargetBalance(DECREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
|
228
228
|
}
|
229
229
|
|
230
230
|
|
@@ -234,6 +234,7 @@ contract AccountingService is
|
|
234
234
|
bool increase,
|
235
235
|
InstanceStore instanceStore,
|
236
236
|
NftId targetNftId,
|
237
|
+
ObjectType objectType,
|
237
238
|
Amount amount,
|
238
239
|
Amount feeAmount
|
239
240
|
)
|
@@ -249,21 +250,8 @@ contract AccountingService is
|
|
249
250
|
if(totalAmount.gtz()) { instanceStore.decreaseBalance(targetNftId, totalAmount); }
|
250
251
|
if(feeAmount.gtz()) { instanceStore.decreaseFees(targetNftId, feeAmount); }
|
251
252
|
}
|
252
|
-
}
|
253
|
-
|
254
253
|
|
255
|
-
|
256
|
-
internal
|
257
|
-
virtual
|
258
|
-
{
|
259
|
-
emit LogAccountingServiceUpdateFee(
|
260
|
-
productNftId,
|
261
|
-
name,
|
262
|
-
feeBefore.fractionalFee,
|
263
|
-
feeBefore.fixedFee,
|
264
|
-
feeAfter.fractionalFee,
|
265
|
-
feeAfter.fixedFee
|
266
|
-
);
|
254
|
+
emit LogAccountingServiceBalanceChanged(targetNftId, amount, feeAmount, increase, objectType);
|
267
255
|
}
|
268
256
|
|
269
257
|
function _getDomain() internal pure virtual override returns(ObjectType) {
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {AccountingService} from "./AccountingService.sol";
|
5
|
-
import {
|
5
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
6
6
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
7
7
|
|
8
8
|
contract AccountingServiceManager is ProxyManager {
|
@@ -18,13 +18,13 @@ contract AccountingServiceManager is ProxyManager {
|
|
18
18
|
{
|
19
19
|
AccountingService svc = new AccountingService();
|
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
|
-
_accountingService = AccountingService(address(
|
27
|
+
_accountingService = AccountingService(address(versionable));
|
28
28
|
}
|
29
29
|
|
30
30
|
//--- view functions ----------------------------------------------------//
|
@@ -6,20 +6,19 @@ import {Amount} from "../type/Amount.sol";
|
|
6
6
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
7
7
|
import {IService} from "../shared/IService.sol";
|
8
8
|
import {NftId} from "../type/NftId.sol";
|
9
|
-
import {
|
9
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
10
10
|
|
11
11
|
/// @dev component base class
|
12
12
|
/// component examples are staking, product, distribution, pool and oracle
|
13
13
|
interface IAccountingService is
|
14
14
|
IService
|
15
15
|
{
|
16
|
-
event
|
17
|
-
NftId nftId,
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
Amount newFixedFee
|
16
|
+
event LogAccountingServiceBalanceChanged(
|
17
|
+
NftId indexed nftId,
|
18
|
+
Amount indexed amount,
|
19
|
+
Amount indexed feeAmount,
|
20
|
+
bool increase,
|
21
|
+
ObjectType objectType
|
23
22
|
);
|
24
23
|
|
25
24
|
function decreaseComponentFees(InstanceStore instanceStore, NftId componentNftId, Amount feeAmount) external;
|
@@ -14,14 +14,13 @@ import {AccessAdminLib} from "./AccessAdminLib.sol";
|
|
14
14
|
import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
|
15
15
|
import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
|
16
16
|
import {ContractLib} from "../shared/ContractLib.sol";
|
17
|
-
import {NftId} from "../type/NftId.sol";
|
17
|
+
import {NftId, NftIdLib} from "../type/NftId.sol";
|
18
18
|
import {ObjectType} from "../type/ObjectType.sol";
|
19
19
|
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
20
|
-
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
21
20
|
import {Selector, SelectorSetLib} from "../type/Selector.sol";
|
22
21
|
import {Str, StrLib} from "../type/String.sol";
|
23
22
|
import {TimestampLib} from "../type/Timestamp.sol";
|
24
|
-
import {
|
23
|
+
import {VersionPart} from "../type/Version.sol";
|
25
24
|
|
26
25
|
|
27
26
|
/**
|
@@ -31,7 +30,6 @@ import {VersionPartLib, VersionPart} from "../type/Version.sol";
|
|
31
30
|
*/
|
32
31
|
contract AccessAdmin is
|
33
32
|
AccessManagedUpgradeable,
|
34
|
-
RegistryLinked,
|
35
33
|
IAccessAdmin
|
36
34
|
{
|
37
35
|
using EnumerableSet for EnumerableSet.AddressSet;
|
@@ -93,16 +91,12 @@ contract AccessAdmin is
|
|
93
91
|
/// Internally initializes access manager with this admin and creates basic role setup.
|
94
92
|
function initialize(
|
95
93
|
address authority,
|
96
|
-
string memory adminName
|
97
|
-
VersionPart release
|
94
|
+
string memory adminName
|
98
95
|
)
|
99
96
|
public
|
97
|
+
initializer()
|
100
98
|
{
|
101
|
-
|
102
|
-
revert InvalidInitialization();
|
103
|
-
}
|
104
|
-
|
105
|
-
__AccessAdmin_init(authority, adminName, release);
|
99
|
+
__AccessAdmin_init(authority, adminName);
|
106
100
|
}
|
107
101
|
|
108
102
|
|
@@ -112,16 +106,14 @@ contract AccessAdmin is
|
|
112
106
|
/// - this function as well as any completeSetup functions MUST be called in the same tx.
|
113
107
|
function __AccessAdmin_init(
|
114
108
|
address authority,
|
115
|
-
string memory adminName
|
116
|
-
VersionPart release
|
109
|
+
string memory adminName
|
117
110
|
)
|
118
111
|
internal
|
119
|
-
|
112
|
+
onlyInitializing()
|
120
113
|
{
|
121
114
|
AccessAdminLib.checkInitParameters(authority, adminName);
|
122
|
-
|
123
115
|
_authority = AccessManagerCloneable(authority);
|
124
|
-
_authority.initialize(address(this)
|
116
|
+
_authority.initialize(address(this));
|
125
117
|
|
126
118
|
// delayed additional check for authority after its initialization
|
127
119
|
if (!ContractLib.isAuthority(authority)) {
|
@@ -129,7 +121,7 @@ contract AccessAdmin is
|
|
129
121
|
}
|
130
122
|
|
131
123
|
// effects
|
132
|
-
// set and initialize this contract as
|
124
|
+
// set and initialize this access manager contract as
|
133
125
|
// the admin (ADMIN_ROLE) of the provided authority
|
134
126
|
__AccessManaged_init(authority);
|
135
127
|
|
@@ -137,7 +129,7 @@ contract AccessAdmin is
|
|
137
129
|
_adminName = adminName;
|
138
130
|
|
139
131
|
// set initial linked NFT ID to zero
|
140
|
-
|
132
|
+
_linkedNftId = NftIdLib.zero();
|
141
133
|
|
142
134
|
// setup admin role
|
143
135
|
_createRoleUnchecked(
|
@@ -157,7 +149,12 @@ contract AccessAdmin is
|
|
157
149
|
//--- view functions for access admin ---------------------------------------//
|
158
150
|
|
159
151
|
function getRelease() public view virtual returns (VersionPart release) {
|
160
|
-
return
|
152
|
+
return _authority.getRelease();
|
153
|
+
}
|
154
|
+
|
155
|
+
|
156
|
+
function getRegistry() public view returns (IRegistry registry) {
|
157
|
+
return _authority.getRegistry();
|
161
158
|
}
|
162
159
|
|
163
160
|
|
@@ -282,10 +279,11 @@ contract AccessAdmin is
|
|
282
279
|
{
|
283
280
|
Selector selector = SelectorSetLib.at(_targetFunctions[target], idx);
|
284
281
|
func = _functionInfo[target][selector];
|
285
|
-
roleId =
|
286
|
-
|
287
|
-
|
288
|
-
|
282
|
+
roleId = AccessAdminLib.getFunctionRoleId(_authority, target, selector);
|
283
|
+
// roleId = RoleIdLib.toRoleId(
|
284
|
+
// _authority.getTargetFunctionRole(
|
285
|
+
// target,
|
286
|
+
// selector.toBytes4()));
|
289
287
|
}
|
290
288
|
|
291
289
|
|
@@ -321,7 +319,7 @@ contract AccessAdmin is
|
|
321
319
|
(RoleId roleId, bool exists) = getRoleForName(roleInfo.name.toString());
|
322
320
|
|
323
321
|
if (!exists) {
|
324
|
-
if (!AccessAdminLib.isDynamicRoleId(authzRoleId)) {
|
322
|
+
if (!AccessAdminLib.isDynamicRoleId(authzRoleId) || roleInfo.targetType == TargetType.Custom) {
|
325
323
|
roleId = authzRoleId;
|
326
324
|
}
|
327
325
|
|
@@ -659,24 +657,4 @@ contract AccessAdmin is
|
|
659
657
|
AccessAdminLib.toFunctionGrantingString(this, func.name, roleId),
|
660
658
|
lastUpdateIn);
|
661
659
|
}
|
662
|
-
|
663
|
-
|
664
|
-
function _checkAuthorization(
|
665
|
-
address authorization,
|
666
|
-
ObjectType expectedDomain,
|
667
|
-
VersionPart expectedRelease,
|
668
|
-
bool expectServiceAuthorization,
|
669
|
-
bool checkAlreadyInitialized
|
670
|
-
)
|
671
|
-
internal
|
672
|
-
view
|
673
|
-
{
|
674
|
-
AccessAdminLib.checkAuthorization(
|
675
|
-
address(_authorization),
|
676
|
-
authorization,
|
677
|
-
expectedDomain,
|
678
|
-
expectedRelease,
|
679
|
-
expectServiceAuthorization,
|
680
|
-
checkAlreadyInitialized);
|
681
|
-
}
|
682
660
|
}
|
@@ -7,16 +7,17 @@ import {IAccess} from "./IAccess.sol";
|
|
7
7
|
import {IAccessAdmin} from "./IAccessAdmin.sol";
|
8
8
|
import {IAuthorization} from "./IAuthorization.sol";
|
9
9
|
import {IComponent} from "../shared/IComponent.sol";
|
10
|
-
import {
|
10
|
+
import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
|
11
11
|
import {IRegistry} from "../registry/IRegistry.sol";
|
12
12
|
import {IService} from "../shared/IService.sol";
|
13
13
|
import {IServiceAuthorization} from "./IServiceAuthorization.sol";
|
14
14
|
|
15
|
+
import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
|
15
16
|
import {BlocknumberLib} from "../type/Blocknumber.sol";
|
16
17
|
import {ContractLib} from "../shared/ContractLib.sol";
|
17
18
|
import {ObjectType} from "../type/ObjectType.sol";
|
18
19
|
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
19
|
-
import {SelectorLib} from "../type/Selector.sol";
|
20
|
+
import {Selector, SelectorLib} from "../type/Selector.sol";
|
20
21
|
import {Str, StrLib} from "../type/String.sol";
|
21
22
|
import {TimestampLib} from "../type/Timestamp.sol";
|
22
23
|
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
@@ -338,7 +339,7 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
338
339
|
checkIsRegistered(address(accessAdmin.getRegistry()), componentAddress, expectedType);
|
339
340
|
|
340
341
|
VersionPart expecteRelease = accessAdmin.getRelease();
|
341
|
-
|
342
|
+
IAuthorizedComponent component = IAuthorizedComponent(componentAddress);
|
342
343
|
componentAuthorization = component.getAuthorization();
|
343
344
|
|
344
345
|
checkAuthorization(
|
@@ -481,6 +482,22 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
481
482
|
}
|
482
483
|
|
483
484
|
|
485
|
+
function getFunctionRoleId(
|
486
|
+
AccessManagerCloneable authority,
|
487
|
+
address target,
|
488
|
+
Selector selector
|
489
|
+
)
|
490
|
+
public
|
491
|
+
view
|
492
|
+
returns (RoleId functionRoleId)
|
493
|
+
{
|
494
|
+
return RoleIdLib.toRoleId(
|
495
|
+
authority.getTargetFunctionRole(
|
496
|
+
target,
|
497
|
+
selector.toBytes4()));
|
498
|
+
}
|
499
|
+
|
500
|
+
|
484
501
|
function getServiceRoleId(
|
485
502
|
address serviceAddress,
|
486
503
|
IAccess.TargetType serviceTargetType
|
@@ -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
|
}
|