@etherisc/gif-next 0.0.2-9dd41ff-671 → 0.0.2-9e62264-142
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 +249 -304
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +79 -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 +155 -63
- 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 +583 -326
- 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 +1229 -364
- 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 +309 -178
- 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 +434 -460
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +54 -75
- 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 +128 -202
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +75 -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 +36 -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 +40 -1
- 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 +235 -293
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +64 -101
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +168 -174
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +86 -59
- 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 +106 -32
- 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 +359 -47
- 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 +1412 -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 +387 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1941 -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 +761 -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 +576 -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 +100 -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 +128 -143
- 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 +203 -0
- package/contracts/instance/InstanceReader.sol +106 -52
- package/contracts/instance/InstanceService.sol +280 -111
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +146 -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 +110 -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 +11 -3
- 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 +166 -0
- package/contracts/oracle/OracleService.sol +278 -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 +315 -210
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +140 -77
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +52 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +30 -57
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +2 -1
- package/contracts/product/IClaimService.sol +8 -1
- package/contracts/product/IPolicyService.sol +29 -36
- package/contracts/product/IPricingService.sol +3 -1
- package/contracts/product/IProductComponent.sol +10 -12
- package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -9
- package/contracts/product/PolicyService.sol +384 -188
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +77 -49
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +152 -125
- 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 +40 -18
- package/contracts/registry/IRegistryService.sol +15 -5
- package/contracts/registry/Registry.sol +221 -110
- 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 +5 -15
- 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 +167 -0
- package/contracts/staking/IStakingService.sol +105 -47
- package/contracts/staking/StakeManagerLib.sol +206 -0
- package/contracts/staking/Staking.sol +497 -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 +207 -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 +40 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +27 -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 -1018
- 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 -465
- 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,198 @@
|
|
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;
|
49
|
+
}
|
50
|
+
|
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.Premium memory premium = _getProductStorage()._pricingService.calculatePremium(
|
66
|
+
getNftId(),
|
67
|
+
riskId,
|
68
|
+
sumInsuredAmount,
|
69
|
+
lifetime,
|
70
|
+
applicationData,
|
71
|
+
bundleNftId,
|
72
|
+
referralId
|
73
|
+
);
|
74
|
+
|
75
|
+
return AmountLib.toAmount(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);
|
55
91
|
}
|
56
92
|
|
57
|
-
|
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().getNftId(address(_getProductStorage()._pool));
|
127
|
+
}
|
128
|
+
|
129
|
+
function getDistributionNftId() external view override returns (NftId distributionNftId) {
|
130
|
+
return getRegistry().getNftId(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
141
|
address pool,
|
64
142
|
address distribution,
|
65
|
-
|
66
|
-
|
67
|
-
address initialOwner,
|
68
|
-
bytes memory registryData // writeonly data that will saved in the object info record of the registry
|
143
|
+
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
144
|
+
bytes memory componentData // writeonly data that will saved in the object info record of the registry
|
69
145
|
)
|
70
|
-
|
146
|
+
internal
|
71
147
|
virtual
|
72
148
|
onlyInitializing()
|
73
149
|
{
|
74
|
-
|
150
|
+
_initializeInstanceLinkedComponent(
|
151
|
+
registry,
|
152
|
+
instanceNftId,
|
153
|
+
name,
|
154
|
+
token,
|
155
|
+
PRODUCT(),
|
156
|
+
authorization,
|
157
|
+
isInterceptor,
|
158
|
+
initialOwner,
|
159
|
+
registryData,
|
160
|
+
componentData);
|
75
161
|
|
76
162
|
ProductStorage storage $ = _getProductStorage();
|
77
163
|
// TODO add validation
|
78
164
|
// TODO refactor to go via registry ?
|
79
|
-
$.
|
165
|
+
$._riskService = IRiskService(_getServiceAddress(PRODUCT()));
|
80
166
|
$._applicationService = IApplicationService(_getServiceAddress(APPLICATION()));
|
81
167
|
$._policyService = IPolicyService(_getServiceAddress(POLICY()));
|
82
168
|
$._claimService = IClaimService(_getServiceAddress(CLAIM()));
|
83
169
|
$._pricingService = IPricingService(_getServiceAddress(PRICE()));
|
170
|
+
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
84
171
|
$._pool = Pool(pool);
|
85
172
|
$._distribution = Distribution(distribution);
|
86
|
-
$._initialProductFee = productFee;
|
87
|
-
$._initialProcessingFee = processingFee;
|
88
|
-
$._tokenHandler = new TokenHandler(token);
|
89
173
|
$._poolNftId = getRegistry().getNftId(pool);
|
90
174
|
$._distributionNftId = getRegistry().getNftId(distribution);
|
91
175
|
|
92
176
|
registerInterface(type(IProductComponent).interfaceId);
|
93
177
|
}
|
94
178
|
|
95
|
-
|
96
|
-
function
|
179
|
+
|
180
|
+
function _setFees(
|
97
181
|
Fee memory productFee,
|
98
182
|
Fee memory processingFee
|
99
183
|
)
|
100
|
-
|
101
|
-
|
102
|
-
restricted()
|
103
|
-
override
|
184
|
+
internal
|
185
|
+
virtual
|
104
186
|
{
|
105
|
-
|
187
|
+
_getProductStorage()._componentService.setProductFees(productFee, processingFee);
|
106
188
|
}
|
107
189
|
|
190
|
+
|
108
191
|
function _createRisk(
|
109
192
|
RiskId id,
|
110
193
|
bytes memory data
|
111
194
|
) internal {
|
112
|
-
|
195
|
+
_getRiskService().createRisk(
|
113
196
|
id,
|
114
197
|
data
|
115
198
|
);
|
@@ -119,7 +202,7 @@ abstract contract Product is
|
|
119
202
|
RiskId id,
|
120
203
|
bytes memory data
|
121
204
|
) internal {
|
122
|
-
|
205
|
+
_getRiskService().updateRisk(
|
123
206
|
id,
|
124
207
|
data
|
125
208
|
);
|
@@ -129,20 +212,23 @@ abstract contract Product is
|
|
129
212
|
RiskId id,
|
130
213
|
StateId state
|
131
214
|
) internal {
|
132
|
-
|
215
|
+
_getRiskService().updateRiskState(
|
133
216
|
id,
|
134
217
|
state
|
135
218
|
);
|
136
219
|
}
|
137
220
|
|
221
|
+
|
138
222
|
function _getRiskInfo(RiskId id) internal view returns (IRisk.RiskInfo memory info) {
|
139
223
|
return getInstance().getInstanceReader().getRiskInfo(id);
|
140
224
|
}
|
141
225
|
|
226
|
+
|
142
227
|
function _createApplication(
|
143
228
|
address applicationOwner,
|
144
229
|
RiskId riskId,
|
145
230
|
Amount sumInsuredAmount,
|
231
|
+
Amount premiumAmount,
|
146
232
|
Seconds lifetime,
|
147
233
|
NftId bundleNftId,
|
148
234
|
ReferralId referralId,
|
@@ -155,6 +241,7 @@ abstract contract Product is
|
|
155
241
|
applicationOwner,
|
156
242
|
riskId,
|
157
243
|
sumInsuredAmount,
|
244
|
+
premiumAmount,
|
158
245
|
lifetime,
|
159
246
|
bundleNftId,
|
160
247
|
referralId,
|
@@ -162,19 +249,36 @@ abstract contract Product is
|
|
162
249
|
);
|
163
250
|
}
|
164
251
|
|
165
|
-
function
|
166
|
-
NftId
|
167
|
-
bool requirePremiumPayment,
|
252
|
+
function _createPolicy(
|
253
|
+
NftId applicationNftId,
|
168
254
|
Timestamp activateAt
|
169
255
|
)
|
170
256
|
internal
|
171
257
|
{
|
172
|
-
_getProductStorage()._policyService.
|
173
|
-
|
174
|
-
requirePremiumPayment,
|
258
|
+
_getProductStorage()._policyService.createPolicy(
|
259
|
+
applicationNftId,
|
175
260
|
activateAt);
|
176
261
|
}
|
177
262
|
|
263
|
+
function _decline(
|
264
|
+
NftId policyNftId
|
265
|
+
)
|
266
|
+
internal
|
267
|
+
{
|
268
|
+
_getProductStorage()._policyService.decline(
|
269
|
+
policyNftId);
|
270
|
+
}
|
271
|
+
|
272
|
+
function _expire(
|
273
|
+
NftId policyNftId,
|
274
|
+
Timestamp expireAt
|
275
|
+
)
|
276
|
+
internal
|
277
|
+
returns (Timestamp expiredAt)
|
278
|
+
{
|
279
|
+
expiredAt = _getProductStorage()._policyService.expire(policyNftId, expireAt);
|
280
|
+
}
|
281
|
+
|
178
282
|
function _collectPremium(
|
179
283
|
NftId policyNftId,
|
180
284
|
Timestamp activateAt
|
@@ -286,94 +390,17 @@ abstract contract Product is
|
|
286
390
|
payoutId);
|
287
391
|
}
|
288
392
|
|
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
393
|
function _toRiskId(string memory riskName) internal pure returns (RiskId riskId) {
|
331
394
|
return RiskIdLib.toRiskId(riskName);
|
332
395
|
}
|
333
396
|
|
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
397
|
function _getProductStorage() private pure returns (ProductStorage storage $) {
|
371
398
|
assembly {
|
372
399
|
$.slot := PRODUCT_STORAGE_LOCATION_V1
|
373
400
|
}
|
374
401
|
}
|
375
402
|
|
376
|
-
function
|
377
|
-
return _getProductStorage().
|
403
|
+
function _getRiskService() internal view returns (IRiskService) {
|
404
|
+
return _getProductStorage()._riskService;
|
378
405
|
}
|
379
406
|
}
|
@@ -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
|
/**
|
@@ -7,21 +7,29 @@ import {NftId} from "../type/NftId.sol";
|
|
7
7
|
import {ObjectType} from "../type/ObjectType.sol";
|
8
8
|
import {VersionPart} from "../type/Version.sol";
|
9
9
|
import {Timestamp} from "../type/Timestamp.sol";
|
10
|
-
import {RoleId} from "../type/RoleId.sol";
|
11
10
|
|
11
|
+
/// @title Chain Registry interface.
|
12
|
+
/// A chain registry holds all protocol relevant objects with basic metadata.
|
13
|
+
/// Registered objects include services, instances, products, pools, policies, bundles, stakes and more.
|
14
|
+
/// Registered objects are represented by NFTs.
|
12
15
|
interface IRegistry is IERC165 {
|
13
16
|
|
14
17
|
event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
15
18
|
event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
|
16
19
|
|
20
|
+
// register()
|
21
|
+
error ErrorRegistryCallerNotRegistryService();
|
22
|
+
error ErrorRegistryService(address service);
|
23
|
+
|
17
24
|
// registerService()
|
18
|
-
error
|
25
|
+
error ErrorRegistryCallerNotReleaseRegistry();
|
26
|
+
error ErrorRegistryServiceAddressZero();
|
27
|
+
error ErrorRegistryServiceVersionZero();
|
28
|
+
error ErrorRegistryNotService(address service, ObjectType objectType);
|
29
|
+
error ErrorRegistryServiceParentNotRegistry(NftId parentNftId);
|
19
30
|
error ErrorRegistryDomainZero(address service);
|
20
31
|
error ErrorRegistryDomainAlreadyRegistered(address service, VersionPart version, ObjectType domain);
|
21
32
|
|
22
|
-
// register()
|
23
|
-
error ErrorRegistryCallerNotRegistryService();
|
24
|
-
|
25
33
|
// registerWithCustomTypes()
|
26
34
|
error ErrorRegistryCoreTypeRegistration();
|
27
35
|
|
@@ -40,29 +48,34 @@ interface IRegistry is IERC165 {
|
|
40
48
|
bytes data;
|
41
49
|
}
|
42
50
|
|
43
|
-
|
44
51
|
struct ReleaseInfo {
|
45
52
|
VersionPart version;
|
53
|
+
bytes32 salt;
|
46
54
|
address[] addresses;
|
47
55
|
string[] names;
|
48
|
-
RoleId[][] serviceRoles;
|
49
|
-
string[][] serviceRoleNames;
|
50
|
-
RoleId[][] functionRoles;
|
51
|
-
string[][] functionRoleNames;
|
52
|
-
bytes4[][][] selectors;
|
53
56
|
ObjectType[] domains;
|
54
57
|
Timestamp activatedAt;
|
55
58
|
Timestamp disabledAt;
|
56
59
|
}
|
57
60
|
|
61
|
+
/// @dev Register an object with a known core type.
|
62
|
+
/// The function returns a newly minted object NFT ID.
|
63
|
+
/// May not be used to register services.
|
64
|
+
function register(ObjectInfo memory info) external returns (NftId nftId);
|
65
|
+
|
66
|
+
/// @dev Register a service with using the provided domain and version.
|
67
|
+
/// The function returns a newly minted service NFT ID.
|
68
|
+
/// May only be used to register services.
|
58
69
|
function registerService(
|
59
70
|
ObjectInfo memory serviceInfo,
|
60
71
|
VersionPart serviceVersion,
|
61
72
|
ObjectType serviceDomain
|
62
73
|
) external returns(NftId nftId);
|
63
74
|
|
64
|
-
|
65
|
-
|
75
|
+
/// @dev Register an object with a custom type.
|
76
|
+
/// The function returns a newly minted object NFT ID.
|
77
|
+
/// This function is reserved for GIF releases > 3.
|
78
|
+
/// May not be used to register known core types.
|
66
79
|
function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
|
67
80
|
|
68
81
|
function getInitialVersion() external view returns (VersionPart);
|
@@ -75,8 +88,6 @@ interface IRegistry is IERC165 {
|
|
75
88
|
|
76
89
|
function getObjectCount() external view returns (uint256);
|
77
90
|
|
78
|
-
function getNftId() external view returns (NftId nftId);
|
79
|
-
|
80
91
|
function getNftId(address objectAddress) external view returns (NftId nftId);
|
81
92
|
|
82
93
|
function ownerOf(NftId nftId) external view returns (address);
|
@@ -102,11 +113,22 @@ interface IRegistry is IERC165 {
|
|
102
113
|
VersionPart releaseVersion
|
103
114
|
) external view returns (address serviceAddress);
|
104
115
|
|
105
|
-
function
|
116
|
+
function getProtocolNftId() external view returns (NftId protocolNftId);
|
106
117
|
|
107
|
-
function
|
118
|
+
function getNftId() external view returns (NftId nftId);
|
119
|
+
|
120
|
+
function getOwner() external view returns (address);
|
108
121
|
|
122
|
+
// TODO refactor the address getters below to contract getters
|
109
123
|
function getChainNftAddress() external view returns (address);
|
110
124
|
|
111
|
-
function
|
125
|
+
function getReleaseRegistryAddress() external view returns (address);
|
126
|
+
|
127
|
+
function getStakingAddress() external view returns (address);
|
128
|
+
|
129
|
+
function getTokenRegistryAddress() external view returns (address);
|
130
|
+
|
131
|
+
function getRegistryAdminAddress() external view returns (address);
|
132
|
+
|
133
|
+
function getAuthority() external view returns (address);
|
112
134
|
}
|