@etherisc/gif-next 0.0.2-f2df3e2-873 → 0.0.2-f347f00-614
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 +2 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +238 -167
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +117 -111
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +49 -312
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +36 -105
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +225 -2171
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +177 -41
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +378 -2689
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +643 -345
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +262 -182
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -105
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3598 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +255 -276
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +65 -48
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +193 -103
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +290 -56
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -109
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +96 -186
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IClaimService.sol/IClaimService.json} +93 -258
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -141
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +283 -118
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -61
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
- 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 +179 -29
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +310 -53
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +124 -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 +415 -43
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1896 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -73
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +762 -103
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +166 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +182 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1554 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +139 -85
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +27 -95
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1184 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +110 -84
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +17 -6
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
- 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 +17 -6
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/ClaimId.sol/ClaimIdLib.json +5 -5
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/PayoutId.sol/PayoutIdLib.json +5 -5
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
- package/contracts/{components → distribution}/Distribution.sol +41 -64
- package/contracts/distribution/DistributionService.sol +297 -0
- package/contracts/distribution/DistributionServiceManager.sol +42 -0
- package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
- package/contracts/{instance/service → distribution}/IDistributionService.sol +19 -37
- package/contracts/instance/BundleManager.sol +5 -5
- package/contracts/instance/IInstance.sol +51 -66
- package/contracts/instance/IInstanceService.sol +51 -22
- package/contracts/instance/Instance.sol +137 -184
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
- package/contracts/instance/InstanceReader.sol +130 -55
- package/contracts/instance/InstanceService.sol +258 -297
- package/contracts/instance/InstanceServiceManager.sol +11 -21
- package/contracts/instance/InstanceStore.sol +269 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -9
- package/contracts/instance/module/IAccess.sol +4 -12
- package/contracts/instance/module/IBundle.sol +6 -9
- package/contracts/instance/module/IComponents.sol +21 -10
- package/contracts/instance/module/IDistribution.sol +7 -6
- package/contracts/instance/module/IPolicy.sol +22 -15
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
- package/contracts/oracle/IOracle.sol +20 -0
- package/contracts/oracle/IOracleComponent.sol +32 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +145 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +296 -0
- package/contracts/pool/BundleServiceManager.sol +42 -0
- package/contracts/{instance/service → pool}/IBundleService.sol +33 -23
- package/contracts/{components → pool}/IPoolComponent.sol +16 -17
- package/contracts/{instance/service → pool}/IPoolService.sol +72 -21
- package/contracts/{components → pool}/Pool.sol +52 -55
- package/contracts/pool/PoolService.sol +452 -0
- package/contracts/pool/PoolServiceManager.sol +42 -0
- package/contracts/product/ApplicationService.sol +254 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
- package/contracts/product/ClaimService.sol +442 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
- package/contracts/product/IClaimService.sol +99 -0
- package/contracts/product/IPolicyService.sol +78 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +42 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +475 -0
- package/contracts/product/PolicyServiceManager.sol +42 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +42 -0
- package/contracts/{components → product}/Product.sol +89 -83
- package/contracts/product/ProductService.sol +124 -0
- package/contracts/product/ProductServiceManager.sol +42 -0
- package/contracts/registry/ChainNft.sol +8 -1
- package/contracts/registry/IRegistry.sol +44 -21
- package/contracts/registry/IRegistryService.sol +37 -36
- package/contracts/registry/IServiceAuthorization.sol +35 -0
- package/contracts/registry/Registry.sol +192 -83
- package/contracts/registry/RegistryAdmin.sol +333 -0
- package/contracts/registry/RegistryService.sol +71 -87
- package/contracts/registry/RegistryServiceManager.sol +21 -30
- package/contracts/registry/ReleaseManager.sol +394 -197
- package/contracts/registry/ServiceAuthorization.sol +83 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/AccessAdmin.sol +750 -0
- package/contracts/shared/AccessManagerCustom.sol +741 -0
- package/contracts/shared/AccessManagerExtended.sol +481 -0
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
- package/contracts/shared/Component.sol +281 -0
- package/contracts/shared/ComponentService.sol +617 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessAdmin.sol +162 -0
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/{components → shared}/IComponent.sol +23 -29
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +29 -10
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +11 -2
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +144 -0
- package/contracts/shared/KeyValueStore.sol +127 -0
- package/contracts/{instance/base → shared}/Lifecycle.sol +18 -5
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +3 -16
- package/contracts/shared/PolicyHolder.sol +40 -19
- package/contracts/shared/ProxyManager.sol +34 -4
- package/contracts/shared/Registerable.sol +13 -12
- package/contracts/shared/RegistryLinked.sol +0 -5
- package/contracts/shared/Service.sol +32 -21
- package/contracts/shared/TokenHandler.sol +27 -2
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStaking.sol +168 -0
- package/contracts/staking/IStakingService.sol +153 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +513 -0
- package/contracts/staking/StakingManager.sol +54 -0
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +411 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +613 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +128 -0
- package/contracts/{types → type}/Blocknumber.sol +20 -3
- package/contracts/{types → type}/Fee.sol +24 -22
- package/contracts/{types → type}/NftId.sol +14 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +241 -0
- package/contracts/{types → type}/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +201 -0
- package/contracts/{types → type}/Seconds.sol +27 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +27 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +6 -2
- package/contracts/{types → type}/Version.sol +1 -1
- package/package.json +3 -3
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1060
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -681
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1266
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -725
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1040
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -685
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1774
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -793
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1511
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -741
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -185
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/contracts/components/Component.sol +0 -253
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -527
- package/contracts/instance/base/ComponentService.sol +0 -121
- package/contracts/instance/base/KeyValueStore.sol +0 -180
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -355
- package/contracts/instance/service/BundleService.sol +0 -436
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -239
- package/contracts/instance/service/DistributionService.sol +0 -431
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IClaimService.sol +0 -92
- package/contracts/instance/service/IPolicyService.sol +0 -137
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -541
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -303
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -210
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/test/Usdc.sol +0 -26
- package/contracts/types/Amount.sol +0 -65
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/RoleId.sol +0 -97
- /package/contracts/{types → type}/ClaimId.sol +0 -0
- /package/contracts/{types → type}/DistributorType.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
- /package/contracts/{types → type}/PayoutId.sol +0 -0
- /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -0,0 +1,377 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, ORACLE_SERVICE_ROLE, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, ORACLE_OWNER_ROLE, INSTANCE_SERVICE_ROLE, COMPONENT_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, APPLICATION_SERVICE_ROLE, POLICY_SERVICE_ROLE, CLAIM_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, INSTANCE_ROLE} from "../type/RoleId.sol";
|
5
|
+
import {APPLICATION, BUNDLE, CLAIM, COMPONENT, DISTRIBUTION, INSTANCE, ORACLE, POLICY, POOL, PRODUCT, REGISTRY} from "../type/ObjectType.sol";
|
6
|
+
import {VersionPart} from "../type/Version.sol";
|
7
|
+
|
8
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
9
|
+
|
10
|
+
import {Instance} from "./Instance.sol";
|
11
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
12
|
+
import {InstanceReader} from "./InstanceReader.sol";
|
13
|
+
import {BundleManager} from "./BundleManager.sol";
|
14
|
+
import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
|
15
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
16
|
+
|
17
|
+
|
18
|
+
library InstanceAuthorizationsLib
|
19
|
+
{
|
20
|
+
function grantInitialAuthorizations(
|
21
|
+
AccessManagerExtendedInitializeable accessManager,
|
22
|
+
InstanceAdmin instanceAdmin,
|
23
|
+
Instance instance,
|
24
|
+
BundleManager bundleManager,
|
25
|
+
InstanceStore instanceStore,
|
26
|
+
address instanceOwner,
|
27
|
+
IRegistry registry,
|
28
|
+
VersionPart majorVersion)
|
29
|
+
external
|
30
|
+
{
|
31
|
+
_createRoles(instanceAdmin);
|
32
|
+
_createTargets(instanceAdmin, instance, bundleManager, instanceStore);
|
33
|
+
_grantComponentServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
34
|
+
_grantOracleServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
35
|
+
_grantDistributionServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
36
|
+
_grantPoolServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
37
|
+
_grantProductServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
38
|
+
_grantApplicationServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
39
|
+
_grantPolicyServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
40
|
+
_grantClaimServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
|
41
|
+
_grantBundleServiceAuthorizations(accessManager, instanceAdmin, instanceStore, bundleManager, registry, majorVersion);
|
42
|
+
_grantInstanceServiceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
|
43
|
+
_grantInstanceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
|
44
|
+
_grantInstanceOwnerAuthorizations(instanceAdmin, instance, registry, majorVersion);
|
45
|
+
}
|
46
|
+
|
47
|
+
function _createRoles(InstanceAdmin instanceAdmin) private {
|
48
|
+
// default roles controlled by ADMIN_ROLE -> core roles
|
49
|
+
// all set/granted only once during cloning (the only exception is INSTANCE_OWNER_ROLE, hooked to instance nft)
|
50
|
+
instanceAdmin.createCoreRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole");
|
51
|
+
instanceAdmin.createCoreRole(COMPONENT_SERVICE_ROLE(), "ComponentServiceRole");
|
52
|
+
instanceAdmin.createCoreRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole");
|
53
|
+
instanceAdmin.createCoreRole(ORACLE_SERVICE_ROLE(), "OracleServiceRole");
|
54
|
+
instanceAdmin.createCoreRole(POOL_SERVICE_ROLE(), "PoolServiceRole");
|
55
|
+
instanceAdmin.createCoreRole(APPLICATION_SERVICE_ROLE(), "ApplicationServiceRole");
|
56
|
+
instanceAdmin.createCoreRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole");
|
57
|
+
instanceAdmin.createCoreRole(CLAIM_SERVICE_ROLE(), "ClaimServiceRole");
|
58
|
+
instanceAdmin.createCoreRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole");
|
59
|
+
instanceAdmin.createCoreRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole");
|
60
|
+
|
61
|
+
// default roles controlled by INSTANCE_OWNER_ROLE -> gif roles
|
62
|
+
instanceAdmin.createGifRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", INSTANCE_OWNER_ROLE());
|
63
|
+
instanceAdmin.createGifRole(ORACLE_OWNER_ROLE(), "OracleOwnerRole", INSTANCE_OWNER_ROLE());
|
64
|
+
instanceAdmin.createGifRole(POOL_OWNER_ROLE(), "PoolOwnerRole", INSTANCE_OWNER_ROLE());
|
65
|
+
instanceAdmin.createGifRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", INSTANCE_OWNER_ROLE());
|
66
|
+
}
|
67
|
+
|
68
|
+
function _createTargets(
|
69
|
+
InstanceAdmin instanceAdmin,
|
70
|
+
Instance instance,
|
71
|
+
BundleManager bundleManager,
|
72
|
+
InstanceStore instanceStore)
|
73
|
+
private
|
74
|
+
{
|
75
|
+
instanceAdmin.createCoreTarget(address(instance), "Instance");
|
76
|
+
//instanceAdmin.createCoreTarget(address(instanceAdmin), "InstanceAdmin");
|
77
|
+
instanceAdmin.createCoreTarget(address(bundleManager), "BundleManager");
|
78
|
+
instanceAdmin.createCoreTarget(address(instanceStore), "InstanceStore");
|
79
|
+
}
|
80
|
+
|
81
|
+
function _grantComponentServiceAuthorizations(
|
82
|
+
AccessManagerExtendedInitializeable accessManager,
|
83
|
+
InstanceAdmin instanceAdmin,
|
84
|
+
InstanceStore instanceStore,
|
85
|
+
IRegistry registry,
|
86
|
+
VersionPart majorVersion)
|
87
|
+
private
|
88
|
+
{
|
89
|
+
// configure authorization for component service on instance store
|
90
|
+
address componentServiceAddress = registry.getServiceAddress(COMPONENT(), majorVersion);
|
91
|
+
accessManager.grantRole(COMPONENT_SERVICE_ROLE().toInt(), componentServiceAddress, 0);
|
92
|
+
|
93
|
+
bytes4[] memory serviceSelectors = new bytes4[](8);
|
94
|
+
serviceSelectors[0] = instanceStore.createComponent.selector;
|
95
|
+
serviceSelectors[1] = instanceStore.updateComponent.selector;
|
96
|
+
serviceSelectors[2] = instanceStore.createPool.selector;
|
97
|
+
serviceSelectors[3] = instanceStore.createProduct.selector;
|
98
|
+
serviceSelectors[5] = instanceStore.updateProduct.selector;
|
99
|
+
serviceSelectors[6] = instanceStore.increaseBalance.selector;
|
100
|
+
serviceSelectors[7] = instanceStore.increaseFees.selector;
|
101
|
+
|
102
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
103
|
+
"InstanceStore",
|
104
|
+
serviceSelectors,
|
105
|
+
COMPONENT_SERVICE_ROLE());
|
106
|
+
}
|
107
|
+
|
108
|
+
function _grantOracleServiceAuthorizations(
|
109
|
+
AccessManagerExtendedInitializeable accessManager,
|
110
|
+
InstanceAdmin instanceAdmin,
|
111
|
+
InstanceStore instanceStore,
|
112
|
+
IRegistry registry,
|
113
|
+
VersionPart majorVersion
|
114
|
+
)
|
115
|
+
private
|
116
|
+
{
|
117
|
+
// configure authorization for distribution service on instance
|
118
|
+
address oracleServiceAddress = registry.getServiceAddress(ORACLE(), majorVersion);
|
119
|
+
accessManager.grantRole(ORACLE_SERVICE_ROLE().toInt(), oracleServiceAddress, 0);
|
120
|
+
|
121
|
+
bytes4[] memory instanceOracleServiceSelectors = new bytes4[](3);
|
122
|
+
instanceOracleServiceSelectors[0] = instanceStore.createRequest.selector;
|
123
|
+
instanceOracleServiceSelectors[1] = instanceStore.updateRequest.selector;
|
124
|
+
instanceOracleServiceSelectors[2] = instanceStore.updateRequestState.selector;
|
125
|
+
|
126
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
127
|
+
"InstanceStore",
|
128
|
+
instanceOracleServiceSelectors,
|
129
|
+
ORACLE_SERVICE_ROLE());
|
130
|
+
}
|
131
|
+
|
132
|
+
function _grantDistributionServiceAuthorizations(
|
133
|
+
AccessManagerExtendedInitializeable accessManager,
|
134
|
+
InstanceAdmin instanceAdmin,
|
135
|
+
InstanceStore instanceStore,
|
136
|
+
IRegistry registry,
|
137
|
+
VersionPart majorVersion
|
138
|
+
)
|
139
|
+
private
|
140
|
+
{
|
141
|
+
// configure authorization for distribution service on instance
|
142
|
+
address distributionServiceAddress = registry.getServiceAddress(DISTRIBUTION(), majorVersion);
|
143
|
+
accessManager.grantRole(DISTRIBUTION_SERVICE_ROLE().toInt(), distributionServiceAddress, 0);
|
144
|
+
bytes4[] memory instanceDistributionServiceSelectors = new bytes4[](9);
|
145
|
+
//instanceDistributionServiceSelectors[0] = instanceStore.createDistributionSetup.selector;
|
146
|
+
//instanceDistributionServiceSelectors[1] = instanceStore.updateDistributionSetup.selector;
|
147
|
+
instanceDistributionServiceSelectors[0] = instanceStore.createDistributorType.selector;
|
148
|
+
instanceDistributionServiceSelectors[1] = instanceStore.updateDistributorType.selector;
|
149
|
+
instanceDistributionServiceSelectors[2] = instanceStore.updateDistributorTypeState.selector;
|
150
|
+
instanceDistributionServiceSelectors[3] = instanceStore.createDistributor.selector;
|
151
|
+
instanceDistributionServiceSelectors[4] = instanceStore.updateDistributor.selector;
|
152
|
+
instanceDistributionServiceSelectors[5] = instanceStore.updateDistributorState.selector;
|
153
|
+
instanceDistributionServiceSelectors[6] = instanceStore.createReferral.selector;
|
154
|
+
instanceDistributionServiceSelectors[7] = instanceStore.updateReferral.selector;
|
155
|
+
instanceDistributionServiceSelectors[8] = instanceStore.updateReferralState.selector;
|
156
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
157
|
+
"InstanceStore",
|
158
|
+
instanceDistributionServiceSelectors,
|
159
|
+
DISTRIBUTION_SERVICE_ROLE());
|
160
|
+
}
|
161
|
+
|
162
|
+
function _grantPoolServiceAuthorizations(
|
163
|
+
AccessManagerExtendedInitializeable accessManager,
|
164
|
+
InstanceAdmin instanceAdmin,
|
165
|
+
InstanceStore instanceStore,
|
166
|
+
IRegistry registry,
|
167
|
+
VersionPart majorVersion)
|
168
|
+
private
|
169
|
+
{
|
170
|
+
// configure authorization for pool service on instance
|
171
|
+
address poolServiceAddress = registry.getServiceAddress(POOL(), majorVersion);
|
172
|
+
accessManager.grantRole(POOL_SERVICE_ROLE().toInt(), address(poolServiceAddress), 0);
|
173
|
+
bytes4[] memory instancePoolServiceSelectors = new bytes4[](1); // TODO works with (4)
|
174
|
+
instancePoolServiceSelectors[0] = instanceStore.updatePool.selector;
|
175
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
176
|
+
"InstanceStore",
|
177
|
+
instancePoolServiceSelectors,
|
178
|
+
POOL_SERVICE_ROLE());
|
179
|
+
}
|
180
|
+
|
181
|
+
function _grantProductServiceAuthorizations(
|
182
|
+
AccessManagerExtendedInitializeable accessManager,
|
183
|
+
InstanceAdmin instanceAdmin,
|
184
|
+
InstanceStore instanceStore,
|
185
|
+
IRegistry registry,
|
186
|
+
VersionPart majorVersion)
|
187
|
+
private
|
188
|
+
{
|
189
|
+
// configure authorization for product service on instance
|
190
|
+
address productServiceAddress = registry.getServiceAddress(PRODUCT(), majorVersion);
|
191
|
+
accessManager.grantRole(PRODUCT_SERVICE_ROLE().toInt(), productServiceAddress, 0);
|
192
|
+
bytes4[] memory instanceProductServiceSelectors = new bytes4[](3);
|
193
|
+
instanceProductServiceSelectors[0] = instanceStore.createRisk.selector;
|
194
|
+
instanceProductServiceSelectors[1] = instanceStore.updateRisk.selector;
|
195
|
+
instanceProductServiceSelectors[2] = instanceStore.updateRiskState.selector;
|
196
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
197
|
+
"InstanceStore",
|
198
|
+
instanceProductServiceSelectors,
|
199
|
+
PRODUCT_SERVICE_ROLE());
|
200
|
+
}
|
201
|
+
|
202
|
+
function _grantApplicationServiceAuthorizations(
|
203
|
+
AccessManagerExtendedInitializeable accessManager,
|
204
|
+
InstanceAdmin instanceAdmin,
|
205
|
+
InstanceStore instanceStore,
|
206
|
+
IRegistry registry,
|
207
|
+
VersionPart majorVersion)
|
208
|
+
private
|
209
|
+
{
|
210
|
+
// configure authorization for application services on instance
|
211
|
+
address applicationServiceAddress = registry.getServiceAddress(APPLICATION(), majorVersion);
|
212
|
+
accessManager.grantRole(APPLICATION_SERVICE_ROLE().toInt(), applicationServiceAddress, 0);
|
213
|
+
bytes4[] memory instanceApplicationServiceSelectors = new bytes4[](3);
|
214
|
+
instanceApplicationServiceSelectors[0] = instanceStore.createApplication.selector;
|
215
|
+
instanceApplicationServiceSelectors[1] = instanceStore.updateApplication.selector;
|
216
|
+
instanceApplicationServiceSelectors[2] = instanceStore.updateApplicationState.selector;
|
217
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
218
|
+
"InstanceStore",
|
219
|
+
instanceApplicationServiceSelectors,
|
220
|
+
APPLICATION_SERVICE_ROLE());
|
221
|
+
}
|
222
|
+
|
223
|
+
function _grantPolicyServiceAuthorizations(
|
224
|
+
AccessManagerExtendedInitializeable accessManager,
|
225
|
+
InstanceAdmin instanceAdmin,
|
226
|
+
InstanceStore instanceStore,
|
227
|
+
IRegistry registry,
|
228
|
+
VersionPart majorVersion)
|
229
|
+
private
|
230
|
+
{
|
231
|
+
// configure authorization for policy services on instance
|
232
|
+
address policyServiceAddress = registry.getServiceAddress(POLICY(), majorVersion);
|
233
|
+
accessManager.grantRole(POLICY_SERVICE_ROLE().toInt(), policyServiceAddress, 0);
|
234
|
+
bytes4[] memory instancePolicyServiceSelectors = new bytes4[](2);
|
235
|
+
instancePolicyServiceSelectors[0] = instanceStore.updatePolicy.selector;
|
236
|
+
instancePolicyServiceSelectors[1] = instanceStore.updatePolicyState.selector;
|
237
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
238
|
+
"InstanceStore",
|
239
|
+
instancePolicyServiceSelectors,
|
240
|
+
POLICY_SERVICE_ROLE());
|
241
|
+
}
|
242
|
+
|
243
|
+
function _grantClaimServiceAuthorizations(
|
244
|
+
AccessManagerExtendedInitializeable accessManager,
|
245
|
+
InstanceAdmin instanceAdmin,
|
246
|
+
InstanceStore instanceStore,
|
247
|
+
IRegistry registry,
|
248
|
+
VersionPart majorVersion)
|
249
|
+
private
|
250
|
+
{
|
251
|
+
// configure authorization for claim/payout services on instance
|
252
|
+
address claimServiceAddress = registry.getServiceAddress(CLAIM(), majorVersion);
|
253
|
+
accessManager.grantRole(CLAIM_SERVICE_ROLE().toInt(), claimServiceAddress, 0);
|
254
|
+
|
255
|
+
bytes4[] memory instancePolicyServiceSelectors = new bytes4[](1);
|
256
|
+
instancePolicyServiceSelectors[0] = instanceStore.updatePolicyClaims.selector;
|
257
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
258
|
+
"InstanceStore",
|
259
|
+
instancePolicyServiceSelectors,
|
260
|
+
CLAIM_SERVICE_ROLE());
|
261
|
+
|
262
|
+
bytes4[] memory instanceClaimServiceSelectors = new bytes4[](4);
|
263
|
+
instanceClaimServiceSelectors[0] = instanceStore.createClaim.selector;
|
264
|
+
instanceClaimServiceSelectors[1] = instanceStore.updateClaim.selector;
|
265
|
+
instanceClaimServiceSelectors[2] = instanceStore.createPayout.selector;
|
266
|
+
instanceClaimServiceSelectors[3] = instanceStore.updatePayout.selector;
|
267
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
268
|
+
"InstanceStore",
|
269
|
+
instanceClaimServiceSelectors,
|
270
|
+
CLAIM_SERVICE_ROLE());
|
271
|
+
}
|
272
|
+
|
273
|
+
function _grantBundleServiceAuthorizations(
|
274
|
+
AccessManagerExtendedInitializeable accessManager,
|
275
|
+
InstanceAdmin instanceAdmin,
|
276
|
+
InstanceStore instanceStore,
|
277
|
+
BundleManager bundleManager,
|
278
|
+
IRegistry registry,
|
279
|
+
VersionPart majorVersion)
|
280
|
+
private
|
281
|
+
{
|
282
|
+
// configure authorization for bundle service on instance
|
283
|
+
address bundleServiceAddress = registry.getServiceAddress(BUNDLE(), majorVersion);
|
284
|
+
accessManager.grantRole(BUNDLE_SERVICE_ROLE().toInt(), bundleServiceAddress, 0);
|
285
|
+
bytes4[] memory instanceBundleServiceSelectors = new bytes4[](5);
|
286
|
+
instanceBundleServiceSelectors[0] = instanceStore.createBundle.selector;
|
287
|
+
instanceBundleServiceSelectors[1] = instanceStore.updateBundle.selector;
|
288
|
+
instanceBundleServiceSelectors[2] = instanceStore.updateBundleState.selector;
|
289
|
+
instanceBundleServiceSelectors[3] = instanceStore.increaseLocked.selector;
|
290
|
+
instanceBundleServiceSelectors[4] = instanceStore.decreaseLocked.selector;
|
291
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
292
|
+
"InstanceStore",
|
293
|
+
instanceBundleServiceSelectors,
|
294
|
+
BUNDLE_SERVICE_ROLE());
|
295
|
+
|
296
|
+
// configure authorization for bundle service on bundle manager
|
297
|
+
bytes4[] memory bundleManagerBundleServiceSelectors = new bytes4[](5);
|
298
|
+
bundleManagerBundleServiceSelectors[0] = bundleManager.linkPolicy.selector;
|
299
|
+
bundleManagerBundleServiceSelectors[1] = bundleManager.unlinkPolicy.selector;
|
300
|
+
bundleManagerBundleServiceSelectors[2] = bundleManager.add.selector;
|
301
|
+
bundleManagerBundleServiceSelectors[3] = bundleManager.lock.selector;
|
302
|
+
bundleManagerBundleServiceSelectors[4] = bundleManager.unlock.selector;
|
303
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
304
|
+
"BundleManager",
|
305
|
+
bundleManagerBundleServiceSelectors,
|
306
|
+
BUNDLE_SERVICE_ROLE());
|
307
|
+
}
|
308
|
+
|
309
|
+
function _grantInstanceServiceAuthorizations(
|
310
|
+
AccessManagerExtendedInitializeable accessManager,
|
311
|
+
InstanceAdmin instanceAdmin,
|
312
|
+
Instance instance,
|
313
|
+
IRegistry registry,
|
314
|
+
VersionPart majorVersion)
|
315
|
+
private
|
316
|
+
{
|
317
|
+
// configure authorization for instance service on instance
|
318
|
+
address instanceServiceAddress = registry.getServiceAddress(INSTANCE(), majorVersion);
|
319
|
+
accessManager.grantRole(INSTANCE_SERVICE_ROLE().toInt(), instanceServiceAddress, 0);
|
320
|
+
bytes4[] memory instanceInstanceServiceSelectors = new bytes4[](1);
|
321
|
+
instanceInstanceServiceSelectors[0] = instance.setInstanceReader.selector;
|
322
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
323
|
+
"Instance",
|
324
|
+
instanceInstanceServiceSelectors,
|
325
|
+
INSTANCE_SERVICE_ROLE());
|
326
|
+
|
327
|
+
// configure authorizations for instance service on instance access manager
|
328
|
+
bytes4[] memory instanceAdminInstanceServiceSelectors = new bytes4[](3);
|
329
|
+
instanceAdminInstanceServiceSelectors[0] = instanceAdmin.createGifTarget.selector;
|
330
|
+
instanceAdminInstanceServiceSelectors[1] = instanceAdmin.setTargetLockedByService.selector;
|
331
|
+
instanceAdminInstanceServiceSelectors[2] = instanceAdmin.setTargetFunctionRoleByService.selector;
|
332
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
333
|
+
"InstanceAdmin",
|
334
|
+
instanceAdminInstanceServiceSelectors,
|
335
|
+
INSTANCE_SERVICE_ROLE());
|
336
|
+
}
|
337
|
+
|
338
|
+
function _grantInstanceAuthorizations(
|
339
|
+
AccessManagerExtendedInitializeable accessManager,
|
340
|
+
InstanceAdmin instanceAdmin,
|
341
|
+
Instance instance,
|
342
|
+
IRegistry registry,
|
343
|
+
VersionPart majorVersion)
|
344
|
+
private
|
345
|
+
{
|
346
|
+
// configure authorizations for instance on instance admin
|
347
|
+
bytes4[] memory instanceAdminInstanceSelectors = new bytes4[](4);
|
348
|
+
instanceAdminInstanceSelectors[0] = instanceAdmin.createRole.selector;
|
349
|
+
instanceAdminInstanceSelectors[1] = instanceAdmin.createTarget.selector;
|
350
|
+
instanceAdminInstanceSelectors[2] = instanceAdmin.setTargetFunctionRoleByInstance.selector;
|
351
|
+
instanceAdminInstanceSelectors[3] = instanceAdmin.setTargetLockedByInstance.selector;
|
352
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
353
|
+
"InstanceAdmin",
|
354
|
+
instanceAdminInstanceSelectors,
|
355
|
+
INSTANCE_ROLE());
|
356
|
+
}
|
357
|
+
|
358
|
+
function _grantInstanceOwnerAuthorizations(
|
359
|
+
InstanceAdmin instanceAdmin,
|
360
|
+
Instance instance,
|
361
|
+
IRegistry registry,
|
362
|
+
VersionPart majorVersion)
|
363
|
+
private
|
364
|
+
{
|
365
|
+
// configure authorization for instance owner on instance access manager
|
366
|
+
// instance owner role is granted/revoked ONLY by INSTANCE_ROLE
|
367
|
+
bytes4[] memory instanceInstanceOwnerSelectors = new bytes4[](4);
|
368
|
+
instanceInstanceOwnerSelectors[0] = instance.createRole.selector;
|
369
|
+
instanceInstanceOwnerSelectors[1] = instance.createTarget.selector;
|
370
|
+
instanceInstanceOwnerSelectors[2] = instance.setTargetFunctionRole.selector;
|
371
|
+
instanceInstanceOwnerSelectors[3] = instance.setTargetLocked.selector;
|
372
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
373
|
+
"Instance",
|
374
|
+
instanceInstanceOwnerSelectors,
|
375
|
+
INSTANCE_OWNER_ROLE());
|
376
|
+
}
|
377
|
+
}
|
@@ -3,30 +3,34 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
import {
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
7
|
+
import {ClaimId} from "../type/ClaimId.sol";
|
8
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
9
|
+
import {Fee, FeeLib} from "../type/Fee.sol";
|
10
|
+
import {Key32} from "../type/Key32.sol";
|
11
|
+
import {NftId} from "../type/NftId.sol";
|
12
|
+
import {ObjectType, COMPONENT, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
|
13
|
+
import {PayoutId} from "../type/PayoutId.sol";
|
14
|
+
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
15
|
+
import {RequestId} from "../type/RequestId.sol";
|
16
|
+
import {RiskId} from "../type/RiskId.sol";
|
17
|
+
import {RoleId} from "../type/RoleId.sol";
|
18
|
+
import {StateId} from "../type/StateId.sol";
|
19
|
+
import {UFixed, MathLib, UFixedLib} from "../type/UFixed.sol";
|
20
|
+
import {Version} from "../type/Version.sol";
|
18
21
|
|
19
22
|
import {IRegistry} from "../registry/IRegistry.sol";
|
20
23
|
import {IBundle} from "../instance/module/IBundle.sol";
|
21
24
|
import {IComponents} from "../instance/module/IComponents.sol";
|
22
25
|
import {IDistribution} from "../instance/module/IDistribution.sol";
|
23
26
|
import {IInstance} from "./IInstance.sol";
|
24
|
-
import {IKeyValueStore} from "../
|
27
|
+
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
28
|
+
import {IOracle} from "../oracle/IOracle.sol";
|
25
29
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
26
30
|
import {IRisk} from "../instance/module/IRisk.sol";
|
27
|
-
import {
|
28
|
-
|
29
|
-
import {
|
31
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
32
|
+
|
33
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
30
34
|
|
31
35
|
|
32
36
|
contract InstanceReader {
|
@@ -37,19 +41,19 @@ contract InstanceReader {
|
|
37
41
|
bool private _initialized;
|
38
42
|
|
39
43
|
IInstance internal _instance;
|
40
|
-
|
44
|
+
InstanceStore internal _store;
|
41
45
|
|
42
46
|
function initialize(address instance) public {
|
43
47
|
if(_initialized) {
|
44
48
|
revert ErrorInstanceReaderAlreadyInitialized();
|
45
49
|
}
|
46
50
|
|
47
|
-
if(
|
51
|
+
if(instance == address(0)) {
|
48
52
|
revert ErrorInstanceReaderInstanceAddressZero();
|
49
53
|
}
|
50
54
|
|
51
55
|
_instance = IInstance(instance);
|
52
|
-
_store =
|
56
|
+
_store = _instance.getInstanceStore();
|
53
57
|
|
54
58
|
_initialized = true;
|
55
59
|
}
|
@@ -73,7 +77,36 @@ contract InstanceReader {
|
|
73
77
|
view
|
74
78
|
returns (StateId state)
|
75
79
|
{
|
76
|
-
return
|
80
|
+
return _store.getState(toPolicyKey(policyNftId));
|
81
|
+
}
|
82
|
+
|
83
|
+
/// @dev returns true iff policy may be closed
|
84
|
+
/// a policy can be closed all conditions below are met
|
85
|
+
/// - policy exists
|
86
|
+
/// - has been activated
|
87
|
+
/// - is not yet closed
|
88
|
+
/// - has no open claims
|
89
|
+
/// - claim amount matches sum insured amount or is expired
|
90
|
+
function policyIsCloseable(NftId policyNftId)
|
91
|
+
public
|
92
|
+
view
|
93
|
+
returns (bool isCloseable)
|
94
|
+
{
|
95
|
+
IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
|
96
|
+
|
97
|
+
if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
|
98
|
+
if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
|
99
|
+
if (info.closedAt.gtz()) { return false; } // not closeable: already closed
|
100
|
+
if (info.openClaimsCount > 0) { return false; } // not closeable: has open claims
|
101
|
+
|
102
|
+
// closeable: if sum of claims matches sum insured a policy may be closed prior to the expiry date
|
103
|
+
if (info.claimAmount == info.sumInsuredAmount) { return true; }
|
104
|
+
|
105
|
+
// not closeable: not yet expired
|
106
|
+
if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
|
107
|
+
|
108
|
+
// all conditionsl to close the policy are met
|
109
|
+
return true;
|
77
110
|
}
|
78
111
|
|
79
112
|
function getClaimInfo(NftId policyNftId, ClaimId claimId)
|
@@ -92,7 +125,26 @@ contract InstanceReader {
|
|
92
125
|
view
|
93
126
|
returns (StateId state)
|
94
127
|
{
|
95
|
-
return
|
128
|
+
return _store.getState(claimId.toKey32(policyNftId));
|
129
|
+
}
|
130
|
+
|
131
|
+
function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
|
132
|
+
public
|
133
|
+
view
|
134
|
+
returns (IPolicy.PayoutInfo memory info)
|
135
|
+
{
|
136
|
+
bytes memory data = _store.getData(payoutId.toKey32(policyNftId));
|
137
|
+
if (data.length > 0) {
|
138
|
+
return abi.decode(data, (IPolicy.PayoutInfo));
|
139
|
+
}
|
140
|
+
}
|
141
|
+
|
142
|
+
function getPayoutState(NftId policyNftId, PayoutId payoutId)
|
143
|
+
public
|
144
|
+
view
|
145
|
+
returns (StateId state)
|
146
|
+
{
|
147
|
+
return _store.getState(payoutId.toKey32(policyNftId));
|
96
148
|
}
|
97
149
|
|
98
150
|
function getRiskInfo(RiskId riskId)
|
@@ -106,30 +158,19 @@ contract InstanceReader {
|
|
106
158
|
}
|
107
159
|
}
|
108
160
|
|
109
|
-
function getTokenHandler(NftId
|
161
|
+
function getTokenHandler(NftId componentNftId)
|
110
162
|
public
|
111
163
|
view
|
112
164
|
returns (address tokenHandler)
|
113
165
|
{
|
114
|
-
bytes memory data = _store.getData(
|
166
|
+
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
115
167
|
|
116
168
|
if (data.length > 0) {
|
117
|
-
|
169
|
+
IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
|
118
170
|
return address(info.tokenHandler);
|
119
171
|
}
|
120
172
|
}
|
121
173
|
|
122
|
-
function getTreasuryInfo(NftId productNftId)
|
123
|
-
public
|
124
|
-
view
|
125
|
-
returns (ITreasury.TreasuryInfo memory info)
|
126
|
-
{
|
127
|
-
bytes memory data = _store.getData(toTreasuryKey(productNftId));
|
128
|
-
if (data.length > 0) {
|
129
|
-
return abi.decode(data, (ITreasury.TreasuryInfo));
|
130
|
-
}
|
131
|
-
}
|
132
|
-
|
133
174
|
function getBundleInfo(NftId bundleNftId)
|
134
175
|
public
|
135
176
|
view
|
@@ -163,37 +204,48 @@ contract InstanceReader {
|
|
163
204
|
}
|
164
205
|
}
|
165
206
|
|
166
|
-
function
|
207
|
+
function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
|
208
|
+
return _store.getBalanceAmount(targetNftId);
|
209
|
+
}
|
210
|
+
|
211
|
+
function getLockedAmount(NftId targetNftId) external view returns (Amount) {
|
212
|
+
return _store.getLockedAmount(targetNftId);
|
213
|
+
}
|
214
|
+
|
215
|
+
function getFeeAmount(NftId targetNftId) external view returns (Amount) {
|
216
|
+
return _store.getFeeAmount(targetNftId);
|
217
|
+
}
|
218
|
+
|
219
|
+
function getComponentInfo(NftId componentNftId)
|
167
220
|
public
|
168
221
|
view
|
169
|
-
returns (
|
222
|
+
returns (IComponents.ComponentInfo memory info)
|
170
223
|
{
|
171
|
-
bytes memory data = _store.getData(
|
224
|
+
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
172
225
|
if (data.length > 0) {
|
173
|
-
return abi.decode(data, (
|
226
|
+
return abi.decode(data, (IComponents.ComponentInfo));
|
174
227
|
}
|
175
228
|
}
|
176
229
|
|
177
|
-
|
178
|
-
function getComponentInfo(NftId poolNftId)
|
230
|
+
function getProductInfo(NftId productNftId)
|
179
231
|
public
|
180
232
|
view
|
181
|
-
returns (IComponents.
|
233
|
+
returns (IComponents.ProductInfo memory info)
|
182
234
|
{
|
183
|
-
bytes memory data = _store.getData(
|
235
|
+
bytes memory data = _store.getData(toProductKey(productNftId));
|
184
236
|
if (data.length > 0) {
|
185
|
-
return abi.decode(data, (IComponents.
|
237
|
+
return abi.decode(data, (IComponents.ProductInfo));
|
186
238
|
}
|
187
239
|
}
|
188
240
|
|
189
|
-
function
|
241
|
+
function getPoolInfo(NftId poolNftId)
|
190
242
|
public
|
191
243
|
view
|
192
|
-
returns (
|
244
|
+
returns (IComponents.PoolInfo memory info)
|
193
245
|
{
|
194
|
-
bytes memory data = _store.getData(
|
246
|
+
bytes memory data = _store.getData(toPoolKey(poolNftId));
|
195
247
|
if (data.length > 0) {
|
196
|
-
return abi.decode(data, (
|
248
|
+
return abi.decode(data, (IComponents.PoolInfo));
|
197
249
|
}
|
198
250
|
}
|
199
251
|
|
@@ -208,6 +260,16 @@ contract InstanceReader {
|
|
208
260
|
}
|
209
261
|
}
|
210
262
|
|
263
|
+
function getRequestInfo(RequestId requestId)
|
264
|
+
public
|
265
|
+
view
|
266
|
+
returns (IOracle.RequestInfo memory requestInfo)
|
267
|
+
{
|
268
|
+
bytes memory data = _store.getData(requestId.toKey32());
|
269
|
+
if (data.length > 0) {
|
270
|
+
return abi.decode(data, (IOracle.RequestInfo));
|
271
|
+
}
|
272
|
+
}
|
211
273
|
|
212
274
|
function getMetadata(Key32 key)
|
213
275
|
public
|
@@ -217,6 +279,14 @@ contract InstanceReader {
|
|
217
279
|
return _store.getMetadata(key);
|
218
280
|
}
|
219
281
|
|
282
|
+
function getState(Key32 key)
|
283
|
+
public
|
284
|
+
view
|
285
|
+
returns (StateId state)
|
286
|
+
{
|
287
|
+
return _store.getMetadata(key).state;
|
288
|
+
}
|
289
|
+
|
220
290
|
|
221
291
|
function toReferralId(
|
222
292
|
NftId distributionNftId,
|
@@ -268,8 +338,9 @@ contract InstanceReader {
|
|
268
338
|
}
|
269
339
|
|
270
340
|
|
271
|
-
function
|
272
|
-
|
341
|
+
function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
|
342
|
+
(isMember, ) = _instance.getInstanceAccessManager().hasRole(
|
343
|
+
roleId.toInt(), account);
|
273
344
|
}
|
274
345
|
|
275
346
|
|
@@ -282,14 +353,18 @@ contract InstanceReader {
|
|
282
353
|
return distributorNftId.toKey32(DISTRIBUTOR());
|
283
354
|
}
|
284
355
|
|
285
|
-
function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
|
286
|
-
return distributionNftId.toKey32(DISTRIBUTION());
|
287
|
-
}
|
288
|
-
|
289
356
|
function toBundleKey(NftId poolNftId) public pure returns (Key32) {
|
290
357
|
return poolNftId.toKey32(BUNDLE());
|
291
358
|
}
|
292
359
|
|
360
|
+
function toComponentKey(NftId componentNftId) public pure returns (Key32) {
|
361
|
+
return componentNftId.toKey32(COMPONENT());
|
362
|
+
}
|
363
|
+
|
364
|
+
function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
|
365
|
+
return distributionNftId.toKey32(DISTRIBUTION());
|
366
|
+
}
|
367
|
+
|
293
368
|
function toPoolKey(NftId poolNftId) public pure returns (Key32) {
|
294
369
|
return poolNftId.toKey32(POOL());
|
295
370
|
}
|
@@ -314,4 +389,4 @@ contract InstanceReader {
|
|
314
389
|
function toInt(UFixed value) public pure returns (uint256) {
|
315
390
|
return UFixedLib.toInt(value);
|
316
391
|
}
|
317
|
-
}
|
392
|
+
}
|