@etherisc/gif-next 0.0.2-e016345-525 → 0.0.2-e04dbfc-031
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 +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +137 -58
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +37 -31
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +83 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +449 -248
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -21
- 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 +348 -184
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +100 -13
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +83 -129
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +207 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +46 -81
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +283 -181
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +74 -60
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +33 -68
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +155 -68
- 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 +92 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +248 -191
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +207 -33
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +149 -131
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +207 -33
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -45
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +113 -47
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +305 -150
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +207 -33
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +139 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +100 -7
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +163 -53
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +672 -320
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +188 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +374 -197
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +113 -83
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +26 -38
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +422 -352
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +96 -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/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 +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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 +68 -38
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +189 -35
- 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 +38 -8
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +52 -22
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +91 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +42 -36
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -21
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +188 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +118 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +50 -64
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -80
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -8
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +120 -175
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -21
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +472 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +265 -278
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +86 -56
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +139 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +45 -27
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +157 -112
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +207 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +260 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +72 -74
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +69 -3
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -68
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +48 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +144 -99
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +58 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +215 -187
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +727 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +68 -66
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +122 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +48 -42
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +157 -112
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +131 -81
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +46 -28
- 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 +26 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- 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 +64 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +548 -429
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +22 -24
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
- 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 +324 -54
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +51 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +96 -138
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -50
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +113 -4
- 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 +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -8
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +28 -45
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -8
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- 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/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +51 -21
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- 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 +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +63 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +112 -17
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +130 -6
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +191 -74
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +56 -32
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +30 -57
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +185 -54
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +39 -29
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +143 -129
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +33 -23
- 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/Amount.sol/AmountLib.json +3 -3
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
- 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 +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +30 -6
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +43 -26
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/accounting/IAccountingService.sol +3 -0
- package/contracts/authorization/AccessAdmin.sol +293 -205
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +307 -231
- package/contracts/authorization/IAccessAdmin.sol +69 -36
- package/contracts/authorization/IAuthorization.sol +21 -1
- package/contracts/distribution/BasicDistribution.sol +12 -8
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +14 -55
- package/contracts/distribution/DistributionService.sol +62 -30
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +18 -15
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +4 -3
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -1
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +29 -4
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +49 -15
- package/contracts/instance/IInstanceService.sol +15 -1
- package/contracts/instance/Instance.sol +80 -23
- package/contracts/instance/InstanceAdmin.sol +269 -104
- package/contracts/instance/InstanceAuthorizationV3.sol +49 -36
- package/contracts/instance/InstanceReader.sol +106 -35
- package/contracts/instance/InstanceService.sol +144 -73
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +11 -12
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -2
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +20 -19
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +21 -13
- package/contracts/pool/BundleService.sol +28 -58
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -20
- package/contracts/pool/IPoolService.sol +50 -38
- package/contracts/pool/Pool.sol +9 -9
- package/contracts/pool/PoolLib.sol +309 -0
- package/contracts/pool/PoolService.sol +334 -190
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +28 -9
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +23 -8
- package/contracts/product/ClaimService.sol +165 -139
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +3 -0
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +11 -6
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +112 -184
- package/contracts/product/PolicyServiceLib.sol +119 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +28 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +55 -13
- package/contracts/product/RiskService.sol +76 -29
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +8 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +7 -2
- package/contracts/registry/RegistryAdmin.sol +143 -342
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +149 -117
- package/contracts/registry/ServiceAuthorizationV3.sol +159 -2
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +27 -19
- package/contracts/shared/ComponentService.sol +119 -116
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +60 -3
- package/contracts/shared/IComponent.sol +3 -4
- package/contracts/shared/IComponentService.sol +4 -10
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +2 -2
- package/contracts/shared/NftOwnable.sol +6 -5
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +42 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +45 -92
- package/contracts/staking/IStaking.sol +12 -10
- package/contracts/staking/IStakingService.sol +19 -1
- package/contracts/staking/Staking.sol +57 -26
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +6 -16
- package/contracts/staking/StakingService.sol +71 -44
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/ObjectType.sol +47 -39
- package/contracts/type/RiskId.sol +9 -3
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +9 -119
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +2 -2
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -4,64 +4,94 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
|
6
6
|
import {IAccess} from "./IAccess.sol";
|
7
|
+
import {IAuthorization} from "./IAuthorization.sol";
|
8
|
+
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
9
|
+
import {IRelease} from "../registry/IRelease.sol";
|
10
|
+
|
11
|
+
import {NftId} from "../type/NftId.sol";
|
12
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
7
13
|
import {RoleId} from "../type/RoleId.sol";
|
8
14
|
import {Selector} from "../type/Selector.sol";
|
9
15
|
import {Str} from "../type/String.sol";
|
10
|
-
import {
|
16
|
+
import {VersionPart} from "../type/Version.sol";
|
11
17
|
|
12
18
|
interface IAccessAdmin is
|
13
19
|
IAccessManaged,
|
14
|
-
IAccess
|
20
|
+
IAccess,
|
21
|
+
IRegistryLinked,
|
22
|
+
IRelease
|
15
23
|
{
|
16
24
|
|
17
|
-
// roles
|
18
|
-
event
|
19
|
-
event
|
20
|
-
|
25
|
+
// roles, targets and functions
|
26
|
+
event LogAccessAdminRoleCreated(string admin, RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
|
27
|
+
event LogAccessAdminTargetCreated(string admin, address target, string name);
|
28
|
+
|
29
|
+
event LogAccessAdminRoleGranted(string admin, address account, string roleName);
|
30
|
+
event LogAccessAdminRoleRevoked(string admin, address account, string roleName);
|
31
|
+
event LogAccessAdminFunctionGranted(string admin, address target, string func);
|
21
32
|
|
22
33
|
// only deployer modifier
|
23
|
-
error
|
34
|
+
error ErrorAccessAdminNotDeployer();
|
24
35
|
|
25
36
|
// only role admin modifier
|
26
|
-
error
|
37
|
+
error ErrorAccessAdminNotAdminOfRole(RoleId adminRoleId, address account);
|
27
38
|
|
28
39
|
// only role owner modifier
|
29
|
-
error
|
40
|
+
error ErrorAccessAdminNotRoleOwner(RoleId roleId, address account);
|
41
|
+
|
42
|
+
// initialization
|
43
|
+
error ErrorAccessAdminNotRegistry(address registry);
|
44
|
+
error ErrorAccessAdminAuthorityNotContract(address authority);
|
45
|
+
error ErrorAccessAdminAccessManagerNotAccessManager(address authority);
|
46
|
+
error ErrorAccessAdminAccessManagerEmptyName();
|
47
|
+
|
48
|
+
// check target
|
49
|
+
error ErrorAccessAdminTargetNotCreated(address target);
|
50
|
+
error ErrorAccessAdminTargetNotRegistered(address target);
|
51
|
+
error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
|
52
|
+
|
53
|
+
// check authorization
|
54
|
+
error ErrorAccessAdminAlreadyInitialized(address authorization);
|
55
|
+
error ErrorAccessAdminNotAuthorization(address authorization);
|
56
|
+
error ErrorAccessAdminDomainMismatch(address authorization, ObjectType expectedDomain, ObjectType actualDomain);
|
57
|
+
error ErrorAccessAdminReleaseMismatch(address authorization, VersionPart expectedRelease, VersionPart actualRelease);
|
58
|
+
|
59
|
+
// link to nft
|
60
|
+
error ErrorAccessAdminNotRegistered(address registerable);
|
30
61
|
|
31
62
|
// initialize authority
|
32
|
-
error
|
33
|
-
error ErrorAdminRoleMissing();
|
63
|
+
error ErrorAccessAdminAdminRoleMissing();
|
34
64
|
|
35
65
|
// create role
|
36
|
-
error
|
37
|
-
error
|
38
|
-
error
|
39
|
-
error
|
66
|
+
error ErrorAccessAdminRoleAlreadyCreated(RoleId roleId, string name);
|
67
|
+
error ErrorAccessAdminRoleAdminNotExisting(RoleId adminRoleId);
|
68
|
+
error ErrorAccessAdminRoleNameEmpty(RoleId roleId);
|
69
|
+
error ErrorAccessAdminRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
|
40
70
|
|
41
71
|
// grant/revoke/renounce role
|
42
|
-
error
|
43
|
-
error
|
44
|
-
error
|
45
|
-
error
|
46
|
-
error
|
47
|
-
error
|
72
|
+
error ErrorAccessAdminRoleUnknown(RoleId roleId);
|
73
|
+
error ErrorAccessAdminRoleIsLocked(RoleId roleId);
|
74
|
+
error ErrorAccessAdminRoleIsPaused(RoleId roleId);
|
75
|
+
error ErrorAccessAdminRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
|
76
|
+
error ErrorAccessAdminRoleMemberNotContract(RoleId roleId, address notContract);
|
77
|
+
error ErrorAccessAdminRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
|
48
78
|
|
49
79
|
// create target
|
50
|
-
error
|
51
|
-
error
|
52
|
-
error
|
53
|
-
error
|
54
|
-
error
|
80
|
+
error ErrorAccessAdminTargetAlreadyCreated(address target, string name);
|
81
|
+
error ErrorAccessAdminTargetNameEmpty(address target);
|
82
|
+
error ErrorAccessAdminTargetNameAlreadyExists(address target, string name, address existingTarget);
|
83
|
+
error ErrorAccessAdminTargetNotAccessManaged(address target);
|
84
|
+
error ErrorAccessAdminTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
|
55
85
|
|
56
86
|
// lock target
|
57
|
-
error
|
58
|
-
error
|
87
|
+
error ErrorAccessAdminTagetNotLockable();
|
88
|
+
error ErrorAccessAdminTargetAlreadyLocked(address target, bool isLocked);
|
59
89
|
|
60
90
|
// authorize target functions
|
61
|
-
error
|
91
|
+
error ErrorAccessAdminAuthorizeForAdminRoleInvalid(address target);
|
62
92
|
|
63
93
|
// check target
|
64
|
-
error
|
94
|
+
error ErrorAccessAdminTargetUnknown(address target);
|
65
95
|
|
66
96
|
/// @dev Set the disabled status of the speicified role.
|
67
97
|
/// Role disabling only prevents the role from being granted to new accounts.
|
@@ -106,14 +136,20 @@ interface IAccessAdmin is
|
|
106
136
|
|
107
137
|
//--- view functions ----------------------------------------------------//
|
108
138
|
|
139
|
+
function getAuthorization() external view returns (IAuthorization authorization);
|
140
|
+
function getLinkedNftId() external view returns (NftId linkedNftId);
|
141
|
+
function getLinkedOwner() external view returns (address linkedOwner);
|
142
|
+
|
143
|
+
function isLocked() external view returns (bool locked);
|
144
|
+
|
109
145
|
function roles() external view returns (uint256 numberOfRoles);
|
110
146
|
function getRoleId(uint256 idx) external view returns (RoleId roleId);
|
111
147
|
function getAdminRole() external view returns (RoleId roleId);
|
112
148
|
function getPublicRole() external view returns (RoleId roleId);
|
113
149
|
|
114
150
|
function roleExists(RoleId roleId) external view returns (bool exists);
|
151
|
+
function getRoleForName(string memory name) external view returns (RoleId roleId);
|
115
152
|
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
|
116
|
-
function getRoleForName(Str name) external view returns (RoleNameInfo memory);
|
117
153
|
|
118
154
|
function hasRole(address account, RoleId roleId) external view returns (bool);
|
119
155
|
function hasAdminRole(address account, RoleId roleId) external view returns (bool);
|
@@ -121,17 +157,14 @@ interface IAccessAdmin is
|
|
121
157
|
function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
|
122
158
|
|
123
159
|
function targetExists(address target) external view returns (bool exists);
|
124
|
-
function
|
160
|
+
function getTargetForName(Str name) external view returns (address target);
|
125
161
|
function targets() external view returns (uint256 numberOfTargets);
|
126
162
|
function getTargetAddress(uint256 idx) external view returns (address target);
|
127
163
|
function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
|
128
|
-
function
|
164
|
+
function isTargetLocked(address target) external view returns (bool locked);
|
129
165
|
|
130
166
|
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
131
167
|
function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
|
132
|
-
function canCall(address caller, address target, Selector selector) external view returns (bool can);
|
133
168
|
|
134
|
-
function toRole(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) external view returns (RoleInfo memory);
|
135
|
-
function toFunction(bytes4 selector, string memory name) external view returns (FunctionInfo memory);
|
136
169
|
function deployer() external view returns (address);
|
137
170
|
}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
5
|
+
|
4
6
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
7
|
import {ObjectType} from "../type/ObjectType.sol";
|
6
8
|
import {RoleId} from "../type/RoleId.sol";
|
@@ -8,9 +10,16 @@ import {Str} from "../type/String.sol";
|
|
8
10
|
import {VersionPart} from "../type/Version.sol";
|
9
11
|
|
10
12
|
interface IAuthorization is
|
13
|
+
IERC165,
|
11
14
|
IAccess
|
12
15
|
{
|
13
16
|
|
17
|
+
error ErrorAuthorizationMainTargetNameEmpty();
|
18
|
+
error ErrorAuthorizationTargetDomainZero();
|
19
|
+
|
20
|
+
/// @dev Returns the main domain of the authorization.
|
21
|
+
function getDomain() external view returns(ObjectType targetDomain);
|
22
|
+
|
14
23
|
/// @dev Returns the list of service targets.
|
15
24
|
function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
|
16
25
|
|
@@ -20,6 +29,9 @@ interface IAuthorization is
|
|
20
29
|
/// @dev Returns the service target for the specified domain.
|
21
30
|
function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
|
22
31
|
|
32
|
+
/// @dev Returns the component role for the specified domain.
|
33
|
+
function getComponentRole(ObjectType componentDomain) external view returns(RoleId componentRoleId);
|
34
|
+
|
23
35
|
/// @dev Returns the list of involved roles.
|
24
36
|
function getRoles() external view returns(RoleId[] memory roles);
|
25
37
|
|
@@ -32,11 +44,19 @@ interface IAuthorization is
|
|
32
44
|
/// @dev Returns the main target id name as string.
|
33
45
|
/// This name is used to derive the target id and a corresponding target role name
|
34
46
|
/// Overwrite this function to change the basic pool target name.
|
35
|
-
function
|
47
|
+
function getMainTargetName() external view returns (string memory name);
|
36
48
|
|
37
49
|
/// @dev Returns the main target.
|
38
50
|
function getMainTarget() external view returns(Str target);
|
39
51
|
|
52
|
+
/// @dev Returns the token hander name.
|
53
|
+
/// Only components have a token handler.
|
54
|
+
function getTokenHandlerName() external view returns(string memory name);
|
55
|
+
|
56
|
+
/// @dev Returns the token hander target.
|
57
|
+
/// Only components have a token handler.
|
58
|
+
function getTokenHandlerTarget() external view returns(Str target);
|
59
|
+
|
40
60
|
/// @dev Returns the complete list of targets.
|
41
61
|
function getTargets() external view returns(Str[] memory targets);
|
42
62
|
|
@@ -1,15 +1,17 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
5
|
+
|
4
6
|
import {Distribution} from "./Distribution.sol";
|
7
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
5
8
|
import {DISTRIBUTOR} from "../type/ObjectType.sol";
|
6
|
-
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
|
-
import {NftId} from "../type/NftId.sol";
|
8
|
-
import {ReferralId} from "../type/Referral.sol";
|
9
9
|
import {Fee} from "../type/Fee.sol";
|
10
|
-
import {
|
11
|
-
import {
|
10
|
+
import {NftId, NftIdLib} from "../type/NftId.sol";
|
11
|
+
import {ReferralId} from "../type/Referral.sol";
|
12
|
+
import {Seconds} from "../type/Seconds.sol";
|
12
13
|
import {Timestamp} from "../type/Timestamp.sol";
|
14
|
+
import {UFixed} from "../type/UFixed.sol";
|
13
15
|
|
14
16
|
|
15
17
|
contract BasicDistribution is
|
@@ -37,7 +39,7 @@ contract BasicDistribution is
|
|
37
39
|
UFixed maxDiscountPercentage,
|
38
40
|
UFixed commissionPercentage,
|
39
41
|
uint32 maxReferralCount,
|
40
|
-
|
42
|
+
Seconds maxReferralLifetime,
|
41
43
|
bool allowSelfReferrals,
|
42
44
|
bool allowRenewals,
|
43
45
|
bytes memory data
|
@@ -93,6 +95,7 @@ contract BasicDistribution is
|
|
93
95
|
* referral codes need to be unique
|
94
96
|
*/
|
95
97
|
function createReferral(
|
98
|
+
NftId distributorNftId,
|
96
99
|
string memory code,
|
97
100
|
UFixed discountPercentage,
|
98
101
|
uint32 maxReferrals,
|
@@ -102,10 +105,10 @@ contract BasicDistribution is
|
|
102
105
|
external
|
103
106
|
virtual
|
104
107
|
restricted()
|
105
|
-
|
108
|
+
onlyNftOwner(distributorNftId)
|
106
109
|
returns (ReferralId referralId)
|
107
110
|
{
|
108
|
-
|
111
|
+
_checkNftType(distributorNftId, DISTRIBUTOR());
|
109
112
|
return _createReferral(
|
110
113
|
distributorNftId,
|
111
114
|
code,
|
@@ -131,6 +134,7 @@ contract BasicDistribution is
|
|
131
134
|
registry,
|
132
135
|
instanceNftId,
|
133
136
|
authorization,
|
137
|
+
false,
|
134
138
|
initialOwner,
|
135
139
|
name,
|
136
140
|
token,
|
@@ -1,13 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
6
|
+
|
4
7
|
import {Authorization} from "../authorization/Authorization.sol";
|
5
8
|
import {BasicDistribution} from "./BasicDistribution.sol";
|
6
9
|
import {Distribution} from "./Distribution.sol";
|
7
|
-
import {DISTRIBUTION} from "../type/ObjectType.sol";
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
10
|
+
import {COMPONENT, DISTRIBUTION} from "../type/ObjectType.sol";
|
11
|
+
import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
|
12
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
11
13
|
|
12
14
|
|
13
15
|
contract BasicDistributionAuthorization
|
@@ -15,16 +17,27 @@ contract BasicDistributionAuthorization
|
|
15
17
|
{
|
16
18
|
|
17
19
|
constructor(string memory distributionlName)
|
18
|
-
Authorization(distributionlName)
|
20
|
+
Authorization(distributionlName, DISTRIBUTION(), true, true)
|
19
21
|
{}
|
20
22
|
|
21
|
-
function
|
23
|
+
function _setupServiceTargets()
|
22
24
|
internal
|
23
25
|
virtual override
|
24
26
|
{
|
25
|
-
|
27
|
+
_addServiceTargetWithRole(COMPONENT());
|
26
28
|
}
|
27
29
|
|
30
|
+
function _setupTokenHandlerAuthorizations() internal virtual override {
|
31
|
+
IAccess.FunctionInfo[] storage functions;
|
32
|
+
functions = _authorizeForTarget(getTokenHandlerName(), getServiceRole(COMPONENT()));
|
33
|
+
_authorize(functions, TokenHandler.approve.selector, "approve");
|
34
|
+
_authorize(functions, TokenHandler.setWallet.selector, "setWallet");
|
35
|
+
_authorize(functions, TokenHandler.pushFeeToken.selector, "pushFeeToken");
|
36
|
+
|
37
|
+
// authorize token handler functions for pool service role
|
38
|
+
functions = _authorizeForTarget(getTokenHandlerName(), getServiceRole(DISTRIBUTION()));
|
39
|
+
_authorize(functions, TokenHandler.pushToken.selector, "pushToken");
|
40
|
+
}
|
28
41
|
|
29
42
|
function _setupTargetAuthorizations()
|
30
43
|
internal
|
@@ -33,7 +46,7 @@ contract BasicDistributionAuthorization
|
|
33
46
|
IAccess.FunctionInfo[] storage functions;
|
34
47
|
|
35
48
|
// authorize public role (open access to any account, only allows to lock target)
|
36
|
-
functions = _authorizeForTarget(
|
49
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
37
50
|
_authorize(functions, BasicDistribution.setFees.selector, "setFees");
|
38
51
|
_authorize(functions, BasicDistribution.createDistributorType.selector, "createDistributorType");
|
39
52
|
_authorize(functions, BasicDistribution.createDistributor.selector, "createDistributor");
|
@@ -1,19 +1,21 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {COMPONENT, DISTRIBUTION, DISTRIBUTOR} from "../type/ObjectType.sol";
|
6
4
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
|
-
import {IDistributionService} from "./IDistributionService.sol";
|
8
|
-
import {NftId, NftIdLib} from "../type/NftId.sol";
|
9
|
-
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
10
|
-
import {Fee} from "../type/Fee.sol";
|
11
|
-
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
12
5
|
import {IComponentService} from "../shared/IComponentService.sol";
|
13
6
|
import {IDistributionComponent} from "./IDistributionComponent.sol";
|
14
|
-
import {
|
7
|
+
import {IDistributionService} from "./IDistributionService.sol";
|
8
|
+
|
9
|
+
import {Amount} from "../type/Amount.sol";
|
10
|
+
import {COMPONENT, DISTRIBUTION, DISTRIBUTOR} from "../type/ObjectType.sol";
|
15
11
|
import {DistributorType} from "../type/DistributorType.sol";
|
12
|
+
import {Fee} from "../type/Fee.sol";
|
13
|
+
import {NftId} from "../type/NftId.sol";
|
14
|
+
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
15
|
+
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
16
|
+
import {Seconds} from "../type/Seconds.sol";
|
16
17
|
import {Timestamp} from "../type/Timestamp.sol";
|
18
|
+
import {UFixed} from "../type/UFixed.sol";
|
17
19
|
|
18
20
|
|
19
21
|
abstract contract Distribution is
|
@@ -26,17 +28,8 @@ abstract contract Distribution is
|
|
26
28
|
struct DistributionStorage {
|
27
29
|
IComponentService _componentService;
|
28
30
|
IDistributionService _distributionService;
|
29
|
-
mapping(address distributor => NftId distributorNftId) _distributorNftId;
|
30
31
|
}
|
31
32
|
|
32
|
-
modifier onlyDistributor() {
|
33
|
-
if (!isDistributor(msg.sender)) {
|
34
|
-
revert ErrorDistributionNotDistributor(msg.sender);
|
35
|
-
}
|
36
|
-
_;
|
37
|
-
}
|
38
|
-
|
39
|
-
|
40
33
|
function processRenewal(
|
41
34
|
ReferralId referralId,
|
42
35
|
uint256 feeAmount
|
@@ -54,7 +47,6 @@ abstract contract Distribution is
|
|
54
47
|
external
|
55
48
|
virtual
|
56
49
|
restricted()
|
57
|
-
onlyDistributor()
|
58
50
|
onlyNftOfType(distributorNftId, DISTRIBUTOR())
|
59
51
|
onlyNftOwner(distributorNftId)
|
60
52
|
returns (Amount withdrawnAmount)
|
@@ -62,27 +54,6 @@ abstract contract Distribution is
|
|
62
54
|
return _withdrawCommission(distributorNftId, amount);
|
63
55
|
}
|
64
56
|
|
65
|
-
|
66
|
-
function isDistributor(address candidate)
|
67
|
-
public
|
68
|
-
view
|
69
|
-
returns (bool)
|
70
|
-
{
|
71
|
-
DistributionStorage storage $ = _getDistributionStorage();
|
72
|
-
return $._distributorNftId[candidate].gtz();
|
73
|
-
}
|
74
|
-
|
75
|
-
|
76
|
-
function getDistributorNftId(address distributor)
|
77
|
-
public
|
78
|
-
view
|
79
|
-
returns (NftId distributorNftId)
|
80
|
-
{
|
81
|
-
DistributionStorage storage $ = _getDistributionStorage();
|
82
|
-
return $._distributorNftId[distributor];
|
83
|
-
}
|
84
|
-
|
85
|
-
|
86
57
|
function getDiscountPercentage(string memory referralCode)
|
87
58
|
external
|
88
59
|
view
|
@@ -133,6 +104,7 @@ abstract contract Distribution is
|
|
133
104
|
address registry,
|
134
105
|
NftId productNftId,
|
135
106
|
IAuthorization authorization,
|
107
|
+
bool isInterceptor,
|
136
108
|
address initialOwner,
|
137
109
|
string memory name,
|
138
110
|
address token,
|
@@ -146,10 +118,10 @@ abstract contract Distribution is
|
|
146
118
|
registry,
|
147
119
|
productNftId,
|
148
120
|
name,
|
149
|
-
token,
|
121
|
+
token,
|
150
122
|
DISTRIBUTION(),
|
151
123
|
authorization,
|
152
|
-
|
124
|
+
isInterceptor,
|
153
125
|
initialOwner,
|
154
126
|
componentData);
|
155
127
|
|
@@ -180,7 +152,7 @@ abstract contract Distribution is
|
|
180
152
|
UFixed maxDiscountPercentage,
|
181
153
|
UFixed commissionPercentage,
|
182
154
|
uint32 maxReferralCount,
|
183
|
-
|
155
|
+
Seconds maxReferralLifetime,
|
184
156
|
bool allowSelfReferrals,
|
185
157
|
bool allowRenewals,
|
186
158
|
bytes memory data
|
@@ -213,16 +185,11 @@ abstract contract Distribution is
|
|
213
185
|
returns(NftId distributorNftId)
|
214
186
|
{
|
215
187
|
DistributionStorage storage $ = _getDistributionStorage();
|
216
|
-
if($._distributorNftId[distributor].gtz()) {
|
217
|
-
revert ErrorDistributionAlreadyDistributor(distributor, $._distributorNftId[distributor]);
|
218
|
-
}
|
219
188
|
|
220
189
|
distributorNftId = $._distributionService.createDistributor(
|
221
190
|
distributor,
|
222
191
|
distributorType,
|
223
192
|
data);
|
224
|
-
|
225
|
-
$._distributorNftId[distributor] = distributorNftId;
|
226
193
|
}
|
227
194
|
|
228
195
|
/// @dev Uptates the distributor type for the specified distributor.
|
@@ -271,14 +238,6 @@ abstract contract Distribution is
|
|
271
238
|
return _getDistributionStorage()._distributionService.withdrawCommission(distributorNftId, amount);
|
272
239
|
}
|
273
240
|
|
274
|
-
function _nftTransferFrom(address from, address to, uint256 tokenId, address operator) internal virtual override {
|
275
|
-
// keep track of distributor nft owner
|
276
|
-
emit LogDistributorUpdated(to, operator);
|
277
|
-
DistributionStorage storage $ = _getDistributionStorage();
|
278
|
-
$._distributorNftId[from] = NftIdLib.zero();
|
279
|
-
$._distributorNftId[to] = NftIdLib.toNftId(tokenId);
|
280
|
-
}
|
281
|
-
|
282
241
|
function _getDistributionStorage() private pure returns (DistributionStorage storage $) {
|
283
242
|
assembly {
|
284
243
|
$.slot := DISTRIBUTION_STORAGE_LOCATION_V1
|