@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
@@ -17,6 +17,14 @@ interface IBaseStore is ILifecycle {
|
|
17
17
|
error ErrorBaseStoreStateZero(Key32 key);
|
18
18
|
error ErrorBaseStoreNotExisting(Key32 key);
|
19
19
|
|
20
|
+
event LogBaseStoreMetadataCreated(
|
21
|
+
Key32 indexed key,
|
22
|
+
ObjectType indexed objectType,
|
23
|
+
StateId indexed state);
|
24
|
+
event LogBaseStoreMetadataUpdated(
|
25
|
+
Key32 indexed key,
|
26
|
+
StateId indexed oldState,
|
27
|
+
StateId indexed newState);
|
20
28
|
|
21
29
|
struct Metadata {
|
22
30
|
// slot 0
|
@@ -143,7 +143,7 @@ interface IInstance is
|
|
143
143
|
|
144
144
|
// get products
|
145
145
|
function products() external view returns (uint256 productCount);
|
146
|
-
function
|
146
|
+
function getProduct(uint256 idx) external view returns (NftId productNftId);
|
147
147
|
|
148
148
|
// get supporting contracts
|
149
149
|
function getInstanceReader() external view returns (InstanceReader);
|
@@ -58,6 +58,8 @@ interface IInstanceService is IService {
|
|
58
58
|
|
59
59
|
event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
|
60
60
|
event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
|
61
|
+
event LogInstanceServiceMasterInstanceRegistered(NftId masterInstanceNftId, address masterInstance, address masterInstanceAdmin, address masterAccessManager,
|
62
|
+
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceStore, address masterProductStore);
|
61
63
|
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
62
64
|
event LogInstanceServiceInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
63
65
|
|
@@ -26,6 +26,8 @@ contract Instance is
|
|
26
26
|
IInstance,
|
27
27
|
Registerable
|
28
28
|
{
|
29
|
+
bool private _initialized;
|
30
|
+
|
29
31
|
IComponentService internal _componentService;
|
30
32
|
IInstanceService internal _instanceService;
|
31
33
|
|
@@ -57,6 +59,8 @@ contract Instance is
|
|
57
59
|
|
58
60
|
function initialize(
|
59
61
|
InstanceContracts memory instanceContracts,
|
62
|
+
IRegistry registry,
|
63
|
+
VersionPart release,
|
60
64
|
address initialOwner,
|
61
65
|
bool tokenRegistryDisabled // only disable for testing
|
62
66
|
)
|
@@ -70,9 +74,9 @@ contract Instance is
|
|
70
74
|
_instanceAdmin = instanceContracts.instanceAdmin;
|
71
75
|
|
72
76
|
// setup instance object info
|
73
|
-
IRegistry registry = _getRegistry();
|
74
77
|
__Registerable_init({
|
75
78
|
authority: instanceContracts.instanceAdmin.authority(),
|
79
|
+
registry: address(registry),
|
76
80
|
parentNftId: registry.getNftId(),
|
77
81
|
objectType: INSTANCE(),
|
78
82
|
isInterceptor: false,
|
@@ -89,19 +93,19 @@ contract Instance is
|
|
89
93
|
// initialize instance supporting contracts
|
90
94
|
_instanceStore.initialize();
|
91
95
|
_productStore.initialize();
|
92
|
-
_bundleSet.initialize(instanceContracts.instanceAdmin.authority());
|
93
|
-
_riskSet.initialize(instanceContracts.instanceAdmin.authority());
|
96
|
+
_bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
97
|
+
_riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
94
98
|
_instanceReader.initialize();
|
95
99
|
|
96
100
|
_componentService = IComponentService(
|
97
|
-
|
101
|
+
getRegistry().getServiceAddress(
|
98
102
|
COMPONENT(),
|
99
|
-
|
103
|
+
release));
|
100
104
|
|
101
105
|
_instanceService = IInstanceService(
|
102
|
-
|
106
|
+
getRegistry().getServiceAddress(
|
103
107
|
INSTANCE(),
|
104
|
-
|
108
|
+
release));
|
105
109
|
|
106
110
|
_tokenRegistryDisabled = tokenRegistryDisabled;
|
107
111
|
|
@@ -313,7 +317,7 @@ contract Instance is
|
|
313
317
|
return _products.length;
|
314
318
|
}
|
315
319
|
|
316
|
-
function
|
320
|
+
function getProduct(uint256 idx) external view returns (NftId productNftId) {
|
317
321
|
return _products[idx];
|
318
322
|
}
|
319
323
|
|
@@ -11,10 +11,9 @@ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
|
11
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
12
|
import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
13
13
|
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
14
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
15
14
|
import {Str} from "../type/String.sol";
|
16
|
-
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
17
15
|
import {VersionPart} from "../type/Version.sol";
|
16
|
+
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
18
17
|
|
19
18
|
|
20
19
|
contract InstanceAdmin is
|
@@ -27,12 +26,13 @@ contract InstanceAdmin is
|
|
27
26
|
error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
|
28
27
|
|
29
28
|
IInstance internal _instance;
|
29
|
+
IRegistry internal _registry;
|
30
30
|
|
31
31
|
uint64 internal _customRoleIdNext;
|
32
32
|
|
33
33
|
|
34
34
|
modifier onlyInstanceService() {
|
35
|
-
if (msg.sender !=
|
35
|
+
if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
|
36
36
|
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
37
37
|
}
|
38
38
|
_;
|
@@ -43,8 +43,7 @@ contract InstanceAdmin is
|
|
43
43
|
constructor(address accessManager) {
|
44
44
|
initialize(
|
45
45
|
accessManager,
|
46
|
-
"MasterInstanceAdmin"
|
47
|
-
GIF_INITIAL_RELEASE());
|
46
|
+
"MasterInstanceAdmin");
|
48
47
|
}
|
49
48
|
|
50
49
|
|
@@ -52,23 +51,32 @@ contract InstanceAdmin is
|
|
52
51
|
/// Important: Initialization of instance admin is only complete after calling this function.
|
53
52
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
54
53
|
function completeSetup(
|
54
|
+
address registry,
|
55
55
|
address authorization,
|
56
|
+
VersionPart release,
|
56
57
|
address instance
|
57
58
|
)
|
58
59
|
external
|
60
|
+
reinitializer(uint64(release.toInt()))
|
59
61
|
{
|
60
62
|
// checks
|
61
|
-
AccessAdminLib.checkIsRegistered(instance, INSTANCE()
|
63
|
+
AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
|
62
64
|
|
63
65
|
// effects
|
66
|
+
AccessManagerCloneable(
|
67
|
+
authority()).completeSetup(
|
68
|
+
registry,
|
69
|
+
release);
|
70
|
+
|
64
71
|
AccessAdminLib.checkAuthorization(
|
65
72
|
address(_authorization),
|
66
73
|
authorization,
|
67
74
|
INSTANCE(), // expectedDomain
|
68
|
-
|
75
|
+
release, // expectedRelease
|
69
76
|
false, // expectServiceAuthorization
|
70
77
|
true); // checkAlreadyInitialized
|
71
78
|
|
79
|
+
_registry = IRegistry(registry);
|
72
80
|
_instance = IInstance(instance);
|
73
81
|
_authorization = IAuthorization(authorization);
|
74
82
|
_customRoleIdNext = 0;
|
@@ -97,7 +105,7 @@ contract InstanceAdmin is
|
|
97
105
|
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
98
106
|
ObjectType serviceDomain = serviceDomains[i];
|
99
107
|
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
100
|
-
address service =
|
108
|
+
address service = _registry.getServiceAddress(serviceDomain, getRelease());
|
101
109
|
|
102
110
|
_grantRoleToAccount(
|
103
111
|
serviceRoleId,
|
@@ -122,13 +130,11 @@ contract InstanceAdmin is
|
|
122
130
|
_createTarget(target, name, TargetType.Instance, true);
|
123
131
|
}
|
124
132
|
|
125
|
-
|
126
133
|
/// @dev Initializes the authorization for the specified component.
|
127
134
|
/// Important: The component MUST be registered.
|
128
135
|
function initializeComponentAuthorization(
|
129
136
|
address componentAddress,
|
130
|
-
ObjectType expectedType
|
131
|
-
VersionPart expectedRelease
|
137
|
+
ObjectType expectedType
|
132
138
|
)
|
133
139
|
external
|
134
140
|
restricted()
|
@@ -13,9 +13,7 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
13
13
|
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
14
14
|
import {ProductStore} from "../instance/ProductStore.sol";
|
15
15
|
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
16
|
-
import {
|
17
|
-
import {RiskSet} from "../instance/RiskSet.sol";
|
18
|
-
import {VersionPartLib} from "../type/Version.sol";
|
16
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
19
17
|
|
20
18
|
|
21
19
|
contract InstanceAuthorizationV3
|
@@ -29,7 +27,7 @@ contract InstanceAuthorizationV3
|
|
29
27
|
Authorization(
|
30
28
|
INSTANCE_TARGET_NAME,
|
31
29
|
INSTANCE(),
|
32
|
-
|
30
|
+
3,
|
33
31
|
COMMIT_HASH,
|
34
32
|
TargetType.Instance,
|
35
33
|
false)
|
@@ -28,32 +28,27 @@ import {NftId} from "../type/NftId.sol";
|
|
28
28
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
29
29
|
import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
|
30
30
|
import {ProductStore} from "./ProductStore.sol";
|
31
|
-
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
32
31
|
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
33
32
|
import {RequestId} from "../type/RequestId.sol";
|
34
33
|
import {RiskId} from "../type/RiskId.sol";
|
35
34
|
import {RiskSet} from "./RiskSet.sol";
|
36
35
|
import {RoleId, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
|
37
36
|
import {StateId} from "../type/StateId.sol";
|
37
|
+
import {Str, StrLib} from "../type/String.sol";
|
38
38
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
39
39
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
40
40
|
|
41
41
|
|
42
42
|
/// @dev Central reader contract for a specific instance.
|
43
43
|
/// Provides reading functions for all instance data and related component data.
|
44
|
-
contract InstanceReader
|
45
|
-
RegistryLinked
|
46
|
-
{
|
44
|
+
contract InstanceReader {
|
47
45
|
|
48
46
|
error ErrorInstanceReaderAlreadyInitialized();
|
49
47
|
error ErrorInstanceReaderInstanceAddressZero();
|
50
|
-
|
51
|
-
// 1. instance receives reader through setInstanceReader()
|
52
|
-
// 2. this way instance initialization is not depends on reader
|
53
|
-
// 3. and reader is simple contract with constructor
|
54
|
-
// 4. no _initialized in storage, the rest is immutable
|
48
|
+
|
55
49
|
bool private _initialized = false;
|
56
50
|
|
51
|
+
IRegistry internal _registry;
|
57
52
|
IInstance internal _instance;
|
58
53
|
InstanceAdmin internal _instanceAdmin;
|
59
54
|
|
@@ -84,24 +79,27 @@ contract InstanceReader is
|
|
84
79
|
_initialized = true;
|
85
80
|
_instance = IInstance(instanceAddress);
|
86
81
|
_instanceAdmin = _instance.getInstanceAdmin();
|
82
|
+
_registry = _instance.getRegistry();
|
87
83
|
|
88
84
|
_store = _instance.getInstanceStore();
|
89
85
|
_productStore = _instance.getProductStore();
|
90
86
|
_bundleSet = _instance.getBundleSet();
|
91
87
|
_riskSet = _instance.getRiskSet();
|
92
|
-
|
93
|
-
_distributionService = IDistributionService(
|
94
|
-
_getRegistry().getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
88
|
+
_distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
95
89
|
}
|
96
90
|
|
97
91
|
|
98
92
|
//--- instance functions ---------------------------------------------------------//
|
99
93
|
|
94
|
+
/// @dev Returns the registry this instance is registered in.
|
95
|
+
function getRegistry() public view returns (IRegistry registry) {
|
96
|
+
return _registry;
|
97
|
+
}
|
100
98
|
|
101
99
|
|
102
100
|
/// @dev Returns the instance NFT ID.
|
103
101
|
function getInstanceNftId() public view returns (NftId instanceNftid) {
|
104
|
-
return
|
102
|
+
return _registry.getNftIdForAddress(address(_instance));
|
105
103
|
}
|
106
104
|
|
107
105
|
|
@@ -180,8 +178,8 @@ contract InstanceReader is
|
|
180
178
|
|
181
179
|
|
182
180
|
/// @dev Returns th product NFT ID for the given index.
|
183
|
-
function
|
184
|
-
return _instance.
|
181
|
+
function getProduct(uint256 idx) public view returns (NftId productNftId) {
|
182
|
+
return _instance.getProduct(idx);
|
185
183
|
}
|
186
184
|
|
187
185
|
|
@@ -222,6 +220,12 @@ contract InstanceReader is
|
|
222
220
|
}
|
223
221
|
|
224
222
|
|
223
|
+
/// @dev Returns true if the specified risk exists for the given product NFT ID.
|
224
|
+
function isProductRisk(NftId productNftId, RiskId riskId) public view returns (bool exists) {
|
225
|
+
return _riskSet.hasRisk(productNftId, riskId);
|
226
|
+
}
|
227
|
+
|
228
|
+
|
225
229
|
/// @dev Returns the risk info for the given risk ID.
|
226
230
|
function getRiskInfo(RiskId riskId) public view returns (IRisk.RiskInfo memory info) {
|
227
231
|
return _productStore.getRiskInfo(riskId);
|
@@ -243,10 +247,21 @@ contract InstanceReader is
|
|
243
247
|
|
244
248
|
|
245
249
|
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
246
|
-
function
|
250
|
+
function getPolicyForRisk(RiskId riskId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
247
251
|
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
248
252
|
}
|
249
253
|
|
254
|
+
/// @dev Returns the number of linked policies for the given bundle NFT ID.
|
255
|
+
function policiesForBundle(NftId bundleNftId) public view returns (uint256 linkedPolicies) {
|
256
|
+
return _bundleSet.activePolicies(bundleNftId);
|
257
|
+
}
|
258
|
+
|
259
|
+
|
260
|
+
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
261
|
+
function getPolicyForBundle(NftId bundleNftId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
262
|
+
return _bundleSet.getActivePolicy(bundleNftId, idx);
|
263
|
+
}
|
264
|
+
|
250
265
|
|
251
266
|
/// @dev Returns the info for the given policy NFT ID.
|
252
267
|
function getPolicyInfo(NftId policyNftId) public view returns (IPolicy.PolicyInfo memory info) {
|
@@ -344,6 +359,11 @@ contract InstanceReader is
|
|
344
359
|
return _store.getRequestInfo(requestId);
|
345
360
|
}
|
346
361
|
|
362
|
+
/// @dev Returns the request info for the given oracle request ID.
|
363
|
+
function getRequestState(RequestId requestId) public view returns (StateId state) {
|
364
|
+
return getState(requestId.toKey32());
|
365
|
+
}
|
366
|
+
|
347
367
|
//--- pool functions -----------------------------------------------------------//
|
348
368
|
|
349
369
|
/// @dev Returns the pool info for the given pool NFT ID.
|
@@ -416,7 +436,7 @@ contract InstanceReader is
|
|
416
436
|
return _store.getReferralInfo(referralId);
|
417
437
|
}
|
418
438
|
|
419
|
-
|
439
|
+
|
420
440
|
function getDiscountPercentage(ReferralId referralId)
|
421
441
|
public
|
422
442
|
view
|
@@ -425,7 +445,10 @@ contract InstanceReader is
|
|
425
445
|
ReferralStatus status
|
426
446
|
)
|
427
447
|
{
|
428
|
-
return
|
448
|
+
return IDistributionService(
|
449
|
+
_registry.getServiceAddress(
|
450
|
+
DISTRIBUTION(),
|
451
|
+
_instance.getRelease())).getDiscountPercentage(
|
429
452
|
this, // instance reader
|
430
453
|
referralId);
|
431
454
|
}
|
@@ -444,6 +467,12 @@ contract InstanceReader is
|
|
444
467
|
}
|
445
468
|
|
446
469
|
|
470
|
+
/// @dev Returns the role ID for the given index.
|
471
|
+
function getRoleForName(string memory name) public view returns (RoleId roleId, bool exists) {
|
472
|
+
return _instanceAdmin.getRoleForName(name);
|
473
|
+
}
|
474
|
+
|
475
|
+
|
447
476
|
/// @dev Returns the role ID for the instance owner role.
|
448
477
|
/// This role may be used as a "root" admin role for other custom roles defined for this instance.
|
449
478
|
function getInstanceOwnerRole() public pure returns (RoleId roleId) {
|
@@ -573,13 +602,18 @@ contract InstanceReader is
|
|
573
602
|
}
|
574
603
|
|
575
604
|
|
576
|
-
function
|
577
|
-
return UFixedLib.
|
605
|
+
function toInt(UFixed value) public pure returns (uint256) {
|
606
|
+
return UFixedLib.toInt(value);
|
578
607
|
}
|
579
608
|
|
580
609
|
|
581
|
-
function
|
582
|
-
return
|
610
|
+
function toString(Str str) public pure returns (string memory) {
|
611
|
+
return StrLib.toString(str);
|
612
|
+
}
|
613
|
+
|
614
|
+
|
615
|
+
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
616
|
+
return UFixedLib.toUFixed(value, exp);
|
583
617
|
}
|
584
618
|
|
585
619
|
//--- internal functions ----------------------------------------------------//
|
@@ -175,7 +175,7 @@ contract InstanceService is
|
|
175
175
|
IInstance(instanceAddress).getInstanceAdmin().setInstanceLocked(locked);
|
176
176
|
|
177
177
|
emit LogInstanceServiceInstanceLocked(
|
178
|
-
|
178
|
+
getRegistry().getNftIdForAddress(instanceAddress),
|
179
179
|
locked);
|
180
180
|
}
|
181
181
|
|
@@ -204,11 +204,13 @@ contract InstanceService is
|
|
204
204
|
// MUST be set after instance is set up and registered
|
205
205
|
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
206
206
|
instanceAdmin.completeSetup(
|
207
|
+
address(getRegistry()),
|
207
208
|
address(instanceAuthorization),
|
209
|
+
getRelease(),
|
208
210
|
address(instance));
|
209
211
|
|
210
212
|
// hard checks for newly cloned instance
|
211
|
-
|
213
|
+
assert(address(instance.getRegistry()) == address(getRegistry()));
|
212
214
|
assert(instance.getRelease() == getRelease());
|
213
215
|
|
214
216
|
// register cloned instance as staking target
|
@@ -229,7 +231,7 @@ contract InstanceService is
|
|
229
231
|
restricted()
|
230
232
|
onlyInstance()
|
231
233
|
{
|
232
|
-
NftId instanceNftId =
|
234
|
+
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
233
235
|
_stakingService.setInstanceLockingPeriod(
|
234
236
|
instanceNftId,
|
235
237
|
stakeLockingPeriod);
|
@@ -242,7 +244,7 @@ contract InstanceService is
|
|
242
244
|
restricted()
|
243
245
|
onlyInstance()
|
244
246
|
{
|
245
|
-
NftId instanceNftId =
|
247
|
+
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
246
248
|
_stakingService.setInstanceRewardRate(
|
247
249
|
instanceNftId,
|
248
250
|
rewardRate);
|
@@ -254,7 +256,7 @@ contract InstanceService is
|
|
254
256
|
restricted()
|
255
257
|
onlyInstance()
|
256
258
|
{
|
257
|
-
NftId instanceNftId =
|
259
|
+
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
258
260
|
_stakingService.setInstanceMaxStakedAmount(
|
259
261
|
instanceNftId,
|
260
262
|
maxStakedAmount);
|
@@ -268,7 +270,7 @@ contract InstanceService is
|
|
268
270
|
onlyInstance()
|
269
271
|
returns (Amount newBalance)
|
270
272
|
{
|
271
|
-
NftId instanceNftId =
|
273
|
+
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
272
274
|
newBalance = _stakingService.refillInstanceRewardReserves(
|
273
275
|
instanceNftId,
|
274
276
|
rewardProvider,
|
@@ -283,7 +285,7 @@ contract InstanceService is
|
|
283
285
|
onlyInstance()
|
284
286
|
returns (Amount newBalance)
|
285
287
|
{
|
286
|
-
NftId instanceNftId =
|
288
|
+
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
287
289
|
newBalance = _stakingService.withdrawInstanceRewardReserves(
|
288
290
|
instanceNftId,
|
289
291
|
dipAmount);
|
@@ -306,7 +308,7 @@ contract InstanceService is
|
|
306
308
|
instance.setInstanceReader(upgradedInstanceReaderClone);
|
307
309
|
|
308
310
|
emit LogInstanceServiceInstanceReaderUpgraded(
|
309
|
-
|
311
|
+
getRegistry().getNftIdForAddress(instanceAddress),
|
310
312
|
address(upgradedInstanceReaderClone));
|
311
313
|
}
|
312
314
|
|
@@ -347,7 +349,6 @@ contract InstanceService is
|
|
347
349
|
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
348
350
|
if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
|
349
351
|
|
350
|
-
// TODO check instance cluster release
|
351
352
|
if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
|
352
353
|
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
353
354
|
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
@@ -371,6 +372,10 @@ contract InstanceService is
|
|
371
372
|
IInstance masterInstance = IInstance(_masterInstance);
|
372
373
|
IRegistry.ObjectInfo memory info = _registryService.registerInstance(masterInstance, getOwner());
|
373
374
|
masterInstanceNftId = info.nftId;
|
375
|
+
|
376
|
+
emit LogInstanceServiceMasterInstanceRegistered(
|
377
|
+
masterInstanceNftId, _masterInstance, _masterInstanceAdmin, _masterAccessManager,
|
378
|
+
_masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceStore, _masterProductStore);
|
374
379
|
}
|
375
380
|
}
|
376
381
|
|
@@ -390,7 +395,7 @@ contract InstanceService is
|
|
390
395
|
_masterInstanceReader = instanceReaderAddress;
|
391
396
|
|
392
397
|
emit LogInstanceServiceMasterInstanceReaderUpgraded(
|
393
|
-
|
398
|
+
getRegistry().getNftIdForAddress(_masterInstance),
|
394
399
|
instanceReaderAddress);
|
395
400
|
}
|
396
401
|
|
@@ -418,8 +423,7 @@ contract InstanceService is
|
|
418
423
|
|
419
424
|
clonedAdmin.initialize(
|
420
425
|
address(clonedAccessManager),
|
421
|
-
"InstanceAdmin"
|
422
|
-
getRelease());
|
426
|
+
"InstanceAdmin");
|
423
427
|
}
|
424
428
|
|
425
429
|
|
@@ -445,6 +449,8 @@ contract InstanceService is
|
|
445
449
|
riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
|
446
450
|
instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
|
447
451
|
}),
|
452
|
+
getRegistry(),
|
453
|
+
getRelease(),
|
448
454
|
instanceOwner,
|
449
455
|
allowAnyToken);
|
450
456
|
|
@@ -459,13 +465,14 @@ contract InstanceService is
|
|
459
465
|
)
|
460
466
|
internal
|
461
467
|
virtual override
|
462
|
-
|
468
|
+
initializer()
|
463
469
|
{
|
464
470
|
(
|
465
|
-
address authority
|
466
|
-
|
471
|
+
address authority,
|
472
|
+
address registry
|
473
|
+
) = abi.decode(data, (address, address));
|
467
474
|
|
468
|
-
__Service_init(authority, owner);
|
475
|
+
__Service_init(authority, registry, owner);
|
469
476
|
|
470
477
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
471
478
|
_stakingService = IStakingService(_getServiceAddress(STAKING()));
|
@@ -483,8 +490,7 @@ contract InstanceService is
|
|
483
490
|
virtual
|
484
491
|
view
|
485
492
|
{
|
486
|
-
|
487
|
-
IRegistry registry = _getRegistry();
|
493
|
+
IRegistry registry = getRegistry();
|
488
494
|
|
489
495
|
NftId instanceNftId = registry.getNftIdForAddress(instanceAddress);
|
490
496
|
if (instanceNftId.eqz()) {
|
@@ -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 {InstanceService} from "./InstanceService.sol";
|
7
7
|
|
@@ -12,17 +12,19 @@ contract InstanceServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with instance service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
InstanceService svc = new InstanceService{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
|
-
_instanceService = InstanceService(address(
|
27
|
+
_instanceService = InstanceService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -4,19 +4,25 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../../registry/IRegistry.sol";
|
7
|
-
import {RegistryLinked} from "../../shared/RegistryLinked.sol";
|
8
7
|
|
9
8
|
abstract contract Cloneable is
|
10
|
-
AccessManagedUpgradeable
|
11
|
-
RegistryLinked
|
9
|
+
AccessManagedUpgradeable
|
12
10
|
{
|
11
|
+
IRegistry internal _registry;
|
12
|
+
|
13
13
|
/// @dev call to initialize MUST be made in the same transaction as cloning of the contract
|
14
14
|
function __Cloneable_init(
|
15
|
-
address authority
|
15
|
+
address authority,
|
16
|
+
address registry
|
16
17
|
)
|
17
18
|
internal
|
18
19
|
onlyInitializing
|
19
20
|
{
|
20
21
|
__AccessManaged_init(authority);
|
22
|
+
_registry = IRegistry(registry);
|
23
|
+
}
|
24
|
+
|
25
|
+
function getRegistry() external view returns (IRegistry) {
|
26
|
+
return _registry;
|
21
27
|
}
|
22
28
|
}
|
@@ -21,12 +21,12 @@ contract ObjectSet is
|
|
21
21
|
address internal _instanceAddress;
|
22
22
|
|
23
23
|
/// @dev This initializer needs to be called from the instance itself.
|
24
|
-
function initialize(address authority)
|
24
|
+
function initialize(address authority, address registry)
|
25
25
|
external
|
26
26
|
initializer()
|
27
27
|
{
|
28
28
|
_instanceAddress = msg.sender;
|
29
|
-
__Cloneable_init(authority);
|
29
|
+
__Cloneable_init(authority, registry);
|
30
30
|
|
31
31
|
emit LogObjectSetInitialized(address(_instanceAddress));
|
32
32
|
}
|
@@ -22,7 +22,9 @@ contract BasicOracle is
|
|
22
22
|
_respond(requestId, responseData);
|
23
23
|
}
|
24
24
|
|
25
|
+
|
25
26
|
function _initializeBasicOracle(
|
27
|
+
address registry,
|
26
28
|
NftId instanceNftId,
|
27
29
|
IAuthorization authorization,
|
28
30
|
address initialOwner,
|
@@ -34,6 +36,7 @@ contract BasicOracle is
|
|
34
36
|
{
|
35
37
|
|
36
38
|
__Oracle_init(
|
39
|
+
registry,
|
37
40
|
instanceNftId,
|
38
41
|
authorization,
|
39
42
|
initialOwner,
|
@@ -8,8 +8,6 @@ import {IAccess} from "../authorization/IAccess.sol";
|
|
8
8
|
import {IOracle} from "./IOracle.sol";
|
9
9
|
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
10
10
|
import {RoleId} from "../type/RoleId.sol";
|
11
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
12
|
-
import {VersionPartLib} from "../type/Version.sol";
|
13
11
|
|
14
12
|
|
15
13
|
contract BasicOracleAuthorization
|
@@ -23,7 +21,7 @@ contract BasicOracleAuthorization
|
|
23
21
|
Authorization(
|
24
22
|
componentName,
|
25
23
|
ORACLE(),
|
26
|
-
|
24
|
+
3,
|
27
25
|
commitHash,
|
28
26
|
TargetType.Component,
|
29
27
|
false)
|