@etherisc/gif-next 0.0.2-f634e5c-828 → 0.0.2-f677999-878
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 +1 -1
- 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 +79 -67
- 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 +231 -186
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +57 -51
- 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 +119 -73
- 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 +257 -190
- 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 +150 -56
- 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 +315 -150
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +54 -21
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +53 -3
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +80 -40
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +344 -99
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +127 -40
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +351 -198
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -58
- 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 +422 -352
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +96 -53
- 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 +75 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +25 -27
- 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 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +33 -55
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -80
- 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 +236 -281
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +61 -47
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +57 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +16 -18
- 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 +27 -3
- 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 -68
- 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 +37 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +193 -173
- 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 +45 -47
- 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 +102 -81
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +33 -19
- 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/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 +315 -49
- 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 +105 -442
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +40 -70
- 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 +57 -4
- 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 +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 +27 -291
- 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 +32 -32
- 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 +128 -128
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
- 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/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/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 +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- 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 +30 -6
- 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/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 +156 -82
- 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 +11 -9
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +37 -32
- package/contracts/distribution/DistributionService.sol +59 -33
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +16 -13
- package/contracts/examples/fire/FirePool.sol +6 -2
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +9 -3
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +29 -9
- 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 +36 -4
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +6 -7
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +19 -11
- package/contracts/instance/InstanceAdmin.sol +213 -64
- package/contracts/instance/InstanceAuthorizationV3.sol +18 -23
- package/contracts/instance/InstanceReader.sol +91 -35
- package/contracts/instance/InstanceService.sol +43 -31
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +11 -12
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -2
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +16 -15
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +21 -13
- package/contracts/pool/BundleService.sol +35 -63
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -20
- package/contracts/pool/IPoolService.sol +50 -38
- package/contracts/pool/Pool.sol +9 -9
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +307 -162
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +3 -3
- 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/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +11 -6
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +5 -8
- package/contracts/product/PolicyService.sol +95 -146
- 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 +55 -13
- package/contracts/product/RiskService.sol +66 -29
- package/contracts/product/RiskServiceManager.sol +1 -1
- 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 -226
- 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 +124 -99
- package/contracts/registry/ServiceAuthorizationV3.sol +85 -14
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +32 -27
- package/contracts/shared/ComponentService.sol +89 -266
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +32 -3
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +1 -23
- 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 -88
- 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 -42
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/type/ObjectType.sol +46 -21
- package/contracts/type/RiskId.sol +9 -3
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +2 -2
- 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/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,19 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
6
|
-
import {DistributorType} from "../type/DistributorType.sol";
|
7
|
-
import {Key32} from "../type/Key32.sol";
|
8
|
-
import {NftId} from "../type/NftId.sol";
|
9
|
-
import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
|
10
|
-
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
11
|
-
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
12
|
-
import {RequestId} from "../type/RequestId.sol";
|
13
|
-
import {RiskId} from "../type/RiskId.sol";
|
14
|
-
import {RoleId} from "../type/RoleId.sol";
|
15
|
-
import {StateId} from "../type/StateId.sol";
|
16
|
-
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
17
5
|
|
18
6
|
import {IBundle} from "../instance/module/IBundle.sol";
|
19
7
|
import {IComponents} from "../instance/module/IComponents.sol";
|
@@ -22,12 +10,28 @@ import {IInstance} from "./IInstance.sol";
|
|
22
10
|
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
23
11
|
import {IOracle} from "../oracle/IOracle.sol";
|
24
12
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
13
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
25
14
|
import {IRisk} from "../instance/module/IRisk.sol";
|
26
15
|
import {TimestampLib} from "../type/Timestamp.sol";
|
27
16
|
|
28
|
-
import {
|
17
|
+
import {Amount} from "../type/Amount.sol";
|
29
18
|
import {BundleSet} from "./BundleSet.sol";
|
19
|
+
import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
|
20
|
+
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
21
|
+
import {DistributorType} from "../type/DistributorType.sol";
|
22
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
23
|
+
import {Key32} from "../type/Key32.sol";
|
24
|
+
import {NftId} from "../type/NftId.sol";
|
25
|
+
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
26
|
+
import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
|
27
|
+
import {RequestId} from "../type/RequestId.sol";
|
28
|
+
import {RiskId} from "../type/RiskId.sol";
|
30
29
|
import {RiskSet} from "./RiskSet.sol";
|
30
|
+
import {RoleId} from "../type/RoleId.sol";
|
31
|
+
import {StateId} from "../type/StateId.sol";
|
32
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
33
|
+
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
34
|
+
|
31
35
|
|
32
36
|
|
33
37
|
contract InstanceReader {
|
@@ -37,7 +41,9 @@ contract InstanceReader {
|
|
37
41
|
|
38
42
|
bool private _initialized = false;
|
39
43
|
|
44
|
+
IRegistry internal _registry;
|
40
45
|
IInstance internal _instance;
|
46
|
+
|
41
47
|
InstanceStore internal _store;
|
42
48
|
BundleSet internal _bundleSet;
|
43
49
|
RiskSet internal _riskSet;
|
@@ -51,7 +57,6 @@ contract InstanceReader {
|
|
51
57
|
initializeWithInstance(msg.sender);
|
52
58
|
}
|
53
59
|
|
54
|
-
/// @dev This initializer needs to be called from the instance itself.
|
55
60
|
function initializeWithInstance(address instanceAddress)
|
56
61
|
public
|
57
62
|
{
|
@@ -61,12 +66,40 @@ contract InstanceReader {
|
|
61
66
|
|
62
67
|
_initialized = true;
|
63
68
|
_instance = IInstance(instanceAddress);
|
69
|
+
_registry = _instance.getRegistry();
|
70
|
+
|
64
71
|
_store = _instance.getInstanceStore();
|
65
72
|
_bundleSet = _instance.getBundleSet();
|
66
73
|
_riskSet = _instance.getRiskSet();
|
67
74
|
}
|
68
75
|
|
69
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));
|
85
|
+
}
|
86
|
+
|
87
|
+
function getInstance() public view returns (IInstance instance) {
|
88
|
+
return _instance;
|
89
|
+
}
|
90
|
+
|
91
|
+
function components() public view returns (uint256 componentCount) {
|
92
|
+
return _instance.getInstanceAdmin().components();
|
93
|
+
}
|
94
|
+
|
95
|
+
function products() public view returns (uint256 productCount) {
|
96
|
+
return _instance.products();
|
97
|
+
}
|
98
|
+
|
99
|
+
function getProductNftId(uint256 idx) public view returns (NftId productNftId) {
|
100
|
+
return _instance.getProductNftId(idx);
|
101
|
+
}
|
102
|
+
|
70
103
|
// module specific functions
|
71
104
|
|
72
105
|
function getPolicyInfo(NftId policyNftId)
|
@@ -110,7 +143,7 @@ contract InstanceReader {
|
|
110
143
|
function bundles(NftId poolNftId)
|
111
144
|
public
|
112
145
|
view
|
113
|
-
returns (uint256
|
146
|
+
returns (uint256 bundleCount)
|
114
147
|
{
|
115
148
|
return _bundleSet.bundles(poolNftId);
|
116
149
|
}
|
@@ -118,7 +151,7 @@ contract InstanceReader {
|
|
118
151
|
function activeBundles(NftId poolNftId)
|
119
152
|
public
|
120
153
|
view
|
121
|
-
returns (uint256
|
154
|
+
returns (uint256 bundleCount)
|
122
155
|
{
|
123
156
|
return _bundleSet.activeBundles(poolNftId);
|
124
157
|
}
|
@@ -166,7 +199,7 @@ contract InstanceReader {
|
|
166
199
|
function claims(NftId policyNftId)
|
167
200
|
public
|
168
201
|
view
|
169
|
-
returns (uint16
|
202
|
+
returns (uint16 claimCount)
|
170
203
|
{
|
171
204
|
return getPolicyInfo(policyNftId).claimsCount;
|
172
205
|
}
|
@@ -204,7 +237,7 @@ contract InstanceReader {
|
|
204
237
|
function payouts(NftId policyNftId, ClaimId claimId)
|
205
238
|
public
|
206
239
|
view
|
207
|
-
returns (uint24
|
240
|
+
returns (uint24 payoutCount)
|
208
241
|
{
|
209
242
|
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
210
243
|
}
|
@@ -250,7 +283,7 @@ contract InstanceReader {
|
|
250
283
|
function risks(NftId productNftId)
|
251
284
|
public
|
252
285
|
view
|
253
|
-
returns (uint256
|
286
|
+
returns (uint256 riskCount)
|
254
287
|
{
|
255
288
|
return _riskSet.risks(productNftId);
|
256
289
|
}
|
@@ -266,7 +299,7 @@ contract InstanceReader {
|
|
266
299
|
function activeRisks(NftId productNftId)
|
267
300
|
public
|
268
301
|
view
|
269
|
-
returns (uint256
|
302
|
+
returns (uint256 activeRiskCount)
|
270
303
|
{
|
271
304
|
return _riskSet.activeRisks(productNftId);
|
272
305
|
}
|
@@ -315,32 +348,43 @@ contract InstanceReader {
|
|
315
348
|
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
316
349
|
}
|
317
350
|
|
318
|
-
|
351
|
+
|
352
|
+
function getToken(NftId componentNftId)
|
319
353
|
public
|
320
354
|
view
|
321
|
-
returns (
|
355
|
+
returns (IERC20Metadata token)
|
322
356
|
{
|
323
|
-
|
357
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
358
|
+
if (address(tokenHandler) != address(0)) {
|
359
|
+
return tokenHandler.TOKEN();
|
360
|
+
}
|
361
|
+
}
|
324
362
|
|
325
|
-
|
326
|
-
|
327
|
-
|
363
|
+
|
364
|
+
function getWallet(NftId componentNftId)
|
365
|
+
public
|
366
|
+
view
|
367
|
+
returns (address wallet)
|
368
|
+
{
|
369
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
370
|
+
if (address(tokenHandler) != address(0)) {
|
371
|
+
return tokenHandler.getWallet();
|
328
372
|
}
|
329
373
|
}
|
330
374
|
|
375
|
+
|
331
376
|
function getTokenHandler(NftId componentNftId)
|
332
377
|
public
|
333
378
|
view
|
334
|
-
returns (
|
379
|
+
returns (TokenHandler tokenHandler)
|
335
380
|
{
|
336
381
|
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
337
|
-
|
338
382
|
if (data.length > 0) {
|
339
|
-
|
340
|
-
return address(info.tokenHandler);
|
383
|
+
return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
|
341
384
|
}
|
342
385
|
}
|
343
386
|
|
387
|
+
|
344
388
|
function getBundleInfo(NftId bundleNftId)
|
345
389
|
public
|
346
390
|
view
|
@@ -408,6 +452,17 @@ contract InstanceReader {
|
|
408
452
|
}
|
409
453
|
}
|
410
454
|
|
455
|
+
function getFeeInfo(NftId productNftId)
|
456
|
+
public
|
457
|
+
view
|
458
|
+
returns (IComponents.FeeInfo memory feeInfo)
|
459
|
+
{
|
460
|
+
bytes memory data = _store.getData(toFeeKey(productNftId));
|
461
|
+
if (data.length > 0) {
|
462
|
+
return abi.decode(data, (IComponents.FeeInfo));
|
463
|
+
}
|
464
|
+
}
|
465
|
+
|
411
466
|
function getPoolInfo(NftId poolNftId)
|
412
467
|
public
|
413
468
|
view
|
@@ -518,7 +573,7 @@ contract InstanceReader {
|
|
518
573
|
}
|
519
574
|
|
520
575
|
|
521
|
-
function
|
576
|
+
function isLocked(address target) public view returns (bool) {
|
522
577
|
return _instance.getInstanceAdmin().isTargetLocked(target);
|
523
578
|
}
|
524
579
|
|
@@ -554,11 +609,12 @@ contract InstanceReader {
|
|
554
609
|
return productNftId.toKey32(PRODUCT());
|
555
610
|
}
|
556
611
|
|
557
|
-
|
558
|
-
|
559
|
-
return _instance;
|
612
|
+
function toFeeKey(NftId productNftId) public pure returns (Key32) {
|
613
|
+
return productNftId.toKey32(FEE());
|
560
614
|
}
|
561
615
|
|
616
|
+
// low level function
|
617
|
+
|
562
618
|
function getInstanceStore() external view returns (IKeyValueStore store) {
|
563
619
|
return _store;
|
564
620
|
}
|
@@ -3,6 +3,7 @@ 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";
|
@@ -80,6 +81,7 @@ contract InstanceService is
|
|
80
81
|
_;
|
81
82
|
}
|
82
83
|
|
84
|
+
|
83
85
|
// TODO check component - service - instance version match
|
84
86
|
modifier onlyComponent() {
|
85
87
|
if (! getRegistry().isRegisteredComponent(msg.sender)) {
|
@@ -90,6 +92,7 @@ contract InstanceService is
|
|
90
92
|
|
91
93
|
function createInstance()
|
92
94
|
external
|
95
|
+
restricted()
|
93
96
|
returns (
|
94
97
|
IInstance instance,
|
95
98
|
NftId instanceNftId
|
@@ -113,7 +116,11 @@ contract InstanceService is
|
|
113
116
|
TargetManagerLib.getDefaultRewardRate());
|
114
117
|
|
115
118
|
// MUST be set after instance is set up and registered
|
116
|
-
|
119
|
+
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
120
|
+
VersionPart release = AccessManagerCloneable(authority()).getRelease();
|
121
|
+
instanceAdmin.completeSetup(
|
122
|
+
address(instance),
|
123
|
+
address(instanceAuthorization));
|
117
124
|
|
118
125
|
emit LogInstanceCloned(
|
119
126
|
instanceNftId,
|
@@ -124,6 +131,7 @@ contract InstanceService is
|
|
124
131
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
125
132
|
external
|
126
133
|
virtual
|
134
|
+
restricted()
|
127
135
|
onlyInstance()
|
128
136
|
{
|
129
137
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -136,6 +144,7 @@ contract InstanceService is
|
|
136
144
|
function setStakingRewardRate(UFixed rewardRate)
|
137
145
|
external
|
138
146
|
virtual
|
147
|
+
restricted()
|
139
148
|
onlyInstance()
|
140
149
|
{
|
141
150
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -148,6 +157,7 @@ contract InstanceService is
|
|
148
157
|
function refillStakingRewardReserves(address rewardProvider, Amount dipAmount)
|
149
158
|
external
|
150
159
|
virtual
|
160
|
+
restricted()
|
151
161
|
onlyInstance()
|
152
162
|
{
|
153
163
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -161,6 +171,7 @@ contract InstanceService is
|
|
161
171
|
function withdrawStakingRewardReserves(Amount dipAmount)
|
162
172
|
external
|
163
173
|
virtual
|
174
|
+
restricted()
|
164
175
|
onlyInstance()
|
165
176
|
returns (Amount newBalance)
|
166
177
|
{
|
@@ -170,14 +181,26 @@ contract InstanceService is
|
|
170
181
|
dipAmount);
|
171
182
|
}
|
172
183
|
|
173
|
-
function
|
174
|
-
|
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);
|
175
198
|
}
|
176
199
|
|
177
200
|
function setAndRegisterMasterInstance(address instanceAddress)
|
178
|
-
|
179
|
-
|
180
|
-
|
201
|
+
external
|
202
|
+
onlyOwner()
|
203
|
+
returns(NftId masterInstanceNftId)
|
181
204
|
{
|
182
205
|
if(_masterInstance != address(0)) { revert ErrorInstanceServiceMasterInstanceAlreadySet(); }
|
183
206
|
if(_masterInstanceAdmin != address(0)) { revert ErrorInstanceServiceMasterInstanceAdminAlreadySet(); }
|
@@ -209,8 +232,8 @@ contract InstanceService is
|
|
209
232
|
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
210
233
|
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
211
234
|
if(instanceStore.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceStoreAuthorityMismatch(); }
|
212
|
-
if(bundleSet.
|
213
|
-
if(riskSet.
|
235
|
+
if(bundleSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceBundleSetInstanceMismatch(); }
|
236
|
+
if(riskSet.getInstanceAddress() != address(instance)) { revert ErrorInstanceServiceRiskSetInstanceMismatch(); }
|
214
237
|
if(instanceReader.getInstance() != instance) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch2(); }
|
215
238
|
|
216
239
|
_masterAccessManager = accessManagerAddress;
|
@@ -226,7 +249,10 @@ contract InstanceService is
|
|
226
249
|
masterInstanceNftId = info.nftId;
|
227
250
|
}
|
228
251
|
|
229
|
-
function upgradeMasterInstanceReader(address instanceReaderAddress)
|
252
|
+
function upgradeMasterInstanceReader(address instanceReaderAddress)
|
253
|
+
external
|
254
|
+
onlyOwner
|
255
|
+
{
|
230
256
|
if(_masterInstanceReader == address(0)) { revert ErrorInstanceServiceMasterInstanceReaderNotSet(); }
|
231
257
|
if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderAddressZero(); }
|
232
258
|
if(instanceReaderAddress == _masterInstanceReader) { revert ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader(); }
|
@@ -237,19 +263,8 @@ contract InstanceService is
|
|
237
263
|
_masterInstanceReader = instanceReaderAddress;
|
238
264
|
}
|
239
265
|
|
240
|
-
function
|
241
|
-
|
242
|
-
nonReentrant()
|
243
|
-
onlyInstanceOwner(instanceNftId)
|
244
|
-
onlyNftOfType(instanceNftId, INSTANCE())
|
245
|
-
{
|
246
|
-
IRegistry registry = getRegistry();
|
247
|
-
IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(instanceNftId);
|
248
|
-
Instance instance = Instance(instanceInfo.objectAddress);
|
249
|
-
|
250
|
-
InstanceReader upgradedInstanceReaderClone = InstanceReader(Clones.clone(address(_masterInstanceReader)));
|
251
|
-
upgradedInstanceReaderClone.initializeWithInstance(address(instance));
|
252
|
-
instance.setInstanceReader(upgradedInstanceReaderClone);
|
266
|
+
function getMasterInstanceReader() external view returns (address) {
|
267
|
+
return _masterInstanceReader;
|
253
268
|
}
|
254
269
|
|
255
270
|
/// @dev create new cloned instance admin
|
@@ -260,19 +275,16 @@ contract InstanceService is
|
|
260
275
|
returns (InstanceAdmin clonedInstanceAdmin)
|
261
276
|
{
|
262
277
|
// start with setting up a new OZ access manager
|
278
|
+
// TODO consider _masterInstanceAdmin.authority() instead of _masterAccessManager
|
263
279
|
AccessManagerCloneable clonedAccessManager = AccessManagerCloneable(
|
264
280
|
Clones.clone(_masterAccessManager));
|
265
281
|
|
266
282
|
// set up the instance admin
|
267
283
|
clonedInstanceAdmin = InstanceAdmin(Clones.clone(_masterInstanceAdmin));
|
268
|
-
clonedAccessManager.initialize(
|
269
|
-
address(clonedInstanceAdmin)); // grant ADMIN_ROLE to instance admin
|
270
|
-
|
271
|
-
address authorization = address(
|
272
|
-
InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization());
|
273
284
|
clonedInstanceAdmin.initialize(
|
274
285
|
clonedAccessManager,
|
275
|
-
|
286
|
+
getRegistry(),
|
287
|
+
getRelease());
|
276
288
|
}
|
277
289
|
|
278
290
|
|
@@ -344,11 +356,11 @@ contract InstanceService is
|
|
344
356
|
initializer()
|
345
357
|
{
|
346
358
|
(
|
347
|
-
address
|
348
|
-
address
|
359
|
+
address authority,
|
360
|
+
address registry
|
349
361
|
) = abi.decode(data, (address, address));
|
350
362
|
|
351
|
-
|
363
|
+
__Service_init(authority, registry, owner);
|
352
364
|
|
353
365
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
354
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(
|
@@ -1,18 +1,17 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IPolicy} from "../instance/module/IPolicy.sol";
|
5
4
|
import {Key32} from "../type/Key32.sol";
|
6
5
|
import {LibNftIdSet} from "../type/NftIdSet.sol";
|
7
6
|
import {NftId} from "../type/NftId.sol";
|
8
|
-
import {RiskIdLib, RiskId} from "../type/RiskId.sol";
|
9
|
-
|
10
7
|
import {ObjectSet} from "./base/ObjectSet.sol";
|
8
|
+
import {ObjectSetHelperLib} from "./base/ObjectSetHelperLib.sol";
|
9
|
+
import {RiskIdLib, RiskId} from "../type/RiskId.sol";
|
11
10
|
|
12
|
-
|
11
|
+
/// @dev RiskSet manages the risks and its active policies per product.
|
12
|
+
contract RiskSet is
|
13
13
|
ObjectSet
|
14
14
|
{
|
15
|
-
using LibNftIdSet for LibNftIdSet.Set;
|
16
15
|
|
17
16
|
event LogRiskSetPolicyLinked(RiskId riskId, NftId policyNftId);
|
18
17
|
event LogRiskSetPolicyUnlinked(RiskId riskId, NftId policyNftId);
|
@@ -36,7 +35,7 @@ contract RiskSet is
|
|
36
35
|
revert ErrorRiskSetRiskLocked(riskId, policyNftId);
|
37
36
|
}
|
38
37
|
|
39
|
-
_activePolicies[riskId]
|
38
|
+
LibNftIdSet.add(_activePolicies[riskId], policyNftId);
|
40
39
|
emit LogRiskSetPolicyLinked(riskId, policyNftId);
|
41
40
|
}
|
42
41
|
|
@@ -48,14 +47,14 @@ contract RiskSet is
|
|
48
47
|
revert ErrorRiskSetRiskUnknown(riskId);
|
49
48
|
}
|
50
49
|
|
51
|
-
_activePolicies[riskId]
|
50
|
+
LibNftIdSet.remove(_activePolicies[riskId], policyNftId);
|
52
51
|
emit LogRiskSetPolicyUnlinked(riskId, policyNftId);
|
53
52
|
}
|
54
53
|
|
55
54
|
/// @dev add a new risk to a product registered with this instance
|
56
55
|
// the corresponding product is fetched via instance reader
|
57
56
|
function add(RiskId riskId) external restricted() {
|
58
|
-
NftId productNftId =
|
57
|
+
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
59
58
|
|
60
59
|
// ensure product is registered with instance
|
61
60
|
if(productNftId.eqz()) {
|
@@ -68,14 +67,14 @@ contract RiskSet is
|
|
68
67
|
|
69
68
|
/// @dev Applications linked to active risks may be underwritten
|
70
69
|
function activate(RiskId riskId) external restricted() {
|
71
|
-
NftId productNftId =
|
70
|
+
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
72
71
|
_activate(productNftId, riskId.toKey32());
|
73
72
|
emit LogRiskSetRiskActive(productNftId, riskId);
|
74
73
|
}
|
75
74
|
|
76
75
|
/// @dev Applications linked to paused/archived risks may not be underwritten
|
77
76
|
function pause(RiskId riskId) external restricted() {
|
78
|
-
NftId productNftId =
|
77
|
+
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
79
78
|
_deactivate(productNftId, riskId.toKey32());
|
80
79
|
emit LogRiskSetRiskPaused(productNftId, riskId);
|
81
80
|
}
|
@@ -110,10 +109,10 @@ contract RiskSet is
|
|
110
109
|
}
|
111
110
|
|
112
111
|
function linkedPolicies(RiskId riskId) external view returns(uint256) {
|
113
|
-
return _activePolicies[riskId]
|
112
|
+
return LibNftIdSet.size(_activePolicies[riskId]);
|
114
113
|
}
|
115
114
|
|
116
115
|
function getLinkedPolicyNftId(RiskId riskId, uint256 idx) external view returns(NftId policyNftId) {
|
117
|
-
return _activePolicies[riskId]
|
116
|
+
return LibNftIdSet.getElementAt(_activePolicies[riskId], idx);
|
118
117
|
}
|
119
118
|
}
|
@@ -3,7 +3,7 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
5
|
|
6
|
-
import {COMPONENT, BUNDLE, POLICY, REQUEST, RISK, CLAIM, PAYOUT, POOL, PREMIUM, PRODUCT, DISTRIBUTION, DISTRIBUTOR, DISTRIBUTOR_TYPE, REFERRAL} from "../../type/ObjectType.sol";
|
6
|
+
import {COMPONENT, BUNDLE, POLICY, REQUEST, RISK, CLAIM, PAYOUT, POOL, PREMIUM, PRODUCT, DISTRIBUTION, DISTRIBUTOR, DISTRIBUTOR_TYPE, REFERRAL, FEE} from "../../type/ObjectType.sol";
|
7
7
|
import {ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, COLLATERALIZED, REVOKED, SUBMITTED, CONFIRMED, DECLINED, EXPECTED, PAID, FULFILLED, FAILED, CANCELLED} from "../../type/StateId.sol";
|
8
8
|
import {Lifecycle} from "../../shared/Lifecycle.sol";
|
9
9
|
|
@@ -65,6 +65,7 @@ contract ObjectLifecycle is
|
|
65
65
|
|
66
66
|
function _setupClaimLifecycle() private {
|
67
67
|
setInitialState(CLAIM(), SUBMITTED());
|
68
|
+
setStateTransition(CLAIM(), SUBMITTED(), REVOKED());
|
68
69
|
setStateTransition(CLAIM(), SUBMITTED(), CONFIRMED());
|
69
70
|
setStateTransition(CLAIM(), SUBMITTED(), DECLINED());
|
70
71
|
setStateTransition(CLAIM(), CONFIRMED(), CLOSED());
|
@@ -72,8 +73,8 @@ contract ObjectLifecycle is
|
|
72
73
|
|
73
74
|
function _setupPayoutLifecycle() private {
|
74
75
|
setInitialState(PAYOUT(), EXPECTED());
|
75
|
-
// TODO: add state cancelled
|
76
76
|
setStateTransition(PAYOUT(), EXPECTED(), PAID());
|
77
|
+
setStateTransition(PAYOUT(), EXPECTED(), CANCELLED());
|
77
78
|
}
|
78
79
|
|
79
80
|
function _setupRiskLifecycle() private {
|
@@ -99,6 +100,7 @@ contract ObjectLifecycle is
|
|
99
100
|
// dummy lifecycle only
|
100
101
|
function _setUpProductLifecycle() private {
|
101
102
|
setInitialState(PRODUCT(), ACTIVE());
|
103
|
+
setInitialState(FEE(), ACTIVE());
|
102
104
|
}
|
103
105
|
|
104
106
|
// dummy lifecycles only
|
@@ -3,7 +3,6 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Cloneable} from "./Cloneable.sol";
|
5
5
|
|
6
|
-
import {IInstance} from "../IInstance.sol";
|
7
6
|
import {LibKey32Set} from "../../type/Key32Set.sol";
|
8
7
|
import {NftId} from "../../type/NftId.sol";
|
9
8
|
import {Key32} from "../../type/Key32.sol";
|
@@ -19,21 +18,21 @@ contract ObjectSet is
|
|
19
18
|
|
20
19
|
mapping(NftId compnentNftId => LibKey32Set.Set objects) internal _activeObjects;
|
21
20
|
mapping(NftId compnentNftId => LibKey32Set.Set objects) internal _allObjects;
|
22
|
-
|
21
|
+
address internal _instanceAddress;
|
23
22
|
|
24
23
|
/// @dev This initializer needs to be called from the instance itself.
|
25
|
-
function initialize()
|
24
|
+
function initialize(address authority, address registry)
|
26
25
|
external
|
27
26
|
initializer()
|
28
27
|
{
|
29
|
-
|
30
|
-
__Cloneable_init(
|
28
|
+
_instanceAddress = msg.sender;
|
29
|
+
__Cloneable_init(authority, registry);
|
31
30
|
|
32
|
-
emit LogObjectSetInitialized(address(
|
31
|
+
emit LogObjectSetInitialized(address(_instanceAddress));
|
33
32
|
}
|
34
33
|
|
35
|
-
function
|
36
|
-
return
|
34
|
+
function getInstanceAddress() external view returns (address) {
|
35
|
+
return _instanceAddress;
|
37
36
|
}
|
38
37
|
|
39
38
|
function _add(NftId componentNftId, Key32 key) internal {
|
@@ -0,0 +1,30 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IBundle} from "../module/IBundle.sol";
|
5
|
+
import {IInstance} from "../IInstance.sol";
|
6
|
+
import {IRisk} from "../module/IRisk.sol";
|
7
|
+
import {NftId} from "../../type/NftId.sol";
|
8
|
+
import {RiskId} from "../../type/RiskId.sol";
|
9
|
+
|
10
|
+
|
11
|
+
library ObjectSetHelperLib {
|
12
|
+
|
13
|
+
function getRiskInfo(address instanceAddress, RiskId riskId) public view returns (IRisk.RiskInfo memory) {
|
14
|
+
|
15
|
+
return IInstance(instanceAddress).getInstanceReader().getRiskInfo(riskId);
|
16
|
+
}
|
17
|
+
|
18
|
+
function getProductNftId(address instanceAddress, RiskId riskId) public view returns (NftId) {
|
19
|
+
return getRiskInfo(instanceAddress, riskId).productNftId;
|
20
|
+
}
|
21
|
+
|
22
|
+
function getBundleInfo(address instanceAddress, NftId bundleNftId) public view returns (IBundle.BundleInfo memory) {
|
23
|
+
return IInstance(instanceAddress).getInstanceReader().getBundleInfo(bundleNftId);
|
24
|
+
}
|
25
|
+
|
26
|
+
function getPoolNftId(address instanceAddress, NftId bundleNftId) public view returns (NftId) {
|
27
|
+
return getBundleInfo(instanceAddress, bundleNftId).poolNftId;
|
28
|
+
}
|
29
|
+
|
30
|
+
}
|