@etherisc/gif-next 0.0.2-96b5b72-170 → 0.0.2-97aac30-275
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 +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +193 -164
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +114 -321
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +120 -82
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +72 -108
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +22 -48
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -6
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +56 -22
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +53 -18
- 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 +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +132 -28
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +458 -331
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +133 -59
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +110 -32
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1103 -308
- 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 +1 -1
- 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 +1 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -2
- 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 +662 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +69 -252
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +105 -55
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +8 -53
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +134 -86
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +121 -133
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +239 -92
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +170 -368
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +98 -72
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +69 -153
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +105 -31
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +95 -203
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +118 -56
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +7 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +7 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +81 -25
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +230 -107
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -55
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +164 -299
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +106 -92
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +139 -160
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +130 -40
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +334 -146
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +29 -214
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +88 -34
- 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 +163 -61
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +256 -65
- 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 +378 -67
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +272 -68
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +87 -35
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +799 -127
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -138
- 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 +1715 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +184 -11
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +908 -49
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +792 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +526 -0
- 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/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 +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +172 -4
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +80 -22
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +1 -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 +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +7 -1
- 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 +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +176 -24
- 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 +13 -7
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +64 -16
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +21 -7
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +7 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1103 -172
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +497 -49
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1247 -56
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +167 -30
- 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 +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +605 -78
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +122 -28
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -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 +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +34 -34
- 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/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -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 +15 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +76 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
- package/contracts/distribution/Distribution.sol +27 -51
- package/contracts/distribution/DistributionService.sol +55 -106
- package/contracts/distribution/DistributionServiceManager.sol +9 -18
- package/contracts/distribution/IDistributionComponent.sol +3 -8
- package/contracts/distribution/IDistributionService.sol +2 -8
- package/contracts/instance/IInstance.sol +12 -7
- package/contracts/instance/IInstanceService.sol +13 -5
- package/contracts/instance/Instance.sol +30 -23
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +210 -141
- package/contracts/instance/InstanceReader.sol +64 -42
- package/contracts/instance/InstanceService.sol +141 -87
- package/contracts/instance/InstanceServiceManager.sol +10 -20
- package/contracts/instance/InstanceStore.sol +125 -55
- package/contracts/instance/base/BalanceStore.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/module/IAccess.sol +2 -10
- package/contracts/instance/module/IBundle.sol +1 -4
- package/contracts/instance/module/IComponents.sol +15 -4
- package/contracts/instance/module/IPolicy.sol +8 -2
- package/contracts/mock/Dip.sol +26 -0
- 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 +277 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +63 -149
- package/contracts/pool/BundleServiceManager.sol +9 -18
- package/contracts/pool/IBundleService.sol +4 -16
- package/contracts/pool/IPoolComponent.sol +2 -4
- package/contracts/pool/IPoolService.sol +45 -9
- package/contracts/pool/Pool.sol +37 -40
- package/contracts/pool/PoolService.sol +195 -145
- package/contracts/pool/PoolServiceManager.sol +9 -18
- package/contracts/product/ApplicationService.sol +111 -43
- package/contracts/product/ApplicationServiceManager.sol +9 -6
- package/contracts/product/ClaimService.sol +21 -21
- package/contracts/product/ClaimServiceManager.sol +9 -6
- package/contracts/product/IApplicationService.sol +1 -1
- package/contracts/product/IClaimService.sol +7 -1
- package/contracts/product/IPolicyService.sol +6 -8
- package/contracts/product/IPricingService.sol +3 -1
- package/contracts/product/IProductComponent.sol +5 -4
- package/contracts/product/IProductService.sol +1 -8
- package/contracts/product/PolicyService.sol +226 -127
- package/contracts/product/PolicyServiceManager.sol +9 -21
- package/contracts/product/PricingService.sol +74 -48
- package/contracts/product/PricingServiceManager.sol +9 -18
- package/contracts/product/Product.sol +45 -47
- package/contracts/product/ProductService.sol +26 -112
- package/contracts/product/ProductServiceManager.sol +9 -21
- package/contracts/registry/ChainNft.sol +1 -0
- package/contracts/registry/IRegistry.sol +38 -24
- package/contracts/registry/IRegistryService.sol +31 -31
- package/contracts/registry/Registry.sol +176 -105
- package/contracts/registry/RegistryAdmin.sol +237 -0
- package/contracts/registry/RegistryService.sol +44 -82
- package/contracts/registry/RegistryServiceManager.sol +21 -23
- package/contracts/registry/ReleaseManager.sol +450 -210
- package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/AccessManagerCustom.sol +736 -0
- package/contracts/shared/AccessManagerExtended.sol +470 -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 +153 -49
- package/contracts/shared/ComponentService.sol +561 -93
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/shared/IComponent.sol +20 -8
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +5 -11
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +6 -6
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +6 -1
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +51 -178
- package/contracts/{instance/base → shared}/KeyValueStore.sol +30 -72
- package/contracts/{instance/base → shared}/Lifecycle.sol +12 -3
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +2 -13
- package/contracts/shared/PolicyHolder.sol +21 -13
- package/contracts/shared/ProxyManager.sol +31 -1
- package/contracts/shared/Registerable.sol +2 -2
- package/contracts/shared/Service.sol +7 -2
- package/contracts/staking/IStaking.sol +146 -8
- package/contracts/staking/IStakingService.sol +83 -39
- package/contracts/staking/StakeManagerLib.sol +179 -0
- package/contracts/staking/Staking.sol +503 -17
- package/contracts/staking/StakingManager.sol +22 -14
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +246 -44
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +572 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +20 -1
- package/contracts/type/Blocknumber.sol +20 -3
- package/contracts/type/Fee.sol +17 -16
- package/contracts/type/NftId.sol +14 -16
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +12 -10
- package/contracts/type/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +18 -4
- package/contracts/type/Seconds.sol +27 -0
- package/contracts/type/StateId.sol +27 -2
- package/contracts/type/Timestamp.sol +6 -2
- package/contracts/type/Version.sol +1 -1
- package/package.json +4 -3
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- 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 -581
- 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/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/registry/RegistryAccessManager.sol +0 -207
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
@@ -1,294 +1,363 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, INSTANCE_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 {
|
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
6
|
import {VersionPart} from "../type/Version.sol";
|
7
7
|
|
8
8
|
import {IRegistry} from "../registry/IRegistry.sol";
|
9
9
|
|
10
10
|
import {Instance} from "./Instance.sol";
|
11
|
-
import {
|
11
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
12
12
|
import {InstanceReader} from "./InstanceReader.sol";
|
13
13
|
import {BundleManager} from "./BundleManager.sol";
|
14
|
-
import {
|
14
|
+
import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
|
15
15
|
import {InstanceStore} from "./InstanceStore.sol";
|
16
16
|
|
17
17
|
|
18
18
|
library InstanceAuthorizationsLib
|
19
19
|
{
|
20
20
|
function grantInitialAuthorizations(
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
AccessManagerExtendedInitializeable accessManager,
|
22
|
+
InstanceAdmin instanceAdmin,
|
23
|
+
Instance instance,
|
24
|
+
BundleManager bundleManager,
|
25
|
+
InstanceStore instanceStore,
|
25
26
|
address instanceOwner,
|
26
27
|
IRegistry registry,
|
27
28
|
VersionPart majorVersion)
|
28
29
|
external
|
29
30
|
{
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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);
|
42
45
|
}
|
43
46
|
|
44
|
-
function
|
47
|
+
function _createRoles(InstanceAdmin instanceAdmin) private {
|
45
48
|
// default roles controlled by ADMIN_ROLE -> core roles
|
46
49
|
// all set/granted only once during cloning (the only exception is INSTANCE_OWNER_ROLE, hooked to instance nft)
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
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
|
+
|
55
61
|
// default roles controlled by INSTANCE_OWNER_ROLE -> gif roles
|
56
|
-
|
57
|
-
|
58
|
-
|
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());
|
59
66
|
}
|
60
67
|
|
61
|
-
function
|
62
|
-
|
63
|
-
Instance
|
64
|
-
BundleManager
|
65
|
-
InstanceStore
|
68
|
+
function _createTargets(
|
69
|
+
InstanceAdmin instanceAdmin,
|
70
|
+
Instance instance,
|
71
|
+
BundleManager bundleManager,
|
72
|
+
InstanceStore instanceStore)
|
66
73
|
private
|
67
74
|
{
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
75
|
+
instanceAdmin.createCoreTarget(address(instance), "Instance");
|
76
|
+
//instanceAdmin.createCoreTarget(address(instanceAdmin), "InstanceAdmin");
|
77
|
+
instanceAdmin.createCoreTarget(address(bundleManager), "BundleManager");
|
78
|
+
instanceAdmin.createCoreTarget(address(instanceStore), "InstanceStore");
|
72
79
|
}
|
73
80
|
|
74
|
-
function
|
75
|
-
|
76
|
-
|
81
|
+
function _grantComponentServiceAuthorizations(
|
82
|
+
AccessManagerExtendedInitializeable accessManager,
|
83
|
+
InstanceAdmin instanceAdmin,
|
84
|
+
InstanceStore instanceStore,
|
77
85
|
IRegistry registry,
|
78
86
|
VersionPart majorVersion)
|
79
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
|
80
140
|
{
|
81
141
|
// configure authorization for distribution service on instance
|
82
142
|
address distributionServiceAddress = registry.getServiceAddress(DISTRIBUTION(), majorVersion);
|
83
|
-
|
84
|
-
bytes4[] memory instanceDistributionServiceSelectors = new bytes4[](
|
85
|
-
instanceDistributionServiceSelectors[0] =
|
86
|
-
instanceDistributionServiceSelectors[1] =
|
87
|
-
instanceDistributionServiceSelectors[
|
88
|
-
instanceDistributionServiceSelectors[
|
89
|
-
instanceDistributionServiceSelectors[
|
90
|
-
instanceDistributionServiceSelectors[
|
91
|
-
instanceDistributionServiceSelectors[
|
92
|
-
instanceDistributionServiceSelectors[
|
93
|
-
instanceDistributionServiceSelectors[
|
94
|
-
instanceDistributionServiceSelectors[
|
95
|
-
instanceDistributionServiceSelectors[
|
96
|
-
|
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(
|
97
157
|
"InstanceStore",
|
98
158
|
instanceDistributionServiceSelectors,
|
99
159
|
DISTRIBUTION_SERVICE_ROLE());
|
100
160
|
}
|
101
161
|
|
102
162
|
function _grantPoolServiceAuthorizations(
|
103
|
-
|
104
|
-
|
163
|
+
AccessManagerExtendedInitializeable accessManager,
|
164
|
+
InstanceAdmin instanceAdmin,
|
165
|
+
InstanceStore instanceStore,
|
105
166
|
IRegistry registry,
|
106
167
|
VersionPart majorVersion)
|
107
168
|
private
|
108
169
|
{
|
109
170
|
// configure authorization for pool service on instance
|
110
171
|
address poolServiceAddress = registry.getServiceAddress(POOL(), majorVersion);
|
111
|
-
|
112
|
-
bytes4[] memory instancePoolServiceSelectors = new bytes4[](4)
|
113
|
-
instancePoolServiceSelectors[0] =
|
114
|
-
|
115
|
-
clonedAccessManager.setCoreTargetFunctionRole(
|
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(
|
116
176
|
"InstanceStore",
|
117
177
|
instancePoolServiceSelectors,
|
118
178
|
POOL_SERVICE_ROLE());
|
119
179
|
}
|
120
180
|
|
121
181
|
function _grantProductServiceAuthorizations(
|
122
|
-
|
123
|
-
|
182
|
+
AccessManagerExtendedInitializeable accessManager,
|
183
|
+
InstanceAdmin instanceAdmin,
|
184
|
+
InstanceStore instanceStore,
|
124
185
|
IRegistry registry,
|
125
186
|
VersionPart majorVersion)
|
126
187
|
private
|
127
188
|
{
|
128
189
|
// configure authorization for product service on instance
|
129
190
|
address productServiceAddress = registry.getServiceAddress(PRODUCT(), majorVersion);
|
130
|
-
|
131
|
-
bytes4[] memory instanceProductServiceSelectors = new bytes4[](
|
132
|
-
instanceProductServiceSelectors[0] =
|
133
|
-
instanceProductServiceSelectors[1] =
|
134
|
-
instanceProductServiceSelectors[2] =
|
135
|
-
|
136
|
-
instanceProductServiceSelectors[4] = clonedInstanceStore.updateRiskState.selector;
|
137
|
-
clonedAccessManager.setCoreTargetFunctionRole(
|
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(
|
138
197
|
"InstanceStore",
|
139
198
|
instanceProductServiceSelectors,
|
140
199
|
PRODUCT_SERVICE_ROLE());
|
141
200
|
}
|
142
201
|
|
143
202
|
function _grantApplicationServiceAuthorizations(
|
144
|
-
|
145
|
-
|
203
|
+
AccessManagerExtendedInitializeable accessManager,
|
204
|
+
InstanceAdmin instanceAdmin,
|
205
|
+
InstanceStore instanceStore,
|
146
206
|
IRegistry registry,
|
147
207
|
VersionPart majorVersion)
|
148
208
|
private
|
149
209
|
{
|
150
210
|
// configure authorization for application services on instance
|
151
211
|
address applicationServiceAddress = registry.getServiceAddress(APPLICATION(), majorVersion);
|
152
|
-
|
212
|
+
accessManager.grantRole(APPLICATION_SERVICE_ROLE().toInt(), applicationServiceAddress, 0);
|
153
213
|
bytes4[] memory instanceApplicationServiceSelectors = new bytes4[](3);
|
154
|
-
instanceApplicationServiceSelectors[0] =
|
155
|
-
instanceApplicationServiceSelectors[1] =
|
156
|
-
instanceApplicationServiceSelectors[2] =
|
157
|
-
|
214
|
+
instanceApplicationServiceSelectors[0] = instanceStore.createApplication.selector;
|
215
|
+
instanceApplicationServiceSelectors[1] = instanceStore.updateApplication.selector;
|
216
|
+
instanceApplicationServiceSelectors[2] = instanceStore.updateApplicationState.selector;
|
217
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
158
218
|
"InstanceStore",
|
159
219
|
instanceApplicationServiceSelectors,
|
160
220
|
APPLICATION_SERVICE_ROLE());
|
161
221
|
}
|
162
222
|
|
163
223
|
function _grantPolicyServiceAuthorizations(
|
164
|
-
|
165
|
-
|
224
|
+
AccessManagerExtendedInitializeable accessManager,
|
225
|
+
InstanceAdmin instanceAdmin,
|
226
|
+
InstanceStore instanceStore,
|
166
227
|
IRegistry registry,
|
167
228
|
VersionPart majorVersion)
|
168
229
|
private
|
169
230
|
{
|
170
231
|
// configure authorization for policy services on instance
|
171
232
|
address policyServiceAddress = registry.getServiceAddress(POLICY(), majorVersion);
|
172
|
-
|
233
|
+
accessManager.grantRole(POLICY_SERVICE_ROLE().toInt(), policyServiceAddress, 0);
|
173
234
|
bytes4[] memory instancePolicyServiceSelectors = new bytes4[](2);
|
174
|
-
instancePolicyServiceSelectors[0] =
|
175
|
-
instancePolicyServiceSelectors[1] =
|
176
|
-
|
235
|
+
instancePolicyServiceSelectors[0] = instanceStore.updatePolicy.selector;
|
236
|
+
instancePolicyServiceSelectors[1] = instanceStore.updatePolicyState.selector;
|
237
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
177
238
|
"InstanceStore",
|
178
239
|
instancePolicyServiceSelectors,
|
179
240
|
POLICY_SERVICE_ROLE());
|
180
241
|
}
|
181
242
|
|
182
243
|
function _grantClaimServiceAuthorizations(
|
183
|
-
|
184
|
-
|
244
|
+
AccessManagerExtendedInitializeable accessManager,
|
245
|
+
InstanceAdmin instanceAdmin,
|
246
|
+
InstanceStore instanceStore,
|
185
247
|
IRegistry registry,
|
186
248
|
VersionPart majorVersion)
|
187
249
|
private
|
188
250
|
{
|
189
251
|
// configure authorization for claim/payout services on instance
|
190
252
|
address claimServiceAddress = registry.getServiceAddress(CLAIM(), majorVersion);
|
191
|
-
|
253
|
+
accessManager.grantRole(CLAIM_SERVICE_ROLE().toInt(), claimServiceAddress, 0);
|
192
254
|
|
193
255
|
bytes4[] memory instancePolicyServiceSelectors = new bytes4[](1);
|
194
|
-
instancePolicyServiceSelectors[0] =
|
195
|
-
|
256
|
+
instancePolicyServiceSelectors[0] = instanceStore.updatePolicyClaims.selector;
|
257
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
196
258
|
"InstanceStore",
|
197
259
|
instancePolicyServiceSelectors,
|
198
260
|
CLAIM_SERVICE_ROLE());
|
199
261
|
|
200
262
|
bytes4[] memory instanceClaimServiceSelectors = new bytes4[](4);
|
201
|
-
instanceClaimServiceSelectors[0] =
|
202
|
-
instanceClaimServiceSelectors[1] =
|
203
|
-
instanceClaimServiceSelectors[2] =
|
204
|
-
instanceClaimServiceSelectors[3] =
|
205
|
-
|
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(
|
206
268
|
"InstanceStore",
|
207
269
|
instanceClaimServiceSelectors,
|
208
270
|
CLAIM_SERVICE_ROLE());
|
209
271
|
}
|
210
272
|
|
211
273
|
function _grantBundleServiceAuthorizations(
|
212
|
-
|
213
|
-
|
214
|
-
|
274
|
+
AccessManagerExtendedInitializeable accessManager,
|
275
|
+
InstanceAdmin instanceAdmin,
|
276
|
+
InstanceStore instanceStore,
|
277
|
+
BundleManager bundleManager,
|
215
278
|
IRegistry registry,
|
216
279
|
VersionPart majorVersion)
|
217
280
|
private
|
218
281
|
{
|
219
282
|
// configure authorization for bundle service on instance
|
220
283
|
address bundleServiceAddress = registry.getServiceAddress(BUNDLE(), majorVersion);
|
221
|
-
|
222
|
-
bytes4[] memory instanceBundleServiceSelectors = new bytes4[](
|
223
|
-
instanceBundleServiceSelectors[0] =
|
224
|
-
instanceBundleServiceSelectors[1] =
|
225
|
-
instanceBundleServiceSelectors[2] =
|
226
|
-
|
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(
|
227
292
|
"InstanceStore",
|
228
293
|
instanceBundleServiceSelectors,
|
229
294
|
BUNDLE_SERVICE_ROLE());
|
230
295
|
|
231
296
|
// configure authorization for bundle service on bundle manager
|
232
297
|
bytes4[] memory bundleManagerBundleServiceSelectors = new bytes4[](5);
|
233
|
-
bundleManagerBundleServiceSelectors[0] =
|
234
|
-
bundleManagerBundleServiceSelectors[1] =
|
235
|
-
bundleManagerBundleServiceSelectors[2] =
|
236
|
-
bundleManagerBundleServiceSelectors[3] =
|
237
|
-
bundleManagerBundleServiceSelectors[4] =
|
238
|
-
|
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(
|
239
304
|
"BundleManager",
|
240
305
|
bundleManagerBundleServiceSelectors,
|
241
306
|
BUNDLE_SERVICE_ROLE());
|
242
307
|
}
|
243
308
|
|
244
309
|
function _grantInstanceServiceAuthorizations(
|
245
|
-
|
246
|
-
|
310
|
+
AccessManagerExtendedInitializeable accessManager,
|
311
|
+
InstanceAdmin instanceAdmin,
|
312
|
+
Instance instance,
|
247
313
|
IRegistry registry,
|
248
314
|
VersionPart majorVersion)
|
249
315
|
private
|
250
316
|
{
|
251
317
|
// configure authorization for instance service on instance
|
252
318
|
address instanceServiceAddress = registry.getServiceAddress(INSTANCE(), majorVersion);
|
253
|
-
|
319
|
+
accessManager.grantRole(INSTANCE_SERVICE_ROLE().toInt(), instanceServiceAddress, 0);
|
254
320
|
bytes4[] memory instanceInstanceServiceSelectors = new bytes4[](1);
|
255
|
-
instanceInstanceServiceSelectors[0] =
|
256
|
-
|
321
|
+
instanceInstanceServiceSelectors[0] = instance.setInstanceReader.selector;
|
322
|
+
instanceAdmin.setTargetFunctionRoleByService(
|
257
323
|
"Instance",
|
258
324
|
instanceInstanceServiceSelectors,
|
259
325
|
INSTANCE_SERVICE_ROLE());
|
260
326
|
|
261
327
|
// configure authorizations for instance service on instance access manager
|
262
|
-
bytes4[] memory
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
"
|
268
|
-
|
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,
|
269
335
|
INSTANCE_SERVICE_ROLE());
|
270
336
|
}
|
271
337
|
|
272
338
|
function _grantInstanceAuthorizations(
|
273
|
-
|
339
|
+
AccessManagerExtendedInitializeable accessManager,
|
340
|
+
InstanceAdmin instanceAdmin,
|
341
|
+
Instance instance,
|
274
342
|
IRegistry registry,
|
275
343
|
VersionPart majorVersion)
|
276
344
|
private
|
277
345
|
{
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
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,
|
286
355
|
INSTANCE_ROLE());
|
287
356
|
}
|
288
357
|
|
289
358
|
function _grantInstanceOwnerAuthorizations(
|
290
|
-
|
291
|
-
Instance
|
359
|
+
InstanceAdmin instanceAdmin,
|
360
|
+
Instance instance,
|
292
361
|
IRegistry registry,
|
293
362
|
VersionPart majorVersion)
|
294
363
|
private
|
@@ -296,11 +365,11 @@ library InstanceAuthorizationsLib
|
|
296
365
|
// configure authorization for instance owner on instance access manager
|
297
366
|
// instance owner role is granted/revoked ONLY by INSTANCE_ROLE
|
298
367
|
bytes4[] memory instanceInstanceOwnerSelectors = new bytes4[](4);
|
299
|
-
instanceInstanceOwnerSelectors[0] =
|
300
|
-
instanceInstanceOwnerSelectors[1] =
|
301
|
-
instanceInstanceOwnerSelectors[2] =
|
302
|
-
instanceInstanceOwnerSelectors[3] =
|
303
|
-
|
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(
|
304
373
|
"Instance",
|
305
374
|
instanceInstanceOwnerSelectors,
|
306
375
|
INSTANCE_OWNER_ROLE());
|