@etherisc/gif-next 3.0.0-2c4b8cb-070 → 3.0.0-2e16ebd-614
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 +0 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +89 -66
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +122 -101
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
- 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 +20 -10
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +18 -42
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +166 -104
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +159 -102
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +78 -26
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +145 -51
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +169 -147
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +77 -179
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
- 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/Cloneable.sol/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +94 -66
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +72 -57
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +163 -142
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +159 -150
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +127 -185
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -28
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -34
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- 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/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +25 -22
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -23
- 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 +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -21
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -21
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -36
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
- package/contracts/accounting/AccountingService.sol +5 -6
- package/contracts/accounting/AccountingServiceManager.sol +4 -6
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +22 -18
- package/contracts/authorization/AccessAdminLib.sol +12 -9
- package/contracts/authorization/AccessManagerCloneable.sol +24 -48
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +0 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
- package/contracts/distribution/Distribution.sol +0 -2
- package/contracts/distribution/DistributionService.sol +24 -20
- package/contracts/distribution/DistributionServiceManager.sol +4 -6
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +8 -12
- package/contracts/instance/InstanceAdmin.sol +10 -17
- package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
- package/contracts/instance/InstanceReader.sol +18 -40
- package/contracts/instance/InstanceService.sol +18 -20
- package/contracts/instance/InstanceServiceManager.sol +4 -6
- package/contracts/instance/base/Cloneable.sol +4 -10
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +0 -2
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
- package/contracts/oracle/IOracleService.sol +12 -16
- package/contracts/oracle/Oracle.sol +3 -4
- package/contracts/oracle/OracleService.sol +37 -67
- package/contracts/oracle/OracleServiceManager.sol +4 -6
- package/contracts/pool/BasicPool.sol +2 -4
- package/contracts/pool/BasicPoolAuthorization.sol +5 -4
- package/contracts/pool/BundleService.sol +25 -19
- package/contracts/pool/BundleServiceManager.sol +5 -7
- package/contracts/pool/IPoolService.sol +5 -6
- package/contracts/pool/Pool.sol +1 -3
- package/contracts/pool/PoolLib.sol +5 -102
- package/contracts/pool/PoolService.sol +67 -101
- package/contracts/pool/PoolServiceManager.sol +4 -6
- package/contracts/product/ApplicationService.sol +13 -34
- package/contracts/product/ApplicationServiceManager.sol +4 -6
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +10 -34
- package/contracts/product/ClaimServiceManager.sol +5 -7
- package/contracts/product/IPolicyService.sol +0 -1
- package/contracts/product/PolicyService.sol +44 -57
- package/contracts/product/PolicyServiceManager.sol +4 -6
- package/contracts/product/PricingService.sol +7 -8
- package/contracts/product/PricingServiceManager.sol +4 -6
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +8 -40
- package/contracts/product/RiskServiceManager.sol +4 -6
- package/contracts/registry/IRegistry.sol +20 -14
- package/contracts/registry/IRegistryService.sol +10 -14
- package/contracts/registry/IRelease.sol +0 -3
- package/contracts/registry/Registry.sol +124 -78
- package/contracts/registry/RegistryAdmin.sol +11 -22
- package/contracts/registry/RegistryAuthorization.sol +4 -3
- package/contracts/registry/RegistryService.sol +99 -82
- package/contracts/registry/RegistryServiceManager.sol +4 -11
- package/contracts/registry/ReleaseAdmin.sol +9 -16
- package/contracts/registry/ReleaseRegistry.sol +64 -74
- package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
- package/contracts/registry/TokenRegistry.sol +6 -15
- package/contracts/shared/Component.sol +27 -22
- package/contracts/shared/ComponentService.sol +45 -130
- package/contracts/shared/ComponentServiceManager.sol +5 -7
- package/contracts/shared/ContractLib.sol +359 -93
- package/contracts/shared/IComponent.sol +5 -3
- package/contracts/shared/IComponentService.sol +0 -14
- package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
- package/contracts/shared/INftOwnable.sol +0 -2
- package/contracts/shared/IRegisterable.sol +14 -3
- package/contracts/shared/IRegistryLinked.sol +1 -3
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/IVersionable.sol +19 -0
- package/contracts/shared/InstanceLinkedComponent.sol +38 -128
- package/contracts/shared/NftOwnable.sol +9 -22
- package/contracts/shared/PolicyHolder.sol +2 -4
- package/contracts/shared/Registerable.sol +37 -20
- package/contracts/shared/RegistryLinked.sol +4 -23
- package/contracts/shared/Service.sol +8 -9
- package/contracts/shared/TokenHandler.sol +4 -1
- package/contracts/shared/Versionable.sol +47 -0
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +28 -33
- package/contracts/staking/StakingLib.sol +3 -1
- package/contracts/staking/StakingManager.sol +3 -6
- package/contracts/staking/StakingReader.sol +9 -17
- package/contracts/staking/StakingService.sol +16 -13
- package/contracts/staking/StakingServiceManager.sol +4 -8
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +4 -5
- package/contracts/type/ObjectType.sol +31 -2
- package/contracts/type/Referral.sol +0 -6
- package/contracts/type/Seconds.sol +0 -4
- package/contracts/type/String.sol +0 -30
- package/contracts/type/Timestamp.sol +1 -10
- package/contracts/type/Version.sol +15 -16
- package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
- package/contracts/upgradeability/ProxyManager.sol +46 -54
- package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
- package/package.json +1 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +0 -635
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +0 -229
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +0 -1198
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +0 -849
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +0 -1466
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +0 -844
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +0 -2514
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +0 -844
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +0 -586
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +0 -4
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +0 -901
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +0 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +0 -33
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/examples/flight/FlightLib.sol +0 -322
- package/contracts/examples/flight/FlightMessageVerifier.sol +0 -128
- package/contracts/examples/flight/FlightOracle.sol +0 -167
- package/contracts/examples/flight/FlightOracleAuthorization.sol +0 -34
- package/contracts/examples/flight/FlightPool.sol +0 -89
- package/contracts/examples/flight/FlightPoolAuthorization.sol +0 -37
- package/contracts/examples/flight/FlightProduct.sol +0 -651
- package/contracts/examples/flight/FlightProductAuthorization.sol +0 -45
- package/contracts/examples/flight/FlightUSD.sol +0 -28
- package/contracts/examples/flight/originalV1.sol +0 -396
- package/contracts/shared/EcdsaChecker.sol +0 -5
- package/contracts/type/RequestIdSet.sol +0 -62
@@ -7,23 +7,20 @@ import {IAuthorization} from "../authorization/IAuthorization.sol";
|
|
7
7
|
import {IInstance} from "../instance/IInstance.sol";
|
8
8
|
import {NftId} from "../type/NftId.sol";
|
9
9
|
import {ObjectType} from "../type/ObjectType.sol";
|
10
|
+
import {VersionPart} from "../type/Version.sol";
|
10
11
|
|
11
12
|
/// @dev component base class
|
12
13
|
/// component examples are product, distribution, pool and oracle
|
13
14
|
interface IInstanceLinkedComponent is
|
14
15
|
IComponent
|
15
16
|
{
|
16
|
-
error
|
17
|
-
error
|
18
|
-
|
19
|
-
/// @dev Withdraw fees from the distribution component. Only component owner is allowed to withdraw fees.
|
20
|
-
/// @param amount the amount to withdraw
|
21
|
-
/// @return withdrawnAmount the amount that was actually withdrawn
|
22
|
-
function withdrawFees(Amount amount) external returns (Amount withdrawnAmount);
|
17
|
+
error ErrorInstanceLinkedComponentInstanceInvalid();
|
18
|
+
error ErrorInstanceLinkedComponentInstanceMismatch(VersionPart instanceRelease, VersionPart componentRelease);
|
23
19
|
|
24
20
|
/// @dev defines the instance to which this component is linked to
|
25
21
|
function getInstance() external view returns (IInstance instance);
|
26
22
|
|
23
|
+
// TODO consider moving to Registerable -> it works with authority
|
27
24
|
/// @dev returns the initial component authorization specification.
|
28
25
|
function getAuthorization() external view returns (IAuthorization authorization);
|
29
26
|
|
@@ -5,7 +5,6 @@ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
|
5
5
|
|
6
6
|
import {IRegistryLinked} from "./IRegistryLinked.sol";
|
7
7
|
import {NftId} from "../type/NftId.sol";
|
8
|
-
import {ObjectType} from "../type/ObjectType.sol";
|
9
8
|
|
10
9
|
interface INftOwnable is
|
11
10
|
IERC165,
|
@@ -15,7 +14,6 @@ interface INftOwnable is
|
|
15
14
|
|
16
15
|
error ErrorNftOwnableInitialOwnerZero();
|
17
16
|
error ErrorNftOwnableNotOwner(address account);
|
18
|
-
error ErrorNftOwnableInvalidType(NftId nftId, ObjectType expectedObjectType);
|
19
17
|
|
20
18
|
error ErrorNftOwnableAlreadyLinked(NftId nftId);
|
21
19
|
error ErrorNftOwnableContractNotRegistered(address contractAddress);
|
@@ -4,8 +4,11 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
|
6
6
|
import {INftOwnable} from "./INftOwnable.sol";
|
7
|
-
import {IRelease} from "../registry/IRelease.sol";
|
8
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
|
+
import {IVersionable} from "./IVersionable.sol";
|
9
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
10
|
+
import {NftId} from "../type/NftId.sol";
|
11
|
+
import {VersionPart} from "../type/Version.sol";
|
9
12
|
|
10
13
|
/// @title IRegisterable
|
11
14
|
/// @dev Marks contracts that are intended to be registered in the registry.
|
@@ -13,7 +16,7 @@ import {IRegistry} from "../registry/IRegistry.sol";
|
|
13
16
|
interface IRegisterable is
|
14
17
|
IAccessManaged,
|
15
18
|
INftOwnable,
|
16
|
-
|
19
|
+
IVersionable
|
17
20
|
{
|
18
21
|
// __Registerable_init
|
19
22
|
error ErrorAuthorityInvalid(address authority);
|
@@ -21,6 +24,9 @@ interface IRegisterable is
|
|
21
24
|
// onlyActive()
|
22
25
|
error ErrorRegisterableNotActive();
|
23
26
|
|
27
|
+
// _checkNftType()
|
28
|
+
error ErrorRegisterableInvalidType(NftId nftId, ObjectType expectedType, VersionPart expectedRelease);
|
29
|
+
|
24
30
|
/// @dev Returns true iff this contract managed by its authority is active.
|
25
31
|
/// Queries the IAccessManaged.authority().
|
26
32
|
function isActive() external view returns (bool active);
|
@@ -32,5 +38,10 @@ interface IRegisterable is
|
|
32
38
|
function getInitialInfo()
|
33
39
|
external
|
34
40
|
view
|
35
|
-
returns (IRegistry.ObjectInfo memory);
|
41
|
+
returns (IRegistry.ObjectInfo memory info);
|
42
|
+
|
43
|
+
function getInitialData()
|
44
|
+
external
|
45
|
+
view
|
46
|
+
returns (bytes memory data);
|
36
47
|
}
|
@@ -4,14 +4,14 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
|
6
6
|
import {IRegisterable} from "./IRegisterable.sol";
|
7
|
-
import {
|
7
|
+
import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
8
8
|
import {ObjectType} from "../type/ObjectType.sol";
|
9
9
|
import {RoleId} from "../type/RoleId.sol";
|
10
10
|
|
11
11
|
interface IService is
|
12
12
|
IAccessManaged,
|
13
13
|
IRegisterable,
|
14
|
-
|
14
|
+
IUpgradeable
|
15
15
|
{
|
16
16
|
/// @dev returns the domain for this service.
|
17
17
|
/// In any GIF release only one service for any given domain may be deployed.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {Version, VersionPart} from "../type/Version.sol";
|
5
|
+
|
6
|
+
interface IVersionable {
|
7
|
+
|
8
|
+
error ErrorVersionableReleaseInvalid(address target, VersionPart invalidRelease);
|
9
|
+
error ErrorVersionableReleaseMismatch(address target, VersionPart expected, VersionPart actual);
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @dev returns version of this contract
|
13
|
+
* implementation MUST define version in this function
|
14
|
+
* version number MUST increase
|
15
|
+
*/
|
16
|
+
function getVersion() external pure returns(Version);
|
17
|
+
|
18
|
+
function getRelease() external pure returns(VersionPart);
|
19
|
+
}
|
@@ -1,25 +1,18 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
5
|
-
import {IComponents} from "../instance/module/IComponents.sol";
|
6
|
-
import {IComponentService} from "./IComponentService.sol";
|
7
|
-
import {IInstance} from "../instance/IInstance.sol";
|
8
|
-
import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
|
9
|
-
import {IInstanceService} from "../instance/IInstanceService.sol";
|
10
|
-
import {IOracleService} from "../oracle/IOracleService.sol";
|
11
4
|
|
12
5
|
import {Amount} from "../type/Amount.sol";
|
13
6
|
import {Component} from "./Component.sol";
|
7
|
+
import {IComponentService} from "./IComponentService.sol";
|
8
|
+
import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
|
9
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
10
|
+
import {IComponents} from "../instance/module/IComponents.sol";
|
11
|
+
import {IInstance} from "../instance/IInstance.sol";
|
14
12
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
15
13
|
import {IRegistry} from "../registry/IRegistry.sol";
|
16
14
|
import {NftId} from "../type/NftId.sol";
|
17
|
-
import {ObjectType, COMPONENT, INSTANCE,
|
18
|
-
import {RequestId} from "../type/RequestId.sol";
|
19
|
-
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
20
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
21
|
-
import {Timestamp} from "../type/Timestamp.sol";
|
22
|
-
import {VersionPart} from "../type/Version.sol";
|
15
|
+
import {ObjectType, COMPONENT, INSTANCE, PRODUCT} from "../type/ObjectType.sol";
|
23
16
|
|
24
17
|
// then add (Distribution|Pool|Product)Upradeable that also intherit from Versionable
|
25
18
|
// same pattern as for Service which is also upgradeable
|
@@ -32,82 +25,20 @@ abstract contract InstanceLinkedComponent is
|
|
32
25
|
|
33
26
|
struct InstanceLinkedComponentStorage {
|
34
27
|
IInstance _instance; // instance for this component
|
35
|
-
InstanceReader _instanceReader; // instance reader for this component
|
36
28
|
IAuthorization _initialAuthorization;
|
37
|
-
IComponentService _componentService;
|
38
|
-
IOracleService _oracleService;
|
39
29
|
}
|
40
30
|
|
41
|
-
//--- view functions ----------------------------------------------------//
|
42
|
-
|
43
31
|
/// @inheritdoc IInstanceLinkedComponent
|
44
|
-
function getInstance() public view virtual
|
32
|
+
function getInstance() public view virtual returns (IInstance instance) {
|
45
33
|
return _getInstanceLinkedComponentStorage()._instance;
|
46
34
|
}
|
47
35
|
|
48
|
-
|
49
36
|
/// @inheritdoc IInstanceLinkedComponent
|
50
37
|
function getAuthorization() external view virtual returns (IAuthorization authorization) {
|
51
38
|
return _getInstanceLinkedComponentStorage()._initialAuthorization;
|
52
39
|
}
|
53
40
|
|
54
|
-
|
55
|
-
/// @inheritdoc IInstanceLinkedComponent
|
56
|
-
function withdrawFees(Amount amount)
|
57
|
-
external
|
58
|
-
virtual
|
59
|
-
restricted()
|
60
|
-
onlyOwner()
|
61
|
-
returns (Amount withdrawnAmount)
|
62
|
-
{
|
63
|
-
return _withdrawFees(amount);
|
64
|
-
}
|
65
|
-
|
66
|
-
//--- internal functions ------------------------------------------------//
|
67
|
-
|
68
|
-
function _sendRequest(
|
69
|
-
NftId oracleNftId,
|
70
|
-
bytes memory requestData,
|
71
|
-
Timestamp expiryAt,
|
72
|
-
string memory callbackMethod
|
73
|
-
)
|
74
|
-
internal
|
75
|
-
virtual
|
76
|
-
returns (RequestId requestId)
|
77
|
-
{
|
78
|
-
return _getInstanceLinkedComponentStorage()._oracleService.request(
|
79
|
-
oracleNftId,
|
80
|
-
requestData,
|
81
|
-
expiryAt,
|
82
|
-
callbackMethod);
|
83
|
-
}
|
84
|
-
|
85
|
-
|
86
|
-
function _cancelRequest(RequestId requestId)
|
87
|
-
internal
|
88
|
-
virtual
|
89
|
-
{
|
90
|
-
_getInstanceLinkedComponentStorage()._oracleService.cancel(requestId);
|
91
|
-
}
|
92
|
-
|
93
|
-
|
94
|
-
function _resendRequest(RequestId requestId)
|
95
|
-
internal
|
96
|
-
virtual
|
97
|
-
{
|
98
|
-
_getInstanceLinkedComponentStorage()._oracleService.resend(requestId);
|
99
|
-
}
|
100
|
-
|
101
|
-
|
102
|
-
function _getInstanceLinkedComponentStorage() private pure returns (InstanceLinkedComponentStorage storage $) {
|
103
|
-
assembly {
|
104
|
-
$.slot := INSTANCE_LINKED_COMPONENT_LOCATION_V1
|
105
|
-
}
|
106
|
-
}
|
107
|
-
|
108
|
-
|
109
41
|
function __InstanceLinkedComponent_init(
|
110
|
-
address registry,
|
111
42
|
NftId parentNftId,
|
112
43
|
string memory name,
|
113
44
|
ObjectType componentType,
|
@@ -115,80 +46,60 @@ abstract contract InstanceLinkedComponent is
|
|
115
46
|
bool isInterceptor,
|
116
47
|
address initialOwner
|
117
48
|
)
|
118
|
-
internal
|
49
|
+
internal
|
119
50
|
virtual
|
120
51
|
onlyInitializing()
|
121
52
|
{
|
122
|
-
|
123
|
-
NftId instanceNftId = _checkAndGetInstanceNftId(
|
124
|
-
registry,
|
125
|
-
parentNftId,
|
126
|
-
componentType);
|
127
|
-
|
128
|
-
// set and check linked instance
|
129
|
-
InstanceLinkedComponentStorage storage $ = _getInstanceLinkedComponentStorage();
|
130
|
-
$._instance = IInstance(
|
131
|
-
IRegistry(registry).getObjectAddress(instanceNftId));
|
53
|
+
IInstance instance = _checkAndGetInstance(parentNftId, componentType);
|
132
54
|
|
133
55
|
// set component specific parameters
|
134
56
|
__Component_init(
|
135
|
-
|
136
|
-
registry,
|
57
|
+
instance.authority(),
|
137
58
|
parentNftId,
|
138
59
|
name,
|
139
|
-
componentType,
|
60
|
+
componentType,
|
140
61
|
isInterceptor,
|
141
62
|
initialOwner,
|
142
63
|
""); // registry data
|
143
64
|
|
144
65
|
// set instance linked specific parameters
|
145
|
-
|
66
|
+
InstanceLinkedComponentStorage storage $ = _getInstanceLinkedComponentStorage();
|
67
|
+
$._instance = instance;
|
146
68
|
$._initialAuthorization = authorization;
|
147
|
-
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
148
|
-
$._oracleService = IOracleService(_getServiceAddress(ORACLE()));
|
149
69
|
|
150
70
|
// register interfaces
|
151
71
|
_registerInterface(type(IInstanceLinkedComponent).interfaceId);
|
152
72
|
}
|
153
73
|
|
154
|
-
|
155
|
-
function _checkAndGetInstanceNftId(
|
156
|
-
address registryAddress,
|
74
|
+
function _checkAndGetInstance(
|
157
75
|
NftId parentNftId,
|
158
76
|
ObjectType componentType
|
159
77
|
)
|
160
|
-
|
78
|
+
private
|
161
79
|
view
|
162
|
-
returns (
|
80
|
+
returns (IInstance instance)
|
163
81
|
{
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
82
|
+
NftId instanceNftId;
|
83
|
+
IRegistry registry = _getRegistry();
|
84
|
+
|
85
|
+
if(componentType == PRODUCT()) {
|
86
|
+
instanceNftId = parentNftId;
|
87
|
+
} else {
|
88
|
+
NftId productNftId = parentNftId;
|
89
|
+
instanceNftId = registry.getParentNftId(productNftId);
|
168
90
|
}
|
169
91
|
|
170
|
-
|
171
|
-
IRegistry registry = _checkAndGetRegistry(registryAddress, parentNftId, PRODUCT());
|
172
|
-
return registry.getParentNftId(parentNftId);
|
173
|
-
}
|
92
|
+
IRegistry.ObjectInfo memory info = registry.getObjectInfo(instanceNftId);
|
174
93
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
address registryAddress,
|
179
|
-
NftId objectNftId,
|
180
|
-
ObjectType requiredType
|
181
|
-
)
|
182
|
-
internal
|
183
|
-
view
|
184
|
-
returns (IRegistry registry)
|
185
|
-
{
|
186
|
-
registry = IRegistry(registryAddress);
|
187
|
-
IRegistry.ObjectInfo memory info = registry.getObjectInfo(objectNftId);
|
94
|
+
if (info.objectType != INSTANCE()) {
|
95
|
+
revert ErrorInstanceLinkedComponentInstanceInvalid();
|
96
|
+
}
|
188
97
|
|
189
|
-
if
|
190
|
-
revert
|
98
|
+
if(info.release != getRelease()) {
|
99
|
+
revert ErrorInstanceLinkedComponentInstanceMismatch(info.release, getRelease());
|
191
100
|
}
|
101
|
+
|
102
|
+
instance = IInstance(info.objectAddress);
|
192
103
|
}
|
193
104
|
|
194
105
|
|
@@ -200,7 +111,7 @@ abstract contract InstanceLinkedComponent is
|
|
200
111
|
|
201
112
|
|
202
113
|
function _getComponentInfo() internal virtual override view returns (IComponents.ComponentInfo memory info) {
|
203
|
-
NftId componentNftId =
|
114
|
+
NftId componentNftId = _getRegistry().getNftIdForAddress(address(this));
|
204
115
|
|
205
116
|
// if registered, attempt to return component info via instance reader
|
206
117
|
if (componentNftId.gtz()) {
|
@@ -220,13 +131,12 @@ abstract contract InstanceLinkedComponent is
|
|
220
131
|
|
221
132
|
/// @dev returns reader for linked instance
|
222
133
|
function _getInstanceReader() internal view returns (InstanceReader reader) {
|
223
|
-
return _getInstanceLinkedComponentStorage().
|
134
|
+
return _getInstanceLinkedComponentStorage()._instance.getInstanceReader();
|
224
135
|
}
|
225
136
|
|
226
|
-
function
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
return _getInstanceLinkedComponentStorage()._componentService.withdrawFees(amount);
|
137
|
+
function _getInstanceLinkedComponentStorage() private pure returns (InstanceLinkedComponentStorage storage $) {
|
138
|
+
assembly {
|
139
|
+
$.slot := INSTANCE_LINKED_COMPONENT_LOCATION_V1
|
140
|
+
}
|
231
141
|
}
|
232
142
|
}
|
@@ -4,7 +4,6 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {InitializableERC165} from "./InitializableERC165.sol";
|
5
5
|
import {INftOwnable} from "./INftOwnable.sol";
|
6
6
|
import {NftId} from "../type/NftId.sol";
|
7
|
-
import {ObjectType} from "../type/ObjectType.sol";
|
8
7
|
import {RegistryLinked} from "./RegistryLinked.sol";
|
9
8
|
|
10
9
|
contract NftOwnable is
|
@@ -29,28 +28,15 @@ contract NftOwnable is
|
|
29
28
|
}
|
30
29
|
|
31
30
|
modifier onlyNftOwner(NftId nftId) {
|
32
|
-
if(!
|
31
|
+
if(!_getRegistry().isOwnerOf(nftId, msg.sender)) {
|
33
32
|
revert ErrorNftOwnableNotOwner(msg.sender);
|
34
33
|
}
|
35
34
|
_;
|
36
35
|
}
|
37
36
|
|
38
|
-
modifier onlyNftOfType(NftId nftId, ObjectType expectedObjectType) {
|
39
|
-
_checkNftType(nftId, expectedObjectType);
|
40
|
-
_;
|
41
|
-
}
|
42
|
-
|
43
|
-
function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
|
44
|
-
if(expectedObjectType.eqz() || !getRegistry().isObjectType(nftId, expectedObjectType)) {
|
45
|
-
revert ErrorNftOwnableInvalidType(nftId, expectedObjectType);
|
46
|
-
}
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
37
|
/// @dev Initialization for upgradable contracts.
|
51
|
-
// used in __Registerable_init, ProxyManager.
|
38
|
+
// used in __Registerable_init, ProxyManager.initialize
|
52
39
|
function __NftOwnable_init(
|
53
|
-
address registry,
|
54
40
|
address initialOwner
|
55
41
|
)
|
56
42
|
internal
|
@@ -58,7 +44,6 @@ contract NftOwnable is
|
|
58
44
|
onlyInitializing()
|
59
45
|
{
|
60
46
|
__ERC165_init();
|
61
|
-
__RegistryLinked_init(registry);
|
62
47
|
|
63
48
|
if(initialOwner == address(0)) {
|
64
49
|
revert ErrorNftOwnableInitialOwnerZero();
|
@@ -88,7 +73,7 @@ contract NftOwnable is
|
|
88
73
|
NftOwnableStorage storage $ = _getNftOwnableStorage();
|
89
74
|
|
90
75
|
if ($._nftId.gtz()) {
|
91
|
-
return
|
76
|
+
return _getRegistry().ownerOf($._nftId);
|
92
77
|
}
|
93
78
|
|
94
79
|
return $._initialOwner;
|
@@ -108,15 +93,17 @@ contract NftOwnable is
|
|
108
93
|
revert ErrorNftOwnableAlreadyLinked($._nftId);
|
109
94
|
}
|
110
95
|
|
111
|
-
|
96
|
+
NftId nftId = _getRegistry().getNftIdForAddress(nftOwnableAddress);
|
97
|
+
|
98
|
+
if (nftId.eqz()) {
|
112
99
|
revert ErrorNftOwnableContractNotRegistered(nftOwnableAddress);
|
113
100
|
}
|
114
101
|
|
115
|
-
$._nftId =
|
102
|
+
$._nftId = nftId;
|
116
103
|
|
117
|
-
emit LogNftOwnableNftLinkedToAddress(
|
104
|
+
emit LogNftOwnableNftLinkedToAddress(nftId, getOwner());
|
118
105
|
|
119
|
-
return
|
106
|
+
return nftId;
|
120
107
|
}
|
121
108
|
|
122
109
|
|
@@ -23,14 +23,12 @@ contract PolicyHolder is
|
|
23
23
|
// callbacks must only be allowed from the policy and claim services
|
24
24
|
// will need a release parameter to fetch the right service addresses for the modifiers
|
25
25
|
|
26
|
-
function
|
27
|
-
address registryAddress
|
26
|
+
function __PolicyHolder_init(
|
28
27
|
)
|
29
28
|
internal
|
30
29
|
virtual
|
31
30
|
onlyInitializing()
|
32
31
|
{
|
33
|
-
__RegistryLinked_init(registryAddress);
|
34
32
|
_initializeERC165();
|
35
33
|
_registerInterface(type(IPolicyHolder).interfaceId);
|
36
34
|
}
|
@@ -47,7 +45,7 @@ contract PolicyHolder is
|
|
47
45
|
/// @dev empty default implementation
|
48
46
|
function payoutExecuted(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary) external virtual {}
|
49
47
|
|
50
|
-
//---
|
48
|
+
//--- IERC721 functions ---------------//
|
51
49
|
function onERC721Received(
|
52
50
|
address, // operator
|
53
51
|
address, // from
|
@@ -9,15 +9,16 @@ import {ContractLib} from "../shared/ContractLib.sol";
|
|
9
9
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
10
10
|
import {NftOwnable} from "../shared/NftOwnable.sol";
|
11
11
|
import {ObjectType} from "../type/ObjectType.sol";
|
12
|
+
import {Versionable} from "../shared/Versionable.sol";
|
12
13
|
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
13
14
|
|
14
15
|
import {IRegistry} from "../registry/IRegistry.sol";
|
15
16
|
import {IRegisterable} from "./IRegisterable.sol";
|
16
|
-
import {IRelease} from "../registry/IRelease.sol";
|
17
17
|
|
18
18
|
abstract contract Registerable is
|
19
19
|
AccessManagedUpgradeable,
|
20
20
|
NftOwnable,
|
21
|
+
Versionable,
|
21
22
|
IRegisterable
|
22
23
|
{
|
23
24
|
// keccak256(abi.encode(uint256(keccak256("gif-next.contracts.shared.Registerable.sol")) - 1)) & ~bytes32(uint256(0xff));
|
@@ -37,14 +38,27 @@ abstract contract Registerable is
|
|
37
38
|
_;
|
38
39
|
}
|
39
40
|
|
41
|
+
modifier onlyNftOfType(NftId nftId, ObjectType expectedObjectType) {
|
42
|
+
_checkNftType(nftId, expectedObjectType);
|
43
|
+
_;
|
44
|
+
}
|
45
|
+
|
46
|
+
// TODO move to registerables verification library
|
47
|
+
// TODO and check the owner here?
|
48
|
+
function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
|
49
|
+
VersionPart expectedRelease = getRelease();
|
50
|
+
if(expectedObjectType.eqz() || !_getRegistry().isObjectType(nftId, expectedObjectType, expectedRelease)) {
|
51
|
+
revert ErrorRegisterableInvalidType(nftId, expectedObjectType, expectedRelease);
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
40
55
|
function __Registerable_init(
|
41
56
|
address authority,
|
42
|
-
address registry,
|
43
57
|
NftId parentNftId,
|
44
58
|
ObjectType objectType,
|
45
59
|
bool isInterceptor,
|
46
60
|
address initialOwner,
|
47
|
-
bytes memory data
|
61
|
+
bytes memory data
|
48
62
|
)
|
49
63
|
internal
|
50
64
|
virtual
|
@@ -54,14 +68,19 @@ abstract contract Registerable is
|
|
54
68
|
revert ErrorAuthorityInvalid(authority);
|
55
69
|
}
|
56
70
|
|
71
|
+
VersionPart release = AccessManagerCloneable(authority).getRelease();
|
72
|
+
|
57
73
|
__AccessManaged_init(authority);
|
58
|
-
__NftOwnable_init(
|
74
|
+
__NftOwnable_init(initialOwner);
|
75
|
+
__Versionable_init(release);
|
59
76
|
|
60
77
|
RegisterableStorage storage $ = _getRegisterableStorage();
|
61
78
|
$._parentNftId = parentNftId;
|
62
79
|
$._objectType = objectType;
|
63
80
|
$._isInterceptor = isInterceptor;
|
64
|
-
|
81
|
+
if(data.length > 0) {
|
82
|
+
$._data = data;
|
83
|
+
}
|
65
84
|
|
66
85
|
_registerInterface(type(IAccessManaged).interfaceId);
|
67
86
|
}
|
@@ -72,13 +91,6 @@ abstract contract Registerable is
|
|
72
91
|
return !AccessManagerCloneable(authority()).isTargetClosed(address(this));
|
73
92
|
}
|
74
93
|
|
75
|
-
|
76
|
-
/// @inheritdoc IRelease
|
77
|
-
function getRelease() public virtual view returns (VersionPart release) {
|
78
|
-
return AccessManagerCloneable(authority()).getRelease();
|
79
|
-
}
|
80
|
-
|
81
|
-
|
82
94
|
/// @inheritdoc IRegisterable
|
83
95
|
function getInitialInfo()
|
84
96
|
public
|
@@ -87,14 +99,19 @@ abstract contract Registerable is
|
|
87
99
|
returns (IRegistry.ObjectInfo memory info)
|
88
100
|
{
|
89
101
|
RegisterableStorage storage $ = _getRegisterableStorage();
|
90
|
-
return
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
102
|
+
return (
|
103
|
+
IRegistry.ObjectInfo(
|
104
|
+
NftIdLib.zero(),
|
105
|
+
$._parentNftId,
|
106
|
+
$._objectType,
|
107
|
+
getRelease(),
|
108
|
+
$._isInterceptor,
|
109
|
+
address(this))
|
110
|
+
);
|
111
|
+
}
|
112
|
+
|
113
|
+
function getInitialData() public view virtual returns (bytes memory data) {
|
114
|
+
return _getRegisterableStorage()._data;
|
98
115
|
}
|
99
116
|
|
100
117
|
|
@@ -1,38 +1,19 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
4
|
|
6
5
|
import {ContractLib} from "../shared/ContractLib.sol";
|
7
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
7
|
import {IRegistryLinked} from "./IRegistryLinked.sol";
|
9
8
|
|
10
9
|
contract RegistryLinked is
|
11
|
-
Initializable,
|
12
10
|
IRegistryLinked
|
13
11
|
{
|
14
|
-
|
15
|
-
|
16
|
-
IRegistry private _registry;
|
17
|
-
|
18
|
-
/// @dev initialization for upgradable contracts
|
19
|
-
// used in _initializeRegisterable
|
20
|
-
function __RegistryLinked_init(
|
21
|
-
address registry
|
22
|
-
)
|
23
|
-
internal
|
24
|
-
virtual
|
25
|
-
onlyInitializing()
|
26
|
-
{
|
27
|
-
if (!ContractLib.isRegistry(registry)) {
|
28
|
-
revert ErrorNotRegistry(registry);
|
29
|
-
}
|
30
|
-
|
31
|
-
_registry = IRegistry(registry);
|
12
|
+
function getRegistry() external pure returns (IRegistry) {
|
13
|
+
return ContractLib.getRegistry();
|
32
14
|
}
|
33
15
|
|
34
|
-
|
35
|
-
|
36
|
-
return _registry;
|
16
|
+
function _getRegistry() internal pure returns (IRegistry) {
|
17
|
+
return ContractLib.getRegistry();
|
37
18
|
}
|
38
19
|
}
|