@etherisc/gif-next 3.0.0-f90c901-018 → 3.0.0-fb87f3a-607
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 +10 -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 +115 -113
- 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 +70 -105
- 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 +84 -20
- 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 +10 -20
- 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 +75 -126
- 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 +57 -72
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +224 -198
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +117 -71
- 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 +104 -166
- 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 +138 -200
- 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/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- 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 +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- 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 +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
- 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 +106 -163
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
- 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 +114 -171
- 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 +54 -49
- 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 +26 -78
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +51 -145
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
- 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 +238 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +136 -138
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
- 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 +8 -3
- 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 +81 -132
- 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 +66 -94
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
- 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 +129 -176
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +44 -71
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +98 -94
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +247 -24
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -233
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
- 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 +115 -182
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +76 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +139 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +57 -72
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +62 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
- 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 +102 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
- 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 +187 -135
- 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 +29 -13
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +345 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
- 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 +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +251 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
- 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 +28 -1
- 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 +25 -77
- 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 +32 -71
- 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 +57 -72
- 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 +34 -15
- 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 +24 -76
- 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 +31 -70
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
- 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 +81 -101
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +48 -75
- 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 +134 -170
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -26
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
- 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 +77 -132
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -27
- 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 +22 -25
- 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 +23 -4
- 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/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- 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 +21 -2
- 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 +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/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 +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 +86 -63
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- 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 +24 -47
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +51 -24
- 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 +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +25 -27
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/distribution/IDistributionService.sol +4 -3
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -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 +4 -0
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +12 -8
- package/contracts/instance/InstanceAdmin.sol +17 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +56 -22
- package/contracts/instance/InstanceService.sol +24 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +16 -12
- package/contracts/oracle/Oracle.sol +6 -5
- package/contracts/oracle/OracleService.sol +67 -37
- 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 +20 -26
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolService.sol +6 -5
- 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 +7 -7
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +2 -1
- 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 +2 -0
- package/contracts/product/RiskService.sol +40 -8
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +78 -124
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -4
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +23 -9
- package/contracts/registry/ReleaseRegistry.sol +74 -64
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +15 -6
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +135 -45
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +15 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/INftOwnable.sol +2 -0
- 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 +130 -39
- 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 +1 -4
- package/contracts/staking/IStaking.sol +4 -2
- package/contracts/staking/IStakingService.sol +1 -1
- package/contracts/staking/Staking.sol +34 -28
- 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 +14 -17
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- 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 +2 -1
- 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
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {RiskService} from "./RiskService.sol";
|
7
7
|
|
@@ -12,17 +12,19 @@ contract RiskServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with product service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
RiskService svc = new RiskService{salt: salt}();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(svc),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_riskService = RiskService(address(
|
27
|
+
_riskService = RiskService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -11,7 +11,7 @@ contract ChainNft is ERC721Enumerable {
|
|
11
11
|
event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
|
12
12
|
|
13
13
|
// constants
|
14
|
-
string public constant NAME = "
|
14
|
+
string public constant NAME = "Decentralized Insurance Protocol NFT";
|
15
15
|
string public constant SYMBOL = "DIPNFT";
|
16
16
|
|
17
17
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|
@@ -19,8 +19,8 @@ interface IRegistry is
|
|
19
19
|
IERC165
|
20
20
|
{
|
21
21
|
|
22
|
-
event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType,
|
23
|
-
event LogRegistryServiceRegistered(VersionPart
|
22
|
+
event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
23
|
+
event LogRegistryServiceRegistered(NftId nftId, VersionPart majorVersion, ObjectType domain);
|
24
24
|
event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
|
25
25
|
|
26
26
|
// initialize
|
@@ -49,7 +49,6 @@ interface IRegistry is
|
|
49
49
|
error ErrorRegistryCoreTypeRegistration();
|
50
50
|
|
51
51
|
// _register()
|
52
|
-
error ErrorRegistryReleaseMismatch(VersionPart objectrelease, VersionPart parentRelease, VersionPart senderRelease);
|
53
52
|
error ErrorRegistryGlobalRegistryAsParent(address objectAddress, ObjectType objectType);
|
54
53
|
error ErrorRegistryTypeCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
|
55
54
|
error ErrorRegistryContractAlreadyRegistered(address objectAddress);
|
@@ -59,10 +58,13 @@ interface IRegistry is
|
|
59
58
|
NftId nftId;
|
60
59
|
NftId parentNftId;
|
61
60
|
ObjectType objectType;
|
62
|
-
VersionPart release;
|
63
61
|
bool isInterceptor;
|
64
62
|
// slot 1
|
65
63
|
address objectAddress;
|
64
|
+
// slot 2
|
65
|
+
address initialOwner;
|
66
|
+
// slot 3
|
67
|
+
bytes data;
|
66
68
|
}
|
67
69
|
|
68
70
|
/// @dev Registers a registry contract for a specified chain.
|
@@ -70,30 +72,28 @@ interface IRegistry is
|
|
70
72
|
function registerRegistry(
|
71
73
|
NftId nftId,
|
72
74
|
uint256 chainId,
|
73
|
-
address chainRegistryAddress
|
74
|
-
VersionPart release
|
75
|
+
address chainRegistryAddress
|
75
76
|
) external;
|
76
77
|
|
77
78
|
/// @dev Register a service with using the provided domain and version.
|
78
79
|
/// The function returns a newly minted service NFT ID.
|
79
80
|
/// May only be used to register services.
|
80
81
|
function registerService(
|
81
|
-
ObjectInfo memory
|
82
|
-
|
83
|
-
ObjectType
|
84
|
-
bytes memory data
|
82
|
+
ObjectInfo memory serviceInfo,
|
83
|
+
VersionPart serviceVersion,
|
84
|
+
ObjectType serviceDomain
|
85
85
|
) external returns(NftId nftId);
|
86
86
|
|
87
87
|
/// @dev Register an object with a known core type.
|
88
88
|
/// The function returns a newly minted object NFT ID.
|
89
89
|
/// May not be used to register services.
|
90
|
-
function register(ObjectInfo memory info
|
90
|
+
function register(ObjectInfo memory info) external returns (NftId nftId);
|
91
91
|
|
92
92
|
/// @dev Register an object with a custom type.
|
93
93
|
/// The function returns a newly minted object NFT ID.
|
94
94
|
/// This function is reserved for GIF releases > 3.
|
95
95
|
/// May not be used to register known core types.
|
96
|
-
function registerWithCustomType(ObjectInfo memory info
|
96
|
+
function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
|
97
97
|
|
98
98
|
function getInitialRelease() external view returns (VersionPart);
|
99
99
|
|
@@ -126,15 +126,9 @@ interface IRegistry is
|
|
126
126
|
|
127
127
|
function getParentNftId(NftId nftId) external view returns (NftId parentNftId);
|
128
128
|
|
129
|
-
function
|
129
|
+
function isObjectType(NftId nftId, ObjectType expectedObjectType) external view returns (bool);
|
130
130
|
|
131
|
-
function
|
132
|
-
|
133
|
-
function isObjectType(NftId nftId, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
|
134
|
-
|
135
|
-
function isObjectType(address contractAddress, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
|
136
|
-
|
137
|
-
function getObjectRelease(NftId nftId) external view returns (VersionPart release);
|
131
|
+
function isObjectType(address contractAddress, ObjectType expectedObjectType) external view returns (bool);
|
138
132
|
|
139
133
|
function getObjectAddress(NftId nftId) external view returns (address objectAddress);
|
140
134
|
|
@@ -19,12 +19,13 @@ interface IRegistryService is
|
|
19
19
|
{
|
20
20
|
error ErrorRegistryServiceNotRegistryOwner();
|
21
21
|
|
22
|
-
|
23
|
-
error
|
24
|
-
error
|
22
|
+
error ErrorRegistryServiceNotService(address notService);
|
23
|
+
error ErrorRegistryServiceNotInstance(address notInstance);
|
24
|
+
error ErrorRegistryServiceNotProduct(address notProduct);
|
25
|
+
error ErrorRegistryServiceNotComponent(address notComponent);
|
26
|
+
error ErrorRegistryServiceNotProductLinkedComponent(address notProductLinkedComponent);
|
25
27
|
|
26
28
|
error ErrorRegistryServiceRegisterableAddressInvalid(IRegisterable registerable, address found);
|
27
|
-
error ErrorRegistryServiceRegisterableParentInvalid(IRegisterable registerable, NftId expected, NftId found);
|
28
29
|
error ErrorRegistryServiceRegisterableTypeInvalid(IRegisterable registerable, ObjectType expected, ObjectType found);
|
29
30
|
error ErrorRegistryServiceRegisterableOwnerInvalid(IRegisterable registerable, address expected, address found);
|
30
31
|
error ErrorRegistryServiceRegisterableOwnerZero(IRegisterable registerable);
|
@@ -39,20 +40,23 @@ interface IRegistryService is
|
|
39
40
|
error ErrorRegistryServiceInvalidInitialOwner(address initialOwner);
|
40
41
|
error ErrorRegistryServiceInvalidAddress(address registerableAddress);
|
41
42
|
|
42
|
-
function registerStake(IRegistry.ObjectInfo memory info
|
43
|
+
function registerStake(IRegistry.ObjectInfo memory info)
|
43
44
|
external returns(NftId nftId);
|
44
45
|
|
45
|
-
function registerInstance(IRegisterable instance, address
|
46
|
+
function registerInstance(IRegisterable instance, address owner)
|
46
47
|
external returns(IRegistry.ObjectInfo memory info);
|
47
48
|
|
48
|
-
function
|
49
|
+
function registerProduct(IComponent product, address owner)
|
49
50
|
external returns(IRegistry.ObjectInfo memory info);
|
50
51
|
|
51
|
-
function
|
52
|
+
function registerProductLinkedComponent(IComponent component, ObjectType objectType, address owner)
|
53
|
+
external returns(IRegistry.ObjectInfo memory info);
|
54
|
+
|
55
|
+
function registerDistributor(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
|
52
56
|
|
53
|
-
function registerPolicy(IRegistry.ObjectInfo memory info
|
57
|
+
function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
|
54
58
|
|
55
|
-
function registerBundle(IRegistry.ObjectInfo memory info
|
59
|
+
function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
|
56
60
|
|
57
61
|
}
|
58
62
|
|
@@ -18,8 +18,6 @@ import {IStaking} from "../staking/IStaking.sol";
|
|
18
18
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
19
19
|
import {TokenRegistry} from "./TokenRegistry.sol";
|
20
20
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
21
|
-
import {Versionable} from "../shared/Versionable.sol";
|
22
|
-
import {VersionLib, Version} from "../type/Version.sol";
|
23
21
|
|
24
22
|
/// @dev IMPORTANT
|
25
23
|
// Each NFT minted by registry is accosiated with:
|
@@ -33,27 +31,20 @@ import {VersionLib, Version} from "../type/Version.sol";
|
|
33
31
|
// 5) registerRegistry() -> registers IRegistry address (from different chain) by GifAdmin. Works ONLY on mainnet.
|
34
32
|
// Note: getters by address MUST not be used with this address (will return 0 or data related to different object or even revert)
|
35
33
|
|
36
|
-
|
37
|
-
function GIF_INITIAL_RELEASE() pure returns (VersionPart) {
|
38
|
-
return VersionPartLib.toVersionPart(3);
|
39
|
-
}
|
40
|
-
|
41
|
-
|
42
34
|
/// @dev Chain Registry contract implementing IRegistry.
|
43
35
|
/// IRegistry for method details.
|
44
36
|
contract Registry is
|
45
37
|
Initializable,
|
46
38
|
AccessManaged,
|
47
|
-
Versionable,
|
48
39
|
IRegistry
|
49
40
|
{
|
50
41
|
/// @dev Protocol NFT ID
|
51
42
|
NftId public immutable PROTOCOL_NFT_ID;
|
52
43
|
|
53
|
-
/// @dev
|
44
|
+
/// @dev Gobal registry NFT ID
|
54
45
|
NftId public immutable GLOBAL_REGISTRY_NFT_ID;
|
55
46
|
|
56
|
-
/// @dev
|
47
|
+
/// @dev Gobal registry address on mainnet.
|
57
48
|
address public immutable GLOBAL_REGISTRY_ADDRESS;
|
58
49
|
|
59
50
|
/// @dev Registry NFT ID
|
@@ -77,9 +68,8 @@ contract Registry is
|
|
77
68
|
mapping(uint256 chainId => NftId registryNftId) private _registryNftIdByChainId;
|
78
69
|
uint256[] private _chainId;
|
79
70
|
|
80
|
-
/// @dev keep track of object info
|
71
|
+
/// @dev keep track of object info and address reverse lookup
|
81
72
|
mapping(NftId nftId => ObjectInfo info) private _info;
|
82
|
-
mapping(NftId nftId => bytes data) private _data;
|
83
73
|
mapping(address object => NftId nftId) private _nftIdByAddress;
|
84
74
|
|
85
75
|
/// @dev keep track of service addresses by version and domain
|
@@ -156,8 +146,7 @@ contract Registry is
|
|
156
146
|
function registerRegistry(
|
157
147
|
NftId nftId,
|
158
148
|
uint256 chainId,
|
159
|
-
address registryAddress
|
160
|
-
VersionPart release
|
149
|
+
address registryAddress
|
161
150
|
)
|
162
151
|
external
|
163
152
|
restricted()
|
@@ -191,19 +180,20 @@ contract Registry is
|
|
191
180
|
nftId: nftId,
|
192
181
|
parentNftId: REGISTRY_NFT_ID,
|
193
182
|
objectType: REGISTRY(),
|
194
|
-
release: release,
|
195
183
|
isInterceptor: false,
|
196
|
-
objectAddress: registryAddress
|
184
|
+
objectAddress: registryAddress,
|
185
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
186
|
+
data: ""
|
187
|
+
}),
|
197
188
|
false); // do not update address lookup for objects on a different chain
|
198
189
|
}
|
199
190
|
|
200
191
|
// TODO limit service owner to registry admin?
|
201
192
|
/// @inheritdoc IRegistry
|
202
193
|
function registerService(
|
203
|
-
ObjectInfo memory info,
|
204
|
-
|
205
|
-
ObjectType domain
|
206
|
-
bytes memory data
|
194
|
+
ObjectInfo memory info,
|
195
|
+
VersionPart version,
|
196
|
+
ObjectType domain
|
207
197
|
)
|
208
198
|
external
|
209
199
|
restricted()
|
@@ -216,13 +206,12 @@ contract Registry is
|
|
216
206
|
}
|
217
207
|
|
218
208
|
// version is defined
|
219
|
-
|
220
|
-
if(release.eqz()) {
|
209
|
+
if(version.eqz()) {
|
221
210
|
revert ErrorRegistryServiceVersionZero(service);
|
222
211
|
}
|
223
212
|
// service domain is defined
|
224
213
|
if(domain.eqz()) {
|
225
|
-
revert ErrorRegistryServiceDomainZero(service,
|
214
|
+
revert ErrorRegistryServiceDomainZero(service, version);
|
226
215
|
}
|
227
216
|
|
228
217
|
// service has proper type
|
@@ -232,31 +221,30 @@ contract Registry is
|
|
232
221
|
|
233
222
|
// service parent has registry type
|
234
223
|
if(info.parentNftId != REGISTRY_NFT_ID) {
|
235
|
-
revert ErrorRegistryServiceParentNotRegistry(service,
|
224
|
+
revert ErrorRegistryServiceParentNotRegistry(service, version, info.parentNftId);
|
236
225
|
}
|
237
226
|
|
238
227
|
// service has not already been registered
|
239
|
-
if(_service[
|
240
|
-
revert ErrorRegistryServiceDomainAlreadyRegistered(service,
|
228
|
+
if(_service[version][domain] != address(0)) {
|
229
|
+
revert ErrorRegistryServiceDomainAlreadyRegistered(service, version, domain);
|
241
230
|
}
|
242
231
|
|
243
|
-
_service[
|
232
|
+
_service[version][domain] = service;
|
244
233
|
|
245
|
-
emit LogRegistryServiceRegistered(
|
234
|
+
emit LogRegistryServiceRegistered(info.nftId,version, domain);
|
246
235
|
|
247
|
-
nftId = _register(info
|
236
|
+
nftId = _register(info);
|
248
237
|
}
|
249
238
|
|
250
239
|
|
251
240
|
/// @inheritdoc IRegistry
|
252
|
-
function register(ObjectInfo memory info
|
241
|
+
function register(ObjectInfo memory info)
|
253
242
|
external
|
254
243
|
restricted()
|
255
244
|
returns(NftId nftId)
|
256
245
|
{
|
257
246
|
address objectAddress = info.objectAddress;
|
258
247
|
ObjectType objectType = info.objectType;
|
259
|
-
VersionPart parentRelease = _info[info.parentNftId].release;
|
260
248
|
|
261
249
|
// specialized functions have to be used to register registries and services
|
262
250
|
if(objectType == REGISTRY() || objectType == STAKING() || objectType == SERVICE()) {
|
@@ -280,21 +268,18 @@ contract Registry is
|
|
280
268
|
}
|
281
269
|
}
|
282
270
|
|
283
|
-
|
284
|
-
|
285
|
-
nftId = _register(info, initialOwner, data);
|
271
|
+
nftId = _register(info);
|
286
272
|
}
|
287
273
|
|
288
274
|
|
289
275
|
/// @inheritdoc IRegistry
|
290
|
-
function registerWithCustomType(ObjectInfo memory info
|
276
|
+
function registerWithCustomType(ObjectInfo memory info)
|
291
277
|
external
|
292
278
|
restricted()
|
293
279
|
returns(NftId nftId)
|
294
280
|
{
|
295
281
|
ObjectType objectType = info.objectType;
|
296
282
|
ObjectType parentType = _info[info.parentNftId].objectType;
|
297
|
-
VersionPart parentRelease = _info[info.parentNftId].release;
|
298
283
|
|
299
284
|
if(_coreTypes[objectType]) {
|
300
285
|
revert ErrorRegistryCoreTypeRegistration();
|
@@ -310,36 +295,13 @@ contract Registry is
|
|
310
295
|
revert ErrorRegistryTypeCombinationInvalid(info.objectAddress, objectType, parentType);
|
311
296
|
}
|
312
297
|
|
313
|
-
|
314
|
-
|
315
|
-
nftId = _register(info, initialOwner, data);
|
298
|
+
nftId = _register(info);
|
316
299
|
}
|
317
300
|
|
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
301
|
|
340
302
|
/// @dev earliest GIF major version
|
341
303
|
function getInitialRelease() external view returns (VersionPart) {
|
342
|
-
return
|
304
|
+
return VersionPartLib.toVersionPart(_releaseRegistry.INITIAL_GIF_VERSION());
|
343
305
|
}
|
344
306
|
|
345
307
|
/// @dev next GIF release version to be released
|
@@ -404,20 +366,13 @@ contract Registry is
|
|
404
366
|
return _info[nftId].parentNftId;
|
405
367
|
}
|
406
368
|
|
407
|
-
function isObjectType(address contractAddress, ObjectType expectedObjectType
|
369
|
+
function isObjectType(address contractAddress, ObjectType expectedObjectType) external view returns (bool) {
|
408
370
|
NftId nftId = _nftIdByAddress[contractAddress];
|
409
|
-
return isObjectType(nftId, expectedObjectType
|
371
|
+
return isObjectType(nftId, expectedObjectType);
|
410
372
|
}
|
411
373
|
|
412
|
-
function isObjectType(NftId nftId, ObjectType expectedObjectType
|
413
|
-
return
|
414
|
-
_info[nftId].objectType == expectedObjectType &&
|
415
|
-
_info[nftId].release == release
|
416
|
-
);
|
417
|
-
}
|
418
|
-
|
419
|
-
function getObjectRelease(NftId nftId) external view returns (VersionPart release) {
|
420
|
-
return _info[nftId].release;
|
374
|
+
function isObjectType(NftId nftId, ObjectType expectedObjectType) public view returns (bool) {
|
375
|
+
return _info[nftId].objectType == expectedObjectType;
|
421
376
|
}
|
422
377
|
|
423
378
|
function getObjectAddress(NftId nftId) external view returns (address) {
|
@@ -428,14 +383,6 @@ contract Registry is
|
|
428
383
|
return _info[_nftIdByAddress[object]];
|
429
384
|
}
|
430
385
|
|
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
386
|
function isRegistered(NftId nftId) public view returns (bool) {
|
440
387
|
return _info[nftId].objectType.gtz();
|
441
388
|
}
|
@@ -494,12 +441,6 @@ contract Registry is
|
|
494
441
|
return ownerOf(address(this));
|
495
442
|
}
|
496
443
|
|
497
|
-
// Versionable
|
498
|
-
|
499
|
-
function getVersion() public pure override returns (Version) {
|
500
|
-
return VersionLib.toVersion(GIF_INITIAL_RELEASE().toInt(), 0 , 0);
|
501
|
-
}
|
502
|
-
|
503
444
|
// IERC165
|
504
445
|
|
505
446
|
function supportsInterface(bytes4 interfaceId) external pure returns (bool) {
|
@@ -513,49 +454,62 @@ contract Registry is
|
|
513
454
|
// Internals
|
514
455
|
|
515
456
|
/// @dev registry protects only against tampering existing records, registering with invalid types pairs and 0 parent address
|
516
|
-
function _register(ObjectInfo memory info
|
457
|
+
function _register(ObjectInfo memory info)
|
517
458
|
internal
|
518
459
|
returns(NftId nftId)
|
519
460
|
{
|
461
|
+
ObjectType objectType = info.objectType; // do not care here, never PROTOCOL(), REGISTRY()
|
462
|
+
bool isInterceptor = info.isInterceptor;
|
463
|
+
address objectAddress = info.objectAddress; // do not care here, can be 0
|
464
|
+
address owner = info.initialOwner; // do not care here, can be 0, can be equal info.objectAddress
|
465
|
+
|
520
466
|
NftId parentNftId = info.parentNftId; // do not care here, can not be 0
|
521
467
|
ObjectInfo memory parentInfo = _info[parentNftId];
|
468
|
+
address parentAddress = parentInfo.objectAddress; // can be 0
|
469
|
+
|
470
|
+
// parent is contract -> need to check? -> check before minting
|
471
|
+
// special case: staking: to protocol possible as well
|
472
|
+
// NO LONGER TRUE: special case: global registry nft as parent when not on mainnet -> global registry address is 0
|
473
|
+
// special case: when parentNftId == CHAIN_NFT.mint(), check for zero parent address before mint
|
474
|
+
// special case: when parentNftId == CHAIN_NFT.mint() && objectAddress == initialOwner
|
475
|
+
// Parent can have 0 address in case of STAKE for PROTOCOL / CUSTOM_TYPE for POLICY
|
476
|
+
// But it MUST be registered -> parentType != 0 && parentNftId != 0
|
477
|
+
/*if(objectType != STAKE()) {
|
478
|
+
if(parentAddress == address(0)) {
|
479
|
+
revert ErrorRegistryParentAddressZero();
|
480
|
+
}
|
481
|
+
}*/
|
522
482
|
|
523
483
|
// global registry is never parent when not on mainnet
|
524
484
|
if(block.chainid != 1) {
|
525
485
|
if(parentNftId == GLOBAL_REGISTRY_NFT_ID) {
|
526
|
-
revert ErrorRegistryGlobalRegistryAsParent(
|
486
|
+
revert ErrorRegistryGlobalRegistryAsParent(objectAddress, objectType);
|
527
487
|
}
|
528
488
|
}
|
529
489
|
|
530
490
|
address interceptorAddress = _getInterceptor(
|
531
|
-
|
532
|
-
|
533
|
-
|
491
|
+
isInterceptor,
|
492
|
+
objectType,
|
493
|
+
objectAddress,
|
534
494
|
parentInfo.isInterceptor,
|
535
|
-
|
536
|
-
|
537
|
-
uint256 tokenId = CHAIN_NFT.mint(
|
538
|
-
initialOwner,
|
539
|
-
interceptorAddress,
|
540
|
-
EMPTY_URI);
|
495
|
+
parentAddress);
|
541
496
|
|
497
|
+
uint256 tokenId = CHAIN_NFT.getNextTokenId();
|
542
498
|
nftId = NftIdLib.toNftId(tokenId);
|
543
499
|
info.nftId = nftId;
|
544
500
|
|
545
501
|
_info[nftId] = info;
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
_setAddressForNftId(nftId, info.objectAddress);
|
502
|
+
_setAddressForNftId(nftId, objectAddress);
|
503
|
+
|
504
|
+
emit LogRegistryObjectRegistered(nftId, parentNftId, objectType, isInterceptor, objectAddress, owner);
|
550
505
|
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
initialOwner);
|
506
|
+
// calls nft receiver(1) and interceptor(2)
|
507
|
+
uint256 mintedTokenId = CHAIN_NFT.mint(
|
508
|
+
owner,
|
509
|
+
interceptorAddress,
|
510
|
+
EMPTY_URI);
|
511
|
+
|
512
|
+
assert(mintedTokenId == tokenId);
|
559
513
|
}
|
560
514
|
|
561
515
|
/// @dev obtain interceptor address for this nft if applicable, address(0) otherwise
|
@@ -607,10 +561,10 @@ contract Registry is
|
|
607
561
|
nftId: protocolNftId,
|
608
562
|
parentNftId: NftIdLib.zero(),
|
609
563
|
objectType: PROTOCOL(),
|
610
|
-
release: VersionPartLib.toVersionPart(0),
|
611
564
|
isInterceptor: false,
|
612
|
-
objectAddress: address(0)
|
613
|
-
|
565
|
+
objectAddress: address(0),
|
566
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
567
|
+
data: ""}),
|
614
568
|
true);
|
615
569
|
}
|
616
570
|
|
@@ -630,9 +584,10 @@ contract Registry is
|
|
630
584
|
nftId: GLOBAL_REGISTRY_NFT_ID,
|
631
585
|
parentNftId: PROTOCOL_NFT_ID,
|
632
586
|
objectType: REGISTRY(),
|
633
|
-
release: getRelease(),
|
634
587
|
isInterceptor: false,
|
635
|
-
objectAddress: GLOBAL_REGISTRY_ADDRESS
|
588
|
+
objectAddress: GLOBAL_REGISTRY_ADDRESS,
|
589
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
590
|
+
data: ""}),
|
636
591
|
block.chainid == 1);// update address lookup for global registry only on mainnet
|
637
592
|
|
638
593
|
// if not on mainnet: register this registry with global registry as parent
|
@@ -648,9 +603,10 @@ contract Registry is
|
|
648
603
|
nftId: registryNftId,
|
649
604
|
parentNftId: GLOBAL_REGISTRY_NFT_ID,
|
650
605
|
objectType: REGISTRY(),
|
651
|
-
release: getRelease(),
|
652
606
|
isInterceptor: false,
|
653
|
-
objectAddress: address(this)
|
607
|
+
objectAddress: address(this),
|
608
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
609
|
+
data: ""}),
|
654
610
|
true);
|
655
611
|
}
|
656
612
|
}
|
@@ -674,7 +630,6 @@ contract Registry is
|
|
674
630
|
// register the registry info
|
675
631
|
_registerForNft(
|
676
632
|
info,
|
677
|
-
NFT_LOCK_ADDRESS, // initial owner of any registry
|
678
633
|
updateAddressLookup);
|
679
634
|
}
|
680
635
|
|
@@ -692,10 +647,10 @@ contract Registry is
|
|
692
647
|
nftId: stakingNftId,
|
693
648
|
parentNftId: REGISTRY_NFT_ID,
|
694
649
|
objectType: STAKING(),
|
695
|
-
release: VersionPartLib.toVersionPart(3),
|
696
650
|
isInterceptor: false,
|
697
|
-
objectAddress: _stakingAddress
|
698
|
-
|
651
|
+
objectAddress: _stakingAddress,
|
652
|
+
initialOwner: stakingOwner,
|
653
|
+
data: ""}),
|
699
654
|
true);
|
700
655
|
|
701
656
|
IStaking(_stakingAddress).initializeTokenHandler();
|
@@ -703,8 +658,7 @@ contract Registry is
|
|
703
658
|
|
704
659
|
/// @dev Register the provided object info for the specified NFT ID.
|
705
660
|
function _registerForNft(
|
706
|
-
ObjectInfo memory info,
|
707
|
-
address initialOwner,
|
661
|
+
ObjectInfo memory info,
|
708
662
|
bool updateAddressLookup
|
709
663
|
)
|
710
664
|
internal
|
@@ -716,7 +670,7 @@ contract Registry is
|
|
716
670
|
}
|
717
671
|
|
718
672
|
// calls nft receiver
|
719
|
-
CHAIN_NFT.mint(initialOwner, info.nftId.toInt());
|
673
|
+
CHAIN_NFT.mint(info.initialOwner, info.nftId.toInt());
|
720
674
|
}
|
721
675
|
|
722
676
|
function _setAddressForNftId(NftId nftId, address objectAddress)
|