@etherisc/gif-next 3.0.0-f90c901-018 → 3.0.0-fbbe3fc-042
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 +1 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +72 -139
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +116 -110
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -72
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +65 -20
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +10 -20
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -126
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -72
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +139 -198
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -71
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -166
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +138 -200
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +728 -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/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1234 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2497 -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/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +106 -163
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -171
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +26 -78
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +44 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +51 -145
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +203 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +75 -138
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +81 -132
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -94
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +117 -176
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -71
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +86 -94
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +247 -24
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +165 -233
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +64 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +127 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +57 -72
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +56 -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 +96 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +187 -135
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +320 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +226 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -72
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +56 -101
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +36 -75
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +109 -170
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -26
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +65 -132
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -27
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +6 -5
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +43 -45
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +48 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +20 -24
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +300 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +171 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +53 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +685 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +69 -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/IInstance.sol +1 -1
- 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 +46 -18
- package/contracts/instance/InstanceService.sol +20 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +16 -12
- package/contracts/oracle/Oracle.sol +4 -3
- package/contracts/oracle/OracleService.sol +67 -37
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +19 -25
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IPoolService.sol +6 -5
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +1 -0
- package/contracts/product/PolicyService.sol +57 -44
- 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/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +78 -124
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -4
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +23 -9
- package/contracts/registry/ReleaseRegistry.sol +74 -64
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +15 -6
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +130 -45
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +14 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +130 -39
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +33 -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 +13 -16
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +2 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -5,25 +5,25 @@ import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/ut
|
|
5
5
|
|
6
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
7
|
import {IService} from "./IService.sol";
|
8
|
-
import {IVersionable} from "../
|
8
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
9
9
|
import {ObjectType, SERVICE} from "../type/ObjectType.sol";
|
10
10
|
import {Registerable} from "./Registerable.sol";
|
11
11
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
12
|
-
import {Version, VersionLib
|
13
|
-
import {Versionable} from "../
|
14
|
-
import {Upgradeable} from "../upgradeability/Upgradeable.sol";
|
12
|
+
import {Version, VersionLib} from "../type/Version.sol";
|
13
|
+
import {Versionable} from "../upgradeability/Versionable.sol";
|
15
14
|
|
16
15
|
|
17
16
|
/// @dev service base contract
|
18
17
|
abstract contract Service is
|
19
|
-
Registerable,
|
20
|
-
|
18
|
+
Registerable,
|
19
|
+
Versionable,
|
21
20
|
ReentrancyGuardUpgradeable,
|
22
21
|
IService
|
23
22
|
{
|
24
23
|
|
25
24
|
function __Service_init(
|
26
25
|
address authority, // real authority for registry service adress(0) for other services
|
26
|
+
address registry,
|
27
27
|
address initialOwner
|
28
28
|
)
|
29
29
|
internal
|
@@ -34,7 +34,8 @@ abstract contract Service is
|
|
34
34
|
|
35
35
|
__Registerable_init(
|
36
36
|
authority,
|
37
|
-
|
37
|
+
registry,
|
38
|
+
IRegistry(registry).getNftId(),
|
38
39
|
SERVICE(),
|
39
40
|
false, // is interceptor
|
40
41
|
initialOwner,
|
@@ -61,6 +62,6 @@ abstract contract Service is
|
|
61
62
|
|
62
63
|
|
63
64
|
function _getServiceAddress(ObjectType domain) internal view returns (address) {
|
64
|
-
return
|
65
|
+
return getRegistry().getServiceAddress(domain, getRelease());
|
65
66
|
}
|
66
67
|
}
|
@@ -10,7 +10,6 @@ import {ContractLib} from "../shared/ContractLib.sol";
|
|
10
10
|
import {IRegistry} from "../registry/IRegistry.sol";
|
11
11
|
import {NftId} from "../type/NftId.sol";
|
12
12
|
import {SERVICE} from "../type/ObjectType.sol";
|
13
|
-
import {VersionPart} from "../type/Version.sol";
|
14
13
|
|
15
14
|
|
16
15
|
/// @dev Token specific transfer helper base contract.
|
@@ -50,7 +49,6 @@ contract TokenHandlerBase {
|
|
50
49
|
IERC20Metadata public immutable TOKEN;
|
51
50
|
address public immutable COMPONENT;
|
52
51
|
NftId public immutable NFT_ID;
|
53
|
-
VersionPart public immutable RELEASE;
|
54
52
|
|
55
53
|
address internal _wallet;
|
56
54
|
|
@@ -71,7 +69,6 @@ contract TokenHandlerBase {
|
|
71
69
|
REGISTRY = IRegistry(registry);
|
72
70
|
COMPONENT = component;
|
73
71
|
NFT_ID = REGISTRY.getNftIdForAddress(component);
|
74
|
-
RELEASE = REGISTRY.getObjectRelease(NFT_ID);
|
75
72
|
|
76
73
|
if (NFT_ID.eqz()) {
|
77
74
|
revert ErrorTokenHandlerComponentNotRegistered(component);
|
@@ -257,7 +254,7 @@ contract TokenHandler is
|
|
257
254
|
error ErrorTokenHandlerNotService(address service);
|
258
255
|
|
259
256
|
modifier onlyService() {
|
260
|
-
if (!REGISTRY.isObjectType(msg.sender, SERVICE()
|
257
|
+
if (!REGISTRY.isObjectType(msg.sender, SERVICE())) {
|
261
258
|
revert ErrorTokenHandlerNotService(msg.sender);
|
262
259
|
}
|
263
260
|
_;
|
@@ -4,7 +4,7 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
6
|
import {IComponent} from "../shared/IComponent.sol";
|
7
|
-
import {
|
7
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
8
8
|
|
9
9
|
import {Amount} from "../type/Amount.sol";
|
10
10
|
import {Blocknumber} from "../type/Blocknumber.sol";
|
@@ -22,7 +22,7 @@ import {VersionPart} from "../type/Version.sol";
|
|
22
22
|
|
23
23
|
interface IStaking is
|
24
24
|
IComponent,
|
25
|
-
|
25
|
+
IVersionable
|
26
26
|
{
|
27
27
|
|
28
28
|
// owner functions
|
@@ -4,10 +4,11 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
|
+
import {IRelease} from "../registry/IRelease.sol";
|
7
8
|
import {IStaking} from "./IStaking.sol";
|
8
9
|
import {IStakingService} from "./IStakingService.sol";
|
9
10
|
import {ITargetLimitHandler} from "./ITargetLimitHandler.sol";
|
10
|
-
import {IVersionable} from "../
|
11
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
11
12
|
|
12
13
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
13
14
|
import {Blocknumber} from "../type/Blocknumber.sol";
|
@@ -15,7 +16,7 @@ import {ChainId, ChainIdLib} from "../type/ChainId.sol";
|
|
15
16
|
import {Component} from "../shared/Component.sol";
|
16
17
|
import {IComponent} from "../shared/IComponent.sol";
|
17
18
|
import {NftId} from "../type/NftId.sol";
|
18
|
-
import {ObjectType, PROTOCOL, STAKE, STAKING, TARGET} from "../type/ObjectType.sol";
|
19
|
+
import {ObjectType, PROTOCOL, INSTANCE, STAKE, STAKING, TARGET} from "../type/ObjectType.sol";
|
19
20
|
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
20
21
|
import {Registerable} from "../shared/Registerable.sol";
|
21
22
|
import {StakingLib} from "./StakingLib.sol";
|
@@ -27,13 +28,12 @@ import {TokenHandlerDeployerLib} from "../shared/TokenHandlerDeployerLib.sol";
|
|
27
28
|
import {TokenRegistry} from "../registry/TokenRegistry.sol";
|
28
29
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
29
30
|
import {Version, VersionLib, VersionPart, VersionPartLib} from "../type/Version.sol";
|
30
|
-
import {Versionable} from "../
|
31
|
-
import {Upgradeable} from "../upgradeability/Upgradeable.sol";
|
31
|
+
import {Versionable} from "../upgradeability/Versionable.sol";
|
32
32
|
|
33
33
|
|
34
34
|
contract Staking is
|
35
35
|
Component,
|
36
|
-
|
36
|
+
Versionable,
|
37
37
|
IStaking
|
38
38
|
{
|
39
39
|
string public constant CONTRACT_NAME = "Staking";
|
@@ -75,18 +75,17 @@ contract Staking is
|
|
75
75
|
external
|
76
76
|
virtual
|
77
77
|
{
|
78
|
-
|
79
|
-
if (msg.sender != address(registry)) {
|
78
|
+
if (msg.sender != address(getRegistry())) {
|
80
79
|
revert ErrorStakingNotRegistry(msg.sender);
|
81
80
|
}
|
82
81
|
|
83
82
|
StakingStorage storage $ = _getStakingStorage();
|
84
83
|
address dipToken = _getStakingStorage()._tokenRegistry.getDipTokenAddress();
|
85
84
|
$._tokenHandler = TokenHandlerDeployerLib.deployTokenHandler(
|
86
|
-
address(
|
85
|
+
address(getRegistry()),
|
87
86
|
address(this),
|
88
87
|
dipToken,
|
89
|
-
|
88
|
+
getRegistry().getAuthority());
|
90
89
|
}
|
91
90
|
|
92
91
|
|
@@ -191,7 +190,7 @@ contract Staking is
|
|
191
190
|
// effects
|
192
191
|
StakingStorage storage $ = _getStakingStorage();
|
193
192
|
address oldStakingService = address($._stakingService);
|
194
|
-
$._stakingService = StakingLib.checkAndGetStakingService(release);
|
193
|
+
$._stakingService = StakingLib.checkAndGetStakingService(getRegistry(), release);
|
195
194
|
|
196
195
|
emit LogStakingStakingServiceSet(address($._stakingService), release, oldStakingService);
|
197
196
|
}
|
@@ -278,10 +277,9 @@ contract Staking is
|
|
278
277
|
returns (Amount newBalance)
|
279
278
|
{
|
280
279
|
address transferTo;
|
281
|
-
IRegistry registry = _getRegistry();
|
282
280
|
|
283
281
|
// case 1: protocol target: staking owner is recipient
|
284
|
-
if (targetNftId ==
|
282
|
+
if (targetNftId == getRegistry().getProtocolNftId()) {
|
285
283
|
// verify that the caller is the staking owner
|
286
284
|
transferTo = getOwner();
|
287
285
|
if (msg.sender != transferTo) {
|
@@ -291,7 +289,7 @@ contract Staking is
|
|
291
289
|
// case 2: same chain target: target owner is recipient
|
292
290
|
} else if (ChainIdLib.isCurrentChain(targetNftId)) {
|
293
291
|
// verify that the caller is the target owner
|
294
|
-
transferTo =
|
292
|
+
transferTo = getRegistry().ownerOf(targetNftId);
|
295
293
|
if (msg.sender != transferTo) {
|
296
294
|
revert ErrorStakingNotNftOwner(targetNftId);
|
297
295
|
}
|
@@ -325,15 +323,13 @@ contract Staking is
|
|
325
323
|
onlyTarget(targetNftId)
|
326
324
|
returns (Amount newBalance)
|
327
325
|
{
|
328
|
-
IRegistry registry = _getRegistry();
|
329
|
-
|
330
326
|
// check that service does not withdraw from protocol target
|
331
|
-
if (targetNftId ==
|
327
|
+
if (targetNftId == getRegistry().getProtocolNftId()) {
|
332
328
|
revert ErrorStakingTargetTypeNotSupported(targetNftId, PROTOCOL());
|
333
329
|
}
|
334
330
|
|
335
331
|
// default: on-chain target owner is recipient
|
336
|
-
address targetOwner =
|
332
|
+
address targetOwner = getRegistry().ownerOf(targetNftId);
|
337
333
|
return _withdrawRewardReserves(targetNftId, dipAmount, targetOwner);
|
338
334
|
}
|
339
335
|
|
@@ -435,9 +431,7 @@ contract Staking is
|
|
435
431
|
virtual
|
436
432
|
restricted() // only pool service
|
437
433
|
{
|
438
|
-
// !!! TODO amount can be 0
|
439
434
|
StakingStorage storage $ = _getStakingStorage();
|
440
|
-
// why not StakingBalanceStore instead of StakingStore?
|
441
435
|
$._store.increaseTotalValueLocked(targetNftId, token, amount);
|
442
436
|
}
|
443
437
|
|
@@ -534,7 +528,7 @@ contract Staking is
|
|
534
528
|
|
535
529
|
// collect staked DIP token via staking service
|
536
530
|
if (stakeAmount.gtz()) {
|
537
|
-
address stakeOwner =
|
531
|
+
address stakeOwner = getRegistry().ownerOf(stakeNftId);
|
538
532
|
$._stakingService.pullDipToken(stakeAmount, stakeOwner);
|
539
533
|
}
|
540
534
|
}
|
@@ -557,7 +551,7 @@ contract Staking is
|
|
557
551
|
|
558
552
|
// transfer unstaked DIP token via staking service
|
559
553
|
if (unstakedAmount.gtz()) {
|
560
|
-
address stakeOwner =
|
554
|
+
address stakeOwner = getRegistry().ownerOf(stakeNftId);
|
561
555
|
$._stakingService.pushDipToken(unstakedAmount, stakeOwner);
|
562
556
|
}
|
563
557
|
}
|
@@ -588,7 +582,7 @@ contract Staking is
|
|
588
582
|
AmountLib.max()); // unstake up to this amount
|
589
583
|
|
590
584
|
// step 2: create new stake with full unstaked amount
|
591
|
-
address stakeOwner =
|
585
|
+
address stakeOwner = getRegistry().ownerOf(stakeNftId);
|
592
586
|
newStakeNftId = $._stakingService.createStakeObject(newTargetNftId, stakeOwner);
|
593
587
|
$._store.createStake(newStakeNftId, newTargetNftId, stakeOwner, newStakedAmount);
|
594
588
|
|
@@ -627,7 +621,7 @@ contract Staking is
|
|
627
621
|
// collect staked DIP token by staking service
|
628
622
|
if (claimedAmount.gtz()) {
|
629
623
|
// interactions
|
630
|
-
address stakeOwner =
|
624
|
+
address stakeOwner = getRegistry().ownerOf(stakeNftId);
|
631
625
|
$._stakingService.pushDipToken(claimedAmount, stakeOwner);
|
632
626
|
}
|
633
627
|
}
|
@@ -655,11 +649,21 @@ contract Staking is
|
|
655
649
|
return _getStakingStorage()._tokenHandler;
|
656
650
|
}
|
657
651
|
|
652
|
+
// from IRegisterable
|
653
|
+
function getRelease()
|
654
|
+
public
|
655
|
+
pure
|
656
|
+
virtual override (IRelease, Registerable)
|
657
|
+
returns(VersionPart)
|
658
|
+
{
|
659
|
+
return VersionPartLib.toVersionPart(3);
|
660
|
+
}
|
661
|
+
|
658
662
|
// from IVersionable
|
659
663
|
function getVersion()
|
660
664
|
public
|
661
665
|
pure
|
662
|
-
virtual override (IVersionable, Versionable)
|
666
|
+
virtual override (Component, IVersionable, Versionable)
|
663
667
|
returns(Version)
|
664
668
|
{
|
665
669
|
return VersionLib.toVersion(3,0,0);
|
@@ -724,13 +728,14 @@ contract Staking is
|
|
724
728
|
onlyInitializing()
|
725
729
|
{
|
726
730
|
(
|
731
|
+
address registryAddress,
|
727
732
|
address targetHandlerAddress,
|
728
733
|
address stakingStoreAddress,
|
729
734
|
address tokenRegistryAddress
|
730
|
-
) = abi.decode(data, (address, address, address));
|
735
|
+
) = abi.decode(data, (address, address, address, address));
|
731
736
|
|
732
737
|
// wiring to external contracts
|
733
|
-
IRegistry registry =
|
738
|
+
IRegistry registry = IRegistry(registryAddress);
|
734
739
|
StakingStorage storage $ = _getStakingStorage();
|
735
740
|
$._protocolNftId = registry.getProtocolNftId();
|
736
741
|
$._targetHandler = TargetHandler(targetHandlerAddress);
|
@@ -740,9 +745,9 @@ contract Staking is
|
|
740
745
|
// staking service has to be set via setStakingService after deploying the first GIF release
|
741
746
|
|
742
747
|
// initialize component
|
743
|
-
// TODO Will read 0 component service address from registry
|
744
748
|
__Component_init(
|
745
749
|
registry.getAuthority(),
|
750
|
+
address(registry),
|
746
751
|
registry.getNftId(), // parent nft id
|
747
752
|
CONTRACT_NAME,
|
748
753
|
STAKING(),
|
@@ -776,7 +781,7 @@ contract Staking is
|
|
776
781
|
}
|
777
782
|
|
778
783
|
if (checkOwner) {
|
779
|
-
address nftOwner =
|
784
|
+
address nftOwner = getRegistry().ownerOf(nftId);
|
780
785
|
if (msg.sender != nftOwner) {
|
781
786
|
revert ErrorStakingNotOwner(nftId, nftOwner, msg.sender);
|
782
787
|
}
|
@@ -6,7 +6,6 @@ import {IStaking} from "./IStaking.sol";
|
|
6
6
|
import {IStakingService} from "./IStakingService.sol";
|
7
7
|
|
8
8
|
import {Amount} from "../type/Amount.sol";
|
9
|
-
import {ContractLib} from "../shared/ContractLib.sol";
|
10
9
|
import {NftId} from "../type/NftId.sol";
|
11
10
|
import {ReleaseRegistry} from "../registry/ReleaseRegistry.sol";
|
12
11
|
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
@@ -112,14 +111,13 @@ library StakingLib {
|
|
112
111
|
|
113
112
|
|
114
113
|
function checkAndGetStakingService(
|
114
|
+
IRegistry registry,
|
115
115
|
VersionPart release
|
116
116
|
)
|
117
117
|
public
|
118
118
|
view
|
119
119
|
returns (IStakingService stakingService)
|
120
120
|
{
|
121
|
-
IRegistry registry = ContractLib.getRegistry();
|
122
|
-
|
123
121
|
if (!ReleaseRegistry(registry.getReleaseRegistryAddress()).isActiveRelease(release)) {
|
124
122
|
revert IStaking.ErrorStakingReleaseNotActive(release);
|
125
123
|
}
|
@@ -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 {Staking} from "./Staking.sol";
|
7
7
|
|
@@ -15,6 +15,7 @@ contract StakingManager is
|
|
15
15
|
|
16
16
|
/// @dev initializes proxy manager with service implementation
|
17
17
|
constructor(
|
18
|
+
address registry,
|
18
19
|
address targetHandler,
|
19
20
|
address stakingStore,
|
20
21
|
address tokenRegistry,
|
@@ -26,16 +27,18 @@ contract StakingManager is
|
|
26
27
|
|
27
28
|
_initialImplementation = address(stakingImplementation);
|
28
29
|
_initializationData = abi.encode(
|
30
|
+
registry,
|
29
31
|
targetHandler,
|
30
32
|
stakingStore,
|
31
33
|
tokenRegistry);
|
32
34
|
|
33
|
-
|
35
|
+
IVersionable versionable = initialize(
|
36
|
+
registry,
|
34
37
|
_initialImplementation,
|
35
38
|
_initializationData,
|
36
39
|
salt);
|
37
40
|
|
38
|
-
_staking = Staking(address(
|
41
|
+
_staking = Staking(address(versionable));
|
39
42
|
}
|
40
43
|
|
41
44
|
//--- view functions ----------------------------------------------------//
|
@@ -4,32 +4,36 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
|
-
import {
|
7
|
+
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
8
8
|
import {IStaking} from "../staking/IStaking.sol";
|
9
9
|
|
10
|
-
import {Amount} from "../type/Amount.sol";
|
10
|
+
import {Amount, AmountLib} from "../type/Amount.sol";
|
11
|
+
import {Blocknumber} from "../type/Blocknumber.sol";
|
11
12
|
import {ChainId} from "../type/ChainId.sol";
|
12
13
|
import {NftId} from "../type/NftId.sol";
|
13
14
|
import {ObjectType} from "../type/ObjectType.sol";
|
14
|
-
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
15
15
|
import {Seconds} from "../type/Seconds.sol";
|
16
16
|
import {StakingStore} from "./StakingStore.sol";
|
17
|
+
import {STAKE, TARGET} from "../type/ObjectType.sol";
|
18
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
17
19
|
import {UFixed} from "../type/UFixed.sol";
|
18
20
|
|
19
21
|
|
20
22
|
contract StakingReader is
|
21
|
-
|
22
|
-
|
23
|
+
IRegistryLinked,
|
24
|
+
Initializable
|
23
25
|
{
|
24
26
|
|
25
27
|
error ErrorStakingReaderUnauthorizedCaler();
|
26
28
|
|
27
29
|
address private _initializeOwner;
|
30
|
+
IRegistry private _registry;
|
28
31
|
IStaking private _staking;
|
29
32
|
StakingStore private _store;
|
30
33
|
|
31
|
-
constructor() {
|
34
|
+
constructor(IRegistry registry) {
|
32
35
|
_initializeOwner = msg.sender;
|
36
|
+
_registry = registry;
|
33
37
|
}
|
34
38
|
|
35
39
|
function initialize(
|
@@ -47,14 +51,18 @@ contract StakingReader is
|
|
47
51
|
_store = StakingStore(stakingStoreAddress);
|
48
52
|
}
|
49
53
|
|
50
|
-
// view functions
|
54
|
+
// view and pure functions
|
55
|
+
|
56
|
+
function getRegistry() external view returns (IRegistry registry) {
|
57
|
+
return _registry;
|
58
|
+
}
|
51
59
|
|
52
60
|
function getStaking() external view returns (IStaking staking) {
|
53
61
|
return _staking;
|
54
62
|
}
|
55
63
|
|
56
64
|
function getProtocolNftId() external view returns (NftId protocolNftId) {
|
57
|
-
return
|
65
|
+
return _registry.getProtocolNftId();
|
58
66
|
}
|
59
67
|
|
60
68
|
|
@@ -74,7 +82,7 @@ contract StakingReader is
|
|
74
82
|
|
75
83
|
|
76
84
|
function getTargetNftId(NftId stakeNftId) public view returns (NftId targetNftId) {
|
77
|
-
return
|
85
|
+
return _registry.getParentNftId(stakeNftId);
|
78
86
|
}
|
79
87
|
|
80
88
|
|
@@ -3,6 +3,7 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
5
|
|
6
|
+
import {IRegisterable} from "../shared/IRegisterable.sol";
|
6
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
7
8
|
import {IStaking} from "./IStaking.sol";
|
8
9
|
import {IStakingService} from "./IStakingService.sol";
|
@@ -113,7 +114,7 @@ contract StakingService is
|
|
113
114
|
|
114
115
|
// update reward reserve book keeping
|
115
116
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
116
|
-
address instanceOwner =
|
117
|
+
address instanceOwner = getRegistry().ownerOf(instanceNftId);
|
117
118
|
newBalance = $._staking.refillRewardReservesByService(instanceNftId, dipAmount, instanceOwner);
|
118
119
|
|
119
120
|
emit LogStakingServiceRewardReservesIncreased(instanceNftId, rewardProvider, dipAmount, newBalance);
|
@@ -130,7 +131,7 @@ contract StakingService is
|
|
130
131
|
_checkNftType(instanceNftId, INSTANCE());
|
131
132
|
// update reward reserve book keeping
|
132
133
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
133
|
-
address instanceOwner =
|
134
|
+
address instanceOwner = getRegistry().ownerOf(instanceNftId);
|
134
135
|
newBalance = $._staking.withdrawRewardReservesByService(instanceNftId, dipAmount, instanceOwner);
|
135
136
|
|
136
137
|
emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
|
@@ -157,12 +158,11 @@ contract StakingService is
|
|
157
158
|
nftId: NftIdLib.zero(),
|
158
159
|
parentNftId: targetNftId,
|
159
160
|
objectType: STAKE(),
|
160
|
-
release: getRelease(),
|
161
161
|
isInterceptor: false,
|
162
|
-
objectAddress: address(0)
|
163
|
-
|
164
|
-
|
165
|
-
|
162
|
+
objectAddress: address(0),
|
163
|
+
initialOwner: stakeOwner,
|
164
|
+
data: ""
|
165
|
+
}));
|
166
166
|
|
167
167
|
emit LogStakingServiceStakeObjectCreated(stakeNftId, targetNftId, stakeOwner);
|
168
168
|
}
|
@@ -255,18 +255,18 @@ contract StakingService is
|
|
255
255
|
)
|
256
256
|
internal
|
257
257
|
virtual override
|
258
|
-
|
258
|
+
initializer()
|
259
259
|
{
|
260
260
|
(
|
261
261
|
address authority,
|
262
|
+
address registry,
|
262
263
|
address staking
|
263
|
-
) = abi.decode(data, (address, address));
|
264
|
+
) = abi.decode(data, (address, address, address));
|
264
265
|
|
265
|
-
__Service_init(authority, owner);
|
266
|
+
__Service_init(authority, registry, owner);
|
266
267
|
|
267
268
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
268
269
|
$._registryService = RegistryService(_getServiceAddress(REGISTRY()));
|
269
|
-
// TODO staking is registered in registry.initialize(), just check if address is registered staking
|
270
270
|
$._staking = _registerStaking(staking);
|
271
271
|
$._dip = $._staking.getToken();
|
272
272
|
$._tokenHandler = $._staking.getTokenHandler();
|
@@ -283,7 +283,7 @@ contract StakingService is
|
|
283
283
|
{
|
284
284
|
// check if provided staking contract is already registred
|
285
285
|
// staking contract may have been already registered by a previous major relase
|
286
|
-
IRegistry.ObjectInfo memory stakingInfo =
|
286
|
+
IRegistry.ObjectInfo memory stakingInfo = getRegistry().getObjectInfo(stakingAddress);
|
287
287
|
if (stakingInfo.nftId.gtz()) {
|
288
288
|
// registered object but wrong type
|
289
289
|
if (stakingInfo.objectType != STAKING()) {
|
@@ -294,9 +294,6 @@ contract StakingService is
|
|
294
294
|
return IStaking(stakingAddress);
|
295
295
|
}
|
296
296
|
|
297
|
-
// TODO staking is registered in registry.initialize()
|
298
|
-
// consider deleting the rest of the function
|
299
|
-
|
300
297
|
// check that contract implements IStaking
|
301
298
|
if(!IStaking(stakingAddress).supportsInterface(type(IStaking).interfaceId)) {
|
302
299
|
revert ErrorStakingServiceNotSupportingIStaking(stakingAddress);
|
@@ -304,7 +301,7 @@ contract StakingService is
|
|
304
301
|
|
305
302
|
address owner = msg.sender;
|
306
303
|
_getStakingServiceStorage()._registryService.registerStaking(
|
307
|
-
|
304
|
+
IRegisterable(stakingAddress),
|
308
305
|
owner);
|
309
306
|
|
310
307
|
return IStaking(stakingAddress);
|
@@ -2,7 +2,8 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
|
-
import {
|
5
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
6
|
+
|
6
7
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
7
8
|
import {StakingService} from "./StakingService.sol";
|
8
9
|
|
@@ -15,20 +16,23 @@ contract StakingServiceManager is
|
|
15
16
|
/// @dev initializes proxy manager with service implementation
|
16
17
|
constructor(
|
17
18
|
address authority,
|
19
|
+
address registry,
|
18
20
|
bytes32 salt
|
19
21
|
)
|
20
22
|
{
|
21
23
|
StakingService svc = new StakingService();
|
22
24
|
bytes memory data = abi.encode(
|
23
25
|
authority,
|
24
|
-
|
26
|
+
registry,
|
27
|
+
IRegistry(registry).getStakingAddress());
|
25
28
|
|
26
|
-
|
29
|
+
IVersionable versionable = initialize(
|
30
|
+
registry,
|
27
31
|
address(svc),
|
28
32
|
data,
|
29
33
|
salt);
|
30
34
|
|
31
|
-
_stakingService = StakingService(address(
|
35
|
+
_stakingService = StakingService(address(versionable));
|
32
36
|
}
|
33
37
|
|
34
38
|
//--- view functions ----------------------------------------------------//
|
@@ -18,7 +18,6 @@ import {PROTOCOL, INSTANCE} from "../type/ObjectType.sol";
|
|
18
18
|
import {Seconds, SecondsLib} from "../type/Seconds.sol";
|
19
19
|
import {StakingLib} from "./StakingLib.sol";
|
20
20
|
import {StakingReader} from "./StakingReader.sol";
|
21
|
-
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
22
21
|
import {TargetManagerLib} from "./TargetManagerLib.sol";
|
23
22
|
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
24
23
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
@@ -26,8 +25,7 @@ import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
|
26
25
|
|
27
26
|
contract StakingStore is
|
28
27
|
Initializable,
|
29
|
-
AccessManaged
|
30
|
-
RegistryLinked
|
28
|
+
AccessManaged
|
31
29
|
{
|
32
30
|
|
33
31
|
// token
|
@@ -55,6 +53,7 @@ contract StakingStore is
|
|
55
53
|
error ErrorStakingStoreTvlBalanceAlreadyInitialized(NftId nftId, address token);
|
56
54
|
error ErrorStakingStoreTvlBalanceNotInitialized(NftId nftId, address token);
|
57
55
|
|
56
|
+
IRegistry private _registry;
|
58
57
|
ITargetLimitHandler private _targetLimitHandler;
|
59
58
|
StakingReader private _reader;
|
60
59
|
NftIdSet private _targetNftIdSet;
|
@@ -76,15 +75,16 @@ contract StakingStore is
|
|
76
75
|
|
77
76
|
|
78
77
|
constructor(
|
78
|
+
IRegistry registry,
|
79
79
|
StakingReader reader
|
80
80
|
)
|
81
81
|
AccessManaged(msg.sender)
|
82
82
|
{
|
83
|
-
|
84
83
|
// set final authority
|
85
|
-
setAuthority(
|
84
|
+
setAuthority(registry.getAuthority());
|
86
85
|
|
87
86
|
// set internal variables
|
87
|
+
_registry = registry;
|
88
88
|
_reader = reader;
|
89
89
|
_targetNftIdSet = new NftIdSet();
|
90
90
|
|
@@ -495,7 +495,7 @@ contract StakingStore is
|
|
495
495
|
emit IStaking.LogStakingRewardReservesRefilled(
|
496
496
|
targetNftId,
|
497
497
|
dipAmount,
|
498
|
-
|
498
|
+
_registry.ownerOf(targetNftId),
|
499
499
|
newReserveBalance,
|
500
500
|
lastUpdateIn);
|
501
501
|
}
|
@@ -520,7 +520,7 @@ contract StakingStore is
|
|
520
520
|
emit IStaking.LogStakingRewardReservesWithdrawn(
|
521
521
|
targetNftId,
|
522
522
|
dipAmount,
|
523
|
-
|
523
|
+
_registry.ownerOf(targetNftId),
|
524
524
|
newReserveBalance,
|
525
525
|
lastUpdateIn);
|
526
526
|
}
|
@@ -929,7 +929,7 @@ contract StakingStore is
|
|
929
929
|
// checks
|
930
930
|
if (checkParameters) {
|
931
931
|
TargetManagerLib.checkTargetParameters(
|
932
|
-
|
932
|
+
_registry,
|
933
933
|
_reader,
|
934
934
|
targetNftId,
|
935
935
|
objectType,
|