@etherisc/gif-next 0.0.2-683d8b2-607 → 0.0.2-684bde0-724
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 +100 -9
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -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 +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
- 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 +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +212 -473
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +139 -381
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +772 -316
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +241 -117
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +135 -187
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +579 -137
- 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 +1480 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2045 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -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 +1423 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2471 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +560 -66
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +319 -57
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +568 -166
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1685 -774
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +332 -227
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +142 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +921 -728
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +152 -350
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +129 -129
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +128 -318
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +176 -96
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +194 -421
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +568 -248
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +219 -103
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +374 -36
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +158 -212
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -392
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +229 -105
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +158 -98
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +287 -427
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +472 -235
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +194 -122
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +348 -16
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +272 -222
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +196 -163
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
- 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 +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +195 -107
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -329
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +164 -136
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +279 -419
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +780 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +21 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +364 -42
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
- 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 +471 -112
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +749 -455
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +140 -88
- 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 +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +491 -242
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +86 -277
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +590 -542
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +189 -119
- 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 +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +535 -240
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +118 -129
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -318
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
- 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 +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +341 -133
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +184 -23
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +468 -419
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +180 -99
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +253 -171
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +157 -93
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +209 -149
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +95 -49
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -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 +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +109 -35
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +117 -78
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +456 -266
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +159 -208
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +87 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +254 -24
- package/contracts/distribution/BasicDistribution.sol +20 -28
- package/contracts/distribution/BasicDistributionAuthorization.sol +34 -10
- package/contracts/distribution/Distribution.sol +46 -82
- package/contracts/distribution/DistributionService.sol +276 -116
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +11 -14
- package/contracts/distribution/IDistributionService.sol +56 -26
- 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 +385 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +101 -42
- package/contracts/instance/IInstanceService.sol +52 -31
- package/contracts/instance/Instance.sol +189 -97
- package/contracts/instance/InstanceAdmin.sol +275 -158
- package/contracts/instance/InstanceAuthorizationV3.sol +120 -56
- package/contracts/instance/InstanceReader.sol +478 -251
- package/contracts/instance/InstanceService.sol +298 -229
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +24 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +3 -5
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +11 -4
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +30 -20
- package/contracts/instance/module/IDistribution.sol +21 -9
- package/contracts/instance/module/IPolicy.sol +50 -29
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +21 -24
- package/contracts/oracle/OracleService.sol +117 -85
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +37 -28
- package/contracts/pool/BasicPoolAuthorization.sol +42 -9
- package/contracts/pool/BundleService.sol +213 -91
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +40 -25
- package/contracts/pool/IPoolComponent.sol +20 -10
- package/contracts/pool/IPoolService.sol +97 -77
- package/contracts/pool/Pool.sol +145 -113
- package/contracts/pool/PoolLib.sol +359 -0
- package/contracts/pool/PoolService.sol +413 -235
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +143 -46
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +12 -45
- package/contracts/product/BasicProductAuthorization.sol +33 -10
- package/contracts/product/ClaimService.sol +384 -159
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +29 -3
- package/contracts/product/IClaimService.sol +44 -8
- package/contracts/product/IPolicyService.sol +61 -37
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +28 -5
- package/contracts/product/IRiskService.sol +37 -0
- package/contracts/product/PolicyService.sol +443 -273
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +90 -84
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +175 -95
- package/contracts/product/RiskService.sol +163 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +49 -31
- package/contracts/registry/IRegistry.sol +69 -27
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +348 -177
- package/contracts/registry/RegistryAdmin.sol +100 -357
- package/contracts/registry/RegistryAuthorization.sol +284 -0
- package/contracts/registry/RegistryService.sol +38 -49
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +262 -275
- package/contracts/registry/ServiceAuthorizationV3.sol +202 -57
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +65 -136
- package/contracts/shared/ComponentService.sol +441 -343
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ContractLib.sol +311 -0
- package/contracts/shared/IComponent.sol +6 -18
- package/contracts/shared/IComponentService.sol +50 -41
- package/contracts/shared/IInstanceLinkedComponent.sol +7 -27
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +4 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +22 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
- package/contracts/shared/InstanceLinkedComponent.sol +82 -39
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +33 -11
- package/contracts/shared/PolicyHolder.sol +20 -59
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +20 -35
- package/contracts/shared/TokenHandler.sol +310 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +48 -20
- package/contracts/staking/IStakingService.sol +21 -11
- package/contracts/staking/Staking.sol +203 -108
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +40 -24
- package/contracts/staking/StakingService.sol +96 -39
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +3 -2
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +27 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +73 -37
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +25 -1
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +10 -5
- package/contracts/type/UFixed.sol +56 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +93 -45
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +8 -5
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.dbg.json +0 -4
- package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.json +0 -1487
- package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.dbg.json +0 -4
- package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.json +0 -1876
- package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.dbg.json +0 -4
- package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.json +0 -974
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- 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/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/shared/MainnetContract.sol/MainnetContract.dbg.json +0 -4
- package/artifacts/contracts/shared/MainnetContract.sol/MainnetContract.json +0 -34
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/product/IProductService.sol +0 -33
- package/contracts/product/ProductService.sol +0 -99
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/registry/GlobalRegistry.sol +0 -89
- package/contracts/registry/GlobalRegistryAdmin.sol +0 -38
- package/contracts/registry/IGlobalRegistry.sol +0 -17
- package/contracts/shared/ComponentVerifyingService.sol +0 -117
- package/contracts/shared/InitializableCustom.sol +0 -177
- package/contracts/shared/MainnetContract.sol +0 -15
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "MathLib",
|
|
4
|
-
"sourceName": "contracts/type/UFixed.sol",
|
|
5
|
-
"abi": [],
|
|
6
|
-
"bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
|
|
7
|
-
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
|
|
8
|
-
"linkReferences": {},
|
|
9
|
-
"deployedLinkReferences": {}
|
|
10
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity ^0.8.20;
|
|
3
|
-
|
|
4
|
-
import {IAccess} from "./IAccess.sol";
|
|
5
|
-
import {IAuthorization} from "./IAuthorization.sol";
|
|
6
|
-
import {ObjectType} from "../type/ObjectType.sol";
|
|
7
|
-
import {RoleId} from "../type/RoleId.sol";
|
|
8
|
-
import {Str} from "../type/String.sol";
|
|
9
|
-
|
|
10
|
-
interface IModuleAuthorization is
|
|
11
|
-
IAccess,
|
|
12
|
-
IAuthorization
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
/// @dev Returns the list of service targets.
|
|
16
|
-
function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
|
|
17
|
-
|
|
18
|
-
/// @dev Returns the service target for the specified domain.
|
|
19
|
-
function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
|
|
20
|
-
}
|
|
21
|
-
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity ^0.8.20;
|
|
3
|
-
|
|
4
|
-
import {Authorization} from "./Authorization.sol";
|
|
5
|
-
import {IAccess} from "./IAccess.sol";
|
|
6
|
-
import {IModuleAuthorization} from "./IModuleAuthorization.sol";
|
|
7
|
-
import {ObjectType, ObjectTypeLib} from "../type/ObjectType.sol";
|
|
8
|
-
import {RoleId, RoleIdLib, ADMIN_ROLE} from "../type/RoleId.sol";
|
|
9
|
-
import {SelectorLib} from "../type/Selector.sol";
|
|
10
|
-
import {Str, StrLib} from "../type/String.sol";
|
|
11
|
-
import {TimestampLib} from "../type/Timestamp.sol";
|
|
12
|
-
import {VersionPart} from "../type/Version.sol";
|
|
13
|
-
|
|
14
|
-
contract ModuleAuthorization is
|
|
15
|
-
Authorization,
|
|
16
|
-
IModuleAuthorization
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
ObjectType[] internal _serviceDomains;
|
|
20
|
-
mapping(ObjectType domain => Str target) internal _serviceTarget;
|
|
21
|
-
|
|
22
|
-
constructor(string memory moduleName)
|
|
23
|
-
Authorization(moduleName)
|
|
24
|
-
{ }
|
|
25
|
-
|
|
26
|
-
function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
|
|
27
|
-
return _serviceDomains;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget) {
|
|
31
|
-
return _serviceTarget[serviceDomain];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/// @dev Add a GIF role for the provided role id and name.
|
|
35
|
-
function _addGifRole(RoleId roleId, string memory name) internal returns (RoleInfo memory info) {
|
|
36
|
-
_addRole(
|
|
37
|
-
roleId,
|
|
38
|
-
_toRoleInfo(
|
|
39
|
-
ADMIN_ROLE(),
|
|
40
|
-
RoleType.Gif,
|
|
41
|
-
type(uint32).max,
|
|
42
|
-
name));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/// @dev Add the service target role for the specified service domain
|
|
46
|
-
function _addServiceTargetWithRole(ObjectType serviceDomain) internal {
|
|
47
|
-
// add service domain
|
|
48
|
-
_serviceDomains.push(serviceDomain);
|
|
49
|
-
|
|
50
|
-
// get versioned target name
|
|
51
|
-
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
|
52
|
-
ObjectTypeLib.toName(serviceDomain),
|
|
53
|
-
"Service",
|
|
54
|
-
getRelease().toInt());
|
|
55
|
-
|
|
56
|
-
_serviceTarget[serviceDomain] = StrLib.toStr(serviceTargetName);
|
|
57
|
-
|
|
58
|
-
RoleId serviceRoleId = getServiceRole(serviceDomain);
|
|
59
|
-
string memory serviceRoleName = ObjectTypeLib.toVersionedName(
|
|
60
|
-
ObjectTypeLib.toName(serviceDomain),
|
|
61
|
-
"ServiceRole",
|
|
62
|
-
getRelease().toInt());
|
|
63
|
-
|
|
64
|
-
_addTargetWithRole(
|
|
65
|
-
serviceTargetName,
|
|
66
|
-
serviceRoleId,
|
|
67
|
-
serviceRoleName);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/// @dev role id for targets registry, staking and instance
|
|
71
|
-
function _getTargetRoleId(ObjectType targetDomain)
|
|
72
|
-
internal
|
|
73
|
-
returns (RoleId targetRoleId)
|
|
74
|
-
{
|
|
75
|
-
return RoleIdLib.roleForType(targetDomain);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
@@ -1,46 +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 {NftId} from "../../type/NftId.sol";
|
|
7
|
-
import {RoleId} from "../../type/RoleId.sol";
|
|
8
|
-
import {Timestamp} from "../../type/Timestamp.sol";
|
|
9
|
-
|
|
10
|
-
interface IAccess {
|
|
11
|
-
|
|
12
|
-
enum Type {
|
|
13
|
-
NotInitialized,
|
|
14
|
-
Core,
|
|
15
|
-
Gif,
|
|
16
|
-
Custom
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
struct RoleInfo {
|
|
20
|
-
ShortString name;
|
|
21
|
-
Type rtype;
|
|
22
|
-
//bool isLocked;
|
|
23
|
-
RoleId admin;
|
|
24
|
-
Timestamp createdAt;
|
|
25
|
-
Timestamp updatedAt;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
struct TargetInfo {
|
|
29
|
-
ShortString name;
|
|
30
|
-
Type ttype;
|
|
31
|
-
bool isLocked;
|
|
32
|
-
Timestamp createdAt;
|
|
33
|
-
Timestamp updatedAt;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
error ErrorIAccessRoleIdTooBig(RoleId roleId);
|
|
37
|
-
error ErrorIAccessRoleIdTooSmall(RoleId roleId);
|
|
38
|
-
error ErrorIAccessRoleTypeInvalid(RoleId roleId, Type rtype);
|
|
39
|
-
|
|
40
|
-
error ErrorIAccessTargetAddressZero();
|
|
41
|
-
error ErrorIAccessTargetTypeInvalid(address target, Type ttype);
|
|
42
|
-
error ErrorIAccessTargetLocked(address target);
|
|
43
|
-
error ErrorIAccessTargetNotRegistered(address target);
|
|
44
|
-
error ErrorIAccessTargetAuthorityInvalid(address target, address targetAuthority);
|
|
45
|
-
error ErrorIAccessTargetInstanceMismatch(address target, NftId targetParentNftId, NftId instanceNftId);
|
|
46
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity ^0.8.20;
|
|
3
|
-
|
|
4
|
-
import {IRisk} from "../instance/module/IRisk.sol";
|
|
5
|
-
import {IService} from "../shared/IService.sol";
|
|
6
|
-
|
|
7
|
-
import {NftId} from "../type/NftId.sol";
|
|
8
|
-
import {ReferralId} from "../type/Referral.sol";
|
|
9
|
-
import {RiskId} from "../type/RiskId.sol";
|
|
10
|
-
import {StateId} from "../type/StateId.sol";
|
|
11
|
-
import {Timestamp} from "../type/Timestamp.sol";
|
|
12
|
-
import {UFixed} from "../type/UFixed.sol";
|
|
13
|
-
import {Fee} from "../type/Fee.sol";
|
|
14
|
-
|
|
15
|
-
interface IProductService is IService {
|
|
16
|
-
|
|
17
|
-
function createRisk(
|
|
18
|
-
RiskId riskId,
|
|
19
|
-
bytes memory data
|
|
20
|
-
) external;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function updateRisk(
|
|
24
|
-
RiskId riskId,
|
|
25
|
-
bytes memory data
|
|
26
|
-
) external;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
function updateRiskState(
|
|
30
|
-
RiskId riskId,
|
|
31
|
-
StateId newState
|
|
32
|
-
) external;
|
|
33
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
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 {IProductService} from "./IProductService.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 ProductService is
|
|
20
|
-
ComponentVerifyingService,
|
|
21
|
-
IProductService
|
|
22
|
-
{
|
|
23
|
-
IInstanceService private _instanceService;
|
|
24
|
-
IPoolService internal _poolService;
|
|
25
|
-
IRegistryService private _registryService;
|
|
26
|
-
|
|
27
|
-
event LogProductServiceSender(address sender);
|
|
28
|
-
|
|
29
|
-
function _initialize(
|
|
30
|
-
address owner,
|
|
31
|
-
bytes memory data
|
|
32
|
-
)
|
|
33
|
-
internal
|
|
34
|
-
initializer
|
|
35
|
-
virtual override
|
|
36
|
-
{
|
|
37
|
-
(
|
|
38
|
-
address registryAddress,,
|
|
39
|
-
//address managerAddress
|
|
40
|
-
address authority
|
|
41
|
-
) = abi.decode(data, (address, address, address));
|
|
42
|
-
|
|
43
|
-
initializeService(registryAddress, authority, owner);
|
|
44
|
-
|
|
45
|
-
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
|
46
|
-
_poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
|
|
47
|
-
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
|
48
|
-
|
|
49
|
-
registerInterface(type(IProductService).interfaceId);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
function createRisk(
|
|
54
|
-
RiskId riskId,
|
|
55
|
-
bytes memory data
|
|
56
|
-
)
|
|
57
|
-
external
|
|
58
|
-
override
|
|
59
|
-
{
|
|
60
|
-
(NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
|
61
|
-
IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
|
|
62
|
-
|
|
63
|
-
instance.getInstanceStore().createRisk(
|
|
64
|
-
riskId,
|
|
65
|
-
riskInfo
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
function updateRisk(
|
|
71
|
-
RiskId riskId,
|
|
72
|
-
bytes memory data
|
|
73
|
-
)
|
|
74
|
-
external
|
|
75
|
-
{
|
|
76
|
-
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
|
77
|
-
InstanceReader instanceReader = instance.getInstanceReader();
|
|
78
|
-
|
|
79
|
-
IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
|
|
80
|
-
riskInfo.data = data;
|
|
81
|
-
instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
function updateRiskState(
|
|
86
|
-
RiskId riskId,
|
|
87
|
-
StateId state
|
|
88
|
-
)
|
|
89
|
-
external
|
|
90
|
-
{
|
|
91
|
-
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
|
92
|
-
instance.getInstanceStore().updateRiskState(riskId, state);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
function _getDomain() internal pure override returns(ObjectType) {
|
|
97
|
-
return PRODUCT();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
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 {ProductService} from "./ProductService.sol";
|
|
7
|
-
|
|
8
|
-
contract ProductServiceManager is ProxyManager {
|
|
9
|
-
|
|
10
|
-
ProductService private _productService;
|
|
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
|
-
ProductService svc = new ProductService{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
|
-
_productService = ProductService(address(versionable));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
//--- view functions ----------------------------------------------------//
|
|
31
|
-
function getProductService()
|
|
32
|
-
external
|
|
33
|
-
view
|
|
34
|
-
returns (ProductService productService)
|
|
35
|
-
{
|
|
36
|
-
return _productService;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity ^0.8.20;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {NftId, NftIdLib} from "../type/NftId.sol";
|
|
6
|
-
import {VersionPart} from "../type/Version.sol";
|
|
7
|
-
import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
|
|
8
|
-
|
|
9
|
-
import {IGlobalRegistry} from "./IGlobalRegistry.sol";
|
|
10
|
-
import {Registry} from "./Registry.sol";
|
|
11
|
-
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
|
12
|
-
import {MainnetContract} from "../shared/MainnetContract.sol";
|
|
13
|
-
|
|
14
|
-
contract GlobalRegistry is
|
|
15
|
-
MainnetContract,
|
|
16
|
-
Registry,
|
|
17
|
-
IGlobalRegistry
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
error ErrorGlobalRegistryChainRegistryAlreadyRegistered(uint chainId, address chainRegistry);
|
|
21
|
-
error ErrorGlobalRegistryChainRegistryAddressInvalid(uint chainId, address chainRegistry);
|
|
22
|
-
|
|
23
|
-
mapping(uint chanId => address registry) _registryAddressByChainId;
|
|
24
|
-
uint256[] _chainId;
|
|
25
|
-
|
|
26
|
-
constructor(RegistryAdmin admin) Registry(admin, address(this))
|
|
27
|
-
{}
|
|
28
|
-
|
|
29
|
-
/// @dev registers a registry contract for a specified chain
|
|
30
|
-
// only one chain registry per chain
|
|
31
|
-
// each chain registry have unique address (sort of share same address space)
|
|
32
|
-
function registerChainRegistry(uint chainId, address chainRegistryAddress)
|
|
33
|
-
external
|
|
34
|
-
restricted
|
|
35
|
-
returns (NftId chainRegistryNftId)
|
|
36
|
-
{
|
|
37
|
-
// TODO allow for the same address to be registered on multiple chains
|
|
38
|
-
if(_nftIdByAddress[chainRegistryAddress] != NftIdLib.zero()) {
|
|
39
|
-
revert ErrorGlobalRegistryChainRegistryAddressInvalid(chainId, chainRegistryAddress);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// calculate chain registry token id
|
|
43
|
-
uint chainRegistryId = _chainNft.calculateTokenId(REGISTRY_TOKEN_SEQUENCE_ID, chainId);
|
|
44
|
-
chainRegistryNftId = NftIdLib.toNftId(chainRegistryId);
|
|
45
|
-
|
|
46
|
-
_info[chainRegistryNftId] = ObjectInfo({
|
|
47
|
-
nftId: chainRegistryNftId,
|
|
48
|
-
parentNftId: _registryNftId,
|
|
49
|
-
objectType: REGISTRY(),
|
|
50
|
-
isInterceptor: false,
|
|
51
|
-
objectAddress: chainRegistryAddress, // TODO consider "chainId:address" format
|
|
52
|
-
initialOwner: NFT_LOCK_ADDRESS,
|
|
53
|
-
data: ""
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
_nftIdByAddress[chainRegistryAddress] = chainRegistryNftId;
|
|
57
|
-
_registryAddressByChainId[chainId] = chainRegistryAddress;
|
|
58
|
-
_chainId.push(chainId);
|
|
59
|
-
|
|
60
|
-
_chainNft.mint(NFT_LOCK_ADDRESS, chainRegistryId);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
//------------- public view functions -------------//
|
|
64
|
-
function getChainRegistryAddress(uint chainId) public view returns (address) {
|
|
65
|
-
return _registryAddressByChainId[chainId];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function getChainId(uint idx) public view returns (uint) {
|
|
69
|
-
return _chainId[idx];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function chainIds() public view returns (uint) {
|
|
73
|
-
return _chainId.length;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Internals
|
|
77
|
-
|
|
78
|
-
/// @dev global registry already registered, register specifics only
|
|
79
|
-
function _registerRegistry()
|
|
80
|
-
internal
|
|
81
|
-
virtual
|
|
82
|
-
override
|
|
83
|
-
returns (NftId)
|
|
84
|
-
{
|
|
85
|
-
_registryAddressByChainId[MAINNET_CHAIN_ID] = address(this);
|
|
86
|
-
_chainId.push(MAINNET_CHAIN_ID);
|
|
87
|
-
return _globalRegistryNftId;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: UNLICENSED
|
|
2
|
-
pragma solidity ^0.8.20;
|
|
3
|
-
|
|
4
|
-
import {GIF_ADMIN_ROLE} from "../type/RoleId.sol";
|
|
5
|
-
|
|
6
|
-
import {IGlobalRegistry} from "./IGlobalRegistry.sol";
|
|
7
|
-
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
|
8
|
-
import {MainnetContract} from "../shared/MainnetContract.sol";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
contract GlobalRegistryAdmin is
|
|
12
|
-
MainnetContract,
|
|
13
|
-
RegistryAdmin
|
|
14
|
-
{
|
|
15
|
-
error ErrorGlobalRegistryAdminDeploymentNotOnMainnet();
|
|
16
|
-
|
|
17
|
-
constructor() RegistryAdmin()
|
|
18
|
-
{
|
|
19
|
-
if(block.chainid != 1) {
|
|
20
|
-
revert ErrorGlobalRegistryAdminDeploymentNotOnMainnet();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function _setupRegistry()
|
|
25
|
-
internal
|
|
26
|
-
override
|
|
27
|
-
onlyInitializing()
|
|
28
|
-
{
|
|
29
|
-
super._setupRegistry();
|
|
30
|
-
|
|
31
|
-
// global registry function authorization for gif admin role
|
|
32
|
-
FunctionInfo[] memory functions;
|
|
33
|
-
functions = new FunctionInfo[](1);
|
|
34
|
-
functions[0] = toFunction(IGlobalRegistry.registerChainRegistry.selector, "registerChainRegistry");
|
|
35
|
-
|
|
36
|
-
_authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity ^0.8.20;
|
|
3
|
-
|
|
4
|
-
import {NftId} from "../type/NftId.sol";
|
|
5
|
-
|
|
6
|
-
import {IRegistry} from "./IRegistry.sol";
|
|
7
|
-
|
|
8
|
-
interface IGlobalRegistry is IRegistry {
|
|
9
|
-
// function registerChainRegistry(uint chainId, address deployer, bytes32 initCodeHash, bytes32 salt);
|
|
10
|
-
function registerChainRegistry(uint chainId, address chainRegistryAddress) external returns (NftId chainRegistryNftId);
|
|
11
|
-
|
|
12
|
-
function getChainRegistryAddress(uint chainId) external returns (address);
|
|
13
|
-
|
|
14
|
-
function getChainId(uint idx) external view returns (uint);
|
|
15
|
-
|
|
16
|
-
function chainIds() external view returns (uint);
|
|
17
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity ^0.8.20;
|
|
3
|
-
|
|
4
|
-
import {IInstance} from "../instance/IInstance.sol";
|
|
5
|
-
import {InstanceReader} from "../instance/InstanceReader.sol";
|
|
6
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
|
7
|
-
import {NftId} from "../type/NftId.sol";
|
|
8
|
-
import {ObjectType, COMPONENT, DISTRIBUTION, ORACLE, POOL, PRODUCT} from "../type/ObjectType.sol";
|
|
9
|
-
import {Service} from "../shared/Service.sol";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
abstract contract ComponentVerifyingService is
|
|
13
|
-
Service
|
|
14
|
-
{
|
|
15
|
-
|
|
16
|
-
error ErrorComponentVerifyingServiceComponentTypeInvalid(NftId componentNftId, ObjectType expectedType, ObjectType actualType);
|
|
17
|
-
error ErrorComponentVerifyingServiceComponentIsLocked(NftId componentNftId);
|
|
18
|
-
|
|
19
|
-
/// @dev based on the sender address returns the corresponding components nft id, info and instance.
|
|
20
|
-
/// the function reverts iff:
|
|
21
|
-
/// - there is no such component
|
|
22
|
-
/// - the component has the wrong object type
|
|
23
|
-
/// - the component is locked
|
|
24
|
-
function _getAndVerifyActiveComponent(
|
|
25
|
-
ObjectType expectedType // assume always of `component` type
|
|
26
|
-
)
|
|
27
|
-
internal
|
|
28
|
-
view
|
|
29
|
-
returns(
|
|
30
|
-
NftId componentNftId,
|
|
31
|
-
IRegistry.ObjectInfo memory componentInfo,
|
|
32
|
-
IInstance instance
|
|
33
|
-
)
|
|
34
|
-
{
|
|
35
|
-
componentNftId = getRegistry().getNftId(msg.sender);
|
|
36
|
-
(componentInfo, instance) = _getAndVerifyComponentInfo(
|
|
37
|
-
componentNftId,
|
|
38
|
-
expectedType,
|
|
39
|
-
true); // only active
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
/// @dev returns the component info and instance contract reference given a component nft id
|
|
44
|
-
/// the function reverts iff:
|
|
45
|
-
/// - there is no such component
|
|
46
|
-
/// - the component has the wrong object type
|
|
47
|
-
function _getAndVerifyComponentInfo(
|
|
48
|
-
NftId componentNftId,
|
|
49
|
-
ObjectType expectedType, // assume always of `component` type
|
|
50
|
-
bool onlyActive
|
|
51
|
-
)
|
|
52
|
-
internal
|
|
53
|
-
virtual
|
|
54
|
-
view
|
|
55
|
-
returns(
|
|
56
|
-
IRegistry.ObjectInfo memory info,
|
|
57
|
-
IInstance instance
|
|
58
|
-
)
|
|
59
|
-
{
|
|
60
|
-
IRegistry registry = getRegistry();
|
|
61
|
-
info = registry.getObjectInfo(componentNftId);
|
|
62
|
-
|
|
63
|
-
// if not COMPONENT require exact match
|
|
64
|
-
if(expectedType != COMPONENT()) {
|
|
65
|
-
// ensure component is of expected type
|
|
66
|
-
if(info.objectType != expectedType) {
|
|
67
|
-
revert ErrorComponentVerifyingServiceComponentTypeInvalid(
|
|
68
|
-
componentNftId,
|
|
69
|
-
expectedType,
|
|
70
|
-
info.objectType);
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
if(!(info.objectType == PRODUCT()
|
|
74
|
-
|| info.objectType == POOL()
|
|
75
|
-
|| info.objectType == DISTRIBUTION()
|
|
76
|
-
|| info.objectType == ORACLE()
|
|
77
|
-
))
|
|
78
|
-
{
|
|
79
|
-
revert ErrorComponentVerifyingServiceComponentTypeInvalid(
|
|
80
|
-
componentNftId,
|
|
81
|
-
expectedType,
|
|
82
|
-
info.objectType);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
instance = _getInstance(info.parentNftId);
|
|
87
|
-
|
|
88
|
-
// ensure component is not locked
|
|
89
|
-
if (onlyActive) {
|
|
90
|
-
if (instance.getInstanceAdmin().isTargetLocked(info.objectAddress)) {
|
|
91
|
-
revert ErrorComponentVerifyingServiceComponentIsLocked(componentNftId);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
/// @dev returns the linked product nft id for the specified component
|
|
98
|
-
function _getProductNftId(
|
|
99
|
-
InstanceReader instanceReader,
|
|
100
|
-
NftId componentNftId
|
|
101
|
-
)
|
|
102
|
-
internal
|
|
103
|
-
virtual
|
|
104
|
-
view
|
|
105
|
-
returns (NftId productNftId)
|
|
106
|
-
{
|
|
107
|
-
return instanceReader.getComponentInfo(componentNftId).productNftId;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
/// @dev returns an IInstance contract reference for the specified instance nft id
|
|
112
|
-
function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
|
|
113
|
-
return IInstance(
|
|
114
|
-
getRegistry().getObjectInfo(
|
|
115
|
-
instanceNftId).objectAddress);
|
|
116
|
-
}
|
|
117
|
-
}
|