@etherisc/gif-next 0.0.2-d5fac82-078 → 0.0.2-d62f29e-108
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 +49 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1489 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +172 -408
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +272 -335
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +75 -88
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +169 -263
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +186 -94
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +71 -72
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +190 -49
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +81 -141
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1158 -278
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +592 -311
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +271 -109
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +65 -58
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1113 -353
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +21 -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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1126 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +765 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1018 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1395 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +395 -228
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +121 -66
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +204 -32
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +180 -366
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +340 -209
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +220 -465
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +395 -445
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +51 -84
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +88 -173
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +56 -53
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1243 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +234 -202
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +79 -72
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +25 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +134 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +217 -73
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +83 -44
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -183
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +15 -57
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +241 -307
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +67 -108
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +184 -235
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +80 -73
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +336 -352
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +695 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +702 -0
- 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 +107 -33
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +42 -73
- 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 +360 -48
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1557 -116
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +198 -28
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +45 -42
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -136
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +99 -159
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1236 -206
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +804 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +76 -107
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +12 -16
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +940 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +33 -20
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +17 -22
- 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 +16 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +362 -7
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +566 -54
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1975 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +765 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +657 -100
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +65 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +97 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +217 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +162 -152
- package/contracts/distribution/DistributionService.sol +129 -144
- package/contracts/distribution/DistributionServiceManager.sol +2 -5
- package/contracts/distribution/IDistributionComponent.sol +28 -47
- package/contracts/distribution/IDistributionService.sol +24 -10
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +24 -38
- package/contracts/instance/IInstanceService.sol +44 -25
- package/contracts/instance/Instance.sol +111 -112
- package/contracts/instance/InstanceAdmin.sol +213 -282
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +114 -52
- package/contracts/instance/InstanceService.sol +280 -111
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +142 -66
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +111 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
- package/contracts/instance/module/IAccess.sol +2 -0
- package/contracts/instance/module/IBundle.sol +1 -4
- package/contracts/instance/module/IComponents.sol +15 -10
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +30 -23
- package/contracts/mock/Dip.sol +26 -0
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +167 -0
- package/contracts/oracle/OracleService.sol +279 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +254 -200
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +35 -19
- package/contracts/pool/IPoolComponent.sol +10 -66
- package/contracts/pool/IPoolService.sol +79 -33
- package/contracts/pool/Pool.sol +168 -144
- package/contracts/pool/PoolService.sol +317 -212
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +139 -77
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +53 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +134 -90
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +2 -1
- package/contracts/product/IClaimService.sol +32 -3
- package/contracts/product/IPolicyService.sol +29 -36
- package/contracts/product/IPricingService.sol +10 -8
- package/contracts/product/IProductComponent.sol +10 -12
- package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -9
- package/contracts/product/PolicyService.sol +385 -189
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +97 -72
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +176 -130
- package/contracts/product/RiskService.sol +97 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +8 -1
- package/contracts/registry/IRegistry.sol +41 -19
- package/contracts/registry/IRegistryService.sol +15 -5
- package/contracts/registry/Registry.sol +222 -111
- package/contracts/registry/RegistryAdmin.sol +308 -77
- package/contracts/registry/RegistryService.sol +52 -32
- package/contracts/registry/RegistryServiceManager.sol +4 -11
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
- package/contracts/registry/TokenRegistry.sol +261 -64
- package/contracts/shared/Component.sol +141 -144
- package/contracts/shared/ComponentService.sol +590 -90
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/IComponent.sol +21 -41
- package/contracts/shared/IComponentService.sol +108 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +6 -1
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +172 -0
- package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
- package/contracts/shared/Lifecycle.sol +77 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +6 -16
- package/contracts/shared/PolicyHolder.sol +22 -17
- package/contracts/shared/Registerable.sol +2 -2
- package/contracts/shared/Service.sol +32 -22
- package/contracts/shared/TokenHandler.sol +112 -8
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +168 -0
- package/contracts/staking/IStakingService.sol +105 -47
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +498 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +50 -0
- package/contracts/staking/StakingReader.sol +183 -0
- package/contracts/staking/StakingService.sol +283 -45
- package/contracts/staking/StakingServiceManager.sol +9 -5
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +29 -3
- package/contracts/type/Blocknumber.sol +26 -3
- package/contracts/type/Fee.sol +17 -16
- package/contracts/type/NftId.sol +14 -16
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +175 -62
- package/contracts/type/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +104 -69
- package/contracts/type/Seconds.sol +48 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +28 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +17 -3
- package/contracts/type/UFixed.sol +34 -9
- package/contracts/type/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/ProxyManager.sol +5 -7
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +8 -5
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -188
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -883
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -711
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1003
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1747
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1765
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1594
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -630
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -320
- package/contracts/instance/base/Lifecycle.sol +0 -121
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/product/ProductService.sol +0 -212
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -463
- package/contracts/shared/AccessManagerCustom.sol +0 -736
- package/contracts/shared/AccessManagerExtended.sol +0 -469
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -125
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -17
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,115 +1,199 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
3
|
-
|
4
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
2
|
+
pragma solidity ^0.8.20;
|
5
3
|
|
6
4
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
7
5
|
import {ClaimId} from "../type/ClaimId.sol";
|
8
|
-
import {
|
9
|
-
import {Fee} from "../type/Fee.sol";
|
6
|
+
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
7
|
+
import {Fee, FeeLib} from "../type/Fee.sol";
|
10
8
|
import {IRisk} from "../instance/module/IRisk.sol";
|
11
9
|
import {IApplicationService} from "./IApplicationService.sol";
|
10
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
11
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
12
12
|
import {IPolicyService} from "./IPolicyService.sol";
|
13
|
-
import {
|
13
|
+
import {IRiskService} from "./IRiskService.sol";
|
14
14
|
import {IClaimService} from "./IClaimService.sol";
|
15
15
|
import {IPricingService} from "./IPricingService.sol";
|
16
16
|
import {IProductComponent} from "./IProductComponent.sol";
|
17
|
-
import {NftId
|
17
|
+
import {NftId} from "../type/NftId.sol";
|
18
18
|
import {PayoutId} from "../type/PayoutId.sol";
|
19
|
-
import {PRODUCT, APPLICATION, POLICY, CLAIM, PRICE } from "../type/ObjectType.sol";
|
19
|
+
import {COMPONENT, PRODUCT, APPLICATION, POLICY, CLAIM, PRICE } from "../type/ObjectType.sol";
|
20
20
|
import {ReferralId} from "../type/Referral.sol";
|
21
21
|
import {RiskId, RiskIdLib} from "../type/RiskId.sol";
|
22
22
|
import {Seconds} from "../type/Seconds.sol";
|
23
23
|
import {StateId} from "../type/StateId.sol";
|
24
24
|
import {Timestamp} from "../type/Timestamp.sol";
|
25
25
|
|
26
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
27
|
-
|
28
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
29
26
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
30
|
-
import {ISetup} from "../instance/module/ISetup.sol";
|
31
27
|
import {IComponents} from "../instance/module/IComponents.sol";
|
32
28
|
import {Pool} from "../pool/Pool.sol";
|
33
29
|
import {Distribution} from "../distribution/Distribution.sol";
|
34
30
|
|
35
31
|
abstract contract Product is
|
36
|
-
|
32
|
+
InstanceLinkedComponent,
|
37
33
|
IProductComponent
|
38
34
|
{
|
39
35
|
// keccak256(abi.encode(uint256(keccak256("etherisc.storage.Product")) - 1)) & ~bytes32(uint256(0xff));
|
40
36
|
bytes32 public constant PRODUCT_STORAGE_LOCATION_V1 = 0x0bb7aafdb8e380f81267337bc5b5dfdf76e6d3a380ecadb51ec665246d9d6800;
|
41
37
|
|
42
38
|
struct ProductStorage {
|
43
|
-
|
39
|
+
IRiskService _riskService;
|
44
40
|
IApplicationService _applicationService;
|
45
41
|
IPolicyService _policyService;
|
46
42
|
IClaimService _claimService;
|
47
43
|
IPricingService _pricingService;
|
48
|
-
|
49
|
-
Distribution _distribution;
|
50
|
-
Fee _initialProductFee;
|
51
|
-
Fee _initialProcessingFee;
|
52
|
-
TokenHandler _tokenHandler;
|
44
|
+
IComponentService _componentService;
|
53
45
|
NftId _poolNftId;
|
54
46
|
NftId _distributionNftId;
|
47
|
+
Pool _pool;
|
48
|
+
Distribution _distribution;
|
55
49
|
}
|
56
50
|
|
57
|
-
|
51
|
+
|
52
|
+
function calculatePremium(
|
53
|
+
Amount sumInsuredAmount,
|
54
|
+
RiskId riskId,
|
55
|
+
Seconds lifetime,
|
56
|
+
bytes memory applicationData,
|
57
|
+
NftId bundleNftId,
|
58
|
+
ReferralId referralId
|
59
|
+
)
|
60
|
+
public
|
61
|
+
view
|
62
|
+
override
|
63
|
+
returns (Amount premiumAmount)
|
64
|
+
{
|
65
|
+
IPolicy.PremiumInfo memory premium = _getProductStorage()._pricingService.calculatePremium(
|
66
|
+
getNftId(),
|
67
|
+
riskId,
|
68
|
+
sumInsuredAmount,
|
69
|
+
lifetime,
|
70
|
+
applicationData,
|
71
|
+
bundleNftId,
|
72
|
+
referralId
|
73
|
+
);
|
74
|
+
|
75
|
+
return premium.premiumAmount;
|
76
|
+
}
|
77
|
+
|
78
|
+
function calculateNetPremium(
|
79
|
+
Amount sumInsuredAmount,
|
80
|
+
RiskId,
|
81
|
+
Seconds,
|
82
|
+
bytes memory
|
83
|
+
)
|
84
|
+
external
|
85
|
+
view
|
86
|
+
virtual override
|
87
|
+
returns (Amount netPremiumAmount)
|
88
|
+
{
|
89
|
+
// default 10% of sum insured
|
90
|
+
return AmountLib.toAmount(sumInsuredAmount.toInt() / 10);
|
91
|
+
}
|
92
|
+
|
93
|
+
|
94
|
+
function register()
|
95
|
+
external
|
96
|
+
virtual
|
97
|
+
onlyOwner()
|
98
|
+
{
|
99
|
+
_getProductStorage()._componentService.registerProduct();
|
100
|
+
_approveTokenHandler(type(uint256).max);
|
101
|
+
}
|
102
|
+
|
103
|
+
|
104
|
+
function getInitialProductInfo()
|
105
|
+
public
|
106
|
+
virtual
|
107
|
+
view
|
108
|
+
returns (IComponents.ProductInfo memory poolInfo)
|
109
|
+
{
|
110
|
+
ProductStorage storage $ = _getProductStorage();
|
111
|
+
|
112
|
+
return IComponents.ProductInfo({
|
113
|
+
distributionNftId: $._distributionNftId,
|
114
|
+
poolNftId: $._poolNftId,
|
115
|
+
productFee: FeeLib.zero(),
|
116
|
+
processingFee: FeeLib.zero(),
|
117
|
+
distributionFee: FeeLib.zero(),
|
118
|
+
minDistributionOwnerFee: FeeLib.zero(),
|
119
|
+
poolFee: FeeLib.zero(),
|
120
|
+
stakingFee: FeeLib.zero(),
|
121
|
+
performanceFee: FeeLib.zero()
|
122
|
+
});
|
123
|
+
}
|
124
|
+
|
125
|
+
function getPoolNftId() external view override returns (NftId poolNftId) {
|
126
|
+
return getRegistry().getNftIdForAddress(address(_getProductStorage()._pool));
|
127
|
+
}
|
128
|
+
|
129
|
+
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
130
|
+
return getRegistry().getNftIdForAddress(address(_getProductStorage()._distribution));
|
131
|
+
}
|
132
|
+
|
133
|
+
function _initializeProduct(
|
58
134
|
address registry,
|
59
135
|
NftId instanceNftId,
|
136
|
+
IAuthorization authorization,
|
137
|
+
address initialOwner,
|
60
138
|
string memory name,
|
61
139
|
address token,
|
62
140
|
bool isInterceptor,
|
63
|
-
address pool,
|
64
|
-
address distribution,
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
bytes memory registryData // writeonly data that will saved in the object info record of the registry
|
141
|
+
address pool, // switch to pool nft id (#527)
|
142
|
+
address distribution, // switch to distribution nft id (#527)
|
143
|
+
// add NftId [] oracleNftIds (#527)
|
144
|
+
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
145
|
+
bytes memory componentData // writeonly data that will saved in the object info record of the registry
|
69
146
|
)
|
70
|
-
|
147
|
+
internal
|
71
148
|
virtual
|
72
149
|
onlyInitializing()
|
73
150
|
{
|
74
|
-
|
151
|
+
_initializeInstanceLinkedComponent(
|
152
|
+
registry,
|
153
|
+
instanceNftId,
|
154
|
+
name,
|
155
|
+
token,
|
156
|
+
PRODUCT(),
|
157
|
+
authorization,
|
158
|
+
isInterceptor,
|
159
|
+
initialOwner,
|
160
|
+
registryData,
|
161
|
+
componentData);
|
75
162
|
|
76
163
|
ProductStorage storage $ = _getProductStorage();
|
77
164
|
// TODO add validation
|
78
|
-
// TODO refactor to go via registry
|
79
|
-
$.
|
165
|
+
// TODO refactor to go via registry for all components linked to this product (#527)
|
166
|
+
$._riskService = IRiskService(_getServiceAddress(PRODUCT()));
|
80
167
|
$._applicationService = IApplicationService(_getServiceAddress(APPLICATION()));
|
81
168
|
$._policyService = IPolicyService(_getServiceAddress(POLICY()));
|
82
169
|
$._claimService = IClaimService(_getServiceAddress(CLAIM()));
|
83
170
|
$._pricingService = IPricingService(_getServiceAddress(PRICE()));
|
171
|
+
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
84
172
|
$._pool = Pool(pool);
|
85
173
|
$._distribution = Distribution(distribution);
|
86
|
-
$.
|
87
|
-
$.
|
88
|
-
$._tokenHandler = new TokenHandler(token);
|
89
|
-
$._poolNftId = getRegistry().getNftId(pool);
|
90
|
-
$._distributionNftId = getRegistry().getNftId(distribution);
|
174
|
+
$._poolNftId = getRegistry().getNftIdForAddress(pool);
|
175
|
+
$._distributionNftId = getRegistry().getNftIdForAddress(distribution);
|
91
176
|
|
92
177
|
registerInterface(type(IProductComponent).interfaceId);
|
93
178
|
}
|
94
179
|
|
95
|
-
|
96
|
-
function
|
180
|
+
|
181
|
+
function _setFees(
|
97
182
|
Fee memory productFee,
|
98
183
|
Fee memory processingFee
|
99
184
|
)
|
100
|
-
|
101
|
-
|
102
|
-
restricted()
|
103
|
-
override
|
185
|
+
internal
|
186
|
+
virtual
|
104
187
|
{
|
105
|
-
|
188
|
+
_getProductStorage()._componentService.setProductFees(productFee, processingFee);
|
106
189
|
}
|
107
190
|
|
191
|
+
|
108
192
|
function _createRisk(
|
109
193
|
RiskId id,
|
110
194
|
bytes memory data
|
111
195
|
) internal {
|
112
|
-
|
196
|
+
_getRiskService().createRisk(
|
113
197
|
id,
|
114
198
|
data
|
115
199
|
);
|
@@ -119,7 +203,7 @@ abstract contract Product is
|
|
119
203
|
RiskId id,
|
120
204
|
bytes memory data
|
121
205
|
) internal {
|
122
|
-
|
206
|
+
_getRiskService().updateRisk(
|
123
207
|
id,
|
124
208
|
data
|
125
209
|
);
|
@@ -129,20 +213,23 @@ abstract contract Product is
|
|
129
213
|
RiskId id,
|
130
214
|
StateId state
|
131
215
|
) internal {
|
132
|
-
|
216
|
+
_getRiskService().updateRiskState(
|
133
217
|
id,
|
134
218
|
state
|
135
219
|
);
|
136
220
|
}
|
137
221
|
|
222
|
+
|
138
223
|
function _getRiskInfo(RiskId id) internal view returns (IRisk.RiskInfo memory info) {
|
139
224
|
return getInstance().getInstanceReader().getRiskInfo(id);
|
140
225
|
}
|
141
226
|
|
227
|
+
|
142
228
|
function _createApplication(
|
143
229
|
address applicationOwner,
|
144
230
|
RiskId riskId,
|
145
231
|
Amount sumInsuredAmount,
|
232
|
+
Amount premiumAmount,
|
146
233
|
Seconds lifetime,
|
147
234
|
NftId bundleNftId,
|
148
235
|
ReferralId referralId,
|
@@ -155,6 +242,7 @@ abstract contract Product is
|
|
155
242
|
applicationOwner,
|
156
243
|
riskId,
|
157
244
|
sumInsuredAmount,
|
245
|
+
premiumAmount,
|
158
246
|
lifetime,
|
159
247
|
bundleNftId,
|
160
248
|
referralId,
|
@@ -162,19 +250,36 @@ abstract contract Product is
|
|
162
250
|
);
|
163
251
|
}
|
164
252
|
|
165
|
-
function
|
166
|
-
NftId
|
167
|
-
bool requirePremiumPayment,
|
253
|
+
function _createPolicy(
|
254
|
+
NftId applicationNftId,
|
168
255
|
Timestamp activateAt
|
169
256
|
)
|
170
257
|
internal
|
171
258
|
{
|
172
|
-
_getProductStorage()._policyService.
|
173
|
-
|
174
|
-
requirePremiumPayment,
|
259
|
+
_getProductStorage()._policyService.createPolicy(
|
260
|
+
applicationNftId,
|
175
261
|
activateAt);
|
176
262
|
}
|
177
263
|
|
264
|
+
function _decline(
|
265
|
+
NftId policyNftId
|
266
|
+
)
|
267
|
+
internal
|
268
|
+
{
|
269
|
+
_getProductStorage()._policyService.decline(
|
270
|
+
policyNftId);
|
271
|
+
}
|
272
|
+
|
273
|
+
function _expire(
|
274
|
+
NftId policyNftId,
|
275
|
+
Timestamp expireAt
|
276
|
+
)
|
277
|
+
internal
|
278
|
+
returns (Timestamp expiredAt)
|
279
|
+
{
|
280
|
+
expiredAt = _getProductStorage()._policyService.expire(policyNftId, expireAt);
|
281
|
+
}
|
282
|
+
|
178
283
|
function _collectPremium(
|
179
284
|
NftId policyNftId,
|
180
285
|
Timestamp activateAt
|
@@ -275,6 +380,24 @@ abstract contract Product is
|
|
275
380
|
data);
|
276
381
|
}
|
277
382
|
|
383
|
+
function _createPayoutForBeneficiary(
|
384
|
+
NftId policyNftId,
|
385
|
+
ClaimId claimId,
|
386
|
+
Amount amount,
|
387
|
+
address beneficiary,
|
388
|
+
bytes memory data
|
389
|
+
)
|
390
|
+
internal
|
391
|
+
returns (PayoutId)
|
392
|
+
{
|
393
|
+
return _getProductStorage()._claimService.createPayoutForBeneficiary(
|
394
|
+
policyNftId,
|
395
|
+
claimId,
|
396
|
+
amount,
|
397
|
+
beneficiary,
|
398
|
+
data);
|
399
|
+
}
|
400
|
+
|
278
401
|
function _processPayout(
|
279
402
|
NftId policyNftId,
|
280
403
|
PayoutId payoutId
|
@@ -286,94 +409,17 @@ abstract contract Product is
|
|
286
409
|
payoutId);
|
287
410
|
}
|
288
411
|
|
289
|
-
function calculatePremium(
|
290
|
-
Amount sumInsuredAmount,
|
291
|
-
RiskId riskId,
|
292
|
-
Seconds lifetime,
|
293
|
-
bytes memory applicationData,
|
294
|
-
NftId bundleNftId,
|
295
|
-
ReferralId referralId
|
296
|
-
)
|
297
|
-
external
|
298
|
-
view
|
299
|
-
override
|
300
|
-
returns (Amount premiumAmount)
|
301
|
-
{
|
302
|
-
IPolicy.Premium memory premium = _getProductStorage()._pricingService.calculatePremium(
|
303
|
-
getNftId(),
|
304
|
-
riskId,
|
305
|
-
sumInsuredAmount,
|
306
|
-
lifetime,
|
307
|
-
applicationData,
|
308
|
-
bundleNftId,
|
309
|
-
referralId
|
310
|
-
);
|
311
|
-
|
312
|
-
return AmountLib.toAmount(premium.premiumAmount);
|
313
|
-
}
|
314
|
-
|
315
|
-
function calculateNetPremium(
|
316
|
-
Amount sumInsuredAmount,
|
317
|
-
RiskId riskId,
|
318
|
-
Seconds lifetime,
|
319
|
-
bytes memory applicationData
|
320
|
-
)
|
321
|
-
external
|
322
|
-
view
|
323
|
-
virtual override
|
324
|
-
returns (Amount netPremiumAmount)
|
325
|
-
{
|
326
|
-
// default 10% of sum insured
|
327
|
-
return AmountLib.toAmount(sumInsuredAmount.toInt() / 10);
|
328
|
-
}
|
329
|
-
|
330
412
|
function _toRiskId(string memory riskName) internal pure returns (RiskId riskId) {
|
331
413
|
return RiskIdLib.toRiskId(riskName);
|
332
414
|
}
|
333
415
|
|
334
|
-
function getPoolNftId() external view override returns (NftId poolNftId) {
|
335
|
-
return getRegistry().getNftId(address(_getProductStorage()._pool));
|
336
|
-
}
|
337
|
-
|
338
|
-
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
339
|
-
return getRegistry().getNftId(address(_getProductStorage()._distribution));
|
340
|
-
}
|
341
|
-
|
342
|
-
function getSetupInfo() public view returns (ISetup.ProductSetupInfo memory setupInfo) {
|
343
|
-
InstanceReader reader = getInstance().getInstanceReader();
|
344
|
-
setupInfo = reader.getProductSetupInfo(getNftId());
|
345
|
-
|
346
|
-
// fallback to initial setup info (wallet is always != address(0))
|
347
|
-
if(setupInfo.wallet == address(0)) {
|
348
|
-
setupInfo = _getInitialSetupInfo();
|
349
|
-
}
|
350
|
-
}
|
351
|
-
|
352
|
-
function _getInitialSetupInfo() internal view returns (ISetup.ProductSetupInfo memory setupInfo) {
|
353
|
-
ProductStorage storage $ = _getProductStorage();
|
354
|
-
|
355
|
-
ISetup.DistributionSetupInfo memory distributionSetupInfo = $._distribution.getSetupInfo();
|
356
|
-
IComponents.PoolInfo memory poolInfo = $._pool.getPoolInfo();
|
357
|
-
|
358
|
-
return ISetup.ProductSetupInfo(
|
359
|
-
getToken(),
|
360
|
-
$._tokenHandler,
|
361
|
-
$._distributionNftId,
|
362
|
-
$._poolNftId,
|
363
|
-
$._initialProductFee,
|
364
|
-
$._initialProcessingFee,
|
365
|
-
false,
|
366
|
-
getWallet()
|
367
|
-
);
|
368
|
-
}
|
369
|
-
|
370
416
|
function _getProductStorage() private pure returns (ProductStorage storage $) {
|
371
417
|
assembly {
|
372
418
|
$.slot := PRODUCT_STORAGE_LOCATION_V1
|
373
419
|
}
|
374
420
|
}
|
375
421
|
|
376
|
-
function
|
377
|
-
return _getProductStorage().
|
422
|
+
function _getRiskService() internal view returns (IRiskService) {
|
423
|
+
return _getProductStorage()._riskService;
|
378
424
|
}
|
379
425
|
}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IInstance} from "../instance/IInstance.sol";
|
5
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
6
|
+
import {IPoolService} from "../pool/PoolService.sol";
|
7
|
+
import {IRiskService} from "./IRiskService.sol";
|
8
|
+
import {IRegistryService} from "../registry/IRegistryService.sol";
|
9
|
+
import {IRisk} from "../instance/module/IRisk.sol";
|
10
|
+
|
11
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
12
|
+
import {ObjectType, INSTANCE, PRODUCT, POOL, POLICY, REGISTRY} from "../type/ObjectType.sol";
|
13
|
+
import {KEEP_STATE} from "../type/StateId.sol";
|
14
|
+
import {NftId} from "../type/NftId.sol";
|
15
|
+
import {RiskId} from "../type/RiskId.sol";
|
16
|
+
import {StateId} from "../type/StateId.sol";
|
17
|
+
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
18
|
+
|
19
|
+
contract RiskService is
|
20
|
+
ComponentVerifyingService,
|
21
|
+
IRiskService
|
22
|
+
{
|
23
|
+
IInstanceService private _instanceService;
|
24
|
+
IPoolService internal _poolService;
|
25
|
+
IRegistryService private _registryService;
|
26
|
+
|
27
|
+
function _initialize(
|
28
|
+
address owner,
|
29
|
+
bytes memory data
|
30
|
+
)
|
31
|
+
internal
|
32
|
+
initializer
|
33
|
+
virtual override
|
34
|
+
{
|
35
|
+
(
|
36
|
+
address registryAddress,,
|
37
|
+
//address managerAddress
|
38
|
+
address authority
|
39
|
+
) = abi.decode(data, (address, address, address));
|
40
|
+
|
41
|
+
initializeService(registryAddress, authority, owner);
|
42
|
+
|
43
|
+
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
44
|
+
_poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
|
45
|
+
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
46
|
+
|
47
|
+
registerInterface(type(IRiskService).interfaceId);
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
function createRisk(
|
52
|
+
RiskId riskId,
|
53
|
+
bytes memory data
|
54
|
+
)
|
55
|
+
external
|
56
|
+
override
|
57
|
+
{
|
58
|
+
(NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
59
|
+
IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
|
60
|
+
|
61
|
+
instance.getInstanceStore().createRisk(
|
62
|
+
riskId,
|
63
|
+
riskInfo
|
64
|
+
);
|
65
|
+
}
|
66
|
+
|
67
|
+
|
68
|
+
function updateRisk(
|
69
|
+
RiskId riskId,
|
70
|
+
bytes memory data
|
71
|
+
)
|
72
|
+
external
|
73
|
+
{
|
74
|
+
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
75
|
+
InstanceReader instanceReader = instance.getInstanceReader();
|
76
|
+
|
77
|
+
IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
|
78
|
+
riskInfo.data = data;
|
79
|
+
instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
function updateRiskState(
|
84
|
+
RiskId riskId,
|
85
|
+
StateId state
|
86
|
+
)
|
87
|
+
external
|
88
|
+
{
|
89
|
+
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
90
|
+
instance.getInstanceStore().updateRiskState(riskId, state);
|
91
|
+
}
|
92
|
+
|
93
|
+
|
94
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
95
|
+
return PRODUCT();
|
96
|
+
}
|
97
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
|
+
import {RiskService} from "./RiskService.sol";
|
7
|
+
|
8
|
+
contract RiskServiceManager is ProxyManager {
|
9
|
+
|
10
|
+
RiskService private _riskService;
|
11
|
+
|
12
|
+
/// @dev initializes proxy manager with product service implementation
|
13
|
+
constructor(
|
14
|
+
address authority,
|
15
|
+
address registryAddress,
|
16
|
+
bytes32 salt
|
17
|
+
)
|
18
|
+
ProxyManager(registryAddress)
|
19
|
+
{
|
20
|
+
RiskService svc = new RiskService{salt: salt}();
|
21
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
22
|
+
IVersionable versionable = deployDetermenistic(
|
23
|
+
address(svc),
|
24
|
+
data,
|
25
|
+
salt);
|
26
|
+
|
27
|
+
_riskService = RiskService(address(versionable));
|
28
|
+
}
|
29
|
+
|
30
|
+
//--- view functions ----------------------------------------------------//
|
31
|
+
function getRiskService()
|
32
|
+
external
|
33
|
+
view
|
34
|
+
returns (RiskService riskService)
|
35
|
+
{
|
36
|
+
return _riskService;
|
37
|
+
}
|
38
|
+
|
39
|
+
}
|
@@ -15,6 +15,7 @@ contract ChainNft is ERC721Enumerable {
|
|
15
15
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|
16
16
|
uint256 public constant GLOBAL_REGISTRY_ID = 2101;
|
17
17
|
|
18
|
+
// TODO rename errors to error pattern: CallerNotRegistry -> ErrorCallerNotRegistry etc.
|
18
19
|
// custom errors
|
19
20
|
error CallerNotRegistry(address caller);
|
20
21
|
error RegistryAddressZero();
|
@@ -59,7 +60,13 @@ contract ChainNft is ERC721Enumerable {
|
|
59
60
|
}
|
60
61
|
|
61
62
|
_chainIdMultiplier = 10 ** _chainIdDigits;
|
62
|
-
|
63
|
+
|
64
|
+
// the first object registered through normal registration starts with id 4
|
65
|
+
// 1 -> protocol
|
66
|
+
// 2 -> registry
|
67
|
+
// 3 -> staking
|
68
|
+
// >= 4 -> all other objects
|
69
|
+
_idNext = 4;
|
63
70
|
}
|
64
71
|
|
65
72
|
/**
|