@etherisc/gif-next 0.0.2-ffa91a6-022 → 3.0.0-04e2e0d-531
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -332
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +111 -57
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +107 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +65 -19
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +370 -141
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1582 -202
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +25 -6
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +266 -64
- 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 +263 -87
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +102 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -38
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +269 -69
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -12
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +463 -149
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -78
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -11
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +317 -19
- 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 +108 -79
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +136 -95
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +86 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +35 -26
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -105
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +268 -68
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +84 -212
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/KeyValueStore.sol/KeyValueStore.json → instance/IBaseStore.sol/IBaseStore.json} +61 -245
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +374 -35
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +366 -5
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +425 -97
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +753 -401
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +236 -80
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +782 -553
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +392 -31
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +100 -42
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1374 -2013
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3477 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- 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 +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
- 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 +25 -16
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +282 -65
- 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 +19 -10
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -10
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +116 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -58
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +268 -68
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +312 -123
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -58
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +198 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -20
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +250 -19
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -20
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +350 -79
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +113 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -37
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +268 -68
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +128 -70
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +67 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -31
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +169 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +519 -21
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -112
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +115 -65
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -31
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +101 -43
- 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 +39 -22
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +77 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +539 -314
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +335 -76
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +41 -12
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +96 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +551 -246
- 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 +169 -111
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -10
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +221 -201
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +130 -64
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/{ComponentVerifyingService.sol/ComponentVerifyingService.json → IAuthorizedComponent.sol/IAuthorizedComponent.json} +238 -90
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -10
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +136 -132
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -10
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- 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 +19 -0
- 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 +29 -0
- 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 +19 -10
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/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 +21 -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 +19 -0
- 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 +29 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1415 -134
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +109 -117
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1504 -192
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +77 -76
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +139 -64
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +296 -152
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +143 -167
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +96 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1615 -815
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +153 -91
- 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 +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- 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 +93 -37
- 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 +22 -25
- 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 +23 -4
- 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/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -27
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +31 -31
- package/contracts/accounting/IAccountingService.sol +9 -8
- package/contracts/authorization/AccessAdmin.sol +281 -325
- package/contracts/authorization/AccessAdminLib.sol +535 -23
- package/contracts/authorization/AccessManagerCloneable.sol +3 -18
- package/contracts/authorization/Authorization.sol +64 -239
- package/contracts/authorization/IAccess.sol +29 -12
- package/contracts/authorization/IAccessAdmin.sol +25 -53
- package/contracts/authorization/IAuthorization.sol +3 -57
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +228 -34
- package/contracts/distribution/BasicDistribution.sol +3 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +9 -8
- package/contracts/distribution/DistributionService.sol +127 -62
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +21 -8
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/BaseStore.sol +97 -0
- package/contracts/instance/IBaseStore.sol +45 -0
- package/contracts/instance/IInstance.sol +57 -6
- package/contracts/instance/IInstanceService.sol +44 -7
- package/contracts/instance/Instance.sol +111 -56
- package/contracts/instance/InstanceAdmin.sol +150 -294
- package/contracts/instance/InstanceAuthorizationV3.sol +106 -66
- package/contracts/instance/InstanceReader.sol +384 -394
- package/contracts/instance/InstanceService.sol +190 -134
- package/contracts/instance/InstanceStore.sol +153 -128
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +15 -5
- package/contracts/instance/module/IDistribution.sol +17 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +3 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +6 -8
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +4 -16
- package/contracts/pool/BasicPoolAuthorization.sol +10 -5
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +8 -3
- package/contracts/pool/Pool.sol +6 -18
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +41 -182
- package/contracts/product/ApplicationService.sol +64 -11
- package/contracts/product/BasicProduct.sol +2 -3
- package/contracts/product/BasicProductAuthorization.sol +13 -5
- package/contracts/product/ClaimService.sol +99 -105
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +10 -3
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +41 -60
- package/contracts/product/PolicyServiceLib.sol +83 -7
- package/contracts/product/PricingService.sol +28 -31
- package/contracts/product/Product.sol +40 -16
- package/contracts/product/RiskService.sol +50 -15
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +15 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +39 -118
- package/contracts/registry/RegistryAuthorization.sol +139 -69
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +59 -106
- package/contracts/registry/ReleaseRegistry.sol +20 -12
- package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +8 -8
- package/contracts/shared/ComponentService.sol +250 -262
- package/contracts/shared/ContractLib.sol +106 -75
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +15 -15
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -5
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InstanceLinkedComponent.sol +64 -26
- package/contracts/shared/NftOwnable.sol +3 -1
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Service.sol +6 -4
- package/contracts/staking/IStaking.sol +263 -70
- package/contracts/staking/IStakingService.sol +40 -85
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +469 -217
- package/contracts/staking/StakingLib.sol +38 -124
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +62 -71
- package/contracts/staking/StakingService.sol +43 -186
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1093 -331
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +17 -22
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +17 -33
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/Seconds.sol +23 -0
- package/contracts/type/String.sol +42 -0
- package/contracts/type/Timestamp.sol +14 -3
- package/contracts/type/UFixed.sol +28 -10
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +26 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -3,38 +3,44 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
7
|
+
import {IBaseStore} from "./IBaseStore.sol";
|
6
8
|
import {IBundle} from "../instance/module/IBundle.sol";
|
7
9
|
import {IComponents} from "../instance/module/IComponents.sol";
|
8
10
|
import {IDistribution} from "../instance/module/IDistribution.sol";
|
9
11
|
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
10
12
|
import {IInstance} from "./IInstance.sol";
|
11
|
-
import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
|
12
13
|
import {IOracle} from "../oracle/IOracle.sol";
|
13
14
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
14
15
|
import {IRegistry} from "../registry/IRegistry.sol";
|
15
16
|
import {IRisk} from "../instance/module/IRisk.sol";
|
16
|
-
import {TimestampLib} from "../type/Timestamp.sol";
|
17
17
|
|
18
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
18
19
|
import {Amount} from "../type/Amount.sol";
|
19
20
|
import {BundleSet} from "./BundleSet.sol";
|
20
|
-
import {BUNDLE, COMPONENT,
|
21
|
+
import {BUNDLE, COMPONENT, DISTRIBUTION, PREMIUM, POLICY} from "../type/ObjectType.sol";
|
21
22
|
import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
|
22
23
|
import {DistributorType} from "../type/DistributorType.sol";
|
24
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
23
25
|
import {InstanceStore} from "./InstanceStore.sol";
|
24
26
|
import {Key32} from "../type/Key32.sol";
|
25
27
|
import {NftId} from "../type/NftId.sol";
|
26
28
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
27
|
-
import {
|
29
|
+
import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
|
30
|
+
import {ProductStore} from "./ProductStore.sol";
|
31
|
+
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
28
32
|
import {RequestId} from "../type/RequestId.sol";
|
29
33
|
import {RiskId} from "../type/RiskId.sol";
|
30
34
|
import {RiskSet} from "./RiskSet.sol";
|
31
|
-
import {RoleId} from "../type/RoleId.sol";
|
35
|
+
import {RoleId, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
|
32
36
|
import {StateId} from "../type/StateId.sol";
|
37
|
+
import {Str, StrLib} from "../type/String.sol";
|
33
38
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
34
39
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
35
40
|
|
36
41
|
|
37
|
-
|
42
|
+
/// @dev Central reader contract for a specific instance.
|
43
|
+
/// Provides reading functions for all instance data and related component data.
|
38
44
|
contract InstanceReader {
|
39
45
|
|
40
46
|
error ErrorInstanceReaderAlreadyInitialized();
|
@@ -44,8 +50,10 @@ contract InstanceReader {
|
|
44
50
|
|
45
51
|
IRegistry internal _registry;
|
46
52
|
IInstance internal _instance;
|
53
|
+
InstanceAdmin internal _instanceAdmin;
|
47
54
|
|
48
55
|
InstanceStore internal _store;
|
56
|
+
ProductStore internal _productStore;
|
49
57
|
BundleSet internal _bundleSet;
|
50
58
|
RiskSet internal _riskSet;
|
51
59
|
IDistributionService internal _distributionService;
|
@@ -59,6 +67,8 @@ contract InstanceReader {
|
|
59
67
|
initializeWithInstance(msg.sender);
|
60
68
|
}
|
61
69
|
|
70
|
+
|
71
|
+
/// @dev Initializer to upgrade instance reader via instance service
|
62
72
|
function initializeWithInstance(address instanceAddress)
|
63
73
|
public
|
64
74
|
{
|
@@ -68,475 +78,362 @@ contract InstanceReader {
|
|
68
78
|
|
69
79
|
_initialized = true;
|
70
80
|
_instance = IInstance(instanceAddress);
|
81
|
+
_instanceAdmin = _instance.getInstanceAdmin();
|
71
82
|
_registry = _instance.getRegistry();
|
72
83
|
|
73
84
|
_store = _instance.getInstanceStore();
|
85
|
+
_productStore = _instance.getProductStore();
|
74
86
|
_bundleSet = _instance.getBundleSet();
|
75
87
|
_riskSet = _instance.getRiskSet();
|
76
88
|
_distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
77
89
|
}
|
78
90
|
|
79
91
|
|
80
|
-
|
92
|
+
//--- instance functions ---------------------------------------------------------//
|
81
93
|
|
94
|
+
/// @dev Returns the registry this instance is registered in.
|
82
95
|
function getRegistry() public view returns (IRegistry registry) {
|
83
96
|
return _registry;
|
84
97
|
}
|
85
98
|
|
99
|
+
|
100
|
+
/// @dev Returns the instance NFT ID.
|
86
101
|
function getInstanceNftId() public view returns (NftId instanceNftid) {
|
87
102
|
return _registry.getNftIdForAddress(address(_instance));
|
88
103
|
}
|
89
104
|
|
105
|
+
|
106
|
+
/// @dev Returns the instance contract.
|
90
107
|
function getInstance() public view returns (IInstance instance) {
|
91
108
|
return _instance;
|
92
109
|
}
|
93
110
|
|
94
|
-
function components() public view returns (uint256 componentCount) {
|
95
|
-
return _instance.getInstanceAdmin().components();
|
96
|
-
}
|
97
111
|
|
98
|
-
|
99
|
-
|
112
|
+
//--- component functions ------------------------------------------------------//
|
113
|
+
|
114
|
+
|
115
|
+
/// @dev Returns the component info for the given component NFT ID.
|
116
|
+
function getComponentInfo(NftId componentNftId) public view returns (IComponents.ComponentInfo memory info) {
|
117
|
+
return _store.getComponentInfo(componentNftId);
|
100
118
|
}
|
101
119
|
|
102
|
-
|
103
|
-
|
120
|
+
|
121
|
+
/// @dev Returns the registered token for the given component NFT ID.
|
122
|
+
function getToken(NftId componentNftId) public view returns (IERC20Metadata token) {
|
123
|
+
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
124
|
+
if (address(tokenHandler) != address(0)) { return tokenHandler.TOKEN(); }
|
104
125
|
}
|
105
126
|
|
106
|
-
// module specific functions
|
107
127
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
{
|
113
|
-
|
114
|
-
if (
|
115
|
-
return
|
128
|
+
/// @dev Returns the current wallet address for the given component NFT ID.
|
129
|
+
/// The wallet address is either the component's own address or any other wallet address specified by the component owner.
|
130
|
+
/// The wallet holds the component's funds. Tokens collected by the component are transferred to the wallet and
|
131
|
+
/// Tokens distributed from the component are transferred from this wallet.
|
132
|
+
function getWallet(NftId componentNftId) public view returns (address wallet) {
|
133
|
+
IComponents.ComponentInfo memory info = getComponentInfo(componentNftId);
|
134
|
+
if (address(info.tokenHandler) != address(0)) {
|
135
|
+
return info.tokenHandler.getWallet();
|
116
136
|
}
|
117
137
|
}
|
118
138
|
|
119
|
-
function getPolicyState(NftId policyNftId)
|
120
|
-
public
|
121
|
-
view
|
122
|
-
returns (StateId state)
|
123
|
-
{
|
124
|
-
return _store.getState(toPolicyKey(policyNftId));
|
125
|
-
}
|
126
139
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
{
|
132
|
-
|
133
|
-
if
|
134
|
-
return
|
140
|
+
/// @dev Returns the token handler for the given component NFT ID.
|
141
|
+
/// The token handler manages all transfers from/to the component's wallet.
|
142
|
+
/// To allow a component to collect funds from an account, it has to create a corresponding allowance from the
|
143
|
+
/// account to the address of the component's token handler.
|
144
|
+
function getTokenHandler(NftId componentNftId) public view returns (TokenHandler tokenHandler) {
|
145
|
+
IComponents.ComponentInfo memory info = _store.getComponentInfo(componentNftId);
|
146
|
+
if(address(info.tokenHandler) != address(0)) {
|
147
|
+
return info.tokenHandler;
|
135
148
|
}
|
136
149
|
}
|
137
150
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
return _store.getState(toPremiumKey(policyNftId));
|
151
|
+
|
152
|
+
/// @dev Returns the current token balance amount for the given component NFT ID.
|
153
|
+
/// The balance amount includes the fee amount.
|
154
|
+
function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
|
155
|
+
return _store.getBalanceAmount(targetNftId);
|
144
156
|
}
|
145
157
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
return _bundleSet.bundles(poolNftId);
|
158
|
+
|
159
|
+
/// @dev Returns the current fee amount for the given NFT ID.
|
160
|
+
/// The target NFT ID may reference a component, a distributor or a bundle.
|
161
|
+
function getFeeAmount(NftId targetNftId) external view returns (Amount) {
|
162
|
+
return _store.getFeeAmount(targetNftId);
|
152
163
|
}
|
153
164
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
return _bundleSet.activeBundles(poolNftId);
|
165
|
+
|
166
|
+
/// @dev Returns the currently locked amount for the given NFT ID.
|
167
|
+
/// The target NFT ID may reference a pool or a bundle.
|
168
|
+
function getLockedAmount(NftId targetNftId) external view returns (Amount) {
|
169
|
+
return _store.getLockedAmount(targetNftId);
|
160
170
|
}
|
161
171
|
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
return _bundleSet.getActiveBundleNftId(poolNftId, idx);
|
172
|
+
//--- product functions ------------------------------------------------------//
|
173
|
+
|
174
|
+
/// @dev Returns the number of registered products.
|
175
|
+
function products() public view returns (uint256 productCount) {
|
176
|
+
return _instance.products();
|
168
177
|
}
|
169
178
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
{
|
175
|
-
return _bundleSet.getBundleNftId(poolNftId, idx);
|
179
|
+
|
180
|
+
/// @dev Returns th product NFT ID for the given index.
|
181
|
+
function getProduct(uint256 idx) public view returns (NftId productNftId) {
|
182
|
+
return _instance.getProduct(idx);
|
176
183
|
}
|
177
184
|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
{
|
183
|
-
return _store.getState(toBundleKey(bundleNftId));
|
185
|
+
|
186
|
+
/// @dev Returns the product info for the given product NFT ID.
|
187
|
+
function getProductInfo(NftId productNftId) public view returns (IComponents.ProductInfo memory info) {
|
188
|
+
return _productStore.getProductInfo(productNftId);
|
184
189
|
}
|
185
190
|
|
186
|
-
/// @dev Returns true iff policy is active.
|
187
|
-
function policyIsActive(NftId policyNftId)
|
188
|
-
public
|
189
|
-
view
|
190
|
-
returns (bool isCloseable)
|
191
|
-
{
|
192
|
-
IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
|
193
191
|
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
192
|
+
/// @dev Returns the current fee settings for the given product NFT ID.
|
193
|
+
function getFeeInfo(NftId productNftId) public view returns (IComponents.FeeInfo memory feeInfo) {
|
194
|
+
return _productStore.getFeeInfo(productNftId);
|
195
|
+
}
|
196
|
+
|
197
|
+
//--- risk functions ---------------------------------------------------------//
|
198
198
|
|
199
|
-
|
199
|
+
/// @dev Returns the total number of registered risks for the specified product.
|
200
|
+
function risks(NftId productNftId) public view returns (uint256 riskCount) {
|
201
|
+
return _riskSet.risks(productNftId);
|
200
202
|
}
|
201
203
|
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
{
|
207
|
-
return getPolicyInfo(policyNftId).claimsCount;
|
204
|
+
|
205
|
+
/// @dev Returns the number of active risks for the specified product.
|
206
|
+
function activeRisks(NftId productNftId) public view returns (uint256 activeRiskCount) {
|
207
|
+
return _riskSet.activeRisks(productNftId);
|
208
208
|
}
|
209
209
|
|
210
210
|
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
returns (ClaimId claimId)
|
215
|
-
{
|
216
|
-
return ClaimIdLib.toClaimId(idx + 1);
|
211
|
+
/// @dev Returns the risk ID for the given product NFT ID and (registered) risk index.
|
212
|
+
function getRiskId(NftId productNftId, uint256 idx) public view returns (RiskId riskId) {
|
213
|
+
return _riskSet.getRiskId(productNftId, idx);
|
217
214
|
}
|
218
215
|
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
{
|
224
|
-
bytes memory data = _store.getData(claimId.toKey32(policyNftId));
|
225
|
-
if (data.length > 0) {
|
226
|
-
return abi.decode(data, (IPolicy.ClaimInfo));
|
227
|
-
}
|
216
|
+
|
217
|
+
/// @dev Returns the active risk ID for the given product NFT ID and (active) risk index.
|
218
|
+
function getActiveRiskId(NftId productNftId, uint256 idx) public view returns (RiskId riskId) {
|
219
|
+
return _riskSet.getActiveRiskId(productNftId, idx);
|
228
220
|
}
|
229
221
|
|
230
222
|
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
returns (StateId state)
|
235
|
-
{
|
236
|
-
return _store.getState(claimId.toKey32(policyNftId));
|
223
|
+
/// @dev Returns true if the specified risk exists for the given product NFT ID.
|
224
|
+
function isProductRisk(NftId productNftId, RiskId riskId) public view returns (bool exists) {
|
225
|
+
return _riskSet.hasRisk(productNftId, riskId);
|
237
226
|
}
|
238
227
|
|
239
228
|
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
returns (uint24 payoutCount)
|
244
|
-
{
|
245
|
-
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
229
|
+
/// @dev Returns the risk info for the given risk ID.
|
230
|
+
function getRiskInfo(RiskId riskId) public view returns (IRisk.RiskInfo memory info) {
|
231
|
+
return _productStore.getRiskInfo(riskId);
|
246
232
|
}
|
247
233
|
|
248
234
|
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
returns (PayoutId payoutId)
|
253
|
-
{
|
254
|
-
return PayoutIdLib.toPayoutId(claimId, idx + 1);
|
235
|
+
/// @dev Returns the risk state for the given risk ID.
|
236
|
+
function getRiskState(RiskId riskId) public view returns (StateId stateId) {
|
237
|
+
return _productStore.getState(riskId.toKey32());
|
255
238
|
}
|
256
239
|
|
257
240
|
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
|
264
|
-
return info.sumInsuredAmount - info.claimAmount;
|
241
|
+
//--- policy functions -------------------------------------------------------//
|
242
|
+
|
243
|
+
/// @dev Returns the number of linked policies for the given risk ID.
|
244
|
+
function policiesForRisk(RiskId riskId) public view returns (uint256 linkedPolicies) {
|
245
|
+
return _riskSet.linkedPolicies(riskId);
|
265
246
|
}
|
266
247
|
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
{
|
272
|
-
bytes memory data = _store.getData(payoutId.toKey32(policyNftId));
|
273
|
-
if (data.length > 0) {
|
274
|
-
return abi.decode(data, (IPolicy.PayoutInfo));
|
275
|
-
}
|
248
|
+
|
249
|
+
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
250
|
+
function getPolicyForRisk(RiskId riskId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
251
|
+
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
276
252
|
}
|
277
253
|
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
returns (StateId state)
|
282
|
-
{
|
283
|
-
return _store.getState(payoutId.toKey32(policyNftId));
|
254
|
+
/// @dev Returns the number of linked policies for the given bundle NFT ID.
|
255
|
+
function policiesForBundle(NftId bundleNftId) public view returns (uint256 linkedPolicies) {
|
256
|
+
return _bundleSet.activePolicies(bundleNftId);
|
284
257
|
}
|
285
258
|
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
{
|
291
|
-
return _riskSet.risks(productNftId);
|
259
|
+
|
260
|
+
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
261
|
+
function getPolicyForBundle(NftId bundleNftId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
262
|
+
return _bundleSet.getActivePolicy(bundleNftId, idx);
|
292
263
|
}
|
293
264
|
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
{
|
299
|
-
return _riskSet.getRiskId(productNftId, idx);
|
265
|
+
|
266
|
+
/// @dev Returns the info for the given policy NFT ID.
|
267
|
+
function getPolicyInfo(NftId policyNftId) public view returns (IPolicy.PolicyInfo memory info) {
|
268
|
+
return _productStore.getPolicyInfo(policyNftId);
|
300
269
|
}
|
301
270
|
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
{
|
307
|
-
return _riskSet.activeRisks(productNftId);
|
271
|
+
|
272
|
+
/// @dev Returns the state for the given policy NFT ID.
|
273
|
+
function getPolicyState(NftId policyNftId) public view returns (StateId state) {
|
274
|
+
return _productStore.getState(_toPolicyKey(policyNftId));
|
308
275
|
}
|
309
276
|
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
{
|
315
|
-
return _riskSet.getActiveRiskId(productNftId, idx);
|
277
|
+
|
278
|
+
/// @dev Returns true iff policy is active.
|
279
|
+
function policyIsActive(NftId policyNftId) public view returns (bool isCloseable) {
|
280
|
+
return PolicyServiceLib.policyIsActive(this, policyNftId);
|
316
281
|
}
|
317
282
|
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
bytes memory data = _store.getData(riskId.toKey32());
|
324
|
-
if (data.length > 0) {
|
325
|
-
return abi.decode(data, (IRisk.RiskInfo));
|
326
|
-
}
|
283
|
+
//--- claim functions -------------------------------------------------------//
|
284
|
+
|
285
|
+
/// @dev Returns the number of claims for the given policy NFT ID.
|
286
|
+
function claims(NftId policyNftId) public view returns (uint16 claimCount) {
|
287
|
+
return getPolicyInfo(policyNftId).claimsCount;
|
327
288
|
}
|
328
289
|
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
{
|
334
|
-
bytes memory data = _store.getData(riskId.toKey32());
|
335
|
-
return _store.getState(riskId.toKey32());
|
290
|
+
|
291
|
+
/// @dev Returns the claim ID for the given policy NFT ID and index.
|
292
|
+
function getClaimId(uint256 idx) public pure returns (ClaimId claimId) {
|
293
|
+
return ClaimIdLib.toClaimId(idx + 1);
|
336
294
|
}
|
337
295
|
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
{
|
343
|
-
return _riskSet.linkedPolicies(riskId);
|
296
|
+
|
297
|
+
/// @dev Returns the claim info for the given policy NFT ID and claim ID.
|
298
|
+
function getClaimInfo(NftId policyNftId, ClaimId claimId) public view returns (IPolicy.ClaimInfo memory info) {
|
299
|
+
return _productStore.getClaimInfo(policyNftId, claimId);
|
344
300
|
}
|
345
301
|
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
{
|
351
|
-
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
302
|
+
|
303
|
+
/// @dev Returns the current claim state for the given policy NFT ID and claim ID.
|
304
|
+
function getClaimState(NftId policyNftId, ClaimId claimId) public view returns (StateId state) {
|
305
|
+
return _productStore.getState(claimId.toKey32(policyNftId));
|
352
306
|
}
|
353
307
|
|
354
308
|
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
returns (
|
359
|
-
|
360
|
-
|
361
|
-
if (address(tokenHandler) != address(0)) {
|
362
|
-
return tokenHandler.TOKEN();
|
363
|
-
}
|
309
|
+
/// @dev Returns the remaining claimable amount for the given policy NFT ID.
|
310
|
+
/// The remaining claimable amount is the difference between the sum insured amount and total approved claim amounts so far.
|
311
|
+
function getRemainingClaimableAmount(NftId policyNftId)
|
312
|
+
public view returns (Amount remainingClaimableAmount) {
|
313
|
+
IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
|
314
|
+
return info.sumInsuredAmount - info.claimAmount;
|
364
315
|
}
|
365
316
|
|
317
|
+
//--- payout functions -------------------------------------------------------//
|
366
318
|
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
returns (address wallet)
|
371
|
-
{
|
372
|
-
TokenHandler tokenHandler = getTokenHandler(componentNftId);
|
373
|
-
if (address(tokenHandler) != address(0)) {
|
374
|
-
return tokenHandler.getWallet();
|
375
|
-
}
|
319
|
+
/// @dev Returns the number of payouts for the given policy NFT ID and claim ID.
|
320
|
+
function payouts(NftId policyNftId, ClaimId claimId) public view returns (uint24 payoutCount) {
|
321
|
+
return getClaimInfo(policyNftId, claimId).payoutsCount;
|
376
322
|
}
|
377
323
|
|
378
324
|
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
returns (TokenHandler tokenHandler)
|
383
|
-
{
|
384
|
-
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
385
|
-
if (data.length > 0) {
|
386
|
-
return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
|
387
|
-
}
|
325
|
+
/// @dev Returns the payout ID for the given claim ID and index.
|
326
|
+
function getPayoutId(ClaimId claimId, uint24 idx) public pure returns (PayoutId payoutId) {
|
327
|
+
return PayoutIdLib.toPayoutId(claimId, idx + 1);
|
388
328
|
}
|
389
329
|
|
390
330
|
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
returns (IBundle.BundleInfo memory info)
|
395
|
-
{
|
396
|
-
bytes memory data = _store.getData(toBundleKey(bundleNftId));
|
397
|
-
if (data.length > 0) {
|
398
|
-
return abi.decode(data, (IBundle.BundleInfo));
|
399
|
-
}
|
331
|
+
/// @dev Returns the payout info for the given policy NFT ID and payout ID.
|
332
|
+
function getPayoutInfo(NftId policyNftId, PayoutId payoutId) public view returns (IPolicy.PayoutInfo memory info) {
|
333
|
+
return _productStore.getPayoutInfo(policyNftId, payoutId);
|
400
334
|
}
|
401
335
|
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
{
|
407
|
-
bytes memory data = _store.getData(distributorType.toKey32());
|
408
|
-
if (data.length > 0) {
|
409
|
-
return abi.decode(data, (IDistribution.DistributorTypeInfo));
|
410
|
-
}
|
336
|
+
|
337
|
+
/// @dev Returns the payout state for the given policy NFT ID and payout ID.
|
338
|
+
function getPayoutState(NftId policyNftId, PayoutId payoutId) public view returns (StateId state) {
|
339
|
+
return _productStore.getState(payoutId.toKey32(policyNftId));
|
411
340
|
}
|
412
341
|
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
bytes memory data = _store.getData(toDistributorKey(distributorNftId));
|
419
|
-
if (data.length > 0) {
|
420
|
-
return abi.decode(data, (IDistribution.DistributorInfo));
|
421
|
-
}
|
342
|
+
//--- premium functions -------------------------------------------------------//
|
343
|
+
|
344
|
+
/// @dev Returns the premium info for the given policy NFT ID.
|
345
|
+
function getPremiumInfo(NftId policyNftId) public view returns (IPolicy.PremiumInfo memory info) {
|
346
|
+
return _productStore.getPremiumInfo(policyNftId);
|
422
347
|
}
|
423
348
|
|
424
|
-
|
425
|
-
|
349
|
+
|
350
|
+
/// @dev Returns the premium state for the given policy NFT ID.
|
351
|
+
function getPremiumState(NftId policyNftId) public view returns (StateId state) {
|
352
|
+
return _productStore.getState(_toPremiumKey(policyNftId));
|
426
353
|
}
|
427
354
|
|
428
|
-
|
429
|
-
|
355
|
+
//--- oracle functions ---------------------------------------------------------//
|
356
|
+
|
357
|
+
/// @dev Returns the request info for the given oracle request ID.
|
358
|
+
function getRequestInfo(RequestId requestId) public view returns (IOracle.RequestInfo memory requestInfo) {
|
359
|
+
return _store.getRequestInfo(requestId);
|
430
360
|
}
|
431
361
|
|
432
|
-
|
433
|
-
|
362
|
+
/// @dev Returns the request info for the given oracle request ID.
|
363
|
+
function getRequestState(RequestId requestId) public view returns (StateId state) {
|
364
|
+
return getState(requestId.toKey32());
|
434
365
|
}
|
435
366
|
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
bytes memory data = _store.getData(toComponentKey(componentNftId));
|
442
|
-
if (data.length > 0) {
|
443
|
-
return abi.decode(data, (IComponents.ComponentInfo));
|
444
|
-
}
|
367
|
+
//--- pool functions -----------------------------------------------------------//
|
368
|
+
|
369
|
+
/// @dev Returns the pool info for the given pool NFT ID.
|
370
|
+
function getPoolInfo(NftId poolNftId) public view returns (IComponents.PoolInfo memory info) {
|
371
|
+
return _store.getPoolInfo(poolNftId);
|
445
372
|
}
|
446
373
|
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
bytes memory data = _store.getData(toProductKey(productNftId));
|
453
|
-
if (data.length > 0) {
|
454
|
-
return abi.decode(data, (IComponents.ProductInfo));
|
455
|
-
}
|
374
|
+
//--- bundle functions -------------------------------------------------------//
|
375
|
+
|
376
|
+
/// @dev Returns the total number of registered bundles for the given pool.
|
377
|
+
function bundles(NftId poolNftId) public view returns (uint256 bundleCount) {
|
378
|
+
return _bundleSet.bundles(poolNftId);
|
456
379
|
}
|
457
380
|
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
{
|
463
|
-
bytes memory data = _store.getData(toFeeKey(productNftId));
|
464
|
-
if (data.length > 0) {
|
465
|
-
return abi.decode(data, (IComponents.FeeInfo));
|
466
|
-
}
|
381
|
+
|
382
|
+
/// @dev Returns the number of active bundles for the given pool.
|
383
|
+
function activeBundles(NftId poolNftId) public view returns (uint256 bundleCount) {
|
384
|
+
return _bundleSet.activeBundles(poolNftId);
|
467
385
|
}
|
468
386
|
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
{
|
474
|
-
bytes memory data = _store.getData(toPoolKey(poolNftId));
|
475
|
-
if (data.length > 0) {
|
476
|
-
return abi.decode(data, (IComponents.PoolInfo));
|
477
|
-
}
|
387
|
+
|
388
|
+
/// @dev Returns the bunde NFT ID for the given pool and index.
|
389
|
+
function getBundleNftId(NftId poolNftId, uint256 idx) public view returns (NftId bundleNftId) {
|
390
|
+
return _bundleSet.getBundleNftId(poolNftId, idx);
|
478
391
|
}
|
479
392
|
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
{
|
485
|
-
bytes memory data = _store.getData(referralId.toKey32());
|
486
|
-
if (data.length > 0) {
|
487
|
-
return abi.decode(data, (IDistribution.ReferralInfo));
|
488
|
-
}
|
393
|
+
|
394
|
+
/// @dev Returns the active bunde NFT ID for the given pool and index.
|
395
|
+
function getActiveBundleNftId(NftId poolNftId, uint256 idx) public view returns (NftId bundleNftId) {
|
396
|
+
return _bundleSet.getActiveBundleNftId(poolNftId, idx);
|
489
397
|
}
|
490
398
|
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
{
|
496
|
-
return _distributionService.referralIsValid(
|
497
|
-
distributionNftId,
|
498
|
-
referralId);
|
399
|
+
|
400
|
+
/// @dev Returns the bundle info for the given bundle NFT ID.
|
401
|
+
function getBundleInfo(NftId bundleNftId) public view returns (IBundle.BundleInfo memory info) {
|
402
|
+
return _store.getBundleInfo(bundleNftId);
|
499
403
|
}
|
500
404
|
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
{
|
506
|
-
bytes memory data = _store.getData(requestId.toKey32());
|
507
|
-
if (data.length > 0) {
|
508
|
-
return abi.decode(data, (IOracle.RequestInfo));
|
509
|
-
}
|
405
|
+
|
406
|
+
/// @dev Returns the bundle state for the given bundle NFT ID.
|
407
|
+
function getBundleState(NftId bundleNftId) public view returns (StateId state) {
|
408
|
+
return getState(_toBundleKey(bundleNftId));
|
510
409
|
}
|
511
410
|
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
{
|
517
|
-
return _store.getMetadata(key);
|
411
|
+
//--- distribution functions -------------------------------------------------------//
|
412
|
+
|
413
|
+
function getDistributorTypeInfo(DistributorType distributorType) public view returns (IDistribution.DistributorTypeInfo memory info) {
|
414
|
+
return _store.getDistributorTypeInfo(distributorType);
|
518
415
|
}
|
519
416
|
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
returns (StateId state)
|
524
|
-
{
|
525
|
-
return _store.getMetadata(key).state;
|
417
|
+
|
418
|
+
function getDistributorInfo(NftId distributorNftId) public view returns (IDistribution.DistributorInfo memory info) {
|
419
|
+
return _store.getDistributorInfo(distributorNftId);
|
526
420
|
}
|
527
421
|
|
528
422
|
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
{
|
537
|
-
return
|
538
|
-
|
539
|
-
|
423
|
+
//--- referral functions -------------------------------------------------------//
|
424
|
+
|
425
|
+
function toReferralId(NftId distributionNftId, string memory referralCode) public pure returns (ReferralId referralId) {
|
426
|
+
return ReferralLib.toReferralId(distributionNftId, referralCode);
|
427
|
+
}
|
428
|
+
|
429
|
+
|
430
|
+
function isReferralValid(NftId distributionNftId, ReferralId referralId) external view returns (bool isValid) {
|
431
|
+
return _distributionService.referralIsValid(distributionNftId, referralId);
|
432
|
+
}
|
433
|
+
|
434
|
+
|
435
|
+
function getReferralInfo(ReferralId referralId) public view returns (IDistribution.ReferralInfo memory info) {
|
436
|
+
return _store.getReferralInfo(referralId);
|
540
437
|
}
|
541
438
|
|
542
439
|
|
@@ -548,88 +445,142 @@ contract InstanceReader {
|
|
548
445
|
ReferralStatus status
|
549
446
|
)
|
550
447
|
{
|
551
|
-
|
552
|
-
|
448
|
+
return IDistributionService(
|
449
|
+
_registry.getServiceAddress(
|
450
|
+
DISTRIBUTION(),
|
451
|
+
_instance.getRelease())).getDiscountPercentage(
|
452
|
+
this, // instance reader
|
453
|
+
referralId);
|
454
|
+
}
|
553
455
|
|
554
|
-
|
555
|
-
return (
|
556
|
-
UFixedLib.zero(),
|
557
|
-
REFERRAL_ERROR_UNKNOWN());
|
558
|
-
}
|
456
|
+
//--- authorization functions -------------------------------------------------------//
|
559
457
|
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
}
|
458
|
+
/// @dev Returns the number of defined roles.
|
459
|
+
function roles() public view returns (uint256) {
|
460
|
+
return _instanceAdmin.roles();
|
461
|
+
}
|
565
462
|
|
566
|
-
if (info.usedReferrals >= info.maxReferrals) {
|
567
|
-
return (
|
568
|
-
UFixedLib.zero(),
|
569
|
-
REFERRAL_ERROR_EXHAUSTED());
|
570
|
-
}
|
571
463
|
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
);
|
464
|
+
/// @dev Returns the role ID for the given index.
|
465
|
+
function getRoleId(uint256 idx) public view returns (RoleId roleId) {
|
466
|
+
return _instanceAdmin.getRoleId(uint64(idx));
|
576
467
|
}
|
577
468
|
|
578
469
|
|
579
|
-
|
580
|
-
|
470
|
+
/// @dev Returns the role ID for the given index.
|
471
|
+
function getRoleForName(string memory name) public view returns (RoleId roleId, bool exists) {
|
472
|
+
return _instanceAdmin.getRoleForName(name);
|
581
473
|
}
|
582
474
|
|
583
475
|
|
584
|
-
|
585
|
-
|
476
|
+
/// @dev Returns the role ID for the instance owner role.
|
477
|
+
/// This role may be used as a "root" admin role for other custom roles defined for this instance.
|
478
|
+
function getInstanceOwnerRole() public pure returns (RoleId roleId) {
|
479
|
+
return INSTANCE_OWNER_ROLE();
|
586
480
|
}
|
587
481
|
|
588
482
|
|
589
|
-
|
590
|
-
|
483
|
+
/// @dev Returns the role info for the given role ID.
|
484
|
+
function getRoleInfo(RoleId roleId) public view returns (IAccess.RoleInfo memory roleInfo) {
|
485
|
+
return _instanceAdmin.getRoleInfo(roleId);
|
591
486
|
}
|
592
487
|
|
593
|
-
|
594
|
-
|
488
|
+
|
489
|
+
/// @dev Returns true iff the provided role ID is defined for this instance.
|
490
|
+
function roleExists(RoleId roleId) public view returns (bool exists) {
|
491
|
+
return _instanceAdmin.roleExists(roleId);
|
595
492
|
}
|
596
493
|
|
597
|
-
|
598
|
-
|
494
|
+
|
495
|
+
/// @dev Returns true iff the provided role ID represents a custom role ID.
|
496
|
+
function isRoleCustom(RoleId roleId) public view returns (bool isCustom) {
|
497
|
+
return _instanceAdmin.isRoleCustom(roleId);
|
599
498
|
}
|
600
499
|
|
601
|
-
|
602
|
-
|
500
|
+
|
501
|
+
/// @dev Returns true iff the provided role ID is active.
|
502
|
+
function isRoleActive(RoleId roleId) public view returns (bool isActive) {
|
503
|
+
return _instanceAdmin.isRoleActive(roleId);
|
603
504
|
}
|
604
505
|
|
605
|
-
|
606
|
-
|
506
|
+
|
507
|
+
/// @dev Returns the number of members (accounts) for the given role ID.
|
508
|
+
function roleMembers(RoleId roleId) public view returns (uint256 numberOfMembers) {
|
509
|
+
return _instanceAdmin.roleMembers(roleId);
|
607
510
|
}
|
608
511
|
|
609
|
-
|
610
|
-
|
512
|
+
|
513
|
+
/// @dev Returns the member (account address) for the given role ID and index.
|
514
|
+
function getRoleMember(RoleId roleId, uint256 idx) public view returns (address account) {
|
515
|
+
return _instanceAdmin.getRoleMember(roleId, idx);
|
516
|
+
}
|
517
|
+
|
518
|
+
|
519
|
+
/// @dev Returns true iff the given account is a member of the specified role ID.
|
520
|
+
function isRoleMember(RoleId roleId, address account) public view returns (bool isMember) {
|
521
|
+
return _instanceAdmin.isRoleMember(roleId, account);
|
522
|
+
}
|
523
|
+
|
524
|
+
|
525
|
+
/// @dev Returns true iff the given account is an admin of the specified role ID.
|
526
|
+
/// Role admins may grant and revoke the role to other accounts.
|
527
|
+
function isRoleAdmin(RoleId roleId, address account) public view returns (bool isMember) {
|
528
|
+
return _instanceAdmin.isRoleAdmin(roleId, account);
|
529
|
+
}
|
530
|
+
|
531
|
+
|
532
|
+
/// @dev Returns the number of targets (contracts) defined for this instance.
|
533
|
+
function targets() public view returns (uint256 targetCount) {
|
534
|
+
return _instanceAdmin.targets();
|
535
|
+
}
|
536
|
+
|
537
|
+
|
538
|
+
/// @dev Returns the target address for the given index.
|
539
|
+
function getTargetAddress(uint256 idx) public view returns (address target) {
|
540
|
+
return _instanceAdmin.getTargetAddress(idx);
|
541
|
+
}
|
542
|
+
|
543
|
+
|
544
|
+
/// @dev Returns the target info for the given target address.
|
545
|
+
function getTargetInfo(address target) public view returns (IAccess.TargetInfo memory targetInfo) {
|
546
|
+
return _instanceAdmin.getTargetInfo(target);
|
547
|
+
}
|
548
|
+
|
549
|
+
|
550
|
+
/// @dev Returns true iff the given target is defined for this instance.
|
551
|
+
function targetExists(address target) public view returns (bool exists) {
|
552
|
+
return _instanceAdmin.targetExists(target);
|
611
553
|
}
|
612
554
|
|
613
|
-
|
614
|
-
|
555
|
+
|
556
|
+
/// @dev Returns true iff the given target is locked.
|
557
|
+
function isLocked(address target) public view returns (bool) {
|
558
|
+
return _instanceAdmin.isTargetLocked(target);
|
615
559
|
}
|
616
560
|
|
617
|
-
|
618
|
-
|
561
|
+
|
562
|
+
/// @dev Returns the number of authorized functions for the given target.
|
563
|
+
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions) {
|
564
|
+
return _instanceAdmin.authorizedFunctions(target);
|
619
565
|
}
|
620
566
|
|
621
|
-
|
622
|
-
|
567
|
+
|
568
|
+
/// @dev Returns the authorized function info for the given target and index.
|
569
|
+
function getAuthorizedFunction(address target, uint256 idx) external view returns (IAccess.FunctionInfo memory func, RoleId roleId) {
|
570
|
+
return _instanceAdmin.getAuthorizedFunction(target, idx);
|
623
571
|
}
|
624
572
|
|
625
|
-
|
626
|
-
|
573
|
+
|
574
|
+
/// @dev Returns a function info for the given function signature and function name.
|
575
|
+
/// The function signature must not be zero and the function name must not be empty.
|
576
|
+
function toFunction(bytes4 signature, string memory name) public view returns (IAccess.FunctionInfo memory) {
|
577
|
+
return AccessAdminLib.toFunction(signature, name);
|
627
578
|
}
|
628
579
|
|
629
|
-
|
580
|
+
//--- low level function ----------------------------------------------------//
|
630
581
|
|
631
|
-
function
|
632
|
-
return
|
582
|
+
function getInstanceAdmin() external view returns (InstanceAdmin instanceAdmin) {
|
583
|
+
return _instanceAdmin;
|
633
584
|
}
|
634
585
|
|
635
586
|
function getBundleSet() external view returns (BundleSet bundleSet) {
|
@@ -640,11 +591,50 @@ contract InstanceReader {
|
|
640
591
|
return _riskSet;
|
641
592
|
}
|
642
593
|
|
643
|
-
|
644
|
-
|
594
|
+
|
595
|
+
function getMetadata(Key32 key) public view returns (IBaseStore.Metadata memory metadata) {
|
596
|
+
return _store.getMetadata(key);
|
645
597
|
}
|
646
598
|
|
599
|
+
|
600
|
+
function getState(Key32 key) public view returns (StateId state) {
|
601
|
+
return _store.getState(key);
|
602
|
+
}
|
603
|
+
|
604
|
+
|
647
605
|
function toInt(UFixed value) public pure returns (uint256) {
|
648
606
|
return UFixedLib.toInt(value);
|
649
607
|
}
|
608
|
+
|
609
|
+
|
610
|
+
function toString(Str str) public pure returns (string memory) {
|
611
|
+
return StrLib.toString(str);
|
612
|
+
}
|
613
|
+
|
614
|
+
|
615
|
+
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
616
|
+
return UFixedLib.toUFixed(value, exp);
|
617
|
+
}
|
618
|
+
|
619
|
+
//--- internal functions ----------------------------------------------------//
|
620
|
+
|
621
|
+
|
622
|
+
function _toPolicyKey(NftId policyNftId) internal pure returns (Key32) {
|
623
|
+
return policyNftId.toKey32(POLICY());
|
624
|
+
}
|
625
|
+
|
626
|
+
|
627
|
+
function _toPremiumKey(NftId policyNftId) internal pure returns (Key32) {
|
628
|
+
return policyNftId.toKey32(PREMIUM());
|
629
|
+
}
|
630
|
+
|
631
|
+
|
632
|
+
function _toBundleKey(NftId poolNftId) internal pure returns (Key32) {
|
633
|
+
return poolNftId.toKey32(BUNDLE());
|
634
|
+
}
|
635
|
+
|
636
|
+
|
637
|
+
function _toComponentKey(NftId componentNftId) internal pure returns (Key32) {
|
638
|
+
return componentNftId.toKey32(COMPONENT());
|
639
|
+
}
|
650
640
|
}
|