@etherisc/gif-next 0.0.2-e6d2794-419 → 0.0.2-e79d227-681
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 +58 -9
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +105 -65
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
- 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 +60 -32
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +188 -369
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +141 -314
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +323 -223
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -104
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +132 -115
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +172 -31
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +104 -36
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +56 -91
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +130 -130
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +180 -140
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +59 -86
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +697 -146
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +121 -250
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +99 -87
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +340 -263
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
- 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 +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/{ObjectManager.sol/ObjectManager.json → ObjectSet.sol/ObjectSet.json} +6 -6
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +138 -332
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
- 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 +107 -103
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +43 -9
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +114 -300
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +147 -191
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +119 -83
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +160 -383
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +114 -22
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +430 -204
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +160 -92
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +244 -25
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +118 -168
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +422 -215
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +126 -366
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +569 -403
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +139 -87
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +124 -181
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +89 -89
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +168 -319
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +311 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +139 -103
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +68 -7
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +176 -6
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +344 -120
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +114 -85
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +155 -116
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +31 -2
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +447 -317
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -94
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +218 -307
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +117 -117
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +166 -317
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +346 -22
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +42 -146
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +573 -80
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +298 -145
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +94 -284
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +91 -75
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +73 -274
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +606 -258
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +168 -106
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +47 -112
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +66 -77
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +541 -19
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +96 -103
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -0
- 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 +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +106 -303
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/{NftIdSetManager.sol/NftIdSetManager.json → NftIdSet.sol/NftIdSet.json} +4 -4
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +47 -112
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +697 -25
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +111 -114
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +29 -21
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +73 -93
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +190 -379
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +118 -99
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +87 -165
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +95 -79
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +177 -131
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -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 +61 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- 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 +7 -2
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- 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 +2 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- 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 +99 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -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/StateId.sol/StateIdLib.json +15 -2
- 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 +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +52 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +83 -58
- package/contracts/authorization/Authorization.sol +111 -40
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +4 -3
- package/contracts/authorization/IAuthorization.sol +13 -7
- package/contracts/authorization/IServiceAuthorization.sol +3 -1
- package/contracts/authorization/ReleaseAccessManager.sol +38 -0
- package/contracts/authorization/ServiceAuthorization.sol +26 -10
- package/contracts/distribution/BasicDistribution.sol +8 -18
- package/contracts/distribution/BasicDistributionAuthorization.sol +6 -2
- package/contracts/distribution/Distribution.sol +33 -32
- package/contracts/distribution/DistributionService.sol +142 -90
- package/contracts/distribution/DistributionServiceManager.sol +8 -11
- package/contracts/distribution/IDistributionComponent.sol +9 -5
- package/contracts/distribution/IDistributionService.sol +23 -8
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
- package/contracts/examples/fire/FireProduct.sol +431 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +20 -34
- package/contracts/instance/IInstanceService.sol +11 -29
- package/contracts/instance/Instance.sol +44 -57
- package/contracts/instance/InstanceAdmin.sol +48 -36
- package/contracts/instance/InstanceAuthorizationV3.sol +50 -35
- package/contracts/instance/InstanceReader.sol +199 -25
- package/contracts/instance/InstanceService.sol +96 -115
- package/contracts/instance/InstanceServiceManager.sol +8 -13
- package/contracts/instance/InstanceStore.sol +12 -1
- package/contracts/instance/RiskSet.sol +119 -0
- package/contracts/instance/base/ObjectLifecycle.sol +9 -4
- package/contracts/instance/base/ObjectSet.sol +78 -0
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +11 -13
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +26 -25
- package/contracts/instance/module/IRisk.sol +1 -0
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +0 -1
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +21 -22
- package/contracts/oracle/OracleService.sol +112 -81
- package/contracts/oracle/OracleServiceManager.sol +8 -11
- package/contracts/pool/BasicPool.sol +38 -27
- package/contracts/pool/BasicPoolAuthorization.sol +22 -3
- package/contracts/pool/BundleService.sol +228 -101
- package/contracts/pool/BundleServiceManager.sol +8 -11
- package/contracts/pool/IBundleService.sol +33 -17
- package/contracts/pool/IPoolComponent.sol +20 -10
- package/contracts/pool/IPoolService.sol +53 -50
- package/contracts/pool/Pool.sol +150 -116
- package/contracts/pool/PoolService.sol +335 -175
- package/contracts/pool/PoolServiceManager.sol +6 -9
- package/contracts/product/ApplicationService.sol +82 -77
- package/contracts/product/ApplicationServiceManager.sol +6 -6
- package/contracts/product/BasicProduct.sol +11 -44
- package/contracts/product/BasicProductAuthorization.sol +2 -0
- package/contracts/product/ClaimService.sol +318 -146
- package/contracts/product/ClaimServiceManager.sol +6 -6
- package/contracts/product/IApplicationService.sol +6 -2
- package/contracts/product/IClaimService.sol +31 -7
- package/contracts/product/IPolicyService.sol +46 -34
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +24 -4
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +515 -257
- package/contracts/product/PolicyServiceManager.sol +6 -9
- package/contracts/product/PricingService.sol +54 -54
- package/contracts/product/PricingServiceManager.sol +5 -8
- package/contracts/product/Product.sol +126 -91
- package/contracts/product/{ProductService.sol → RiskService.sol} +27 -44
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +68 -38
- package/contracts/registry/IRegistry.sol +71 -19
- package/contracts/registry/IRegistryService.sol +3 -10
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +362 -215
- package/contracts/registry/RegistryAdmin.sol +161 -75
- package/contracts/registry/RegistryService.sol +39 -64
- package/contracts/registry/RegistryServiceManager.sol +4 -4
- package/contracts/registry/ReleaseLifecycle.sol +6 -3
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +22 -47
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +54 -118
- package/contracts/shared/ComponentService.sol +399 -174
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +224 -0
- package/contracts/shared/IComponent.sol +10 -13
- package/contracts/shared/IComponentService.sol +50 -22
- package/contracts/shared/IInstanceLinkedComponent.sol +8 -17
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +11 -0
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
- package/contracts/shared/InstanceLinkedComponent.sol +82 -28
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +17 -57
- package/contracts/shared/Registerable.sol +19 -11
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +23 -22
- package/contracts/shared/TokenHandler.sol +358 -27
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +12 -7
- package/contracts/staking/IStakingService.sol +12 -8
- package/contracts/staking/StakeManagerLib.sol +18 -25
- package/contracts/staking/Staking.sol +54 -62
- package/contracts/staking/StakingManager.sol +10 -12
- package/contracts/staking/StakingReader.sol +23 -20
- package/contracts/staking/StakingService.sol +65 -36
- package/contracts/staking/StakingServiceManager.sol +4 -4
- package/contracts/staking/StakingStore.sol +12 -22
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +27 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +21 -18
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RiskId.sol +30 -4
- package/contracts/type/RoleId.sol +0 -12
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +33 -10
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +6 -5
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1159
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/BundleManager.sol +0 -126
- package/contracts/instance/base/ObjectManager.sol +0 -79
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -487
- package/contracts/shared/InitializableCustom.sol +0 -177
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -11,16 +11,18 @@ interface IAuthorization is
|
|
11
11
|
IAccess
|
12
12
|
{
|
13
13
|
|
14
|
-
/// @dev Returns the
|
15
|
-
|
16
|
-
function getRelease() external view returns(VersionPart release);
|
17
|
-
|
18
|
-
/// @dev Returns the list of involved roles.
|
19
|
-
function getRoles() external view returns(RoleId[] memory roles);
|
14
|
+
/// @dev Returns the list of service targets.
|
15
|
+
function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
|
20
16
|
|
21
17
|
/// @dev Returns the service role for the specified service domain.
|
22
18
|
function getServiceRole(ObjectType serviceDomain) external pure returns (RoleId serviceRoleId);
|
23
19
|
|
20
|
+
/// @dev Returns the service target for the specified domain.
|
21
|
+
function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
|
22
|
+
|
23
|
+
/// @dev Returns the list of involved roles.
|
24
|
+
function getRoles() external view returns(RoleId[] memory roles);
|
25
|
+
|
24
26
|
/// @dev Returns the name for the provided role id.
|
25
27
|
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
|
26
28
|
|
@@ -33,7 +35,7 @@ interface IAuthorization is
|
|
33
35
|
function getTargetName() external view returns (string memory name);
|
34
36
|
|
35
37
|
/// @dev Returns the main target.
|
36
|
-
function
|
38
|
+
function getMainTarget() external view returns(Str target);
|
37
39
|
|
38
40
|
/// @dev Returns the complete list of targets.
|
39
41
|
function getTargets() external view returns(Str[] memory targets);
|
@@ -50,5 +52,9 @@ interface IAuthorization is
|
|
50
52
|
|
51
53
|
/// @dev For the given target and role id the list of authorized functions is returned
|
52
54
|
function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
|
55
|
+
|
56
|
+
/// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
|
57
|
+
/// Matches with the release returned by the linked service authorization.
|
58
|
+
function getRelease() external view returns(VersionPart release);
|
53
59
|
}
|
54
60
|
|
@@ -1,11 +1,13 @@
|
|
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 {VersionPart} from "../type/Version.sol";
|
7
9
|
|
8
|
-
interface IServiceAuthorization {
|
10
|
+
interface IServiceAuthorization is IERC165 {
|
9
11
|
|
10
12
|
/// @dev Returns the commit hash representing the deployed release
|
11
13
|
function getCommitHash()
|
@@ -0,0 +1,38 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {AccessManager} from "@openzeppelin/contracts/access/manager/AccessManager.sol";
|
5
|
+
|
6
|
+
abstract contract ReleaseAccessManager is
|
7
|
+
AccessManager
|
8
|
+
{
|
9
|
+
bool private _releaseIsLocked;
|
10
|
+
|
11
|
+
function setReleaseLocked(bool locked)
|
12
|
+
external
|
13
|
+
onlyAuthorized()
|
14
|
+
{
|
15
|
+
_releaseIsLocked = locked;
|
16
|
+
}
|
17
|
+
|
18
|
+
function isReleaseLocked()
|
19
|
+
external
|
20
|
+
view
|
21
|
+
returns (bool isLocked)
|
22
|
+
{
|
23
|
+
return _releaseIsLocked;
|
24
|
+
}
|
25
|
+
|
26
|
+
function isTargetClosed(address target)
|
27
|
+
public
|
28
|
+
virtual override
|
29
|
+
view
|
30
|
+
returns (bool)
|
31
|
+
{
|
32
|
+
if (_releaseIsLocked) {
|
33
|
+
return true;
|
34
|
+
}
|
35
|
+
|
36
|
+
return super.isTargetClosed(target);
|
37
|
+
}
|
38
|
+
}
|
@@ -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 {IServiceAuthorization} from "./IServiceAuthorization.sol";
|
@@ -10,30 +12,36 @@ import {TimestampLib} from "../type/Timestamp.sol";
|
|
10
12
|
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
11
13
|
|
12
14
|
/// @dev Base contract for release specific service authorization contracts.
|
13
|
-
contract ServiceAuthorization
|
14
|
-
|
15
|
+
contract ServiceAuthorization is
|
16
|
+
IServiceAuthorization
|
15
17
|
{
|
16
|
-
uint256 public constant
|
18
|
+
uint256 public constant COMMIT_HASH_LENGTH = 40;
|
19
|
+
uint256 public constant GIF_INITIAL_VERSION = 3;
|
17
20
|
|
18
|
-
|
21
|
+
uint256 public immutable VERSION;
|
22
|
+
string public COMMIT_HASH;
|
19
23
|
|
20
24
|
ObjectType[] internal _serviceDomains;
|
21
25
|
mapping(ObjectType domain => address service) internal _serviceAddress;
|
22
26
|
mapping(ObjectType domain => ObjectType[] authorizedDomains) internal _authorizedDomains;
|
23
27
|
mapping(ObjectType domain => mapping(ObjectType authorizedDomain => IAccess.FunctionInfo[] functions)) internal _authorizedFunctions;
|
24
28
|
|
25
|
-
constructor(string memory commitHash) {
|
26
|
-
|
29
|
+
constructor(string memory commitHash, uint256 version) {
|
30
|
+
assert(bytes(commitHash).length == COMMIT_HASH_LENGTH);
|
31
|
+
assert(version >= GIF_INITIAL_VERSION);
|
32
|
+
|
33
|
+
COMMIT_HASH = commitHash;
|
34
|
+
VERSION = version;
|
27
35
|
_setupDomains();
|
28
36
|
_setupDomainAuthorizations();
|
29
37
|
}
|
30
38
|
|
31
39
|
function getCommitHash() external view returns(string memory commitHash) {
|
32
|
-
return
|
40
|
+
return COMMIT_HASH;
|
33
41
|
}
|
34
42
|
|
35
43
|
function getRelease() external view returns(VersionPart release) {
|
36
|
-
return VersionPartLib.toVersionPart(
|
44
|
+
return VersionPartLib.toVersionPart(VERSION);
|
37
45
|
}
|
38
46
|
|
39
47
|
function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
|
@@ -56,6 +64,15 @@ contract ServiceAuthorization
|
|
56
64
|
return _authorizedFunctions[serviceDomain][authorizedDomain];
|
57
65
|
}
|
58
66
|
|
67
|
+
// ERC165
|
68
|
+
function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
|
69
|
+
return (
|
70
|
+
interfaceId == type(IServiceAuthorization).interfaceId ||
|
71
|
+
interfaceId == type(IERC165).interfaceId
|
72
|
+
);
|
73
|
+
}
|
74
|
+
|
75
|
+
|
59
76
|
/// @dev Overwrite this function for a specific realease.
|
60
77
|
function _setupDomains() internal virtual {}
|
61
78
|
|
@@ -86,5 +103,4 @@ contract ServiceAuthorization
|
|
86
103
|
name: StrLib.toStr(name),
|
87
104
|
createdAt: TimestampLib.blockTimestamp()}));
|
88
105
|
}
|
89
|
-
}
|
90
|
-
|
106
|
+
}
|
@@ -1,25 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {COMPONENT, DISTRIBUTION} from "../type/ObjectType.sol";
|
5
4
|
import {Distribution} from "./Distribution.sol";
|
5
|
+
import {DISTRIBUTOR} from "../type/ObjectType.sol";
|
6
6
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
11
|
-
import {Fee, FeeLib} from "../type/Fee.sol";
|
12
|
-
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
13
|
-
import {IComponentService} from "../shared/IComponentService.sol";
|
14
|
-
import {IDistribution} from "../instance/module/IDistribution.sol";
|
15
|
-
import {IDistributionComponent} from "./IDistributionComponent.sol";
|
16
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
17
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
18
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
7
|
+
import {NftId} from "../type/NftId.sol";
|
8
|
+
import {ReferralId} from "../type/Referral.sol";
|
9
|
+
import {Fee} from "../type/Fee.sol";
|
19
10
|
import {UFixed} from "../type/UFixed.sol";
|
20
11
|
import {DistributorType} from "../type/DistributorType.sol";
|
21
|
-
import {Timestamp
|
22
|
-
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
12
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
23
13
|
|
24
14
|
|
25
15
|
contract BasicDistribution is
|
@@ -84,7 +74,7 @@ contract BasicDistribution is
|
|
84
74
|
return _createDistributor(distributor, distributorType, data);
|
85
75
|
}
|
86
76
|
|
87
|
-
function
|
77
|
+
function changeDistributorType(
|
88
78
|
NftId distributorNftId,
|
89
79
|
DistributorType distributorType,
|
90
80
|
bytes memory data
|
@@ -92,9 +82,10 @@ contract BasicDistribution is
|
|
92
82
|
external
|
93
83
|
virtual
|
94
84
|
onlyOwner()
|
85
|
+
onlyNftOfType(distributorNftId, DISTRIBUTOR())
|
95
86
|
restricted()
|
96
87
|
{
|
97
|
-
|
88
|
+
_changeDistributorType(distributorNftId, distributorType, data);
|
98
89
|
}
|
99
90
|
|
100
91
|
/**
|
@@ -143,7 +134,6 @@ contract BasicDistribution is
|
|
143
134
|
initialOwner,
|
144
135
|
name,
|
145
136
|
token,
|
146
|
-
"", // registry data
|
147
137
|
""); // component specifc data
|
148
138
|
}
|
149
139
|
}
|
@@ -3,10 +3,11 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Authorization} from "../authorization/Authorization.sol";
|
5
5
|
import {BasicDistribution} from "./BasicDistribution.sol";
|
6
|
+
import {Distribution} from "./Distribution.sol";
|
6
7
|
import {DISTRIBUTION} from "../type/ObjectType.sol";
|
7
8
|
import {IAccess} from "../authorization/IAccess.sol";
|
9
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
8
10
|
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
9
|
-
import {RoleId} from "../type/RoleId.sol";
|
10
11
|
|
11
12
|
|
12
13
|
contract BasicDistributionAuthorization
|
@@ -36,8 +37,11 @@ contract BasicDistributionAuthorization
|
|
36
37
|
_authorize(functions, BasicDistribution.setFees.selector, "setFees");
|
37
38
|
_authorize(functions, BasicDistribution.createDistributorType.selector, "createDistributorType");
|
38
39
|
_authorize(functions, BasicDistribution.createDistributor.selector, "createDistributor");
|
39
|
-
_authorize(functions, BasicDistribution.
|
40
|
+
_authorize(functions, BasicDistribution.changeDistributorType.selector, "changeDistributorType");
|
40
41
|
_authorize(functions, BasicDistribution.createReferral.selector, "createReferral");
|
42
|
+
|
43
|
+
_authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
|
44
|
+
_authorize(functions, Distribution.withdrawCommission.selector, "withdrawCommission");
|
41
45
|
}
|
42
46
|
}
|
43
47
|
|
@@ -1,24 +1,19 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {Amount} from "../type/Amount.sol";
|
5
|
+
import {COMPONENT, DISTRIBUTION, DISTRIBUTOR} from "../type/ObjectType.sol";
|
5
6
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
6
7
|
import {IDistributionService} from "./IDistributionService.sol";
|
7
|
-
import {IProductService} from "../product/IProductService.sol";
|
8
8
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
9
9
|
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
10
|
-
import {Fee
|
10
|
+
import {Fee} from "../type/Fee.sol";
|
11
11
|
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
12
12
|
import {IComponentService} from "../shared/IComponentService.sol";
|
13
|
-
import {IDistribution} from "../instance/module/IDistribution.sol";
|
14
13
|
import {IDistributionComponent} from "./IDistributionComponent.sol";
|
15
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
16
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
17
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
18
14
|
import {UFixed} from "../type/UFixed.sol";
|
19
15
|
import {DistributorType} from "../type/DistributorType.sol";
|
20
|
-
import {Timestamp
|
21
|
-
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
16
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
22
17
|
|
23
18
|
|
24
19
|
abstract contract Distribution is
|
@@ -42,15 +37,6 @@ abstract contract Distribution is
|
|
42
37
|
}
|
43
38
|
|
44
39
|
|
45
|
-
function register()
|
46
|
-
external
|
47
|
-
virtual
|
48
|
-
onlyOwner()
|
49
|
-
{
|
50
|
-
_getDistributionStorage()._componentService.registerDistribution();
|
51
|
-
}
|
52
|
-
|
53
|
-
|
54
40
|
function isDistributor(address candidate)
|
55
41
|
public
|
56
42
|
view
|
@@ -127,15 +113,26 @@ abstract contract Distribution is
|
|
127
113
|
return true;
|
128
114
|
}
|
129
115
|
|
130
|
-
|
116
|
+
/// @inheritdoc IDistributionComponent
|
117
|
+
function withdrawCommission(NftId distributorNftId, Amount amount)
|
118
|
+
external
|
119
|
+
virtual
|
120
|
+
restricted()
|
121
|
+
onlyDistributor()
|
122
|
+
onlyNftOfType(distributorNftId, DISTRIBUTOR())
|
123
|
+
onlyNftOwner(distributorNftId)
|
124
|
+
returns (Amount withdrawnAmount)
|
125
|
+
{
|
126
|
+
return _withdrawCommission(distributorNftId, amount);
|
127
|
+
}
|
128
|
+
|
131
129
|
function _initializeDistribution(
|
132
130
|
address registry,
|
133
|
-
NftId
|
131
|
+
NftId productNftId,
|
134
132
|
IAuthorization authorization,
|
135
133
|
address initialOwner,
|
136
134
|
string memory name,
|
137
135
|
address token,
|
138
|
-
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
139
136
|
bytes memory componentData // component specifidc data
|
140
137
|
)
|
141
138
|
internal
|
@@ -144,21 +141,20 @@ abstract contract Distribution is
|
|
144
141
|
{
|
145
142
|
_initializeInstanceLinkedComponent(
|
146
143
|
registry,
|
147
|
-
|
144
|
+
productNftId,
|
148
145
|
name,
|
149
146
|
token,
|
150
147
|
DISTRIBUTION(),
|
151
148
|
authorization,
|
152
149
|
true,
|
153
150
|
initialOwner,
|
154
|
-
registryData,
|
155
151
|
componentData);
|
156
152
|
|
157
153
|
DistributionStorage storage $ = _getDistributionStorage();
|
158
154
|
$._distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
|
159
155
|
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
160
156
|
|
161
|
-
|
157
|
+
_registerInterface(type(IDistributionComponent).interfaceId);
|
162
158
|
}
|
163
159
|
|
164
160
|
/// @dev Sets the distribution fees to the provided values.
|
@@ -227,7 +223,7 @@ abstract contract Distribution is
|
|
227
223
|
}
|
228
224
|
|
229
225
|
/// @dev Uptates the distributor type for the specified distributor.
|
230
|
-
function
|
226
|
+
function _changeDistributorType(
|
231
227
|
NftId distributorNftId,
|
232
228
|
DistributorType distributorType,
|
233
229
|
bytes memory data
|
@@ -236,11 +232,10 @@ abstract contract Distribution is
|
|
236
232
|
virtual
|
237
233
|
{
|
238
234
|
DistributionStorage storage $ = _getDistributionStorage();
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
// data);
|
235
|
+
$._distributionService.changeDistributorType(
|
236
|
+
distributorNftId,
|
237
|
+
distributorType,
|
238
|
+
data);
|
244
239
|
}
|
245
240
|
|
246
241
|
/// @dev Create a new referral code for the provided distributor.
|
@@ -266,10 +261,16 @@ abstract contract Distribution is
|
|
266
261
|
data);
|
267
262
|
}
|
268
263
|
|
264
|
+
function _withdrawCommission(NftId distributorNftId, Amount amount)
|
265
|
+
internal
|
266
|
+
returns (Amount withdrawnAmount)
|
267
|
+
{
|
268
|
+
return _getDistributionStorage()._distributionService.withdrawCommission(distributorNftId, amount);
|
269
|
+
}
|
269
270
|
|
270
|
-
function _nftTransferFrom(address from, address to, uint256 tokenId) internal virtual override {
|
271
|
+
function _nftTransferFrom(address from, address to, uint256 tokenId, address operator) internal virtual override {
|
271
272
|
// keep track of distributor nft owner
|
272
|
-
emit LogDistributorUpdated(to,
|
273
|
+
emit LogDistributorUpdated(to, operator);
|
273
274
|
DistributionStorage storage $ = _getDistributionStorage();
|
274
275
|
$._distributorNftId[from] = NftIdLib.zero();
|
275
276
|
$._distributorNftId[to] = NftIdLib.toNftId(tokenId);
|