@etherisc/gif-next 3.0.0-1b49bd6-565 → 3.0.0-1c2086e-623
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 +9 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +119 -117
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +46 -91
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +145 -168
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- 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 +85 -83
- 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 +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -222
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +59 -168
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +252 -238
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +154 -144
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +58 -180
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +145 -111
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.json +376 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.json +1391 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.json +2433 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.dbg.json +4 -0
- package/artifacts/contracts/examples/crop/Location.sol/LocationLib.json +199 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +108 -245
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +141 -283
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +221 -86
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +2 -2
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +253 -275
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +112 -41
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +112 -249
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +461 -866
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +113 -42
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +2 -2
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +104 -255
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +177 -226
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +124 -256
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +124 -261
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +69 -77
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +52 -91
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +152 -92
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +82 -158
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +226 -248
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +186 -44
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +201 -149
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +116 -108
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +171 -121
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +166 -107
- package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +98 -106
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +9 -9
- 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 +9 -4
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +40 -4
- 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 -195
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- 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 +132 -152
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +102 -93
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +138 -145
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +167 -162
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +133 -115
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +77 -167
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +149 -203
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -133
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +64 -98
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +75 -178
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +136 -132
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +77 -167
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +215 -271
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +134 -144
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +81 -156
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -114
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +61 -151
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +139 -200
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -136
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +50 -89
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +56 -89
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +85 -91
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +47 -86
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +60 -163
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +63 -120
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +148 -182
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +25 -17
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +132 -126
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +98 -165
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -120
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +61 -151
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +88 -205
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +110 -120
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +58 -8
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +86 -179
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +218 -204
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
- 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 +176 -328
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +221 -242
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +246 -287
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +114 -119
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +236 -245
- 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 +219 -158
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +38 -22
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +41 -161
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +552 -180
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +145 -119
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- 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 +1 -1
- 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/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +40 -173
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +40 -173
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +455 -95
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +58 -161
- 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 +30 -3
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +27 -79
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +34 -73
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +59 -149
- 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 +36 -17
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +26 -78
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +33 -72
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -82
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -70
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +147 -248
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +51 -296
- 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 +200 -317
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +128 -116
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +80 -353
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +115 -109
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +234 -242
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +20 -33
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
- 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/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/Fee.sol/FeeLib.json +2 -7
- 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 +6 -6
- 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 +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +17 -22
- 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 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -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 +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
- 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 +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +90 -67
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +22 -33
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +35 -55
- package/contracts/authorization/AccessAdminLib.sol +27 -13
- package/contracts/authorization/AccessManagerCloneable.sol +52 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +11 -10
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +44 -43
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +8 -7
- package/contracts/examples/crop/AccountingToken.sol +26 -0
- package/contracts/examples/crop/CropPool.sol +89 -0
- package/contracts/examples/crop/CropPoolAuthorization.sol +37 -0
- package/contracts/examples/crop/CropProduct.sol +512 -0
- package/contracts/examples/crop/CropProductAuthorization.sol +69 -0
- package/contracts/examples/crop/Location.sol +50 -0
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +5 -1
- package/contracts/examples/flight/FlightLib.sol +95 -108
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +26 -60
- package/contracts/examples/flight/FlightOracleAuthorization.sol +27 -5
- package/contracts/examples/flight/FlightPool.sol +5 -1
- package/contracts/examples/flight/FlightProduct.sol +292 -252
- package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +5 -5
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/BundleSet.sol +7 -8
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +10 -7
- package/contracts/instance/IInstanceService.sol +11 -4
- package/contracts/instance/Instance.sol +19 -7
- package/contracts/instance/InstanceAdmin.sol +18 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +17 -5
- package/contracts/instance/InstanceReader.sol +70 -23
- package/contracts/instance/InstanceService.sol +88 -54
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +16 -15
- package/contracts/instance/RequestSet.sol +63 -0
- package/contracts/instance/RiskSet.sol +6 -7
- package/contracts/instance/TargetNames.sol +1 -0
- package/contracts/instance/base/BalanceStore.sol +7 -7
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectCounter.sol +7 -5
- package/contracts/instance/base/ObjectSet.sol +11 -3
- package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +9 -5
- package/contracts/oracle/Oracle.sol +54 -29
- package/contracts/oracle/OracleService.sol +89 -56
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +22 -28
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +9 -10
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +14 -13
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +4 -5
- package/contracts/product/ClaimService.sol +35 -11
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IApplicationService.sol +8 -8
- package/contracts/product/IClaimService.sol +9 -9
- package/contracts/product/IPolicyService.sol +8 -7
- package/contracts/product/IRiskService.sol +4 -6
- package/contracts/product/PolicyService.sol +58 -45
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +3 -5
- package/contracts/product/RiskService.sol +43 -16
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/ChainNft.sol +10 -9
- package/contracts/registry/IRegistry.sol +23 -28
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +93 -136
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -6
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +27 -13
- package/contracts/registry/ReleaseRegistry.sol +81 -72
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +18 -9
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +168 -49
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +44 -8
- package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
- package/contracts/shared/INftOwnable.sol +3 -1
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +65 -30
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +6 -9
- package/contracts/staking/IStaking.sol +35 -33
- package/contracts/staking/IStakingService.sol +7 -16
- package/contracts/staking/Staking.sol +38 -32
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +15 -19
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +11 -11
- package/contracts/staking/TargetHandler.sol +7 -6
- package/contracts/type/RequestId.sol +6 -0
- package/contracts/type/RiskId.sol +8 -8
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +3 -3
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -2,7 +2,6 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
5
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
6
5
|
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
7
6
|
import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
|
8
7
|
|
@@ -10,16 +9,14 @@ import {NftId, NftIdLib} from "../type/NftId.sol";
|
|
10
9
|
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
11
10
|
import {ObjectType, ObjectTypeLib, PROTOCOL, REGISTRY, SERVICE, INSTANCE, STAKE, STAKING, PRODUCT, DISTRIBUTION, DISTRIBUTOR, ORACLE, POOL, POLICY, BUNDLE} from "../type/ObjectType.sol";
|
12
11
|
|
12
|
+
import {ChainId, ChainIdLib} from "../type/ChainId.sol";
|
13
13
|
import {ChainNft} from "./ChainNft.sol";
|
14
14
|
import {IRegistry} from "./IRegistry.sol";
|
15
15
|
import {IRelease} from "./IRelease.sol";
|
16
16
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
17
17
|
import {IStaking} from "../staking/IStaking.sol";
|
18
18
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
19
|
-
import {TokenRegistry} from "./TokenRegistry.sol";
|
20
19
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
21
|
-
import {Versionable} from "../shared/Versionable.sol";
|
22
|
-
import {VersionLib, Version} from "../type/Version.sol";
|
23
20
|
|
24
21
|
/// @dev IMPORTANT
|
25
22
|
// Each NFT minted by registry is accosiated with:
|
@@ -33,27 +30,20 @@ import {VersionLib, Version} from "../type/Version.sol";
|
|
33
30
|
// 5) registerRegistry() -> registers IRegistry address (from different chain) by GifAdmin. Works ONLY on mainnet.
|
34
31
|
// Note: getters by address MUST not be used with this address (will return 0 or data related to different object or even revert)
|
35
32
|
|
36
|
-
|
37
|
-
function GIF_INITIAL_RELEASE() pure returns (VersionPart) {
|
38
|
-
return VersionPartLib.toVersionPart(3);
|
39
|
-
}
|
40
|
-
|
41
|
-
|
42
33
|
/// @dev Chain Registry contract implementing IRegistry.
|
43
34
|
/// IRegistry for method details.
|
44
35
|
contract Registry is
|
45
36
|
Initializable,
|
46
37
|
AccessManaged,
|
47
|
-
Versionable,
|
48
38
|
IRegistry
|
49
39
|
{
|
50
40
|
/// @dev Protocol NFT ID
|
51
41
|
NftId public immutable PROTOCOL_NFT_ID;
|
52
42
|
|
53
|
-
/// @dev
|
43
|
+
/// @dev Gobal registry NFT ID
|
54
44
|
NftId public immutable GLOBAL_REGISTRY_NFT_ID;
|
55
45
|
|
56
|
-
/// @dev
|
46
|
+
/// @dev Gobal registry address on mainnet.
|
57
47
|
address public immutable GLOBAL_REGISTRY_ADDRESS;
|
58
48
|
|
59
49
|
/// @dev Registry NFT ID
|
@@ -74,12 +64,11 @@ contract Registry is
|
|
74
64
|
string public constant EMPTY_URI = "";
|
75
65
|
|
76
66
|
/// @dev keep track of different registries on different chains
|
77
|
-
mapping(
|
78
|
-
|
67
|
+
mapping(ChainId chainId => NftId registryNftId) private _registryNftIdByChainId;
|
68
|
+
ChainId[] private _chainId;
|
79
69
|
|
80
|
-
/// @dev keep track of object info
|
70
|
+
/// @dev keep track of object info and address reverse lookup
|
81
71
|
mapping(NftId nftId => ObjectInfo info) private _info;
|
82
|
-
mapping(NftId nftId => bytes data) private _data;
|
83
72
|
mapping(address object => NftId nftId) private _nftIdByAddress;
|
84
73
|
|
85
74
|
/// @dev keep track of service addresses by version and domain
|
@@ -155,20 +144,19 @@ contract Registry is
|
|
155
144
|
/// @inheritdoc IRegistry
|
156
145
|
function registerRegistry(
|
157
146
|
NftId nftId,
|
158
|
-
|
159
|
-
address registryAddress
|
160
|
-
VersionPart release
|
147
|
+
ChainId chainId,
|
148
|
+
address registryAddress
|
161
149
|
)
|
162
150
|
external
|
163
151
|
restricted()
|
164
152
|
{
|
165
153
|
// registration of chain registries only allowed on mainnet
|
166
154
|
if (block.chainid != 1) {
|
167
|
-
revert ErrorRegistryNotOnMainnet(block.chainid);
|
155
|
+
revert ErrorRegistryNotOnMainnet(ChainIdLib.toChainId(block.chainid));
|
168
156
|
}
|
169
157
|
|
170
158
|
// registry chain id is not zero
|
171
|
-
if(chainId
|
159
|
+
if(chainId.eqz()) {
|
172
160
|
revert ErrorRegistryChainRegistryChainIdZero(nftId);
|
173
161
|
}
|
174
162
|
|
@@ -191,19 +179,20 @@ contract Registry is
|
|
191
179
|
nftId: nftId,
|
192
180
|
parentNftId: REGISTRY_NFT_ID,
|
193
181
|
objectType: REGISTRY(),
|
194
|
-
release: release,
|
195
182
|
isInterceptor: false,
|
196
|
-
objectAddress: registryAddress
|
183
|
+
objectAddress: registryAddress,
|
184
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
185
|
+
data: ""
|
186
|
+
}),
|
197
187
|
false); // do not update address lookup for objects on a different chain
|
198
188
|
}
|
199
189
|
|
200
190
|
// TODO limit service owner to registry admin?
|
201
191
|
/// @inheritdoc IRegistry
|
202
192
|
function registerService(
|
203
|
-
ObjectInfo memory info,
|
204
|
-
|
205
|
-
ObjectType domain
|
206
|
-
bytes memory data
|
193
|
+
ObjectInfo memory info,
|
194
|
+
VersionPart version,
|
195
|
+
ObjectType domain
|
207
196
|
)
|
208
197
|
external
|
209
198
|
restricted()
|
@@ -216,13 +205,12 @@ contract Registry is
|
|
216
205
|
}
|
217
206
|
|
218
207
|
// version is defined
|
219
|
-
|
220
|
-
if(release.eqz()) {
|
208
|
+
if(version.eqz()) {
|
221
209
|
revert ErrorRegistryServiceVersionZero(service);
|
222
210
|
}
|
223
211
|
// service domain is defined
|
224
212
|
if(domain.eqz()) {
|
225
|
-
revert ErrorRegistryServiceDomainZero(service,
|
213
|
+
revert ErrorRegistryServiceDomainZero(service, version);
|
226
214
|
}
|
227
215
|
|
228
216
|
// service has proper type
|
@@ -232,31 +220,30 @@ contract Registry is
|
|
232
220
|
|
233
221
|
// service parent has registry type
|
234
222
|
if(info.parentNftId != REGISTRY_NFT_ID) {
|
235
|
-
revert ErrorRegistryServiceParentNotRegistry(service,
|
223
|
+
revert ErrorRegistryServiceParentNotRegistry(service, version, info.parentNftId);
|
236
224
|
}
|
237
225
|
|
238
226
|
// service has not already been registered
|
239
|
-
if(_service[
|
240
|
-
revert ErrorRegistryServiceDomainAlreadyRegistered(service,
|
227
|
+
if(_service[version][domain] != address(0)) {
|
228
|
+
revert ErrorRegistryServiceDomainAlreadyRegistered(service, version, domain);
|
241
229
|
}
|
242
230
|
|
243
|
-
_service[
|
231
|
+
_service[version][domain] = service;
|
244
232
|
|
245
|
-
emit LogRegistryServiceRegistered(
|
233
|
+
emit LogRegistryServiceRegistered(info.nftId,version, domain);
|
246
234
|
|
247
|
-
nftId = _register(info
|
235
|
+
nftId = _register(info);
|
248
236
|
}
|
249
237
|
|
250
238
|
|
251
239
|
/// @inheritdoc IRegistry
|
252
|
-
function register(ObjectInfo memory info
|
240
|
+
function register(ObjectInfo memory info)
|
253
241
|
external
|
254
242
|
restricted()
|
255
243
|
returns(NftId nftId)
|
256
244
|
{
|
257
245
|
address objectAddress = info.objectAddress;
|
258
246
|
ObjectType objectType = info.objectType;
|
259
|
-
VersionPart parentRelease = _info[info.parentNftId].release;
|
260
247
|
|
261
248
|
// specialized functions have to be used to register registries and services
|
262
249
|
if(objectType == REGISTRY() || objectType == STAKING() || objectType == SERVICE()) {
|
@@ -280,21 +267,18 @@ contract Registry is
|
|
280
267
|
}
|
281
268
|
}
|
282
269
|
|
283
|
-
|
284
|
-
|
285
|
-
nftId = _register(info, initialOwner, data);
|
270
|
+
nftId = _register(info);
|
286
271
|
}
|
287
272
|
|
288
273
|
|
289
274
|
/// @inheritdoc IRegistry
|
290
|
-
function registerWithCustomType(ObjectInfo memory info
|
275
|
+
function registerWithCustomType(ObjectInfo memory info)
|
291
276
|
external
|
292
277
|
restricted()
|
293
278
|
returns(NftId nftId)
|
294
279
|
{
|
295
280
|
ObjectType objectType = info.objectType;
|
296
281
|
ObjectType parentType = _info[info.parentNftId].objectType;
|
297
|
-
VersionPart parentRelease = _info[info.parentNftId].release;
|
298
282
|
|
299
283
|
if(_coreTypes[objectType]) {
|
300
284
|
revert ErrorRegistryCoreTypeRegistration();
|
@@ -310,36 +294,13 @@ contract Registry is
|
|
310
294
|
revert ErrorRegistryTypeCombinationInvalid(info.objectAddress, objectType, parentType);
|
311
295
|
}
|
312
296
|
|
313
|
-
|
314
|
-
|
315
|
-
nftId = _register(info, initialOwner, data);
|
297
|
+
nftId = _register(info);
|
316
298
|
}
|
317
299
|
|
318
|
-
function _checkRelease(
|
319
|
-
VersionPart objectRelease,
|
320
|
-
VersionPart parentRelease,
|
321
|
-
ObjectType parentType
|
322
|
-
) internal view
|
323
|
-
{
|
324
|
-
VersionPart senderRelease = _info[_nftIdByAddress[msg.sender]].release;
|
325
|
-
|
326
|
-
// assume:
|
327
|
-
// 1) only address with role can reach this function -> caller is registered registry service
|
328
|
-
// 2) locked registry service can not call registry -> no "caller is locked" check is needed
|
329
|
-
if(parentType == PROTOCOL()) {
|
330
|
-
// STAKING for PROTOCOL, parent release is 0
|
331
|
-
if(senderRelease != objectRelease) {
|
332
|
-
revert ErrorRegistryReleaseMismatch(objectRelease, parentRelease, senderRelease);
|
333
|
-
}
|
334
|
-
}
|
335
|
-
else if(senderRelease != objectRelease || senderRelease != parentRelease) {
|
336
|
-
revert ErrorRegistryReleaseMismatch(objectRelease, parentRelease, senderRelease);
|
337
|
-
}
|
338
|
-
}
|
339
300
|
|
340
301
|
/// @dev earliest GIF major version
|
341
302
|
function getInitialRelease() external view returns (VersionPart) {
|
342
|
-
return
|
303
|
+
return VersionPartLib.toVersionPart(_releaseRegistry.INITIAL_GIF_VERSION());
|
343
304
|
}
|
344
305
|
|
345
306
|
/// @dev next GIF release version to be released
|
@@ -360,11 +321,11 @@ contract Registry is
|
|
360
321
|
return _chainId.length;
|
361
322
|
}
|
362
323
|
|
363
|
-
function getChainId(uint256 idx) public view returns (
|
324
|
+
function getChainId(uint256 idx) public view returns (ChainId) {
|
364
325
|
return _chainId[idx];
|
365
326
|
}
|
366
327
|
|
367
|
-
function getRegistryNftId(
|
328
|
+
function getRegistryNftId(ChainId chainId) public view returns (NftId nftId) {
|
368
329
|
return _registryNftIdByChainId[chainId];
|
369
330
|
}
|
370
331
|
|
@@ -404,20 +365,13 @@ contract Registry is
|
|
404
365
|
return _info[nftId].parentNftId;
|
405
366
|
}
|
406
367
|
|
407
|
-
function isObjectType(address contractAddress, ObjectType expectedObjectType
|
368
|
+
function isObjectType(address contractAddress, ObjectType expectedObjectType) external view returns (bool) {
|
408
369
|
NftId nftId = _nftIdByAddress[contractAddress];
|
409
|
-
return isObjectType(nftId, expectedObjectType
|
410
|
-
}
|
411
|
-
|
412
|
-
function isObjectType(NftId nftId, ObjectType expectedObjectType, VersionPart release) public view returns (bool) {
|
413
|
-
return (
|
414
|
-
_info[nftId].objectType == expectedObjectType &&
|
415
|
-
_info[nftId].release == release
|
416
|
-
);
|
370
|
+
return isObjectType(nftId, expectedObjectType);
|
417
371
|
}
|
418
372
|
|
419
|
-
function
|
420
|
-
return _info[nftId].
|
373
|
+
function isObjectType(NftId nftId, ObjectType expectedObjectType) public view returns (bool) {
|
374
|
+
return _info[nftId].objectType == expectedObjectType;
|
421
375
|
}
|
422
376
|
|
423
377
|
function getObjectAddress(NftId nftId) external view returns (address) {
|
@@ -428,14 +382,6 @@ contract Registry is
|
|
428
382
|
return _info[_nftIdByAddress[object]];
|
429
383
|
}
|
430
384
|
|
431
|
-
function getObjectData(NftId nftId) external view returns (bytes memory data) {
|
432
|
-
return _data[nftId];
|
433
|
-
}
|
434
|
-
|
435
|
-
function getObjectData(address objectAddress) external view returns (bytes memory data) {
|
436
|
-
return _data[_nftIdByAddress[objectAddress]];
|
437
|
-
}
|
438
|
-
|
439
385
|
function isRegistered(NftId nftId) public view returns (bool) {
|
440
386
|
return _info[nftId].objectType.gtz();
|
441
387
|
}
|
@@ -494,12 +440,6 @@ contract Registry is
|
|
494
440
|
return ownerOf(address(this));
|
495
441
|
}
|
496
442
|
|
497
|
-
// Versionable
|
498
|
-
|
499
|
-
function getVersion() public pure override returns (Version) {
|
500
|
-
return VersionLib.toVersion(GIF_INITIAL_RELEASE().toInt(), 0 , 0);
|
501
|
-
}
|
502
|
-
|
503
443
|
// IERC165
|
504
444
|
|
505
445
|
function supportsInterface(bytes4 interfaceId) external pure returns (bool) {
|
@@ -513,49 +453,62 @@ contract Registry is
|
|
513
453
|
// Internals
|
514
454
|
|
515
455
|
/// @dev registry protects only against tampering existing records, registering with invalid types pairs and 0 parent address
|
516
|
-
function _register(ObjectInfo memory info
|
456
|
+
function _register(ObjectInfo memory info)
|
517
457
|
internal
|
518
458
|
returns(NftId nftId)
|
519
459
|
{
|
460
|
+
ObjectType objectType = info.objectType; // do not care here, never PROTOCOL(), REGISTRY()
|
461
|
+
bool isInterceptor = info.isInterceptor;
|
462
|
+
address objectAddress = info.objectAddress; // do not care here, can be 0
|
463
|
+
address owner = info.initialOwner; // do not care here, can be 0, can be equal info.objectAddress
|
464
|
+
|
520
465
|
NftId parentNftId = info.parentNftId; // do not care here, can not be 0
|
521
466
|
ObjectInfo memory parentInfo = _info[parentNftId];
|
467
|
+
address parentAddress = parentInfo.objectAddress; // can be 0
|
468
|
+
|
469
|
+
// parent is contract -> need to check? -> check before minting
|
470
|
+
// special case: staking: to protocol possible as well
|
471
|
+
// NO LONGER TRUE: special case: global registry nft as parent when not on mainnet -> global registry address is 0
|
472
|
+
// special case: when parentNftId == CHAIN_NFT.mint(), check for zero parent address before mint
|
473
|
+
// special case: when parentNftId == CHAIN_NFT.mint() && objectAddress == initialOwner
|
474
|
+
// Parent can have 0 address in case of STAKE for PROTOCOL / CUSTOM_TYPE for POLICY
|
475
|
+
// But it MUST be registered -> parentType != 0 && parentNftId != 0
|
476
|
+
/*if(objectType != STAKE()) {
|
477
|
+
if(parentAddress == address(0)) {
|
478
|
+
revert ErrorRegistryParentAddressZero();
|
479
|
+
}
|
480
|
+
}*/
|
522
481
|
|
523
482
|
// global registry is never parent when not on mainnet
|
524
483
|
if(block.chainid != 1) {
|
525
484
|
if(parentNftId == GLOBAL_REGISTRY_NFT_ID) {
|
526
|
-
revert ErrorRegistryGlobalRegistryAsParent(
|
485
|
+
revert ErrorRegistryGlobalRegistryAsParent(objectAddress, objectType);
|
527
486
|
}
|
528
487
|
}
|
529
488
|
|
530
489
|
address interceptorAddress = _getInterceptor(
|
531
|
-
|
532
|
-
|
533
|
-
|
490
|
+
isInterceptor,
|
491
|
+
objectType,
|
492
|
+
objectAddress,
|
534
493
|
parentInfo.isInterceptor,
|
535
|
-
|
536
|
-
|
537
|
-
uint256 tokenId = CHAIN_NFT.mint(
|
538
|
-
initialOwner,
|
539
|
-
interceptorAddress,
|
540
|
-
EMPTY_URI);
|
494
|
+
parentAddress);
|
541
495
|
|
496
|
+
uint256 tokenId = CHAIN_NFT.getNextTokenId();
|
542
497
|
nftId = NftIdLib.toNftId(tokenId);
|
543
498
|
info.nftId = nftId;
|
544
499
|
|
545
500
|
_info[nftId] = info;
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
501
|
+
_setAddressForNftId(nftId, objectAddress);
|
502
|
+
|
503
|
+
emit LogRegistryObjectRegistered(nftId, parentNftId, objectType, isInterceptor, objectAddress, owner);
|
504
|
+
|
505
|
+
// calls nft receiver(1) and interceptor(2)
|
506
|
+
uint256 mintedTokenId = CHAIN_NFT.mint(
|
507
|
+
owner,
|
508
|
+
interceptorAddress,
|
509
|
+
EMPTY_URI);
|
550
510
|
|
551
|
-
|
552
|
-
nftId,
|
553
|
-
parentNftId,
|
554
|
-
info.objectType,
|
555
|
-
info.release,
|
556
|
-
info.isInterceptor,
|
557
|
-
info.objectAddress,
|
558
|
-
initialOwner);
|
511
|
+
assert(mintedTokenId == tokenId);
|
559
512
|
}
|
560
513
|
|
561
514
|
/// @dev obtain interceptor address for this nft if applicable, address(0) otherwise
|
@@ -607,11 +560,13 @@ contract Registry is
|
|
607
560
|
nftId: protocolNftId,
|
608
561
|
parentNftId: NftIdLib.zero(),
|
609
562
|
objectType: PROTOCOL(),
|
610
|
-
release: VersionPartLib.toVersionPart(0),
|
611
563
|
isInterceptor: false,
|
612
|
-
objectAddress: address(0)
|
613
|
-
|
564
|
+
objectAddress: address(0),
|
565
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
566
|
+
data: ""}),
|
614
567
|
true);
|
568
|
+
|
569
|
+
emit LogRegistryObjectRegistered(protocolNftId, NftIdLib.zero(), PROTOCOL(), false, address(0), NFT_LOCK_ADDRESS);
|
615
570
|
}
|
616
571
|
|
617
572
|
/// @dev register this registry
|
@@ -625,14 +580,15 @@ contract Registry is
|
|
625
580
|
|
626
581
|
// register global registry
|
627
582
|
_registerRegistryForNft(
|
628
|
-
1, // mainnet chain id
|
583
|
+
ChainIdLib.toChainId(1), // mainnet chain id
|
629
584
|
ObjectInfo({
|
630
585
|
nftId: GLOBAL_REGISTRY_NFT_ID,
|
631
586
|
parentNftId: PROTOCOL_NFT_ID,
|
632
587
|
objectType: REGISTRY(),
|
633
|
-
release: getRelease(),
|
634
588
|
isInterceptor: false,
|
635
|
-
objectAddress: GLOBAL_REGISTRY_ADDRESS
|
589
|
+
objectAddress: GLOBAL_REGISTRY_ADDRESS,
|
590
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
591
|
+
data: ""}),
|
636
592
|
block.chainid == 1);// update address lookup for global registry only on mainnet
|
637
593
|
|
638
594
|
// if not on mainnet: register this registry with global registry as parent
|
@@ -643,21 +599,22 @@ contract Registry is
|
|
643
599
|
CHAIN_NFT.calculateTokenId(REGISTRY_TOKEN_SEQUENCE_ID));
|
644
600
|
|
645
601
|
_registerRegistryForNft(
|
646
|
-
block.chainid,
|
602
|
+
ChainIdLib.toChainId(block.chainid),
|
647
603
|
ObjectInfo({
|
648
604
|
nftId: registryNftId,
|
649
605
|
parentNftId: GLOBAL_REGISTRY_NFT_ID,
|
650
606
|
objectType: REGISTRY(),
|
651
|
-
release: getRelease(),
|
652
607
|
isInterceptor: false,
|
653
|
-
objectAddress: address(this)
|
608
|
+
objectAddress: address(this),
|
609
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
610
|
+
data: ""}),
|
654
611
|
true);
|
655
612
|
}
|
656
613
|
}
|
657
614
|
|
658
615
|
/// @dev staking registration
|
659
616
|
function _registerRegistryForNft(
|
660
|
-
|
617
|
+
ChainId chainId,
|
661
618
|
ObjectInfo memory info,
|
662
619
|
bool updateAddressLookup
|
663
620
|
)
|
@@ -674,7 +631,6 @@ contract Registry is
|
|
674
631
|
// register the registry info
|
675
632
|
_registerForNft(
|
676
633
|
info,
|
677
|
-
NFT_LOCK_ADDRESS, // initial owner of any registry
|
678
634
|
updateAddressLookup);
|
679
635
|
}
|
680
636
|
|
@@ -692,10 +648,10 @@ contract Registry is
|
|
692
648
|
nftId: stakingNftId,
|
693
649
|
parentNftId: REGISTRY_NFT_ID,
|
694
650
|
objectType: STAKING(),
|
695
|
-
release: VersionPartLib.toVersionPart(3),
|
696
651
|
isInterceptor: false,
|
697
|
-
objectAddress: _stakingAddress
|
698
|
-
|
652
|
+
objectAddress: _stakingAddress,
|
653
|
+
initialOwner: stakingOwner,
|
654
|
+
data: ""}),
|
699
655
|
true);
|
700
656
|
|
701
657
|
IStaking(_stakingAddress).initializeTokenHandler();
|
@@ -703,8 +659,7 @@ contract Registry is
|
|
703
659
|
|
704
660
|
/// @dev Register the provided object info for the specified NFT ID.
|
705
661
|
function _registerForNft(
|
706
|
-
ObjectInfo memory info,
|
707
|
-
address initialOwner,
|
662
|
+
ObjectInfo memory info,
|
708
663
|
bool updateAddressLookup
|
709
664
|
)
|
710
665
|
internal
|
@@ -716,7 +671,9 @@ contract Registry is
|
|
716
671
|
}
|
717
672
|
|
718
673
|
// calls nft receiver
|
719
|
-
CHAIN_NFT.mint(initialOwner, info.nftId.toInt());
|
674
|
+
CHAIN_NFT.mint(info.initialOwner, info.nftId.toInt());
|
675
|
+
|
676
|
+
emit LogRegistryObjectRegistered(info.nftId, info.parentNftId, info.objectType, info.isInterceptor, info.objectAddress, info.initialOwner);
|
720
677
|
}
|
721
678
|
|
722
679
|
function _setAddressForNftId(NftId nftId, address objectAddress)
|
@@ -7,11 +7,12 @@ import {IService} from "../shared/IService.sol";
|
|
7
7
|
import {IStaking} from "../staking/IStaking.sol";
|
8
8
|
|
9
9
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
10
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
10
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
11
12
|
import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
|
12
13
|
import {RoleId, RoleIdLib, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE} from "../type/RoleId.sol";
|
13
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
14
14
|
import {Str} from "../type/String.sol";
|
15
|
+
import {VersionPart} from "../type/Version.sol";
|
15
16
|
|
16
17
|
/*
|
17
18
|
1) GIF_MANAGER_ROLE
|
@@ -51,6 +52,7 @@ contract RegistryAdmin is
|
|
51
52
|
// completeSetup
|
52
53
|
error ErrorRegistryAdminNotRegistry(address registry);
|
53
54
|
|
55
|
+
address internal _registry;
|
54
56
|
address private _releaseRegistry;
|
55
57
|
address private _tokenRegistry;
|
56
58
|
address private _staking;
|
@@ -60,34 +62,49 @@ contract RegistryAdmin is
|
|
60
62
|
constructor() {
|
61
63
|
initialize(
|
62
64
|
address(new AccessManagerCloneable()),
|
63
|
-
"RegistryAdmin"
|
64
|
-
GIF_INITIAL_RELEASE());
|
65
|
+
"RegistryAdmin");
|
65
66
|
}
|
66
67
|
|
67
68
|
|
68
69
|
function completeSetup(
|
70
|
+
address registry,
|
69
71
|
address authorization,
|
72
|
+
VersionPart release,
|
70
73
|
address gifAdmin,
|
71
74
|
address gifManager
|
72
75
|
)
|
73
76
|
public
|
74
77
|
virtual
|
78
|
+
reinitializer(type(uint8).max)
|
75
79
|
{
|
76
80
|
// checks
|
77
|
-
|
78
|
-
|
79
|
-
|
81
|
+
AccessAdminLib.checkRegistry(registry);
|
82
|
+
|
83
|
+
AccessManagerCloneable(
|
84
|
+
authority()).completeSetup(
|
85
|
+
registry,
|
86
|
+
release);
|
87
|
+
|
88
|
+
AccessAdminLib.checkAuthorization(
|
89
|
+
address(_authorization),
|
90
|
+
authorization,
|
91
|
+
REGISTRY(),
|
92
|
+
release,
|
93
|
+
false, // expectServiceAuthorization
|
94
|
+
false); // checkAlreadyInitialized);
|
95
|
+
|
96
|
+
_registry = registry;
|
80
97
|
_authorization = IAuthorization(authorization);
|
81
98
|
|
82
|
-
IRegistry
|
83
|
-
_releaseRegistry =
|
84
|
-
_tokenRegistry =
|
85
|
-
_staking =
|
99
|
+
IRegistry registryContract = IRegistry(registry);
|
100
|
+
_releaseRegistry = registryContract.getReleaseRegistryAddress();
|
101
|
+
_tokenRegistry = registryContract.getTokenRegistryAddress();
|
102
|
+
_staking = registryContract.getStakingAddress();
|
86
103
|
_stakingTargetHandler = address(IStaking(_staking).getTargetHandler());
|
87
104
|
_stakingStore = address(IStaking(_staking).getStakingStore());
|
88
105
|
|
89
106
|
// link nft ownability to registry
|
90
|
-
_linkToNftOwnable(
|
107
|
+
_linkToNftOwnable(_registry);
|
91
108
|
|
92
109
|
_createRoles(_authorization);
|
93
110
|
|
@@ -132,7 +149,7 @@ contract RegistryAdmin is
|
|
132
149
|
internal
|
133
150
|
{
|
134
151
|
// create unchecked registry targets
|
135
|
-
_createTarget(
|
152
|
+
_createTarget(_registry, registryTargetName, TargetType.Core, false);
|
136
153
|
_createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, TargetType.Core, false);
|
137
154
|
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, TargetType.Core, false);
|
138
155
|
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, TargetType.Core, false);
|
@@ -12,7 +12,6 @@ import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
|
12
12
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
13
13
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
14
14
|
import {RoleIdLib, ADMIN_ROLE, GIF_ADMIN_ROLE, GIF_MANAGER_ROLE} from "../type/RoleId.sol";
|
15
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
16
15
|
import {StakingStore} from "../staking/StakingStore.sol";
|
17
16
|
import {TargetHandler} from "../staking/TargetHandler.sol";
|
18
17
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
@@ -50,7 +49,7 @@ contract RegistryAuthorization
|
|
50
49
|
Authorization(
|
51
50
|
REGISTRY_TARGET_NAME,
|
52
51
|
REGISTRY(),
|
53
|
-
|
52
|
+
3,
|
54
53
|
commitHash,
|
55
54
|
TargetType.Core,
|
56
55
|
false) // includeTokenHandler
|
@@ -101,7 +100,7 @@ contract RegistryAuthorization
|
|
101
100
|
AccessAdminLib.roleInfo(
|
102
101
|
ADMIN_ROLE(),
|
103
102
|
TargetType.Custom, // custom is only type that allows role removal
|
104
|
-
|
103
|
+
2, // TODO decide on max member count
|
105
104
|
GIF_ADMIN_ROLE_NAME));
|
106
105
|
|
107
106
|
// gif manager role
|
@@ -110,7 +109,7 @@ contract RegistryAuthorization
|
|
110
109
|
AccessAdminLib.roleInfo(
|
111
110
|
ADMIN_ROLE(),
|
112
111
|
TargetType.Custom, // custom is only type that allows role removal
|
113
|
-
|
112
|
+
1, // TODO decide on max member count
|
114
113
|
GIF_MANAGER_ROLE_NAME));
|
115
114
|
|
116
115
|
}
|
@@ -145,8 +144,6 @@ contract RegistryAuthorization
|
|
145
144
|
_setupStakingThAuthorization();
|
146
145
|
}
|
147
146
|
|
148
|
-
event LogAccessAdminDebug(string message, string custom, uint256 value);
|
149
|
-
|
150
147
|
function _setupRegistryAuthorization() internal {
|
151
148
|
IAccess.FunctionInfo[] storage functions;
|
152
149
|
|