@etherisc/gif-next 3.0.0-cf1abe2-268 → 3.0.0-cf20ffd-765
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 +119 -117
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +48 -93
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +145 -168
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +85 -83
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -222
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +59 -168
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +252 -238
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +154 -144
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +58 -180
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +145 -111
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +109 -246
- 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 +137 -279
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +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 +1278 -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 +1391 -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 +2214 -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 +104 -255
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +108 -240
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +125 -257
- 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 +116 -248
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +69 -77
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +47 -99
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +126 -92
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +72 -166
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +225 -247
- 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 +175 -149
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +116 -108
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +183 -133
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +153 -103
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +80 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +21 -21
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +9 -4
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +83 -209
- 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 +63 -166
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +103 -94
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +69 -159
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +168 -163
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +133 -115
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +78 -168
- 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 +158 -212
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -133
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +73 -107
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +76 -179
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +142 -138
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +78 -168
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +221 -277
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +134 -144
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +74 -149
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -114
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +59 -149
- 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 +142 -203
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -136
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +43 -82
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +59 -92
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +91 -97
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +45 -84
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +58 -161
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +51 -103
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +154 -188
- 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 +132 -126
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +96 -163
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -120
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +59 -149
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +78 -174
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +111 -113
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +4 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +70 -163
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +218 -204
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +114 -322
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +221 -242
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +246 -287
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +114 -119
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +236 -245
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +217 -156
- 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 +39 -23
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +41 -161
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +554 -182
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +145 -119
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +558 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +40 -173
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +457 -97
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +58 -161
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +30 -3
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +27 -79
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +34 -73
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +59 -149
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +36 -17
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +26 -78
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +33 -72
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -82
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -70
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +182 -283
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -300
- 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 +235 -352
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +128 -116
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +84 -357
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +115 -109
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +273 -281
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +22 -35
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +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/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +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/UFixed.sol/UFixedLib.json +2 -7
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +90 -67
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +22 -33
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +34 -55
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +52 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +11 -10
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +44 -43
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +8 -7
- package/contracts/examples/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/BundleSet.sol +7 -8
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +8 -8
- package/contracts/instance/IInstanceService.sol +6 -4
- 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 +59 -23
- package/contracts/instance/InstanceService.sol +28 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/InstanceStore.sol +14 -14
- package/contracts/instance/ProductStore.sol +14 -14
- package/contracts/instance/RiskSet.sol +6 -7
- package/contracts/instance/base/BalanceStore.sol +7 -7
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +3 -3
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +21 -17
- package/contracts/oracle/Oracle.sol +6 -5
- package/contracts/oracle/OracleService.sol +68 -38
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +22 -28
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +9 -10
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +14 -13
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +35 -11
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IApplicationService.sol +8 -8
- package/contracts/product/IClaimService.sol +9 -9
- package/contracts/product/IPolicyService.sol +8 -7
- package/contracts/product/IRiskService.sol +4 -5
- 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 +42 -10
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/ChainNft.sol +2 -2
- package/contracts/registry/IRegistry.sol +15 -21
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +82 -126
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -6
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +27 -13
- package/contracts/registry/ReleaseRegistry.sol +81 -72
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +18 -9
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +168 -49
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +46 -10
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/INftOwnable.sol +3 -1
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +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 +6 -9
- package/contracts/staking/IStaking.sol +35 -33
- package/contracts/staking/IStakingService.sol +7 -16
- package/contracts/staking/Staking.sol +38 -32
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +15 -18
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +11 -11
- package/contracts/staking/TargetHandler.sol +6 -5
- 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 +4 -3
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -14,13 +14,12 @@ contract BundleSet is
|
|
14
14
|
{
|
15
15
|
using LibNftIdSet for LibNftIdSet.Set;
|
16
16
|
|
17
|
-
event LogBundleSetPolicyLinked(NftId bundleNftId, NftId policyNftId);
|
18
|
-
event LogBundleSetPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
|
17
|
+
event LogBundleSetPolicyLinked(NftId indexed bundleNftId, NftId indexed policyNftId);
|
18
|
+
event LogBundleSetPolicyUnlinked(NftId indexed bundleNftId, NftId indexed policyNftId);
|
19
19
|
|
20
|
-
event LogBundleSetBundleAdded(NftId poolNftId, NftId bundleNftId);
|
21
|
-
event
|
22
|
-
event
|
23
|
-
event LogBundleSetBundleClosed(NftId poolNftId, NftId bundleNftId);
|
20
|
+
event LogBundleSetBundleAdded(NftId indexed poolNftId, NftId indexed bundleNftId);
|
21
|
+
event LogBundleSetBundleLocked(NftId indexed poolNftId, NftId indexed bundleNftId, bool locked);
|
22
|
+
event LogBundleSetBundleClosed(NftId indexed poolNftId, NftId indexed bundleNftId);
|
24
23
|
|
25
24
|
error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
|
26
25
|
error ErrorBundleSetBundleLocked(NftId bundleNftId, NftId policyNftId);
|
@@ -76,14 +75,14 @@ contract BundleSet is
|
|
76
75
|
function unlock(NftId bundleNftId) external restricted() {
|
77
76
|
NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
|
78
77
|
_activate(poolNftId, _toBundleKey32(bundleNftId));
|
79
|
-
emit
|
78
|
+
emit LogBundleSetBundleLocked(poolNftId, bundleNftId, false);
|
80
79
|
}
|
81
80
|
|
82
81
|
/// @dev locked (deactivated) bundles may not collateralize any new policies
|
83
82
|
function lock(NftId bundleNftId) external restricted() {
|
84
83
|
NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
|
85
84
|
_deactivate(poolNftId, _toBundleKey32(bundleNftId));
|
86
|
-
emit LogBundleSetBundleLocked(poolNftId, bundleNftId);
|
85
|
+
emit LogBundleSetBundleLocked(poolNftId, bundleNftId, true);
|
87
86
|
}
|
88
87
|
|
89
88
|
|
@@ -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
|
@@ -21,15 +21,15 @@ interface IInstance is
|
|
21
21
|
IRegisterable
|
22
22
|
{
|
23
23
|
// role handling
|
24
|
-
event LogInstanceCustomRoleCreated(RoleId roleId, string roleName, RoleId adminRoleId, uint32 maxMemberCount);
|
25
|
-
event LogInstanceCustomRoleActiveSet(RoleId roleId, bool active, address caller);
|
26
|
-
event LogInstanceCustomRoleGranted(RoleId roleId, address account, address caller);
|
27
|
-
event LogInstanceCustomRoleRevoked(RoleId roleId, address account, address caller);
|
24
|
+
event LogInstanceCustomRoleCreated(RoleId indexed roleId, string indexed roleName, RoleId indexed adminRoleId, uint32 maxMemberCount);
|
25
|
+
event LogInstanceCustomRoleActiveSet(RoleId indexed roleId, bool indexed active, address indexed caller);
|
26
|
+
event LogInstanceCustomRoleGranted(RoleId indexed roleId, address indexed account, address indexed caller);
|
27
|
+
event LogInstanceCustomRoleRevoked(RoleId indexed roleId, address indexed account, address indexed caller);
|
28
28
|
|
29
29
|
// target handling
|
30
|
-
event LogInstanceCustomTargetCreated(address target, RoleId targetRoleId, string name);
|
31
|
-
event LogInstanceTargetLocked(address target, bool locked);
|
32
|
-
event LogInstanceCustomTargetFunctionRoleSet(address target, bytes4[] selectors, RoleId roleId);
|
30
|
+
event LogInstanceCustomTargetCreated(address indexed target, RoleId indexed targetRoleId, string indexed name);
|
31
|
+
event LogInstanceTargetLocked(address indexed target, bool indexed locked);
|
32
|
+
event LogInstanceCustomTargetFunctionRoleSet(address indexed target, bytes4[] selectors, RoleId indexed roleId);
|
33
33
|
|
34
34
|
// modifier is onlyRoleAdmin
|
35
35
|
error ErrorInstanceNotCustomRole(RoleId roleId);
|
@@ -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);
|
@@ -56,10 +56,12 @@ interface IInstanceService is IService {
|
|
56
56
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
57
57
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
58
58
|
|
59
|
-
event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
|
60
|
-
event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
|
61
|
-
event
|
62
|
-
|
59
|
+
event LogInstanceServiceInstanceLocked(NftId indexed instanceNftId, bool indexed locked);
|
60
|
+
event LogInstanceServiceInstanceCreated(NftId indexed instanceNftId, address indexed instance);
|
61
|
+
event LogInstanceServiceMasterInstanceRegistered(NftId indexed masterInstanceNftId, address indexed masterInstance, address indexed masterInstanceAdmin, address masterAccessManager,
|
62
|
+
address masterInstanceReader, address masterInstanceBundleSet, address masterInstanceRiskSet, address masterInstanceStore, address masterProductStore);
|
63
|
+
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
64
|
+
event LogInstanceServiceInstanceReaderUpgraded(NftId indexed instanceNfId, address indexed oldInstanceReader, address indexed newInstanceReader);
|
63
65
|
|
64
66
|
/// @dev Creates a new custom role for the calling instance.
|
65
67
|
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
@@ -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
|
|
@@ -166,7 +164,9 @@ contract InstanceReader is
|
|
166
164
|
|
167
165
|
|
168
166
|
/// @dev Returns the currently locked amount for the given NFT ID.
|
169
|
-
///
|
167
|
+
/// Locked amounts are only tracked for bundles, not for pool. To get the
|
168
|
+
/// pool locked amount, then locked amounts of the bundles contained in the
|
169
|
+
/// pool must be summed up. The target NFT ID may only a bundle.
|
170
170
|
function getLockedAmount(NftId targetNftId) external view returns (Amount) {
|
171
171
|
return _store.getLockedAmount(targetNftId);
|
172
172
|
}
|
@@ -180,8 +180,8 @@ contract InstanceReader is
|
|
180
180
|
|
181
181
|
|
182
182
|
/// @dev Returns th product NFT ID for the given index.
|
183
|
-
function
|
184
|
-
return _instance.
|
183
|
+
function getProduct(uint256 idx) public view returns (NftId productNftId) {
|
184
|
+
return _instance.getProduct(idx);
|
185
185
|
}
|
186
186
|
|
187
187
|
|
@@ -222,6 +222,12 @@ contract InstanceReader is
|
|
222
222
|
}
|
223
223
|
|
224
224
|
|
225
|
+
/// @dev Returns true if the specified risk exists for the given product NFT ID.
|
226
|
+
function isProductRisk(NftId productNftId, RiskId riskId) public view returns (bool exists) {
|
227
|
+
return _riskSet.hasRisk(productNftId, riskId);
|
228
|
+
}
|
229
|
+
|
230
|
+
|
225
231
|
/// @dev Returns the risk info for the given risk ID.
|
226
232
|
function getRiskInfo(RiskId riskId) public view returns (IRisk.RiskInfo memory info) {
|
227
233
|
return _productStore.getRiskInfo(riskId);
|
@@ -243,10 +249,21 @@ contract InstanceReader is
|
|
243
249
|
|
244
250
|
|
245
251
|
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
246
|
-
function
|
252
|
+
function getPolicyForRisk(RiskId riskId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
247
253
|
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
248
254
|
}
|
249
255
|
|
256
|
+
/// @dev Returns the number of linked policies for the given bundle NFT ID.
|
257
|
+
function policiesForBundle(NftId bundleNftId) public view returns (uint256 linkedPolicies) {
|
258
|
+
return _bundleSet.activePolicies(bundleNftId);
|
259
|
+
}
|
260
|
+
|
261
|
+
|
262
|
+
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
263
|
+
function getPolicyForBundle(NftId bundleNftId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
264
|
+
return _bundleSet.getActivePolicy(bundleNftId, idx);
|
265
|
+
}
|
266
|
+
|
250
267
|
|
251
268
|
/// @dev Returns the info for the given policy NFT ID.
|
252
269
|
function getPolicyInfo(NftId policyNftId) public view returns (IPolicy.PolicyInfo memory info) {
|
@@ -344,6 +361,11 @@ contract InstanceReader is
|
|
344
361
|
return _store.getRequestInfo(requestId);
|
345
362
|
}
|
346
363
|
|
364
|
+
/// @dev Returns the request info for the given oracle request ID.
|
365
|
+
function getRequestState(RequestId requestId) public view returns (StateId state) {
|
366
|
+
return getState(requestId.toKey32());
|
367
|
+
}
|
368
|
+
|
347
369
|
//--- pool functions -----------------------------------------------------------//
|
348
370
|
|
349
371
|
/// @dev Returns the pool info for the given pool NFT ID.
|
@@ -416,7 +438,7 @@ contract InstanceReader is
|
|
416
438
|
return _store.getReferralInfo(referralId);
|
417
439
|
}
|
418
440
|
|
419
|
-
|
441
|
+
|
420
442
|
function getDiscountPercentage(ReferralId referralId)
|
421
443
|
public
|
422
444
|
view
|
@@ -425,7 +447,10 @@ contract InstanceReader is
|
|
425
447
|
ReferralStatus status
|
426
448
|
)
|
427
449
|
{
|
428
|
-
return
|
450
|
+
return IDistributionService(
|
451
|
+
_registry.getServiceAddress(
|
452
|
+
DISTRIBUTION(),
|
453
|
+
_instance.getRelease())).getDiscountPercentage(
|
429
454
|
this, // instance reader
|
430
455
|
referralId);
|
431
456
|
}
|
@@ -444,6 +469,12 @@ contract InstanceReader is
|
|
444
469
|
}
|
445
470
|
|
446
471
|
|
472
|
+
/// @dev Returns the role ID for the given index.
|
473
|
+
function getRoleForName(string memory name) public view returns (RoleId roleId, bool exists) {
|
474
|
+
return _instanceAdmin.getRoleForName(name);
|
475
|
+
}
|
476
|
+
|
477
|
+
|
447
478
|
/// @dev Returns the role ID for the instance owner role.
|
448
479
|
/// This role may be used as a "root" admin role for other custom roles defined for this instance.
|
449
480
|
function getInstanceOwnerRole() public pure returns (RoleId roleId) {
|
@@ -573,13 +604,18 @@ contract InstanceReader is
|
|
573
604
|
}
|
574
605
|
|
575
606
|
|
576
|
-
function
|
577
|
-
return UFixedLib.
|
607
|
+
function toInt(UFixed value) public pure returns (uint256) {
|
608
|
+
return UFixedLib.toInt(value);
|
578
609
|
}
|
579
610
|
|
580
611
|
|
581
|
-
function
|
582
|
-
return
|
612
|
+
function toString(Str str) public pure returns (string memory) {
|
613
|
+
return StrLib.toString(str);
|
614
|
+
}
|
615
|
+
|
616
|
+
|
617
|
+
function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
|
618
|
+
return UFixedLib.toUFixed(value, exp);
|
583
619
|
}
|
584
620
|
|
585
621
|
//--- 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);
|
@@ -302,11 +304,13 @@ contract InstanceService is
|
|
302
304
|
InstanceReader upgradedInstanceReaderClone = InstanceReader(
|
303
305
|
Clones.clone(address(_masterInstanceReader)));
|
304
306
|
|
307
|
+
address oldInstanceReaderAddress = address(instance.getInstanceReader());
|
305
308
|
upgradedInstanceReaderClone.initializeWithInstance(instanceAddress);
|
306
309
|
instance.setInstanceReader(upgradedInstanceReaderClone);
|
307
310
|
|
308
311
|
emit LogInstanceServiceInstanceReaderUpgraded(
|
309
|
-
|
312
|
+
getRegistry().getNftIdForAddress(instanceAddress),
|
313
|
+
oldInstanceReaderAddress,
|
310
314
|
address(upgradedInstanceReaderClone));
|
311
315
|
}
|
312
316
|
|
@@ -347,7 +351,6 @@ contract InstanceService is
|
|
347
351
|
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
348
352
|
if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
|
349
353
|
|
350
|
-
// TODO check instance cluster release
|
351
354
|
if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
|
352
355
|
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
353
356
|
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
@@ -371,6 +374,10 @@ contract InstanceService is
|
|
371
374
|
IInstance masterInstance = IInstance(_masterInstance);
|
372
375
|
IRegistry.ObjectInfo memory info = _registryService.registerInstance(masterInstance, getOwner());
|
373
376
|
masterInstanceNftId = info.nftId;
|
377
|
+
|
378
|
+
emit LogInstanceServiceMasterInstanceRegistered(
|
379
|
+
masterInstanceNftId, _masterInstance, _masterInstanceAdmin, _masterAccessManager,
|
380
|
+
_masterInstanceReader, _masterInstanceBundleSet, _masterInstanceRiskSet, _masterInstanceStore, _masterProductStore);
|
374
381
|
}
|
375
382
|
}
|
376
383
|
|
@@ -387,10 +394,12 @@ contract InstanceService is
|
|
387
394
|
InstanceReader instanceReader = InstanceReader(instanceReaderAddress);
|
388
395
|
if(instanceReader.getInstance() != IInstance(_masterInstance)) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch(); }
|
389
396
|
|
397
|
+
address oldMasterInstanceReaderAddress = _masterInstanceReader;
|
390
398
|
_masterInstanceReader = instanceReaderAddress;
|
391
399
|
|
392
400
|
emit LogInstanceServiceMasterInstanceReaderUpgraded(
|
393
|
-
|
401
|
+
getRegistry().getNftIdForAddress(_masterInstance),
|
402
|
+
oldMasterInstanceReaderAddress,
|
394
403
|
instanceReaderAddress);
|
395
404
|
}
|
396
405
|
|
@@ -418,8 +427,7 @@ contract InstanceService is
|
|
418
427
|
|
419
428
|
clonedAdmin.initialize(
|
420
429
|
address(clonedAccessManager),
|
421
|
-
"InstanceAdmin"
|
422
|
-
getRelease());
|
430
|
+
"InstanceAdmin");
|
423
431
|
}
|
424
432
|
|
425
433
|
|
@@ -445,6 +453,8 @@ contract InstanceService is
|
|
445
453
|
riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
|
446
454
|
instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
|
447
455
|
}),
|
456
|
+
getRegistry(),
|
457
|
+
getRelease(),
|
448
458
|
instanceOwner,
|
449
459
|
allowAnyToken);
|
450
460
|
|
@@ -459,13 +469,14 @@ contract InstanceService is
|
|
459
469
|
)
|
460
470
|
internal
|
461
471
|
virtual override
|
462
|
-
|
472
|
+
initializer()
|
463
473
|
{
|
464
474
|
(
|
465
|
-
address authority
|
466
|
-
|
475
|
+
address authority,
|
476
|
+
address registry
|
477
|
+
) = abi.decode(data, (address, address));
|
467
478
|
|
468
|
-
__Service_init(authority, owner);
|
479
|
+
__Service_init(authority, registry, owner);
|
469
480
|
|
470
481
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
471
482
|
_stakingService = IStakingService(_getServiceAddress(STAKING()));
|
@@ -483,8 +494,7 @@ contract InstanceService is
|
|
483
494
|
virtual
|
484
495
|
view
|
485
496
|
{
|
486
|
-
|
487
|
-
IRegistry registry = _getRegistry();
|
497
|
+
IRegistry registry = getRegistry();
|
488
498
|
|
489
499
|
NftId instanceNftId = registry.getNftIdForAddress(instanceAddress);
|
490
500
|
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 ----------------------------------------------------//
|