@etherisc/gif-next 0.0.2-e0ff180-766 → 0.0.2-e14821a-976
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 +153 -22
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1088 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +803 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1664 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1416 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +803 -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 +1372 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +659 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1247 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +818 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → distribution/Distribution.sol/Distribution.json} +311 -328
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1835 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +943 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Component.sol/Component.json → distribution/IDistributionComponent.sol/IDistributionComponent.json} +276 -280
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +534 -340
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1487 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +818 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2056 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +818 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1442 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +818 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1174 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1650 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +818 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2588 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +818 -0
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/{base/IKeyValueStore.sol/IKeyValueStore.json → BaseStore.sol/BaseStore.json} +87 -184
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +573 -1775
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +530 -71
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +639 -2578
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2284 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +850 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1866 -636
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +571 -386
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +216 -172
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3039 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
- 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 +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- 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 +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +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 +960 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +823 -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 +762 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → oracle/IOracleService.sol/IOracleService.json} +328 -225
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +876 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1055 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +823 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +357 -488
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +818 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1464 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +879 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → pool/IPoolComponent.sol/IPoolComponent.json} +349 -284
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1397 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → pool/Pool.sol/Pool.json} +382 -418
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1807 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +879 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1062 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +803 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +492 -497
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +818 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1546 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +891 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IApplicationService.sol/IApplicationService.json} +334 -374
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +185 -155
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1006 -0
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IRiskService.sol/IRiskService.json} +223 -164
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1417 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +867 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +958 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +827 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1120 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +886 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +787 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +499 -34
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +315 -109
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +987 -131
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2160 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1087 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +415 -262
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +227 -111
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +696 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +360 -137
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +289 -188
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1577 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +875 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +153 -138
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/IComponentService.sol/IComponentService.json} +584 -738
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +38 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +163 -3
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +98 -5
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +66 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +798 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -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 +57 -67
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +36 -73
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +160 -102
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +110 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2747 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +3188 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +860 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1357 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +779 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +251 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- 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 +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +289 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -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 +4 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +669 -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 +11 -1
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +780 -0
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +158 -0
- package/contracts/authorization/Authorization.sol +169 -0
- package/contracts/authorization/IAccess.sol +67 -0
- package/contracts/authorization/IAccessAdmin.sol +144 -0
- package/contracts/authorization/IAuthorization.sol +26 -0
- package/contracts/authorization/IServiceAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +320 -0
- package/contracts/distribution/BasicDistribution.sol +140 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
- package/contracts/distribution/Distribution.sol +245 -0
- package/contracts/distribution/DistributionService.sol +465 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +45 -0
- package/contracts/distribution/IDistributionService.sol +115 -0
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +131 -73
- package/contracts/instance/IInstanceService.sol +86 -39
- package/contracts/instance/Instance.sol +248 -224
- package/contracts/instance/InstanceAdmin.sol +379 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
- package/contracts/instance/InstanceReader.sol +513 -192
- package/contracts/instance/InstanceService.sol +432 -394
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- package/contracts/instance/InstanceStore.sol +323 -0
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +126 -0
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +121 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +20 -0
- package/contracts/instance/base/ObjectLifecycle.sol +109 -0
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +9 -11
- package/contracts/instance/module/IComponents.sol +43 -24
- package/contracts/instance/module/IDistribution.sol +25 -12
- package/contracts/instance/module/IPolicy.sol +71 -38
- package/contracts/instance/module/IRisk.sol +6 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
- package/contracts/oracle/BasicOracle.sol +44 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
- package/contracts/oracle/IOracle.sol +41 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +152 -0
- package/contracts/oracle/OracleService.sol +310 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +161 -0
- package/contracts/pool/BasicPoolAuthorization.sol +81 -0
- package/contracts/pool/BundleService.sol +401 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +116 -0
- package/contracts/pool/IPoolComponent.sol +62 -0
- package/contracts/pool/IPoolService.sol +167 -0
- package/contracts/pool/Pool.sol +331 -0
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +635 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +343 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
- package/contracts/product/BasicProduct.sol +48 -0
- package/contracts/product/BasicProductAuthorization.sol +63 -0
- package/contracts/product/ClaimService.sol +642 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
- package/contracts/{instance/service → product}/IApplicationService.sol +41 -35
- package/contracts/product/IClaimService.sol +136 -0
- package/contracts/product/IPolicyService.sol +102 -0
- package/contracts/product/IPricingService.sol +40 -0
- package/contracts/product/IProductComponent.sol +62 -0
- package/contracts/product/IRiskService.sol +48 -0
- package/contracts/product/PolicyService.sol +680 -0
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +318 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +491 -0
- package/contracts/product/RiskService.sol +189 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +79 -40
- package/contracts/registry/IRegistry.sol +104 -33
- package/contracts/registry/IRegistryService.sol +34 -40
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +469 -200
- package/contracts/registry/RegistryAdmin.sol +191 -0
- package/contracts/registry/RegistryAuthorization.sol +336 -0
- package/contracts/registry/RegistryService.sol +90 -131
- package/contracts/registry/RegistryServiceManager.sol +23 -32
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +32 -0
- package/contracts/registry/ReleaseRegistry.sol +525 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
- package/contracts/registry/TokenRegistry.sol +265 -64
- package/contracts/shared/Component.sol +210 -0
- package/contracts/shared/ComponentService.sol +705 -0
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ContractLib.sol +312 -0
- package/contracts/shared/IComponent.sol +58 -0
- package/contracts/shared/IComponentService.sol +111 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
- package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
- package/contracts/shared/INftOwnable.sol +6 -2
- package/contracts/shared/IPolicyHolder.sol +23 -14
- package/contracts/shared/IRegisterable.sol +22 -1
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +12 -5
- package/contracts/shared/InitializableERC165.sol +49 -0
- package/contracts/shared/InstanceLinkedComponent.sol +192 -0
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +39 -30
- package/contracts/shared/PolicyHolder.sol +23 -41
- package/contracts/shared/Registerable.sol +54 -22
- package/contracts/shared/RegistryLinked.sol +11 -21
- package/contracts/shared/Service.sol +36 -41
- package/contracts/shared/TokenHandler.sol +322 -13
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +367 -0
- package/contracts/staking/IStakingService.sol +127 -0
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +797 -0
- package/contracts/staking/StakingLib.sol +195 -0
- package/contracts/staking/StakingManager.sol +53 -0
- package/contracts/staking/StakingReader.sol +171 -0
- package/contracts/staking/StakingService.sol +320 -0
- package/contracts/staking/StakingServiceManager.sol +46 -0
- package/contracts/staking/StakingStore.sol +1368 -0
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +234 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +154 -0
- package/contracts/{types → type}/Blocknumber.sol +36 -13
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/{types → type}/ClaimId.sol +31 -3
- package/contracts/{types → type}/Fee.sol +28 -26
- package/contracts/{types → type}/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/{types → type}/NftId.sol +21 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +307 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +75 -0
- package/contracts/type/RoleId.sol +180 -0
- package/contracts/type/Seconds.sol +120 -0
- package/contracts/type/Selector.sol +107 -0
- package/contracts/{types → type}/StateId.sol +47 -4
- package/contracts/type/String.sol +65 -0
- package/contracts/{types → type}/Timestamp.sol +23 -7
- package/contracts/type/UFixed.sol +263 -0
- package/contracts/{types → type}/Version.sol +58 -7
- package/contracts/{shared → upgradeability}/IVersionable.sol +4 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +118 -41
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +28 -0
- package/contracts/{shared → upgradeability}/Versionable.sol +9 -6
- package/package.json +12 -8
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- 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/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- 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 -532
- 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/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -237
- 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/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -475
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +0 -450
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- 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/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 -582
- 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/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -267
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/Component.sol +0 -253
- package/contracts/components/Distribution.sol +0 -280
- package/contracts/components/IComponent.sol +0 -76
- package/contracts/components/IDistributionComponent.sol +0 -71
- package/contracts/components/IPoolComponent.sol +0 -113
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/components/Pool.sol +0 -303
- package/contracts/components/Product.sol +0 -293
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/instance/BundleManager.sol +0 -127
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -527
- package/contracts/instance/ObjectManager.sol +0 -82
- package/contracts/instance/base/ComponentService.sol +0 -121
- package/contracts/instance/base/IKeyValueStore.sol +0 -49
- package/contracts/instance/base/KeyValueStore.sol +0 -180
- package/contracts/instance/base/Lifecycle.sol +0 -109
- package/contracts/instance/module/IAccess.sol +0 -54
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -350
- package/contracts/instance/service/BundleService.sol +0 -431
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -151
- package/contracts/instance/service/DistributionService.sol +0 -435
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -93
- package/contracts/instance/service/IClaimService.sol +0 -61
- package/contracts/instance/service/IDistributionService.sol +0 -99
- package/contracts/instance/service/IPolicyService.sol +0 -72
- package/contracts/instance/service/IPoolService.sol +0 -99
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -362
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -303
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -210
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/registry/ReleaseManager.sol +0 -324
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/ERC165.sol +0 -27
- package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/Amount.sol +0 -60
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/PayoutId.sol +0 -54
- package/contracts/types/RiskId.sol +0 -43
- package/contracts/types/RoleId.sol +0 -97
- package/contracts/types/Seconds.sol +0 -54
- package/contracts/types/UFixed.sol +0 -326
- /package/contracts/{types → type}/DistributorType.sol +0 -0
@@ -1,121 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.19;
|
3
|
-
|
4
|
-
import {IComponent} from "../../components/IComponent.sol";
|
5
|
-
import {IRegistry} from "../../registry/IRegistry.sol";
|
6
|
-
import {IRegistryService} from "../../registry/IRegistryService.sol";
|
7
|
-
import {IInstance} from "../../instance/IInstance.sol";
|
8
|
-
import {IAccess} from "../module/IAccess.sol";
|
9
|
-
import {ObjectType, INSTANCE, REGISTRY} from "../../types/ObjectType.sol";
|
10
|
-
import {NftId} from "../../types/NftId.sol";
|
11
|
-
import {RoleId} from "../../types/RoleId.sol";
|
12
|
-
|
13
|
-
import {Service} from "../../shared/Service.sol";
|
14
|
-
import {InstanceService} from "../InstanceService.sol";
|
15
|
-
import {InstanceAccessManager} from "../InstanceAccessManager.sol";
|
16
|
-
|
17
|
-
abstract contract ComponentService is Service {
|
18
|
-
|
19
|
-
error ErrorComponentServiceNotComponent(address component);
|
20
|
-
error ErrorComponentServiceInvalidType(address component, ObjectType requiredType, ObjectType componentType);
|
21
|
-
error ErrorComponentServiceSenderNotOwner(address component, address initialOwner, address sender);
|
22
|
-
error ErrorComponentServiceExpectedRoleMissing(NftId instanceNftId, RoleId requiredRole, address sender);
|
23
|
-
error ErrorComponentServiceComponentLocked(address component);
|
24
|
-
|
25
|
-
/// @dev modifier to check if caller is a registered service
|
26
|
-
modifier onlyService() {
|
27
|
-
address caller = msg.sender;
|
28
|
-
require(getRegistry().isRegisteredService(caller), "ERROR_NOT_SERVICE");
|
29
|
-
_;
|
30
|
-
}
|
31
|
-
|
32
|
-
// view functions
|
33
|
-
|
34
|
-
function getRegistryService() public view virtual returns (IRegistryService) {
|
35
|
-
return IRegistryService(_getServiceAddress(REGISTRY()));
|
36
|
-
}
|
37
|
-
|
38
|
-
function getInstanceService() public view returns (InstanceService) {
|
39
|
-
return InstanceService(_getServiceAddress(INSTANCE()));
|
40
|
-
}
|
41
|
-
|
42
|
-
function _getServiceAddress(ObjectType domain) internal view returns (address) {
|
43
|
-
return getRegistry().getServiceAddress(domain, getVersion().toMajorPart());
|
44
|
-
}
|
45
|
-
|
46
|
-
// internal functions
|
47
|
-
function _checkComponentForRegistration(
|
48
|
-
address componentAddress,
|
49
|
-
ObjectType requiredType,
|
50
|
-
RoleId requiredRole
|
51
|
-
)
|
52
|
-
internal
|
53
|
-
view
|
54
|
-
returns (
|
55
|
-
IComponent component,
|
56
|
-
address owner,
|
57
|
-
IInstance instance,
|
58
|
-
NftId instanceNftId
|
59
|
-
)
|
60
|
-
{
|
61
|
-
// component may only be registerd by initial owner of component
|
62
|
-
owner = msg.sender;
|
63
|
-
|
64
|
-
// check this is a component
|
65
|
-
component = IComponent(componentAddress);
|
66
|
-
if(!component.supportsInterface(type(IComponent).interfaceId)) {
|
67
|
-
revert ErrorComponentServiceNotComponent(componentAddress);
|
68
|
-
}
|
69
|
-
|
70
|
-
// check component is of required type
|
71
|
-
IRegistry.ObjectInfo memory componentInfo = component.getInitialInfo();
|
72
|
-
if(componentInfo.objectType != requiredType) {
|
73
|
-
revert ErrorComponentServiceInvalidType(componentAddress, requiredType, componentInfo.objectType);
|
74
|
-
}
|
75
|
-
|
76
|
-
// check msg.sender is component owner
|
77
|
-
address initialOwner = componentInfo.initialOwner;
|
78
|
-
if(owner != initialOwner) {
|
79
|
-
revert ErrorComponentServiceSenderNotOwner(componentAddress, componentInfo.initialOwner, owner);
|
80
|
-
}
|
81
|
-
|
82
|
-
// check instance has assigned required role to owner
|
83
|
-
instanceNftId = componentInfo.parentNftId;
|
84
|
-
instance = _getInstance(instanceNftId);
|
85
|
-
if(!instance.getInstanceAccessManager().hasRole(requiredRole, owner)) {
|
86
|
-
revert ErrorComponentServiceExpectedRoleMissing(instanceNftId, requiredRole, owner);
|
87
|
-
}
|
88
|
-
}
|
89
|
-
|
90
|
-
// internal view functions
|
91
|
-
|
92
|
-
function _getAndVerifyComponentInfoAndInstance(
|
93
|
-
ObjectType expectedType
|
94
|
-
)
|
95
|
-
internal
|
96
|
-
view
|
97
|
-
returns(
|
98
|
-
NftId nftId,
|
99
|
-
IRegistry.ObjectInfo memory info,
|
100
|
-
IInstance instance
|
101
|
-
)
|
102
|
-
{
|
103
|
-
IRegistry registry = getRegistry();
|
104
|
-
|
105
|
-
info = registry.getObjectInfo(msg.sender);
|
106
|
-
require(info.objectType == expectedType, "OBJECT_TYPE_INVALID");
|
107
|
-
|
108
|
-
nftId = info.nftId;
|
109
|
-
instance = _getInstance(info.parentNftId);
|
110
|
-
|
111
|
-
if (instance.getInstanceAccessManager().isTargetLocked(info.objectAddress)) {
|
112
|
-
revert IAccess.ErrorIAccessTargetLocked(info.objectAddress);
|
113
|
-
}
|
114
|
-
}
|
115
|
-
|
116
|
-
function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
|
117
|
-
return IInstance(
|
118
|
-
getRegistry().getObjectInfo(
|
119
|
-
instanceNftId).objectAddress);
|
120
|
-
}
|
121
|
-
}
|
@@ -1,49 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
|
5
|
-
import {Key32, KeyId} from "../../types/Key32.sol";
|
6
|
-
import {NftId} from "../../types/NftId.sol";
|
7
|
-
import {ObjectType} from "../../types/ObjectType.sol";
|
8
|
-
import {StateId} from "../../types/StateId.sol";
|
9
|
-
|
10
|
-
import {ILifecycle} from "./ILifecycle.sol";
|
11
|
-
|
12
|
-
// TODO remove - internal only?
|
13
|
-
interface IKeyValueStore is ILifecycle {
|
14
|
-
|
15
|
-
struct Value {
|
16
|
-
Metadata metadata;
|
17
|
-
bytes data;
|
18
|
-
}
|
19
|
-
|
20
|
-
struct Metadata {
|
21
|
-
ObjectType objectType;
|
22
|
-
StateId state;
|
23
|
-
// TODO updatedBy needs concept that says what value should go here
|
24
|
-
// eg account outside gif objects that initiated the tx
|
25
|
-
// implies the caller needs to be propagated through all calls up to key values store itself
|
26
|
-
// to always have the instance address there doesn't seem to make sense
|
27
|
-
address updatedBy;
|
28
|
-
Blocknumber updatedIn;
|
29
|
-
Blocknumber createdIn;
|
30
|
-
}
|
31
|
-
|
32
|
-
event LogInfoCreated(ObjectType objectType, KeyId keyId, StateId state, address createdBy, address txOrigin);
|
33
|
-
event LogInfoUpdated(ObjectType objectType, KeyId keyId, StateId state, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
34
|
-
event LogStateUpdated(ObjectType objectType, KeyId keyId, StateId stateOld, StateId stateNew, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
|
35
|
-
|
36
|
-
// generic state changing functions
|
37
|
-
// function create(Key32 key, bytes memory data) external;
|
38
|
-
// function update(Key32 key, bytes memory data, StateId state) external;
|
39
|
-
// function updateData(Key32 key, bytes memory data) external;
|
40
|
-
// function updateState(Key32 key, StateId state) external;
|
41
|
-
|
42
|
-
function exists(Key32 key) external view returns (bool);
|
43
|
-
function get(Key32 key) external view returns (Value memory value);
|
44
|
-
function getData(Key32 key) external view returns (bytes memory data);
|
45
|
-
function getMetadata(Key32 key) external view returns (Metadata memory metadata);
|
46
|
-
function getState(Key32 key) external view returns (StateId state);
|
47
|
-
|
48
|
-
function toKey32(ObjectType objectType, KeyId id) external pure returns(Key32);
|
49
|
-
}
|
@@ -1,180 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
|
5
|
-
import {Key32, KeyId, Key32Lib} from "../../types/Key32.sol";
|
6
|
-
import {NftId} from "../../types/NftId.sol";
|
7
|
-
import {ObjectType} from "../../types/ObjectType.sol";
|
8
|
-
import {StateId, ACTIVE, KEEP_STATE} from "../../types/StateId.sol";
|
9
|
-
import {Timestamp, TimestampLib} from "../../types/Timestamp.sol";
|
10
|
-
|
11
|
-
import {Lifecycle} from "./Lifecycle.sol";
|
12
|
-
import {IKeyValueStore} from "./IKeyValueStore.sol";
|
13
|
-
|
14
|
-
contract KeyValueStore is Lifecycle, IKeyValueStore {
|
15
|
-
|
16
|
-
mapping(Key32 key32 => Value value) private _value;
|
17
|
-
|
18
|
-
function create(
|
19
|
-
Key32 key32,
|
20
|
-
bytes memory data
|
21
|
-
)
|
22
|
-
internal
|
23
|
-
{
|
24
|
-
_create(key32, data);
|
25
|
-
}
|
26
|
-
|
27
|
-
function _create(
|
28
|
-
Key32 key32,
|
29
|
-
bytes memory data
|
30
|
-
)
|
31
|
-
internal
|
32
|
-
{
|
33
|
-
ObjectType objectType = key32.toObjectType();
|
34
|
-
require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
|
35
|
-
|
36
|
-
Metadata storage metadata = _value[key32].metadata;
|
37
|
-
require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
|
38
|
-
|
39
|
-
address createdBy = msg.sender;
|
40
|
-
Blocknumber blocknumber = blockBlocknumber();
|
41
|
-
StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
|
42
|
-
|
43
|
-
// set metadata
|
44
|
-
metadata.objectType = objectType;
|
45
|
-
metadata.state = initialState;
|
46
|
-
metadata.updatedBy = createdBy;
|
47
|
-
metadata.updatedIn = blocknumber;
|
48
|
-
metadata.createdIn = blocknumber;
|
49
|
-
|
50
|
-
// set data
|
51
|
-
_value[key32].data = data;
|
52
|
-
|
53
|
-
// solhint-disable-next-line avoid-tx-origin
|
54
|
-
emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
|
55
|
-
}
|
56
|
-
|
57
|
-
function update(
|
58
|
-
Key32 key32,
|
59
|
-
bytes memory data,
|
60
|
-
StateId state
|
61
|
-
)
|
62
|
-
internal
|
63
|
-
{
|
64
|
-
_update(key32, data, state);
|
65
|
-
}
|
66
|
-
|
67
|
-
function _update(
|
68
|
-
Key32 key32,
|
69
|
-
bytes memory data,
|
70
|
-
StateId state
|
71
|
-
)
|
72
|
-
internal
|
73
|
-
{
|
74
|
-
require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
|
75
|
-
Metadata storage metadata = _value[key32].metadata;
|
76
|
-
StateId stateOld = metadata.state;
|
77
|
-
require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
|
78
|
-
|
79
|
-
// update data
|
80
|
-
_value[key32].data = data;
|
81
|
-
|
82
|
-
// update state
|
83
|
-
if(state != KEEP_STATE()) {
|
84
|
-
metadata.state = state;
|
85
|
-
}
|
86
|
-
|
87
|
-
// update reest of metadata
|
88
|
-
address updatedBy = msg.sender;
|
89
|
-
Blocknumber lastUpdatedIn = metadata.updatedIn;
|
90
|
-
|
91
|
-
metadata.updatedBy = updatedBy;
|
92
|
-
metadata.updatedIn = blockBlocknumber();
|
93
|
-
|
94
|
-
// create log entries
|
95
|
-
// solhint-disable avoid-tx-origin
|
96
|
-
emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), stateOld, state, updatedBy, tx.origin, lastUpdatedIn);
|
97
|
-
emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
|
98
|
-
// solhing-enable
|
99
|
-
}
|
100
|
-
|
101
|
-
function updateData(Key32 key32, bytes memory data)
|
102
|
-
internal
|
103
|
-
{
|
104
|
-
_updateData(key32, data);
|
105
|
-
}
|
106
|
-
|
107
|
-
function _updateData(Key32 key32, bytes memory data)
|
108
|
-
internal
|
109
|
-
{
|
110
|
-
Metadata storage metadata = _value[key32].metadata;
|
111
|
-
StateId state = metadata.state;
|
112
|
-
require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
|
113
|
-
|
114
|
-
// update data
|
115
|
-
_value[key32].data = data;
|
116
|
-
|
117
|
-
// update metadata
|
118
|
-
address updatedBy = msg.sender;
|
119
|
-
Blocknumber lastUpdatedIn = metadata.updatedIn;
|
120
|
-
metadata.updatedBy = updatedBy;
|
121
|
-
metadata.updatedIn = blockBlocknumber();
|
122
|
-
|
123
|
-
// create log entry
|
124
|
-
// solhint-disable-next-line avoid-tx-origin
|
125
|
-
emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
|
126
|
-
}
|
127
|
-
|
128
|
-
function updateState(Key32 key32, StateId state)
|
129
|
-
internal
|
130
|
-
{
|
131
|
-
_updateState(key32, state);
|
132
|
-
}
|
133
|
-
|
134
|
-
function _updateState(Key32 key32, StateId state)
|
135
|
-
internal
|
136
|
-
{
|
137
|
-
require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
|
138
|
-
Metadata storage metadata = _value[key32].metadata;
|
139
|
-
StateId stateOld = metadata.state;
|
140
|
-
require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
|
141
|
-
|
142
|
-
// ensure state transistion is valid
|
143
|
-
checkTransition(metadata.objectType, stateOld, state);
|
144
|
-
|
145
|
-
// update metadata (and state)
|
146
|
-
address updatedBy = msg.sender;
|
147
|
-
Blocknumber lastUpdatedIn = metadata.updatedIn;
|
148
|
-
metadata.state = state;
|
149
|
-
metadata.updatedBy = updatedBy;
|
150
|
-
metadata.updatedIn = blockBlocknumber();
|
151
|
-
|
152
|
-
// create log entry
|
153
|
-
// solhint-disable-next-line avoid-tx-origin
|
154
|
-
emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), stateOld, state, updatedBy, tx.origin, lastUpdatedIn);
|
155
|
-
}
|
156
|
-
|
157
|
-
function exists(Key32 key32) public view returns (bool) {
|
158
|
-
return _value[key32].metadata.state.gtz();
|
159
|
-
}
|
160
|
-
|
161
|
-
function get(Key32 key32) public view returns (Value memory value) {
|
162
|
-
return _value[key32];
|
163
|
-
}
|
164
|
-
|
165
|
-
function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
|
166
|
-
return _value[key32].metadata;
|
167
|
-
}
|
168
|
-
|
169
|
-
function getData(Key32 key32) public view returns (bytes memory data) {
|
170
|
-
return _value[key32].data;
|
171
|
-
}
|
172
|
-
|
173
|
-
function getState(Key32 key32) public view returns (StateId state) {
|
174
|
-
return _value[key32].metadata.state;
|
175
|
-
}
|
176
|
-
|
177
|
-
function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
|
178
|
-
return Key32Lib.toKey32(objectType, id);
|
179
|
-
}
|
180
|
-
}
|
@@ -1,109 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
|
-
|
6
|
-
import {NftId} from "../../types/NftId.sol";
|
7
|
-
import {ObjectType, COMPONENT, BUNDLE, POLICY, RISK} from "../../types/ObjectType.sol";
|
8
|
-
import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, UNDERWRITTEN, REVOKED, DECLINED} from "../../types/StateId.sol";
|
9
|
-
import {ILifecycle} from "./ILifecycle.sol";
|
10
|
-
|
11
|
-
contract Lifecycle is
|
12
|
-
Initializable,
|
13
|
-
ILifecycle
|
14
|
-
{
|
15
|
-
mapping(ObjectType objectType => StateId initialState)
|
16
|
-
private _initialState;
|
17
|
-
|
18
|
-
mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
|
19
|
-
private _isValidTransition;
|
20
|
-
|
21
|
-
function initializeLifecycle()
|
22
|
-
public
|
23
|
-
onlyInitializing
|
24
|
-
{
|
25
|
-
_setupBundleLifecycle();
|
26
|
-
_setupComponentLifecycle();
|
27
|
-
_setupPolicyLifecycle();
|
28
|
-
_setupRiskLifecycle();
|
29
|
-
}
|
30
|
-
|
31
|
-
function hasLifecycle(
|
32
|
-
ObjectType objectType
|
33
|
-
)
|
34
|
-
public
|
35
|
-
view
|
36
|
-
override
|
37
|
-
returns (bool)
|
38
|
-
{
|
39
|
-
return _initialState[objectType].gtz();
|
40
|
-
}
|
41
|
-
|
42
|
-
function getInitialState(
|
43
|
-
ObjectType objectType
|
44
|
-
)
|
45
|
-
public
|
46
|
-
view
|
47
|
-
returns (StateId)
|
48
|
-
{
|
49
|
-
return _initialState[objectType];
|
50
|
-
}
|
51
|
-
|
52
|
-
function checkTransition(
|
53
|
-
ObjectType objectType,
|
54
|
-
StateId fromId,
|
55
|
-
StateId toId
|
56
|
-
)
|
57
|
-
public
|
58
|
-
view
|
59
|
-
{
|
60
|
-
// return if no life cycle support
|
61
|
-
if (_initialState[objectType].eqz()) {
|
62
|
-
return;
|
63
|
-
}
|
64
|
-
|
65
|
-
// enforce valid state transition
|
66
|
-
if (!_isValidTransition[objectType][fromId][toId]) {
|
67
|
-
revert ErrorInvalidStateTransition(objectType, fromId, toId);
|
68
|
-
}
|
69
|
-
}
|
70
|
-
|
71
|
-
function isValidTransition(
|
72
|
-
ObjectType objectType,
|
73
|
-
StateId fromId,
|
74
|
-
StateId toId
|
75
|
-
) public view returns (bool) {
|
76
|
-
return _isValidTransition[objectType][fromId][toId];
|
77
|
-
}
|
78
|
-
|
79
|
-
function _setupComponentLifecycle() internal {
|
80
|
-
_initialState[COMPONENT()] = ACTIVE();
|
81
|
-
_isValidTransition[COMPONENT()][ACTIVE()][PAUSED()] = true;
|
82
|
-
_isValidTransition[COMPONENT()][PAUSED()][ACTIVE()] = true;
|
83
|
-
_isValidTransition[COMPONENT()][PAUSED()][ARCHIVED()] = true;
|
84
|
-
}
|
85
|
-
|
86
|
-
function _setupBundleLifecycle() internal {
|
87
|
-
_initialState[BUNDLE()] = ACTIVE();
|
88
|
-
_isValidTransition[BUNDLE()][ACTIVE()][PAUSED()] = true;
|
89
|
-
_isValidTransition[BUNDLE()][ACTIVE()][CLOSED()] = true;
|
90
|
-
_isValidTransition[BUNDLE()][PAUSED()][ACTIVE()] = true;
|
91
|
-
_isValidTransition[BUNDLE()][PAUSED()][CLOSED()] = true;
|
92
|
-
}
|
93
|
-
|
94
|
-
function _setupPolicyLifecycle() internal {
|
95
|
-
_initialState[POLICY()] = APPLIED();
|
96
|
-
_isValidTransition[POLICY()][APPLIED()][REVOKED()] = true;
|
97
|
-
_isValidTransition[POLICY()][APPLIED()][DECLINED()] = true;
|
98
|
-
_isValidTransition[POLICY()][APPLIED()][UNDERWRITTEN()] = true;
|
99
|
-
_isValidTransition[POLICY()][UNDERWRITTEN()][ACTIVE()] = true;
|
100
|
-
_isValidTransition[POLICY()][ACTIVE()][CLOSED()] = true;
|
101
|
-
}
|
102
|
-
|
103
|
-
function _setupRiskLifecycle() internal {
|
104
|
-
_initialState[RISK()] = ACTIVE();
|
105
|
-
_isValidTransition[RISK()][ACTIVE()][PAUSED()] = true;
|
106
|
-
_isValidTransition[RISK()][PAUSED()][ACTIVE()] = true;
|
107
|
-
_isValidTransition[RISK()][PAUSED()][ARCHIVED()] = true;
|
108
|
-
}
|
109
|
-
}
|
@@ -1,54 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
|
5
|
-
|
6
|
-
import {RoleId} from "../../types/RoleId.sol";
|
7
|
-
import {Timestamp} from "../../types/Timestamp.sol";
|
8
|
-
|
9
|
-
interface IAccess {
|
10
|
-
|
11
|
-
enum Type {
|
12
|
-
NotInitialized,
|
13
|
-
Core,
|
14
|
-
Gif,
|
15
|
-
Custom
|
16
|
-
}
|
17
|
-
|
18
|
-
struct RoleInfo {
|
19
|
-
ShortString name;
|
20
|
-
Type rtype;
|
21
|
-
//bool isLocked;
|
22
|
-
RoleId admin;
|
23
|
-
Timestamp createdAt;
|
24
|
-
Timestamp updatedAt;
|
25
|
-
}
|
26
|
-
|
27
|
-
struct TargetInfo {
|
28
|
-
ShortString name;
|
29
|
-
Type ttype;
|
30
|
-
bool isLocked;
|
31
|
-
Timestamp createdAt;
|
32
|
-
Timestamp updatedAt;
|
33
|
-
}
|
34
|
-
|
35
|
-
error ErrorIAccessCallerIsNotRoleAdmin(address caller, RoleId roleId);
|
36
|
-
|
37
|
-
error ErrorIAccessRoleIdDoesNotExist(RoleId roleId);
|
38
|
-
error ErrorIAccessRoleIdTooBig(RoleId roleId);
|
39
|
-
error ErrorIAccessRoleIdTooSmall(RoleId roleId);
|
40
|
-
error ErrorIAccessRoleIdExists(RoleId roleId);
|
41
|
-
error ErrorIAccessRoleNameEmpty(RoleId roleId);
|
42
|
-
error ErrorIAccessRoleNameExists(RoleId roleId, RoleId existingRoleId, ShortString name);
|
43
|
-
error ErrorIAccessRoleTypeInvalid(RoleId roleId, Type rtype);
|
44
|
-
|
45
|
-
error ErrorIAccessTargetAddressZero();
|
46
|
-
error ErrorIAccessTargetDoesNotExist(address target);
|
47
|
-
error ErrorIAccessTargetExists(address target, ShortString name);
|
48
|
-
error ErrorIAccessTargetTypeInvalid(address target, Type ttype);
|
49
|
-
error ErrorIAccessTargetNameEmpty(address target);
|
50
|
-
error ErrorIAccessTargetNameExists(address target, address existingTarget, ShortString name);
|
51
|
-
error ErrorIAccessTargetLocked(address target);
|
52
|
-
error ErrorIAccessTargetNotRegistered(address target);
|
53
|
-
error ErrorIAccessTargetAuthorityInvalid(address target, address targetAuthority);
|
54
|
-
}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
-
|
6
|
-
import {Fee} from "../../types/Fee.sol";
|
7
|
-
import {NftId} from "../../types/NftId.sol";
|
8
|
-
import {RoleId} from "../../types/RoleId.sol";
|
9
|
-
import {TokenHandler} from "../../shared/TokenHandler.sol";
|
10
|
-
import {UFixed} from "../../types/UFixed.sol";
|
11
|
-
|
12
|
-
interface ISetup {
|
13
|
-
|
14
|
-
struct ProductSetupInfo {
|
15
|
-
IERC20Metadata token;
|
16
|
-
TokenHandler tokenHandler;
|
17
|
-
NftId distributionNftId;
|
18
|
-
NftId poolNftId;
|
19
|
-
Fee productFee; // product fee on net premium
|
20
|
-
Fee processingFee; // product fee on payout amounts
|
21
|
-
bool isIntercepting; // intercepts nft transfers (for products)
|
22
|
-
address wallet;
|
23
|
-
}
|
24
|
-
|
25
|
-
struct DistributionSetupInfo {
|
26
|
-
NftId productNftId;
|
27
|
-
TokenHandler tokenHandler;
|
28
|
-
Fee minDistributionOwnerFee;
|
29
|
-
Fee distributionFee; // recalculated whenever any fee on the product/pool/dist/disttype is changed
|
30
|
-
address wallet;
|
31
|
-
uint256 sumDistributionOwnerFees;
|
32
|
-
}
|
33
|
-
}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
-
|
6
|
-
import {Fee} from "../../types/Fee.sol";
|
7
|
-
import {NftId} from "../../types/NftId.sol";
|
8
|
-
import {TokenHandler} from "../../shared/TokenHandler.sol";
|
9
|
-
|
10
|
-
interface ITreasury {
|
11
|
-
struct TreasuryInfo {
|
12
|
-
IERC20Metadata token;
|
13
|
-
TokenHandler tokenHandler;
|
14
|
-
NftId distributionNftId;
|
15
|
-
NftId poolNftId;
|
16
|
-
Fee distributionFee; // default distribution fee (no referral id)
|
17
|
-
Fee productFee; // product fee on net premium
|
18
|
-
Fee processingFee; // product fee on payout amounts
|
19
|
-
Fee poolFee; // pool fee on net premium
|
20
|
-
Fee stakingFee; // pool fee on staked capital from investor
|
21
|
-
Fee performanceFee; // pool fee on profits from capital investors
|
22
|
-
}
|
23
|
-
}
|