@etherisc/gif-next 0.0.2-bb3faee-097 → 0.0.2-bb9ecaf-723
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 +15 -320
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +2 -2
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +49 -29
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +201 -130
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +845 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +73 -46
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +105 -77
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +12 -2
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +12 -2
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +38 -32
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +8 -18
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +93 -54
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +0 -10
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +79 -59
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +0 -10
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +20 -30
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +93 -54
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +64 -74
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +93 -54
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +21 -31
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +93 -54
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +16 -26
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +24 -34
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +93 -54
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +25 -35
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +93 -54
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +50 -228
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +23 -0
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +20 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +70 -35
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +335 -284
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +82 -112
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +55 -175
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +40 -20
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +45 -25
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1362 -2115
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +6 -16
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +87 -48
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +0 -10
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +0 -10
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +54 -34
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +0 -10
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +93 -54
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +66 -46
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +0 -10
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +0 -10
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +2 -2
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +67 -47
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +48 -28
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +0 -10
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +93 -54
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +74 -74
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +71 -51
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +0 -10
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +64 -44
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +55 -35
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +0 -10
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +2 -2
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +46 -26
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +312 -217
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +126 -63
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +41 -21
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +330 -211
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +98 -86
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +62 -40
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -10
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +28 -28
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +65 -45
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +2 -2
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -10
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +0 -10
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -10
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/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/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +0 -10
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +22 -48
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +50 -38
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +44 -24
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +198 -166
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +21 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.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/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +22 -6
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +220 -321
- package/contracts/authorization/AccessAdminLib.sol +309 -27
- package/contracts/authorization/AccessManagerCloneable.sol +0 -18
- package/contracts/authorization/Authorization.sol +30 -9
- package/contracts/authorization/IAccess.sol +13 -14
- package/contracts/authorization/IAccessAdmin.sol +9 -11
- package/contracts/authorization/ServiceAuthorization.sol +10 -30
- package/contracts/distribution/BasicDistribution.sol +1 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +2 -4
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +11 -0
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +18 -14
- package/contracts/instance/InstanceAdmin.sol +43 -119
- package/contracts/instance/InstanceAuthorizationV3.sol +49 -40
- package/contracts/instance/InstanceReader.sol +33 -59
- package/contracts/instance/InstanceService.sol +57 -43
- package/contracts/instance/InstanceStore.sol +153 -128
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/module/IComponents.sol +0 -2
- package/contracts/oracle/BasicOracle.sol +1 -2
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -1
- package/contracts/oracle/Oracle.sol +2 -4
- package/contracts/pool/BasicPool.sol +1 -2
- package/contracts/pool/BasicPoolAuthorization.sol +1 -1
- package/contracts/pool/Pool.sol +2 -4
- package/contracts/product/ApplicationService.sol +2 -2
- package/contracts/product/BasicProduct.sol +1 -2
- package/contracts/product/BasicProductAuthorization.sol +1 -1
- package/contracts/product/ClaimService.sol +49 -53
- package/contracts/product/PolicyService.sol +9 -9
- package/contracts/product/Product.sol +2 -4
- package/contracts/product/RiskService.sol +3 -4
- package/contracts/registry/RegistryAdmin.sol +12 -30
- package/contracts/registry/RegistryAuthorization.sol +32 -31
- package/contracts/registry/ReleaseAdmin.sol +13 -9
- package/contracts/shared/Component.sol +2 -6
- package/contracts/shared/ComponentService.sol +22 -18
- package/contracts/shared/InstanceLinkedComponent.sol +2 -4
- package/contracts/staking/IStaking.sol +0 -1
- package/contracts/staking/Staking.sol +6 -6
- package/contracts/staking/StakingStore.sol +6 -0
- package/contracts/type/Blocknumber.sol +4 -9
- package/contracts/upgradeability/ProxyManager.sol +2 -2
- package/package.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
@@ -4,12 +4,12 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
6
|
import {IAccess} from "../authorization/IAccess.sol";
|
7
|
+
import {IBaseStore} from "./IBaseStore.sol";
|
7
8
|
import {IBundle} from "../instance/module/IBundle.sol";
|
8
9
|
import {IComponents} from "../instance/module/IComponents.sol";
|
9
10
|
import {IDistribution} from "../instance/module/IDistribution.sol";
|
10
11
|
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
11
12
|
import {IInstance} from "./IInstance.sol";
|
12
|
-
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
13
13
|
import {IOracle} from "../oracle/IOracle.sol";
|
14
14
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
15
15
|
import {IRegistry} from "../registry/IRegistry.sol";
|
@@ -18,7 +18,7 @@ import {IRisk} from "../instance/module/IRisk.sol";
|
|
18
18
|
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
19
19
|
import {Amount} from "../type/Amount.sol";
|
20
20
|
import {BundleSet} from "./BundleSet.sol";
|
21
|
-
import {BUNDLE, COMPONENT,
|
21
|
+
import {BUNDLE, COMPONENT, DISTRIBUTION, PREMIUM, POLICY} from "../type/ObjectType.sol";
|
22
22
|
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
23
23
|
import {DistributorType} from "../type/DistributorType.sol";
|
24
24
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
@@ -27,6 +27,7 @@ import {Key32} from "../type/Key32.sol";
|
|
27
27
|
import {NftId} from "../type/NftId.sol";
|
28
28
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
29
29
|
import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
|
30
|
+
import {ProductStore} from "./ProductStore.sol";
|
30
31
|
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
31
32
|
import {RequestId} from "../type/RequestId.sol";
|
32
33
|
import {RiskId} from "../type/RiskId.sol";
|
@@ -51,6 +52,7 @@ contract InstanceReader {
|
|
51
52
|
InstanceAdmin internal _instanceAdmin;
|
52
53
|
|
53
54
|
InstanceStore internal _store;
|
55
|
+
ProductStore internal _productStore;
|
54
56
|
BundleSet internal _bundleSet;
|
55
57
|
RiskSet internal _riskSet;
|
56
58
|
IDistributionService internal _distributionService;
|
@@ -79,6 +81,7 @@ contract InstanceReader {
|
|
79
81
|
_registry = _instance.getRegistry();
|
80
82
|
|
81
83
|
_store = _instance.getInstanceStore();
|
84
|
+
_productStore = _instance.getProductStore();
|
82
85
|
_bundleSet = _instance.getBundleSet();
|
83
86
|
_riskSet = _instance.getRiskSet();
|
84
87
|
_distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
@@ -107,17 +110,10 @@ contract InstanceReader {
|
|
107
110
|
|
108
111
|
//--- component functions ------------------------------------------------------//
|
109
112
|
|
110
|
-
/// @dev Returns the number of registered components.
|
111
|
-
/// Components may be products, distributions, oracles or pools.
|
112
|
-
function components() public view returns (uint256 componentCount) {
|
113
|
-
return _instanceAdmin.components();
|
114
|
-
}
|
115
|
-
|
116
113
|
|
117
114
|
/// @dev Returns the component info for the given component NFT ID.
|
118
115
|
function getComponentInfo(NftId componentNftId) public view returns (IComponents.ComponentInfo memory info) {
|
119
|
-
|
120
|
-
if (success) { return abi.decode(data, (IComponents.ComponentInfo)); }
|
116
|
+
return _store.getComponentInfo(componentNftId);
|
121
117
|
}
|
122
118
|
|
123
119
|
|
@@ -133,8 +129,10 @@ contract InstanceReader {
|
|
133
129
|
/// The wallet holds the component's funds. Tokens collected by the component are transferred to the wallet and
|
134
130
|
/// Tokens distributed from the component are transferred from this wallet.
|
135
131
|
function getWallet(NftId componentNftId) public view returns (address wallet) {
|
136
|
-
|
137
|
-
if (address(tokenHandler) != address(0)) {
|
132
|
+
IComponents.ComponentInfo memory info = getComponentInfo(componentNftId);
|
133
|
+
if (address(info.tokenHandler) != address(0)) {
|
134
|
+
return info.tokenHandler.getWallet();
|
135
|
+
}
|
138
136
|
}
|
139
137
|
|
140
138
|
|
@@ -143,8 +141,10 @@ contract InstanceReader {
|
|
143
141
|
/// To allow a component to collect funds from an account, it has to create a corresponding allowance from the
|
144
142
|
/// account to the address of the component's token handler.
|
145
143
|
function getTokenHandler(NftId componentNftId) public view returns (TokenHandler tokenHandler) {
|
146
|
-
|
147
|
-
if
|
144
|
+
IComponents.ComponentInfo memory info = _store.getComponentInfo(componentNftId);
|
145
|
+
if(address(info.tokenHandler) != address(0)) {
|
146
|
+
return info.tokenHandler;
|
147
|
+
}
|
148
148
|
}
|
149
149
|
|
150
150
|
|
@@ -184,15 +184,13 @@ contract InstanceReader {
|
|
184
184
|
|
185
185
|
/// @dev Returns the product info for the given product NFT ID.
|
186
186
|
function getProductInfo(NftId productNftId) public view returns (IComponents.ProductInfo memory info) {
|
187
|
-
|
188
|
-
if (success) { return abi.decode(data, (IComponents.ProductInfo)); }
|
187
|
+
return _productStore.getProductInfo(productNftId);
|
189
188
|
}
|
190
189
|
|
191
190
|
|
192
191
|
/// @dev Returns the current fee settings for the given product NFT ID.
|
193
192
|
function getFeeInfo(NftId productNftId) public view returns (IComponents.FeeInfo memory feeInfo) {
|
194
|
-
|
195
|
-
if (success) { return abi.decode(data, (IComponents.FeeInfo)); }
|
193
|
+
return _productStore.getFeeInfo(productNftId);
|
196
194
|
}
|
197
195
|
|
198
196
|
//--- risk functions ---------------------------------------------------------//
|
@@ -223,14 +221,13 @@ contract InstanceReader {
|
|
223
221
|
|
224
222
|
/// @dev Returns the risk info for the given risk ID.
|
225
223
|
function getRiskInfo(RiskId riskId) public view returns (IRisk.RiskInfo memory info) {
|
226
|
-
|
227
|
-
if (success) { return abi.decode(data, (IRisk.RiskInfo)); }
|
224
|
+
return _productStore.getRiskInfo(riskId);
|
228
225
|
}
|
229
226
|
|
230
227
|
|
231
228
|
/// @dev Returns the risk state for the given risk ID.
|
232
229
|
function getRiskState(RiskId riskId) public view returns (StateId stateId) {
|
233
|
-
return getState(riskId.toKey32());
|
230
|
+
return _productStore.getState(riskId.toKey32());
|
234
231
|
}
|
235
232
|
|
236
233
|
|
@@ -250,14 +247,13 @@ contract InstanceReader {
|
|
250
247
|
|
251
248
|
/// @dev Returns the info for the given policy NFT ID.
|
252
249
|
function getPolicyInfo(NftId policyNftId) public view returns (IPolicy.PolicyInfo memory info) {
|
253
|
-
|
254
|
-
if (success) { return abi.decode(data, (IPolicy.PolicyInfo)); }
|
250
|
+
return _productStore.getPolicyInfo(policyNftId);
|
255
251
|
}
|
256
252
|
|
257
253
|
|
258
254
|
/// @dev Returns the state for the given policy NFT ID.
|
259
255
|
function getPolicyState(NftId policyNftId) public view returns (StateId state) {
|
260
|
-
return getState(_toPolicyKey(policyNftId));
|
256
|
+
return _productStore.getState(_toPolicyKey(policyNftId));
|
261
257
|
}
|
262
258
|
|
263
259
|
|
@@ -282,16 +278,13 @@ contract InstanceReader {
|
|
282
278
|
|
283
279
|
/// @dev Returns the claim info for the given policy NFT ID and claim ID.
|
284
280
|
function getClaimInfo(NftId policyNftId, ClaimId claimId) public view returns (IPolicy.ClaimInfo memory info) {
|
285
|
-
(
|
286
|
-
if (success) {
|
287
|
-
return abi.decode(data, (IPolicy.ClaimInfo));
|
288
|
-
}
|
281
|
+
return _productStore.getClaimInfo(policyNftId, claimId);
|
289
282
|
}
|
290
283
|
|
291
284
|
|
292
285
|
/// @dev Returns the current claim state for the given policy NFT ID and claim ID.
|
293
286
|
function getClaimState(NftId policyNftId, ClaimId claimId) public view returns (StateId state) {
|
294
|
-
return getState(claimId.toKey32(policyNftId));
|
287
|
+
return _productStore.getState(claimId.toKey32(policyNftId));
|
295
288
|
}
|
296
289
|
|
297
290
|
|
@@ -319,44 +312,40 @@ contract InstanceReader {
|
|
319
312
|
|
320
313
|
/// @dev Returns the payout info for the given policy NFT ID and payout ID.
|
321
314
|
function getPayoutInfo(NftId policyNftId, PayoutId payoutId) public view returns (IPolicy.PayoutInfo memory info) {
|
322
|
-
(
|
323
|
-
if (success) { return abi.decode(data, (IPolicy.PayoutInfo)); }
|
315
|
+
return _productStore.getPayoutInfo(policyNftId, payoutId);
|
324
316
|
}
|
325
317
|
|
326
318
|
|
327
319
|
/// @dev Returns the payout state for the given policy NFT ID and payout ID.
|
328
320
|
function getPayoutState(NftId policyNftId, PayoutId payoutId) public view returns (StateId state) {
|
329
|
-
return getState(payoutId.toKey32(policyNftId));
|
321
|
+
return _productStore.getState(payoutId.toKey32(policyNftId));
|
330
322
|
}
|
331
323
|
|
332
324
|
//--- premium functions -------------------------------------------------------//
|
333
325
|
|
334
326
|
/// @dev Returns the premium info for the given policy NFT ID.
|
335
327
|
function getPremiumInfo(NftId policyNftId) public view returns (IPolicy.PremiumInfo memory info) {
|
336
|
-
|
337
|
-
if (success) { return abi.decode(data, (IPolicy.PremiumInfo)); }
|
328
|
+
return _productStore.getPremiumInfo(policyNftId);
|
338
329
|
}
|
339
330
|
|
340
331
|
|
341
332
|
/// @dev Returns the premium state for the given policy NFT ID.
|
342
333
|
function getPremiumState(NftId policyNftId) public view returns (StateId state) {
|
343
|
-
return getState(_toPremiumKey(policyNftId));
|
334
|
+
return _productStore.getState(_toPremiumKey(policyNftId));
|
344
335
|
}
|
345
336
|
|
346
337
|
//--- oracle functions ---------------------------------------------------------//
|
347
338
|
|
348
339
|
/// @dev Returns the request info for the given oracle request ID.
|
349
340
|
function getRequestInfo(RequestId requestId) public view returns (IOracle.RequestInfo memory requestInfo) {
|
350
|
-
|
351
|
-
if (success) { return abi.decode(data, (IOracle.RequestInfo)); }
|
341
|
+
return _store.getRequestInfo(requestId);
|
352
342
|
}
|
353
343
|
|
354
344
|
//--- pool functions -----------------------------------------------------------//
|
355
345
|
|
356
346
|
/// @dev Returns the pool info for the given pool NFT ID.
|
357
347
|
function getPoolInfo(NftId poolNftId) public view returns (IComponents.PoolInfo memory info) {
|
358
|
-
|
359
|
-
if (success) { return abi.decode(data, (IComponents.PoolInfo)); }
|
348
|
+
return _store.getPoolInfo(poolNftId);
|
360
349
|
}
|
361
350
|
|
362
351
|
//--- bundle functions -------------------------------------------------------//
|
@@ -387,8 +376,7 @@ contract InstanceReader {
|
|
387
376
|
|
388
377
|
/// @dev Returns the bundle info for the given bundle NFT ID.
|
389
378
|
function getBundleInfo(NftId bundleNftId) public view returns (IBundle.BundleInfo memory info) {
|
390
|
-
|
391
|
-
if (success) { return abi.decode(data, (IBundle.BundleInfo)); }
|
379
|
+
return _store.getBundleInfo(bundleNftId);
|
392
380
|
}
|
393
381
|
|
394
382
|
|
@@ -400,14 +388,12 @@ contract InstanceReader {
|
|
400
388
|
//--- distribution functions -------------------------------------------------------//
|
401
389
|
|
402
390
|
function getDistributorTypeInfo(DistributorType distributorType) public view returns (IDistribution.DistributorTypeInfo memory info) {
|
403
|
-
|
404
|
-
if (success) { return abi.decode(data, (IDistribution.DistributorTypeInfo)); }
|
391
|
+
return _store.getDistributorTypeInfo(distributorType);
|
405
392
|
}
|
406
393
|
|
407
394
|
|
408
395
|
function getDistributorInfo(NftId distributorNftId) public view returns (IDistribution.DistributorInfo memory info) {
|
409
|
-
|
410
|
-
if (success) { return abi.decode(data, (IDistribution.DistributorInfo)); }
|
396
|
+
return _store.getDistributorInfo(distributorNftId);
|
411
397
|
}
|
412
398
|
|
413
399
|
|
@@ -424,8 +410,7 @@ contract InstanceReader {
|
|
424
410
|
|
425
411
|
|
426
412
|
function getReferralInfo(ReferralId referralId) public view returns (IDistribution.ReferralInfo memory info) {
|
427
|
-
|
428
|
-
if (success) { return abi.decode(data, (IDistribution.ReferralInfo)); }
|
413
|
+
return _store.getReferralInfo(referralId);
|
429
414
|
}
|
430
415
|
|
431
416
|
|
@@ -569,22 +554,16 @@ contract InstanceReader {
|
|
569
554
|
return _instanceAdmin;
|
570
555
|
}
|
571
556
|
|
572
|
-
function getInstanceStore() external view returns (IKeyValueStore store) {
|
573
|
-
return _store;
|
574
|
-
}
|
575
|
-
|
576
|
-
|
577
557
|
function getBundleSet() external view returns (BundleSet bundleSet) {
|
578
558
|
return _bundleSet;
|
579
559
|
}
|
580
560
|
|
581
|
-
|
582
561
|
function getRiskSet() external view returns (RiskSet riskSet) {
|
583
562
|
return _riskSet;
|
584
563
|
}
|
585
564
|
|
586
565
|
|
587
|
-
function getMetadata(Key32 key) public view returns (
|
566
|
+
function getMetadata(Key32 key) public view returns (IBaseStore.Metadata memory metadata) {
|
588
567
|
return _store.getMetadata(key);
|
589
568
|
}
|
590
569
|
|
@@ -605,11 +584,6 @@ contract InstanceReader {
|
|
605
584
|
|
606
585
|
//--- internal functions ----------------------------------------------------//
|
607
586
|
|
608
|
-
function _getData(Key32 key) internal view returns (bytes memory data, bool success) {
|
609
|
-
data = _store.getData(key);
|
610
|
-
return (data, data.length > 0);
|
611
|
-
}
|
612
|
-
|
613
587
|
|
614
588
|
function _toPolicyKey(NftId policyNftId) internal pure returns (Key32) {
|
615
589
|
return policyNftId.toKey32(POLICY());
|
@@ -21,6 +21,7 @@ import {InstanceReader} from "./InstanceReader.sol";
|
|
21
21
|
import {InstanceStore} from "./InstanceStore.sol";
|
22
22
|
import {NftId} from "../type/NftId.sol";
|
23
23
|
import {ObjectType, INSTANCE, COMPONENT, INSTANCE, REGISTRY, STAKING} from "../type/ObjectType.sol";
|
24
|
+
import {ProductStore} from "./ProductStore.sol";
|
24
25
|
import {RiskSet} from "./RiskSet.sol";
|
25
26
|
import {RoleId} from "../type/RoleId.sol";
|
26
27
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -49,6 +50,7 @@ contract InstanceService is
|
|
49
50
|
address internal _masterInstanceBundleSet;
|
50
51
|
address internal _masterInstanceRiskSet;
|
51
52
|
address internal _masterInstanceStore;
|
53
|
+
address internal _masterProductStore;
|
52
54
|
|
53
55
|
|
54
56
|
modifier onlyInstance() {
|
@@ -323,45 +325,54 @@ contract InstanceService is
|
|
323
325
|
if(_masterInstanceRiskSet != address(0)) { revert ErrorInstanceServiceMasterRiskSetAlreadySet(); }
|
324
326
|
if(instanceAddress == address(0)) { revert ErrorInstanceServiceInstanceAddressZero(); }
|
325
327
|
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
328
|
+
{
|
329
|
+
IInstance instance = IInstance(instanceAddress);
|
330
|
+
address accessManagerAddress = instance.authority();
|
331
|
+
InstanceAdmin instanceAdmin = instance.getInstanceAdmin();
|
332
|
+
address instanceAdminAddress = address(instanceAdmin);
|
333
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
334
|
+
address instanceReaderAddress = address(instanceReader);
|
335
|
+
BundleSet bundleSet = instance.getBundleSet();
|
336
|
+
address bundleSetAddress = address(bundleSet);
|
337
|
+
RiskSet riskSet = instance.getRiskSet();
|
338
|
+
address riskSetAddress = address(riskSet);
|
339
|
+
InstanceStore instanceStore = instance.getInstanceStore();
|
340
|
+
address instanceStoreAddress = address(instanceStore);
|
341
|
+
ProductStore productStore = instance.getProductStore();
|
342
|
+
address productStoreAddress = address(productStore);
|
343
|
+
|
344
|
+
if(accessManagerAddress == address(0)) { revert ErrorInstanceServiceAccessManagerZero(); }
|
345
|
+
if(instanceAdminAddress == address(0)) { revert ErrorInstanceServiceInstanceAdminZero(); }
|
346
|
+
if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderZero(); }
|
347
|
+
if(bundleSetAddress == address(0)) { revert ErrorInstanceServiceBundleSetZero(); }
|
348
|
+
if(riskSetAddress == address(0)) { revert ErrorInstanceServiceRiskSetZero(); }
|
349
|
+
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
350
|
+
if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
|
351
|
+
|
352
|
+
if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
|
353
|
+
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
354
|
+
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
355
|
+
if(instanceStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceStoreAuthorityMismatch(); }
|
356
|
+
if(productStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceProductStoreAuthorityMismatch(); }
|
357
|
+
if(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
|
358
|
+
if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
|
359
|
+
if(instanceReader.getInstance() != instance) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch2(); }
|
360
|
+
|
361
|
+
_masterAccessManager = accessManagerAddress;
|
362
|
+
_masterInstanceAdmin = instanceAdminAddress;
|
363
|
+
_masterInstance = instanceAddress;
|
364
|
+
_masterInstanceReader = instanceReaderAddress;
|
365
|
+
_masterInstanceBundleSet = bundleSetAddress;
|
366
|
+
_masterInstanceRiskSet = riskSetAddress;
|
367
|
+
_masterInstanceStore = instanceStoreAddress;
|
368
|
+
_masterProductStore = productStoreAddress;
|
369
|
+
}
|
361
370
|
|
362
|
-
|
363
|
-
|
364
|
-
|
371
|
+
{
|
372
|
+
IInstance masterInstance = IInstance(_masterInstance);
|
373
|
+
IRegistry.ObjectInfo memory info = _registryService.registerInstance(masterInstance, getOwner());
|
374
|
+
masterInstanceNftId = info.nftId;
|
375
|
+
}
|
365
376
|
}
|
366
377
|
|
367
378
|
|
@@ -426,11 +437,14 @@ contract InstanceService is
|
|
426
437
|
// clone instance
|
427
438
|
Instance clonedInstance = Instance(Clones.clone(_masterInstance));
|
428
439
|
clonedInstance.initialize(
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
440
|
+
IInstance.InstanceContracts({
|
441
|
+
instanceAdmin: instanceAdmin,
|
442
|
+
instanceStore: InstanceStore(Clones.clone(address(_masterInstanceStore))),
|
443
|
+
productStore: ProductStore(Clones.clone(address(_masterProductStore))),
|
444
|
+
bundleSet: BundleSet(Clones.clone(_masterInstanceBundleSet)),
|
445
|
+
riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
|
446
|
+
instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
|
447
|
+
}),
|
434
448
|
getRegistry(),
|
435
449
|
getRelease(),
|
436
450
|
instanceOwner,
|