@etherisc/gif-next 0.0.2-b2910e7-757 → 0.0.2-b2e620f-736
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/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +148 -62
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +149 -21
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +82 -12
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +68 -13
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -65
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +152 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +51 -39
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +117 -110
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +46 -48
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +38 -26
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +27 -3
- 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 +102 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +127 -40
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +260 -185
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +152 -33
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +117 -54
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -63
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +111 -48
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +306 -147
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +118 -21
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +75 -5
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +150 -41
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +355 -99
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +140 -40
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +549 -218
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +87 -60
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +20 -22
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +403 -353
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +68 -56
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +126 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +38 -26
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +52 -40
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +98 -83
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +40 -22
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -39
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +127 -40
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +102 -310
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +33 -83
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -122
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -26
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +120 -175
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -39
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +241 -302
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +67 -45
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +91 -65
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +16 -22
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +157 -130
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +152 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +244 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +55 -65
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +61 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -55
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +144 -117
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +198 -181
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +51 -45
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +85 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -33
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +157 -130
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +76 -77
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +25 -19
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +26 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +64 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +250 -221
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +11 -13
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +316 -50
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +51 -39
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +119 -514
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +38 -72
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +435 -5
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -26
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +45 -327
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -26
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +51 -39
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +63 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +38 -26
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +56 -3
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +33 -33
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +90 -57
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +27 -19
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +4 -4
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +87 -51
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +18 -20
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +129 -129
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +23 -23
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +3 -3
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +62 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +177 -84
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +277 -229
- package/contracts/authorization/IAccessAdmin.sol +13 -7
- package/contracts/authorization/IAuthorization.sol +15 -1
- package/contracts/distribution/BasicDistribution.sol +4 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +27 -24
- package/contracts/distribution/DistributionService.sol +18 -15
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/examples/fire/FirePool.sol +6 -2
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +8 -1
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +6 -7
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +7 -9
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +32 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +13 -7
- package/contracts/instance/IInstanceService.sol +7 -1
- package/contracts/instance/Instance.sol +41 -16
- package/contracts/instance/InstanceAdmin.sol +241 -76
- package/contracts/instance/InstanceAuthorizationV3.sol +53 -31
- package/contracts/instance/InstanceReader.sol +162 -32
- package/contracts/instance/InstanceService.sol +59 -35
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -2
- package/contracts/instance/module/IRisk.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +92 -74
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +21 -13
- package/contracts/pool/BundleService.sol +35 -125
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -38
- package/contracts/pool/IPoolService.sol +49 -56
- package/contracts/pool/Pool.sol +9 -9
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +323 -186
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +15 -15
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +24 -10
- package/contracts/product/ClaimService.sol +157 -139
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +5 -2
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +23 -10
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/PolicyService.sol +269 -257
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +23 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +53 -7
- package/contracts/product/RiskService.sol +74 -25
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +8 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +7 -2
- package/contracts/registry/RegistryAdmin.sol +129 -237
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +127 -101
- package/contracts/registry/ServiceAuthorizationV3.sol +163 -40
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +30 -38
- package/contracts/shared/ComponentService.sol +165 -302
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +208 -9
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +2 -27
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InstanceLinkedComponent.sol +3 -3
- package/contracts/shared/NftOwnable.sol +4 -4
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +45 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +40 -96
- package/contracts/staking/IStaking.sol +0 -8
- package/contracts/staking/IStakingService.sol +8 -0
- package/contracts/staking/StakeManagerLib.sol +1 -1
- package/contracts/staking/Staking.sol +34 -13
- package/contracts/staking/StakingReader.sol +1 -1
- package/contracts/staking/StakingService.sol +32 -55
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +48 -21
- package/contracts/type/RiskId.sol +23 -6
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +9 -119
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +1 -1
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,32 +1,37 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
6
|
+
import {IBundle} from "../instance/module/IBundle.sol";
|
7
|
+
import {IComponents} from "../instance/module/IComponents.sol";
|
8
|
+
import {IDistribution} from "../instance/module/IDistribution.sol";
|
9
|
+
import {IInstance} from "./IInstance.sol";
|
10
|
+
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
11
|
+
import {IOracle} from "../oracle/IOracle.sol";
|
12
|
+
import {IPolicy} from "../instance/module/IPolicy.sol";
|
13
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
14
|
+
import {IRisk} from "../instance/module/IRisk.sol";
|
15
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
16
|
+
|
4
17
|
import {Amount} from "../type/Amount.sol";
|
18
|
+
import {BundleSet} from "./BundleSet.sol";
|
19
|
+
import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
|
5
20
|
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
6
21
|
import {DistributorType} from "../type/DistributorType.sol";
|
22
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
7
23
|
import {Key32} from "../type/Key32.sol";
|
8
24
|
import {NftId} from "../type/NftId.sol";
|
9
|
-
import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
|
10
25
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
11
26
|
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
12
27
|
import {RequestId} from "../type/RequestId.sol";
|
13
28
|
import {RiskId} from "../type/RiskId.sol";
|
29
|
+
import {RiskSet} from "./RiskSet.sol";
|
14
30
|
import {RoleId} from "../type/RoleId.sol";
|
15
31
|
import {StateId} from "../type/StateId.sol";
|
32
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
16
33
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
17
34
|
|
18
|
-
import {IBundle} from "../instance/module/IBundle.sol";
|
19
|
-
import {IComponents} from "../instance/module/IComponents.sol";
|
20
|
-
import {IDistribution} from "../instance/module/IDistribution.sol";
|
21
|
-
import {IInstance} from "./IInstance.sol";
|
22
|
-
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
23
|
-
import {IOracle} from "../oracle/IOracle.sol";
|
24
|
-
import {IPolicy} from "../instance/module/IPolicy.sol";
|
25
|
-
import {IRisk} from "../instance/module/IRisk.sol";
|
26
|
-
import {TimestampLib} from "../type/Timestamp.sol";
|
27
|
-
|
28
|
-
import {InstanceStore} from "./InstanceStore.sol";
|
29
|
-
import {BundleSet} from "./BundleSet.sol";
|
30
35
|
|
31
36
|
|
32
37
|
contract InstanceReader {
|
@@ -36,9 +41,12 @@ contract InstanceReader {
|
|
36
41
|
|
37
42
|
bool private _initialized = false;
|
38
43
|
|
44
|
+
IRegistry internal _registry;
|
39
45
|
IInstance internal _instance;
|
46
|
+
|
40
47
|
InstanceStore internal _store;
|
41
48
|
BundleSet internal _bundleSet;
|
49
|
+
RiskSet internal _riskSet;
|
42
50
|
|
43
51
|
/// @dev This initializer needs to be called from the instance itself.
|
44
52
|
function initialize() public {
|
@@ -49,18 +57,36 @@ contract InstanceReader {
|
|
49
57
|
initializeWithInstance(msg.sender);
|
50
58
|
}
|
51
59
|
|
52
|
-
|
53
|
-
|
60
|
+
function initializeWithInstance(address instanceAddress)
|
61
|
+
public
|
62
|
+
{
|
54
63
|
if(_initialized) {
|
55
64
|
revert ErrorInstanceReaderAlreadyInitialized();
|
56
65
|
}
|
57
66
|
|
58
67
|
_initialized = true;
|
59
68
|
_instance = IInstance(instanceAddress);
|
69
|
+
_registry = _instance.getRegistry();
|
70
|
+
|
60
71
|
_store = _instance.getInstanceStore();
|
61
72
|
_bundleSet = _instance.getBundleSet();
|
73
|
+
_riskSet = _instance.getRiskSet();
|
74
|
+
}
|
75
|
+
|
76
|
+
|
77
|
+
// instance level functions
|
78
|
+
|
79
|
+
function getRegistry() public view returns (IRegistry registry) {
|
80
|
+
return _registry;
|
81
|
+
}
|
82
|
+
|
83
|
+
function getInstanceNftId() public view returns (NftId instanceNftid) {
|
84
|
+
return _registry.getNftIdForAddress(address(_instance));
|
62
85
|
}
|
63
86
|
|
87
|
+
function getInstance() public view returns (IInstance instance) {
|
88
|
+
return _instance;
|
89
|
+
}
|
64
90
|
|
65
91
|
// module specific functions
|
66
92
|
|
@@ -102,10 +128,18 @@ contract InstanceReader {
|
|
102
128
|
return _store.getState(toPremiumKey(policyNftId));
|
103
129
|
}
|
104
130
|
|
131
|
+
function bundles(NftId poolNftId)
|
132
|
+
public
|
133
|
+
view
|
134
|
+
returns (uint256 bundleCount)
|
135
|
+
{
|
136
|
+
return _bundleSet.bundles(poolNftId);
|
137
|
+
}
|
138
|
+
|
105
139
|
function activeBundles(NftId poolNftId)
|
106
140
|
public
|
107
141
|
view
|
108
|
-
returns (uint256
|
142
|
+
returns (uint256 bundleCount)
|
109
143
|
{
|
110
144
|
return _bundleSet.activeBundles(poolNftId);
|
111
145
|
}
|
@@ -118,6 +152,14 @@ contract InstanceReader {
|
|
118
152
|
return _bundleSet.getActiveBundleNftId(poolNftId, idx);
|
119
153
|
}
|
120
154
|
|
155
|
+
function getBundleNftId(NftId poolNftId, uint256 idx)
|
156
|
+
public
|
157
|
+
view
|
158
|
+
returns (NftId bundleNftId)
|
159
|
+
{
|
160
|
+
return _bundleSet.getBundleNftId(poolNftId, idx);
|
161
|
+
}
|
162
|
+
|
121
163
|
function getBundleState(NftId bundleNftId)
|
122
164
|
public
|
123
165
|
view
|
@@ -145,7 +187,7 @@ contract InstanceReader {
|
|
145
187
|
function claims(NftId policyNftId)
|
146
188
|
public
|
147
189
|
view
|
148
|
-
returns (uint16
|
190
|
+
returns (uint16 claimCount)
|
149
191
|
{
|
150
192
|
return getPolicyInfo(policyNftId).claimsCount;
|
151
193
|
}
|
@@ -183,7 +225,7 @@ contract InstanceReader {
|
|
183
225
|
function payouts(NftId policyNftId, ClaimId claimId)
|
184
226
|
public
|
185
227
|
view
|
186
|
-
returns (uint24
|
228
|
+
returns (uint24 payoutCount)
|
187
229
|
{
|
188
230
|
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
189
231
|
}
|
@@ -226,6 +268,38 @@ contract InstanceReader {
|
|
226
268
|
return _store.getState(payoutId.toKey32(policyNftId));
|
227
269
|
}
|
228
270
|
|
271
|
+
function risks(NftId productNftId)
|
272
|
+
public
|
273
|
+
view
|
274
|
+
returns (uint256 riskCount)
|
275
|
+
{
|
276
|
+
return _riskSet.risks(productNftId);
|
277
|
+
}
|
278
|
+
|
279
|
+
function getRiskId(NftId productNftId, uint256 idx)
|
280
|
+
public
|
281
|
+
view
|
282
|
+
returns (RiskId riskId)
|
283
|
+
{
|
284
|
+
return _riskSet.getRiskId(productNftId, idx);
|
285
|
+
}
|
286
|
+
|
287
|
+
function activeRisks(NftId productNftId)
|
288
|
+
public
|
289
|
+
view
|
290
|
+
returns (uint256 activeRiskCount)
|
291
|
+
{
|
292
|
+
return _riskSet.activeRisks(productNftId);
|
293
|
+
}
|
294
|
+
|
295
|
+
function getActiveRiskId(NftId productNftId, uint256 idx)
|
296
|
+
public
|
297
|
+
view
|
298
|
+
returns (RiskId riskId)
|
299
|
+
{
|
300
|
+
return _riskSet.getActiveRiskId(productNftId, idx);
|
301
|
+
}
|
302
|
+
|
229
303
|
function getRiskInfo(RiskId riskId)
|
230
304
|
public
|
231
305
|
view
|
@@ -237,32 +311,68 @@ contract InstanceReader {
|
|
237
311
|
}
|
238
312
|
}
|
239
313
|
|
240
|
-
function
|
314
|
+
function getRiskState(RiskId riskId)
|
315
|
+
public
|
316
|
+
view
|
317
|
+
returns (StateId stateId)
|
318
|
+
{
|
319
|
+
bytes memory data = _store.getData(riskId.toKey32());
|
320
|
+
return _store.getState(riskId.toKey32());
|
321
|
+
}
|
322
|
+
|
323
|
+
function policiesForRisk(RiskId riskId)
|
241
324
|
public
|
242
325
|
view
|
243
|
-
returns (
|
326
|
+
returns (uint256 linkedPolicies)
|
244
327
|
{
|
245
|
-
|
328
|
+
return _riskSet.linkedPolicies(riskId);
|
329
|
+
}
|
246
330
|
|
247
|
-
|
248
|
-
|
249
|
-
|
331
|
+
function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
|
332
|
+
public
|
333
|
+
view
|
334
|
+
returns (NftId linkedPolicyNftId)
|
335
|
+
{
|
336
|
+
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
337
|
+
}
|
338
|
+
|
339
|
+
|
340
|
+
function getToken(NftId componentNftId)
|
341
|
+
public
|
342
|
+
view
|
343
|
+
returns (IERC20Metadata token)
|
344
|
+
{
|
345
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
346
|
+
if (address(tokenHandler) != address(0)) {
|
347
|
+
return tokenHandler.TOKEN();
|
348
|
+
}
|
349
|
+
}
|
350
|
+
|
351
|
+
|
352
|
+
function getWallet(NftId componentNftId)
|
353
|
+
public
|
354
|
+
view
|
355
|
+
returns (address wallet)
|
356
|
+
{
|
357
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
358
|
+
if (address(tokenHandler) != address(0)) {
|
359
|
+
return tokenHandler.getWallet();
|
250
360
|
}
|
251
361
|
}
|
252
362
|
|
363
|
+
|
253
364
|
function getTokenHandler(NftId componentNftId)
|
254
365
|
public
|
255
366
|
view
|
256
|
-
returns (
|
367
|
+
returns (TokenHandler tokenHandler)
|
257
368
|
{
|
258
369
|
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
259
|
-
|
260
370
|
if (data.length > 0) {
|
261
|
-
|
262
|
-
return address(info.tokenHandler);
|
371
|
+
return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
|
263
372
|
}
|
264
373
|
}
|
265
374
|
|
375
|
+
|
266
376
|
function getBundleInfo(NftId bundleNftId)
|
267
377
|
public
|
268
378
|
view
|
@@ -330,6 +440,17 @@ contract InstanceReader {
|
|
330
440
|
}
|
331
441
|
}
|
332
442
|
|
443
|
+
function getFeeInfo(NftId productNftId)
|
444
|
+
public
|
445
|
+
view
|
446
|
+
returns (IComponents.FeeInfo memory feeInfo)
|
447
|
+
{
|
448
|
+
bytes memory data = _store.getData(toFeeKey(productNftId));
|
449
|
+
if (data.length > 0) {
|
450
|
+
return abi.decode(data, (IComponents.FeeInfo));
|
451
|
+
}
|
452
|
+
}
|
453
|
+
|
333
454
|
function getPoolInfo(NftId poolNftId)
|
334
455
|
public
|
335
456
|
view
|
@@ -440,7 +561,7 @@ contract InstanceReader {
|
|
440
561
|
}
|
441
562
|
|
442
563
|
|
443
|
-
function
|
564
|
+
function isLocked(address target) public view returns (bool) {
|
444
565
|
return _instance.getInstanceAdmin().isTargetLocked(target);
|
445
566
|
}
|
446
567
|
|
@@ -476,15 +597,24 @@ contract InstanceReader {
|
|
476
597
|
return productNftId.toKey32(PRODUCT());
|
477
598
|
}
|
478
599
|
|
479
|
-
|
480
|
-
|
481
|
-
return _instance;
|
600
|
+
function toFeeKey(NftId productNftId) public pure returns (Key32) {
|
601
|
+
return productNftId.toKey32(FEE());
|
482
602
|
}
|
483
603
|
|
604
|
+
// low level function
|
605
|
+
|
484
606
|
function getInstanceStore() external view returns (IKeyValueStore store) {
|
485
607
|
return _store;
|
486
608
|
}
|
487
609
|
|
610
|
+
function getBundleSet() external view returns (BundleSet bundleSet) {
|
611
|
+
return _bundleSet;
|
612
|
+
}
|
613
|
+
|
614
|
+
function getRiskSet() external view returns (RiskSet riskSet) {
|
615
|
+
return _riskSet;
|
616
|
+
}
|
617
|
+
|
488
618
|
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
489
619
|
return UFixedLib.toUFixed(value, exp);
|
490
620
|
}
|
@@ -3,9 +3,12 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
|
5
5
|
|
6
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
6
7
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
7
8
|
import {Amount} from "../type/Amount.sol";
|
8
9
|
import {BundleSet} from "./BundleSet.sol";
|
10
|
+
import {RiskSet} from "./RiskSet.sol";
|
11
|
+
import {ChainNft} from "../registry/ChainNft.sol";
|
9
12
|
import {NftId} from "../type/NftId.sol";
|
10
13
|
import {RoleId} from "../type/RoleId.sol";
|
11
14
|
import {UFixed} from "../type/UFixed.sol";
|
@@ -46,6 +49,7 @@ contract InstanceService is
|
|
46
49
|
address internal _masterInstance;
|
47
50
|
address internal _masterInstanceReader;
|
48
51
|
address internal _masterInstanceBundleSet;
|
52
|
+
address internal _masterInstanceRiskSet;
|
49
53
|
address internal _masterInstanceStore;
|
50
54
|
|
51
55
|
|
@@ -77,6 +81,7 @@ contract InstanceService is
|
|
77
81
|
_;
|
78
82
|
}
|
79
83
|
|
84
|
+
|
80
85
|
// TODO check component - service - instance version match
|
81
86
|
modifier onlyComponent() {
|
82
87
|
if (! getRegistry().isRegisteredComponent(msg.sender)) {
|
@@ -87,6 +92,7 @@ contract InstanceService is
|
|
87
92
|
|
88
93
|
function createInstance()
|
89
94
|
external
|
95
|
+
restricted()
|
90
96
|
returns (
|
91
97
|
IInstance instance,
|
92
98
|
NftId instanceNftId
|
@@ -110,7 +116,11 @@ contract InstanceService is
|
|
110
116
|
TargetManagerLib.getDefaultRewardRate());
|
111
117
|
|
112
118
|
// MUST be set after instance is set up and registered
|
113
|
-
|
119
|
+
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
120
|
+
VersionPart release = AccessManagerCloneable(authority()).getRelease();
|
121
|
+
instanceAdmin.completeSetup(
|
122
|
+
address(instance),
|
123
|
+
address(instanceAuthorization));
|
114
124
|
|
115
125
|
emit LogInstanceCloned(
|
116
126
|
instanceNftId,
|
@@ -121,6 +131,7 @@ contract InstanceService is
|
|
121
131
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
122
132
|
external
|
123
133
|
virtual
|
134
|
+
restricted()
|
124
135
|
onlyInstance()
|
125
136
|
{
|
126
137
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -133,6 +144,7 @@ contract InstanceService is
|
|
133
144
|
function setStakingRewardRate(UFixed rewardRate)
|
134
145
|
external
|
135
146
|
virtual
|
147
|
+
restricted()
|
136
148
|
onlyInstance()
|
137
149
|
{
|
138
150
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -145,6 +157,7 @@ contract InstanceService is
|
|
145
157
|
function refillStakingRewardReserves(address rewardProvider, Amount dipAmount)
|
146
158
|
external
|
147
159
|
virtual
|
160
|
+
restricted()
|
148
161
|
onlyInstance()
|
149
162
|
{
|
150
163
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -158,6 +171,7 @@ contract InstanceService is
|
|
158
171
|
function withdrawStakingRewardReserves(Amount dipAmount)
|
159
172
|
external
|
160
173
|
virtual
|
174
|
+
restricted()
|
161
175
|
onlyInstance()
|
162
176
|
returns (Amount newBalance)
|
163
177
|
{
|
@@ -167,19 +181,31 @@ contract InstanceService is
|
|
167
181
|
dipAmount);
|
168
182
|
}
|
169
183
|
|
170
|
-
function
|
171
|
-
|
184
|
+
function upgradeInstanceReader(NftId instanceNftId)
|
185
|
+
external
|
186
|
+
nonReentrant()
|
187
|
+
restricted()
|
188
|
+
onlyInstanceOwner(instanceNftId)
|
189
|
+
onlyNftOfType(instanceNftId, INSTANCE())
|
190
|
+
{
|
191
|
+
IRegistry registry = getRegistry();
|
192
|
+
IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(instanceNftId);
|
193
|
+
Instance instance = Instance(instanceInfo.objectAddress);
|
194
|
+
|
195
|
+
InstanceReader upgradedInstanceReaderClone = InstanceReader(Clones.clone(address(_masterInstanceReader)));
|
196
|
+
upgradedInstanceReaderClone.initializeWithInstance(address(instance));
|
197
|
+
instance.setInstanceReader(upgradedInstanceReaderClone);
|
172
198
|
}
|
173
199
|
|
174
200
|
function setAndRegisterMasterInstance(address instanceAddress)
|
175
|
-
|
176
|
-
|
177
|
-
|
201
|
+
external
|
202
|
+
onlyOwner()
|
203
|
+
returns(NftId masterInstanceNftId)
|
178
204
|
{
|
179
205
|
if(_masterInstance != address(0)) { revert ErrorInstanceServiceMasterInstanceAlreadySet(); }
|
180
206
|
if(_masterInstanceAdmin != address(0)) { revert ErrorInstanceServiceMasterInstanceAdminAlreadySet(); }
|
181
207
|
if(_masterInstanceBundleSet != address(0)) { revert ErrorInstanceServiceMasterBundleSetAlreadySet(); }
|
182
|
-
|
208
|
+
if(_masterInstanceRiskSet != address(0)) { revert ErrorInstanceServiceMasterRiskSetAlreadySet(); }
|
183
209
|
if(instanceAddress == address(0)) { revert ErrorInstanceServiceInstanceAddressZero(); }
|
184
210
|
|
185
211
|
IInstance instance = IInstance(instanceAddress);
|
@@ -188,28 +214,34 @@ contract InstanceService is
|
|
188
214
|
address instanceAdminAddress = address(instanceAdmin);
|
189
215
|
InstanceReader instanceReader = instance.getInstanceReader();
|
190
216
|
address instanceReaderAddress = address(instanceReader);
|
191
|
-
BundleSet
|
192
|
-
address
|
217
|
+
BundleSet bundleSet = instance.getBundleSet();
|
218
|
+
address bundleSetAddress = address(bundleSet);
|
219
|
+
RiskSet riskSet = instance.getRiskSet();
|
220
|
+
address riskSetAddress = address(riskSet);
|
193
221
|
InstanceStore instanceStore = instance.getInstanceStore();
|
194
222
|
address instanceStoreAddress = address(instanceStore);
|
195
223
|
|
196
224
|
if(accessManagerAddress == address(0)) { revert ErrorInstanceServiceAccessManagerZero(); }
|
197
225
|
if(instanceAdminAddress == address(0)) { revert ErrorInstanceServiceInstanceAdminZero(); }
|
198
226
|
if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderZero(); }
|
199
|
-
if(
|
227
|
+
if(bundleSetAddress == address(0)) { revert ErrorInstanceServiceBundleSetZero(); }
|
228
|
+
if(riskSetAddress == address(0)) { revert ErrorInstanceServiceRiskSetZero(); }
|
200
229
|
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
201
230
|
|
202
231
|
if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
|
203
|
-
if(
|
232
|
+
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
233
|
+
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
204
234
|
if(instanceStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceStoreAuthorityMismatch(); }
|
205
|
-
if(
|
235
|
+
if(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
|
236
|
+
if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
|
206
237
|
if(instanceReader.getInstance() != instance) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch2(); }
|
207
238
|
|
208
239
|
_masterAccessManager = accessManagerAddress;
|
209
240
|
_masterInstanceAdmin = instanceAdminAddress;
|
210
241
|
_masterInstance = instanceAddress;
|
211
242
|
_masterInstanceReader = instanceReaderAddress;
|
212
|
-
_masterInstanceBundleSet =
|
243
|
+
_masterInstanceBundleSet = bundleSetAddress;
|
244
|
+
_masterInstanceRiskSet = riskSetAddress;
|
213
245
|
_masterInstanceStore = instanceStoreAddress;
|
214
246
|
|
215
247
|
IInstance masterInstance = IInstance(_masterInstance);
|
@@ -217,7 +249,10 @@ contract InstanceService is
|
|
217
249
|
masterInstanceNftId = info.nftId;
|
218
250
|
}
|
219
251
|
|
220
|
-
function upgradeMasterInstanceReader(address instanceReaderAddress)
|
252
|
+
function upgradeMasterInstanceReader(address instanceReaderAddress)
|
253
|
+
external
|
254
|
+
onlyOwner
|
255
|
+
{
|
221
256
|
if(_masterInstanceReader == address(0)) { revert ErrorInstanceServiceMasterInstanceReaderNotSet(); }
|
222
257
|
if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderAddressZero(); }
|
223
258
|
if(instanceReaderAddress == _masterInstanceReader) { revert ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader(); }
|
@@ -228,18 +263,8 @@ contract InstanceService is
|
|
228
263
|
_masterInstanceReader = instanceReaderAddress;
|
229
264
|
}
|
230
265
|
|
231
|
-
function
|
232
|
-
|
233
|
-
onlyInstanceOwner(instanceNftId)
|
234
|
-
onlyNftOfType(instanceNftId, INSTANCE())
|
235
|
-
{
|
236
|
-
IRegistry registry = getRegistry();
|
237
|
-
IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(instanceNftId);
|
238
|
-
Instance instance = Instance(instanceInfo.objectAddress);
|
239
|
-
|
240
|
-
InstanceReader upgradedInstanceReaderClone = InstanceReader(Clones.clone(address(_masterInstanceReader)));
|
241
|
-
upgradedInstanceReaderClone.initializeWithInstance(address(instance));
|
242
|
-
instance.setInstanceReader(upgradedInstanceReaderClone);
|
266
|
+
function getMasterInstanceReader() external view returns (address) {
|
267
|
+
return _masterInstanceReader;
|
243
268
|
}
|
244
269
|
|
245
270
|
/// @dev create new cloned instance admin
|
@@ -250,19 +275,16 @@ contract InstanceService is
|
|
250
275
|
returns (InstanceAdmin clonedInstanceAdmin)
|
251
276
|
{
|
252
277
|
// start with setting up a new OZ access manager
|
278
|
+
// TODO consider _masterInstanceAdmin.authority() instead of _masterAccessManager
|
253
279
|
AccessManagerCloneable clonedAccessManager = AccessManagerCloneable(
|
254
280
|
Clones.clone(_masterAccessManager));
|
255
281
|
|
256
282
|
// set up the instance admin
|
257
283
|
clonedInstanceAdmin = InstanceAdmin(Clones.clone(_masterInstanceAdmin));
|
258
|
-
clonedAccessManager.initialize(
|
259
|
-
address(clonedInstanceAdmin)); // grant ADMIN_ROLE to instance admin
|
260
|
-
|
261
|
-
address authorization = address(
|
262
|
-
InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization());
|
263
284
|
clonedInstanceAdmin.initialize(
|
264
285
|
clonedAccessManager,
|
265
|
-
|
286
|
+
getRegistry(),
|
287
|
+
getRelease());
|
266
288
|
}
|
267
289
|
|
268
290
|
|
@@ -278,6 +300,7 @@ contract InstanceService is
|
|
278
300
|
{
|
279
301
|
InstanceStore clonedInstanceStore = InstanceStore(Clones.clone(address(_masterInstanceStore)));
|
280
302
|
BundleSet clonedBundleSet = BundleSet(Clones.clone(_masterInstanceBundleSet));
|
303
|
+
RiskSet clonedRiskSet = RiskSet(Clones.clone(_masterInstanceRiskSet));
|
281
304
|
InstanceReader clonedInstanceReader = InstanceReader(Clones.clone(address(_masterInstanceReader)));
|
282
305
|
|
283
306
|
// clone instance
|
@@ -286,6 +309,7 @@ contract InstanceService is
|
|
286
309
|
instanceAdmin,
|
287
310
|
clonedInstanceStore,
|
288
311
|
clonedBundleSet,
|
312
|
+
clonedRiskSet,
|
289
313
|
clonedInstanceReader,
|
290
314
|
getRegistry(),
|
291
315
|
instanceOwner);
|
@@ -332,11 +356,11 @@ contract InstanceService is
|
|
332
356
|
initializer()
|
333
357
|
{
|
334
358
|
(
|
335
|
-
address
|
336
|
-
address
|
359
|
+
address authority,
|
360
|
+
address registry
|
337
361
|
) = abi.decode(data, (address, address));
|
338
362
|
|
339
|
-
|
363
|
+
__Service_init(authority, registry, owner);
|
340
364
|
|
341
365
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
342
366
|
_stakingService = IStakingService(_getServiceAddress(STAKING()));
|
@@ -17,7 +17,7 @@ contract InstanceServiceManager is ProxyManager {
|
|
17
17
|
)
|
18
18
|
{
|
19
19
|
InstanceService svc = new InstanceService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
21
|
IVersionable versionable = initialize(
|
22
22
|
registry,
|
23
23
|
address(svc),
|
@@ -7,10 +7,10 @@ import {Amount} from "../type/Amount.sol";
|
|
7
7
|
import {Key32} from "../type/Key32.sol";
|
8
8
|
import {NftId} from "../type/NftId.sol";
|
9
9
|
import {ClaimId} from "../type/ClaimId.sol";
|
10
|
-
import {ObjectType, BUNDLE, POLICY, POOL, PREMIUM, PRODUCT, COMPONENT, DISTRIBUTOR} from "../type/ObjectType.sol";
|
10
|
+
import {ObjectType, BUNDLE, POLICY, POOL, PREMIUM, PRODUCT, COMPONENT, DISTRIBUTOR, FEE} from "../type/ObjectType.sol";
|
11
11
|
import {RequestId} from "../type/RequestId.sol";
|
12
12
|
import {RiskId} from "../type/RiskId.sol";
|
13
|
-
import {StateId} from "../type/StateId.sol";
|
13
|
+
import {StateId, KEEP_STATE} from "../type/StateId.sol";
|
14
14
|
import {ReferralId} from "../type/Referral.sol";
|
15
15
|
import {DistributorType} from "../type/DistributorType.sol";
|
16
16
|
import {PayoutId} from "../type/PayoutId.sol";
|
@@ -85,6 +85,17 @@ contract InstanceStore is
|
|
85
85
|
_update(_toNftKey32(productNftId, PRODUCT()), abi.encode(info), newState);
|
86
86
|
}
|
87
87
|
|
88
|
+
|
89
|
+
//--- Fee -----------------------------------------------------------//
|
90
|
+
function createFee(NftId productNftId, IComponents.FeeInfo memory info) external restricted() {
|
91
|
+
_create(_toNftKey32(productNftId, FEE()), abi.encode(info));
|
92
|
+
}
|
93
|
+
|
94
|
+
// Fee only has one state, so no change change possible
|
95
|
+
function updateFee(NftId productNftId, IComponents.FeeInfo memory info) external restricted() {
|
96
|
+
_update(_toNftKey32(productNftId, FEE()), abi.encode(info), KEEP_STATE());
|
97
|
+
}
|
98
|
+
|
88
99
|
//--- Pool --------------------------------------------------------------//
|
89
100
|
|
90
101
|
function createPool(
|