@etherisc/gif-next 3.0.0-c458de2-735 → 3.0.0-c517f31-287
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 +8 -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 +139 -150
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +105 -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 +75 -220
- 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 -166
- 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 +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -178
- 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 +107 -244
- 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 +135 -277
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +136 -65
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +2 -2
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +224 -237
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +67 -43
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +111 -248
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +374 -719
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +67 -43
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +2 -2
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +2 -2
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -253
- 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 -238
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +123 -255
- 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 -246
- 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 +66 -61
- 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 +45 -97
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +125 -91
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +70 -164
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +220 -230
- 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 +71 -36
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +174 -148
- 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 +164 -114
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +134 -84
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +75 -70
- 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/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 +81 -207
- 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 +61 -164
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +101 -92
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -157
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +166 -161
- 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 +76 -166
- 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 +151 -198
- 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 +66 -93
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +74 -177
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +140 -136
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +76 -166
- 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 +219 -275
- 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 +72 -147
- 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 -147
- 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 +140 -201
- 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 +41 -80
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +57 -90
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +89 -95
- 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 -159
- 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 +152 -186
- 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 -147
- 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 +106 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +215 -224
- 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 +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 +223 -220
- 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 +205 -131
- 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 -159
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +536 -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 +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +38 -171
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -171
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +442 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -159
- 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/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 +57 -147
- 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 -69
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -57
- 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 -176
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +41 -280
- 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 -245
- 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 +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 +70 -337
- 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 -32
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
- 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 +29 -51
- package/contracts/authorization/AccessAdminLib.sol +9 -12
- 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 +55 -18
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +68 -9
- package/contracts/examples/flight/FlightOracleAuthorization.sol +5 -1
- package/contracts/examples/flight/FlightPool.sol +5 -1
- package/contracts/examples/flight/FlightProduct.sol +186 -180
- package/contracts/examples/flight/FlightProductAuthorization.sol +3 -2
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/BundleSet.sol +6 -6
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +7 -7
- package/contracts/instance/IInstanceService.sol +6 -4
- package/contracts/instance/Instance.sol +11 -7
- package/contracts/instance/InstanceAdmin.sol +17 -10
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +28 -20
- 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 -6
- 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 +9 -5
- 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 +20 -26
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +10 -10
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +14 -13
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +4 -5
- package/contracts/product/ClaimService.sol +35 -11
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IApplicationService.sol +8 -8
- package/contracts/product/IClaimService.sol +9 -9
- package/contracts/product/IPolicyService.sol +8 -7
- package/contracts/product/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 +82 -126
- package/contracts/registry/RegistryAdmin.sol +22 -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 +16 -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 +166 -47
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +36 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
- 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 +64 -29
- 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 -10
- 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/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +3 -3
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -17,6 +17,7 @@ contract SimplePool is
|
|
17
17
|
{
|
18
18
|
|
19
19
|
constructor(
|
20
|
+
address registry,
|
20
21
|
NftId productNftId,
|
21
22
|
IComponents.PoolInfo memory poolInfo,
|
22
23
|
IAuthorization authorization,
|
@@ -24,6 +25,7 @@ contract SimplePool is
|
|
24
25
|
)
|
25
26
|
{
|
26
27
|
initialize(
|
28
|
+
registry,
|
27
29
|
productNftId,
|
28
30
|
poolInfo,
|
29
31
|
authorization,
|
@@ -33,6 +35,7 @@ contract SimplePool is
|
|
33
35
|
|
34
36
|
|
35
37
|
function initialize(
|
38
|
+
address registry,
|
36
39
|
NftId productNftId,
|
37
40
|
IComponents.PoolInfo memory poolInfo,
|
38
41
|
IAuthorization authorization,
|
@@ -43,6 +46,7 @@ contract SimplePool is
|
|
43
46
|
initializer()
|
44
47
|
{
|
45
48
|
_initializeBasicPool(
|
49
|
+
registry,
|
46
50
|
productNftId,
|
47
51
|
"SimplePool",
|
48
52
|
poolInfo,
|
@@ -34,6 +34,7 @@ contract SimpleProduct is
|
|
34
34
|
IOracleService private _oracleService;
|
35
35
|
|
36
36
|
constructor(
|
37
|
+
address registry,
|
37
38
|
NftId instanceNftId,
|
38
39
|
string memory name,
|
39
40
|
IComponents.ProductInfo memory productInfo,
|
@@ -43,6 +44,7 @@ contract SimpleProduct is
|
|
43
44
|
)
|
44
45
|
{
|
45
46
|
initialize(
|
47
|
+
registry,
|
46
48
|
instanceNftId,
|
47
49
|
name,
|
48
50
|
productInfo,
|
@@ -53,6 +55,7 @@ contract SimpleProduct is
|
|
53
55
|
|
54
56
|
|
55
57
|
function initialize(
|
58
|
+
address registry,
|
56
59
|
NftId instanceNftid,
|
57
60
|
string memory name,
|
58
61
|
IComponents.ProductInfo memory productInfo,
|
@@ -65,6 +68,7 @@ contract SimpleProduct is
|
|
65
68
|
initializer()
|
66
69
|
{
|
67
70
|
_initializeBasicProduct(
|
71
|
+
registry,
|
68
72
|
instanceNftid,
|
69
73
|
name,
|
70
74
|
productInfo,
|
@@ -42,6 +42,8 @@ abstract contract BaseStore is
|
|
42
42
|
metadata.objectType = objectType;
|
43
43
|
metadata.state = initialState;
|
44
44
|
metadata.updatedIn = blocknumber;
|
45
|
+
|
46
|
+
emit LogBaseStoreMetadataCreated(key32, objectType, initialState);
|
45
47
|
}
|
46
48
|
|
47
49
|
function _updateState(
|
@@ -73,6 +75,8 @@ abstract contract BaseStore is
|
|
73
75
|
|
74
76
|
// update metadata
|
75
77
|
metadata.updatedIn = BlocknumberLib.current();
|
78
|
+
|
79
|
+
emit LogBaseStoreMetadataUpdated(key32, oldState, state);
|
76
80
|
}
|
77
81
|
|
78
82
|
function exists(Key32 key32) public view returns (bool) {
|
@@ -14,13 +14,13 @@ 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 LogBundleSetBundleUnlocked(NftId poolNftId, NftId bundleNftId);
|
22
|
-
event LogBundleSetBundleLocked(NftId poolNftId, NftId bundleNftId);
|
23
|
-
event LogBundleSetBundleClosed(NftId poolNftId, NftId bundleNftId);
|
20
|
+
event LogBundleSetBundleAdded(NftId indexed poolNftId, NftId indexed bundleNftId);
|
21
|
+
event LogBundleSetBundleUnlocked(NftId indexed poolNftId, NftId indexed bundleNftId);
|
22
|
+
event LogBundleSetBundleLocked(NftId indexed poolNftId, NftId indexed bundleNftId);
|
23
|
+
event LogBundleSetBundleClosed(NftId indexed poolNftId, NftId indexed bundleNftId);
|
24
24
|
|
25
25
|
error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
|
26
26
|
error ErrorBundleSetBundleLocked(NftId bundleNftId, NftId policyNftId);
|
@@ -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[] indexed selectors, RoleId indexed roleId);
|
33
33
|
|
34
34
|
// modifier is onlyRoleAdmin
|
35
35
|
error ErrorInstanceNotCustomRole(RoleId roleId);
|
@@ -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
|
|
@@ -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,
|
@@ -126,8 +134,7 @@ contract InstanceAdmin is
|
|
126
134
|
/// Important: The component MUST be registered.
|
127
135
|
function initializeComponentAuthorization(
|
128
136
|
address componentAddress,
|
129
|
-
ObjectType expectedType
|
130
|
-
VersionPart expectedRelease
|
137
|
+
ObjectType expectedType
|
131
138
|
)
|
132
139
|
external
|
133
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
|
}
|
@@ -438,7 +438,7 @@ contract InstanceReader is
|
|
438
438
|
return _store.getReferralInfo(referralId);
|
439
439
|
}
|
440
440
|
|
441
|
-
|
441
|
+
|
442
442
|
function getDiscountPercentage(ReferralId referralId)
|
443
443
|
public
|
444
444
|
view
|
@@ -447,7 +447,10 @@ contract InstanceReader is
|
|
447
447
|
ReferralStatus status
|
448
448
|
)
|
449
449
|
{
|
450
|
-
return
|
450
|
+
return IDistributionService(
|
451
|
+
_registry.getServiceAddress(
|
452
|
+
DISTRIBUTION(),
|
453
|
+
_instance.getRelease())).getDiscountPercentage(
|
451
454
|
this, // instance reader
|
452
455
|
referralId);
|
453
456
|
}
|
@@ -601,13 +604,18 @@ contract InstanceReader is
|
|
601
604
|
}
|
602
605
|
|
603
606
|
|
604
|
-
function
|
605
|
-
return UFixedLib.
|
607
|
+
function toInt(UFixed value) public pure returns (uint256) {
|
608
|
+
return UFixedLib.toInt(value);
|
606
609
|
}
|
607
610
|
|
608
611
|
|
609
|
-
function
|
610
|
-
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);
|
611
619
|
}
|
612
620
|
|
613
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 ----------------------------------------------------//
|