@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-b216819-597
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +53 -168
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +63 -154
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +20 -107
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +63 -130
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +145 -100
- 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 +3 -45
- 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 +67 -158
- 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 +49 -112
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +112 -227
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +93 -184
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +48 -124
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +19 -106
- 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 +76 -187
- 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 +113 -224
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +74 -193
- 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 +73 -192
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +81 -200
- 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 +81 -200
- 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 +2 -2
- 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 +18 -118
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +31 -118
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +34 -181
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +149 -207
- 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 +236 -75
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +56 -167
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +59 -148
- 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 +2 -2
- 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/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 +2 -2
- 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 +67 -158
- 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 +52 -128
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +26 -113
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +53 -116
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +69 -184
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +68 -159
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +56 -119
- 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 +84 -199
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +80 -171
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +19 -106
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +55 -131
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +26 -113
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +56 -119
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +20 -25
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +95 -210
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +81 -172
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +50 -165
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +62 -153
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +49 -112
- 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 +96 -211
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +85 -176
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +19 -106
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +19 -106
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +26 -113
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +26 -113
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +48 -124
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +19 -106
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +89 -204
- 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 +78 -169
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -186
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +69 -160
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +49 -112
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +46 -161
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +60 -151
- 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 +56 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +185 -219
- 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 +145 -207
- 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 +213 -302
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -162
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +150 -208
- 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 +146 -181
- 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 +4 -46
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +31 -124
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +323 -198
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +91 -166
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +44 -24
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- 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 +30 -136
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +234 -113
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -124
- 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 +2 -44
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +2 -44
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +17 -117
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +2 -44
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +19 -106
- 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 +49 -112
- 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 +4 -46
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -46
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +16 -116
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +4 -46
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +18 -105
- 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 +64 -132
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +19 -106
- 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 +111 -195
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +71 -156
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +4 -46
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +42 -157
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +58 -149
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -274
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
- 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 +40 -109
- 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 +2 -2
- package/contracts/accounting/AccountingServiceManager.sol +3 -3
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +22 -44
- package/contracts/authorization/AccessAdminLib.sol +20 -3
- package/contracts/authorization/AccessManagerCloneable.sol +48 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -2
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/DistributionService.sol +8 -11
- package/contracts/distribution/DistributionServiceManager.sol +3 -3
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +6 -3
- package/contracts/instance/InstanceAdmin.sol +14 -10
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +41 -7
- package/contracts/instance/InstanceService.sol +4 -4
- package/contracts/instance/InstanceServiceManager.sol +3 -3
- package/contracts/oracle/BasicOracle.sol +1 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +4 -5
- package/contracts/oracle/OracleService.sol +1 -1
- package/contracts/oracle/OracleServiceManager.sol +3 -3
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +5 -5
- package/contracts/pool/BundleServiceManager.sol +3 -3
- package/contracts/pool/PoolLib.sol +4 -7
- package/contracts/pool/PoolService.sol +3 -3
- package/contracts/pool/PoolServiceManager.sol +3 -3
- package/contracts/product/ApplicationService.sol +5 -4
- package/contracts/product/ApplicationServiceManager.sol +3 -3
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +1 -1
- package/contracts/product/ClaimServiceManager.sol +3 -3
- package/contracts/product/PolicyService.sol +1 -1
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +3 -3
- package/contracts/product/PricingService.sol +1 -1
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/RiskService.sol +1 -1
- package/contracts/product/RiskServiceManager.sol +3 -3
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +78 -124
- package/contracts/registry/RegistryAdmin.sol +23 -11
- package/contracts/registry/RegistryAuthorization.sol +1 -2
- package/contracts/registry/RegistryService.sol +78 -96
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +19 -14
- package/contracts/registry/ReleaseRegistry.sol +50 -52
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/shared/Component.sol +17 -24
- package/contracts/shared/ComponentService.sol +106 -28
- package/contracts/shared/ComponentServiceManager.sol +3 -3
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +15 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/IRegisterable.sol +3 -8
- package/contracts/shared/IRegistryLinked.sol +1 -3
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +126 -40
- package/contracts/shared/NftOwnable.sol +14 -1
- package/contracts/shared/PolicyHolder.sol +2 -2
- package/contracts/shared/Registerable.sol +18 -36
- package/contracts/shared/RegistryLinked.sol +4 -11
- package/contracts/shared/Service.sol +5 -6
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +4 -2
- package/contracts/staking/Staking.sol +18 -7
- package/contracts/staking/StakingManager.sol +3 -3
- package/contracts/staking/StakingService.sol +7 -10
- package/contracts/staking/StakingServiceManager.sol +4 -3
- package/contracts/staking/StakingStore.sol +8 -10
- 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 +50 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +2 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -1,18 +1,26 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
|
5
|
-
import {Amount} from "../type/Amount.sol";
|
6
|
-
import {Component} from "./Component.sol";
|
7
|
-
import {IComponentService} from "./IComponentService.sol";
|
8
|
-
import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
|
9
4
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
5
|
+
import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
|
10
6
|
import {IComponents} from "../instance/module/IComponents.sol";
|
7
|
+
import {IComponentService} from "./IComponentService.sol";
|
11
8
|
import {IInstance} from "../instance/IInstance.sol";
|
9
|
+
import {IInstanceLinkedComponent} from "./IInstanceLinkedComponent.sol";
|
10
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
11
|
+
import {IOracleService} from "../oracle/IOracleService.sol";
|
12
|
+
|
13
|
+
import {Amount} from "../type/Amount.sol";
|
14
|
+
import {Component} from "./Component.sol";
|
12
15
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
13
16
|
import {IRegistry} from "../registry/IRegistry.sol";
|
14
17
|
import {NftId} from "../type/NftId.sol";
|
15
|
-
import {ObjectType, COMPONENT, INSTANCE, PRODUCT} from "../type/ObjectType.sol";
|
18
|
+
import {ObjectType, COMPONENT, INSTANCE, ORACLE, PRODUCT} from "../type/ObjectType.sol";
|
19
|
+
import {RequestId} from "../type/RequestId.sol";
|
20
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
21
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
22
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
23
|
+
import {VersionPart} from "../type/Version.sol";
|
16
24
|
|
17
25
|
// then add (Distribution|Pool|Product)Upradeable that also intherit from Versionable
|
18
26
|
// same pattern as for Service which is also upgradeable
|
@@ -25,19 +33,80 @@ abstract contract InstanceLinkedComponent is
|
|
25
33
|
|
26
34
|
struct InstanceLinkedComponentStorage {
|
27
35
|
IInstance _instance; // instance for this component
|
36
|
+
InstanceReader _instanceReader; // instance reader for this component
|
28
37
|
IAuthorization _initialAuthorization;
|
38
|
+
IComponentService _componentService;
|
39
|
+
IOracleService _oracleService;
|
29
40
|
}
|
30
41
|
|
42
|
+
//--- view functions ----------------------------------------------------//
|
43
|
+
|
31
44
|
/// @inheritdoc IInstanceLinkedComponent
|
32
|
-
function getInstance() public view virtual returns (IInstance instance) {
|
45
|
+
function getInstance() public view virtual override returns (IInstance instance) {
|
33
46
|
return _getInstanceLinkedComponentStorage()._instance;
|
34
47
|
}
|
35
48
|
|
36
|
-
|
49
|
+
|
50
|
+
/// @inheritdoc IAuthorizedComponent
|
37
51
|
function getAuthorization() external view virtual returns (IAuthorization authorization) {
|
38
52
|
return _getInstanceLinkedComponentStorage()._initialAuthorization;
|
39
53
|
}
|
40
54
|
|
55
|
+
|
56
|
+
/// @inheritdoc IInstanceLinkedComponent
|
57
|
+
function withdrawFees(Amount amount)
|
58
|
+
external
|
59
|
+
virtual
|
60
|
+
restricted()
|
61
|
+
onlyOwner()
|
62
|
+
returns (Amount withdrawnAmount)
|
63
|
+
{
|
64
|
+
return _withdrawFees(amount);
|
65
|
+
}
|
66
|
+
|
67
|
+
//--- internal functions ------------------------------------------------//
|
68
|
+
|
69
|
+
function _sendRequest(
|
70
|
+
NftId oracleNftId,
|
71
|
+
bytes memory requestData,
|
72
|
+
Timestamp expiryAt,
|
73
|
+
string memory callbackMethod
|
74
|
+
)
|
75
|
+
internal
|
76
|
+
virtual
|
77
|
+
returns (RequestId requestId)
|
78
|
+
{
|
79
|
+
return _getInstanceLinkedComponentStorage()._oracleService.request(
|
80
|
+
oracleNftId,
|
81
|
+
requestData,
|
82
|
+
expiryAt,
|
83
|
+
callbackMethod);
|
84
|
+
}
|
85
|
+
|
86
|
+
|
87
|
+
function _cancelRequest(RequestId requestId)
|
88
|
+
internal
|
89
|
+
virtual
|
90
|
+
{
|
91
|
+
_getInstanceLinkedComponentStorage()._oracleService.cancel(requestId);
|
92
|
+
}
|
93
|
+
|
94
|
+
|
95
|
+
function _resendRequest(RequestId requestId)
|
96
|
+
internal
|
97
|
+
virtual
|
98
|
+
{
|
99
|
+
_getInstanceLinkedComponentStorage()._oracleService.resend(requestId);
|
100
|
+
}
|
101
|
+
|
102
|
+
|
103
|
+
function _getInstanceLinkedComponentStorage() private pure returns (InstanceLinkedComponentStorage storage $) {
|
104
|
+
assembly {
|
105
|
+
$.slot := INSTANCE_LINKED_COMPONENT_LOCATION_V1
|
106
|
+
}
|
107
|
+
}
|
108
|
+
|
109
|
+
|
41
110
|
function __InstanceLinkedComponent_init(
|
42
111
|
address registry,
|
43
112
|
NftId parentNftId,
|
@@ -47,64 +116,80 @@ abstract contract InstanceLinkedComponent is
|
|
47
116
|
bool isInterceptor,
|
48
117
|
address initialOwner
|
49
118
|
)
|
50
|
-
internal
|
119
|
+
internal
|
51
120
|
virtual
|
52
121
|
onlyInitializing()
|
53
122
|
{
|
54
|
-
//
|
55
|
-
|
56
|
-
|
123
|
+
// validate registry, nft ids and get parent nft id
|
124
|
+
NftId instanceNftId = _checkAndGetInstanceNftId(
|
125
|
+
registry,
|
126
|
+
parentNftId,
|
127
|
+
componentType);
|
128
|
+
|
129
|
+
// set and check linked instance
|
130
|
+
InstanceLinkedComponentStorage storage $ = _getInstanceLinkedComponentStorage();
|
131
|
+
$._instance = IInstance(
|
132
|
+
IRegistry(registry).getObjectAddress(instanceNftId));
|
57
133
|
|
58
134
|
// set component specific parameters
|
59
135
|
__Component_init(
|
60
|
-
|
136
|
+
$._instance.authority(), // instance linked components need to point to instance admin
|
61
137
|
registry,
|
62
138
|
parentNftId,
|
63
139
|
name,
|
64
|
-
componentType,
|
140
|
+
componentType,
|
65
141
|
isInterceptor,
|
66
142
|
initialOwner,
|
67
143
|
""); // registry data
|
68
144
|
|
69
145
|
// set instance linked specific parameters
|
70
|
-
|
71
|
-
$._instance = instance;
|
146
|
+
$._instanceReader = $._instance.getInstanceReader();
|
72
147
|
$._initialAuthorization = authorization;
|
148
|
+
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
149
|
+
$._oracleService = IOracleService(_getServiceAddress(ORACLE()));
|
73
150
|
|
74
151
|
// register interfaces
|
75
152
|
_registerInterface(type(IInstanceLinkedComponent).interfaceId);
|
76
153
|
}
|
77
154
|
|
78
|
-
|
155
|
+
|
156
|
+
function _checkAndGetInstanceNftId(
|
79
157
|
address registryAddress,
|
80
158
|
NftId parentNftId,
|
81
159
|
ObjectType componentType
|
82
160
|
)
|
83
|
-
|
161
|
+
internal
|
84
162
|
view
|
85
|
-
returns (
|
163
|
+
returns (NftId instanceNftId)
|
86
164
|
{
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
instanceNftId = parentNftId;
|
92
|
-
} else {
|
93
|
-
NftId productNftId = parentNftId;
|
94
|
-
instanceNftId = registry.getParentNftId(productNftId);
|
165
|
+
// if product, then parent is already instance
|
166
|
+
if (componentType == PRODUCT()) {
|
167
|
+
_checkAndGetRegistry(registryAddress, parentNftId, INSTANCE());
|
168
|
+
return parentNftId;
|
95
169
|
}
|
96
170
|
|
97
|
-
|
171
|
+
// if not product parent is product, and parent of product is instance
|
172
|
+
IRegistry registry = _checkAndGetRegistry(registryAddress, parentNftId, PRODUCT());
|
173
|
+
return registry.getParentNftId(parentNftId);
|
174
|
+
}
|
98
175
|
|
99
|
-
|
100
|
-
|
101
|
-
|
176
|
+
/// @dev checks the and gets registry.
|
177
|
+
/// validates registry using a provided nft id and expected object type.
|
178
|
+
function _checkAndGetRegistry(
|
179
|
+
address registryAddress,
|
180
|
+
NftId objectNftId,
|
181
|
+
ObjectType requiredType
|
182
|
+
)
|
183
|
+
internal
|
184
|
+
view
|
185
|
+
returns (IRegistry registry)
|
186
|
+
{
|
187
|
+
registry = IRegistry(registryAddress);
|
188
|
+
IRegistry.ObjectInfo memory info = registry.getObjectInfo(objectNftId);
|
102
189
|
|
103
|
-
if(info.
|
104
|
-
revert
|
190
|
+
if (info.objectType != requiredType) {
|
191
|
+
revert ErrorInstanceLinkedComponentTypeMismatch(requiredType, info.objectType);
|
105
192
|
}
|
106
|
-
|
107
|
-
instance = IInstance(info.objectAddress);
|
108
193
|
}
|
109
194
|
|
110
195
|
|
@@ -136,12 +221,13 @@ abstract contract InstanceLinkedComponent is
|
|
136
221
|
|
137
222
|
/// @dev returns reader for linked instance
|
138
223
|
function _getInstanceReader() internal view returns (InstanceReader reader) {
|
139
|
-
return _getInstanceLinkedComponentStorage().
|
224
|
+
return _getInstanceLinkedComponentStorage()._instanceReader;
|
140
225
|
}
|
141
226
|
|
142
|
-
function
|
143
|
-
|
144
|
-
|
145
|
-
|
227
|
+
function _withdrawFees(Amount amount)
|
228
|
+
internal
|
229
|
+
returns (Amount withdrawnAmount)
|
230
|
+
{
|
231
|
+
return _getInstanceLinkedComponentStorage()._componentService.withdrawFees(amount);
|
146
232
|
}
|
147
233
|
}
|
@@ -4,6 +4,7 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {InitializableERC165} from "./InitializableERC165.sol";
|
5
5
|
import {INftOwnable} from "./INftOwnable.sol";
|
6
6
|
import {NftId} from "../type/NftId.sol";
|
7
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
7
8
|
import {RegistryLinked} from "./RegistryLinked.sol";
|
8
9
|
|
9
10
|
contract NftOwnable is
|
@@ -34,8 +35,20 @@ contract NftOwnable is
|
|
34
35
|
_;
|
35
36
|
}
|
36
37
|
|
38
|
+
modifier onlyNftOfType(NftId nftId, ObjectType expectedObjectType) {
|
39
|
+
_checkNftType(nftId, expectedObjectType);
|
40
|
+
_;
|
41
|
+
}
|
42
|
+
|
43
|
+
function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
|
44
|
+
if(expectedObjectType.eqz() || !getRegistry().isObjectType(nftId, expectedObjectType)) {
|
45
|
+
revert ErrorNftOwnableInvalidType(nftId, expectedObjectType);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
|
37
50
|
/// @dev Initialization for upgradable contracts.
|
38
|
-
// used in __Registerable_init, ProxyManager.
|
51
|
+
// used in __Registerable_init, ProxyManager._preDeployChecksAndSetup
|
39
52
|
function __NftOwnable_init(
|
40
53
|
address registry,
|
41
54
|
address initialOwner
|
@@ -23,7 +23,7 @@ contract PolicyHolder is
|
|
23
23
|
// callbacks must only be allowed from the policy and claim services
|
24
24
|
// will need a release parameter to fetch the right service addresses for the modifiers
|
25
25
|
|
26
|
-
function
|
26
|
+
function _initializePolicyHolder(
|
27
27
|
address registryAddress
|
28
28
|
)
|
29
29
|
internal
|
@@ -47,7 +47,7 @@ contract PolicyHolder is
|
|
47
47
|
/// @dev empty default implementation
|
48
48
|
function payoutExecuted(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary) external virtual {}
|
49
49
|
|
50
|
-
//---
|
50
|
+
//--- IERC165 functions ---------------//
|
51
51
|
function onERC721Received(
|
52
52
|
address, // operator
|
53
53
|
address, // from
|
@@ -9,16 +9,15 @@ import {ContractLib} from "../shared/ContractLib.sol";
|
|
9
9
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
10
10
|
import {NftOwnable} from "../shared/NftOwnable.sol";
|
11
11
|
import {ObjectType} from "../type/ObjectType.sol";
|
12
|
-
import {Versionable} from "../shared/Versionable.sol";
|
13
12
|
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
14
13
|
|
15
14
|
import {IRegistry} from "../registry/IRegistry.sol";
|
16
15
|
import {IRegisterable} from "./IRegisterable.sol";
|
16
|
+
import {IRelease} from "../registry/IRelease.sol";
|
17
17
|
|
18
18
|
abstract contract Registerable is
|
19
19
|
AccessManagedUpgradeable,
|
20
20
|
NftOwnable,
|
21
|
-
Versionable,
|
22
21
|
IRegisterable
|
23
22
|
{
|
24
23
|
// keccak256(abi.encode(uint256(keccak256("gif-next.contracts.shared.Registerable.sol")) - 1)) & ~bytes32(uint256(0xff));
|
@@ -38,19 +37,6 @@ abstract contract Registerable is
|
|
38
37
|
_;
|
39
38
|
}
|
40
39
|
|
41
|
-
// TODO move to registerables verification library
|
42
|
-
modifier onlyNftOfType(NftId nftId, ObjectType expectedObjectType) {
|
43
|
-
_checkNftType(nftId, expectedObjectType);
|
44
|
-
_;
|
45
|
-
}
|
46
|
-
|
47
|
-
// TODO move to registerables verification library
|
48
|
-
function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
|
49
|
-
if(expectedObjectType.eqz() || !getRegistry().isObjectType(nftId, expectedObjectType, getRelease())) {
|
50
|
-
revert ErrorNftOwnableInvalidType(nftId, expectedObjectType);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
|
54
40
|
function __Registerable_init(
|
55
41
|
address authority,
|
56
42
|
address registry,
|
@@ -58,7 +44,7 @@ abstract contract Registerable is
|
|
58
44
|
ObjectType objectType,
|
59
45
|
bool isInterceptor,
|
60
46
|
address initialOwner,
|
61
|
-
bytes memory data
|
47
|
+
bytes memory data // writeonly data that will saved in the object info record of the registry
|
62
48
|
)
|
63
49
|
internal
|
64
50
|
virtual
|
@@ -68,20 +54,14 @@ abstract contract Registerable is
|
|
68
54
|
revert ErrorAuthorityInvalid(authority);
|
69
55
|
}
|
70
56
|
|
71
|
-
// release must allign with authority -> not a release check of third contract...
|
72
|
-
VersionPart release = AccessManagerCloneable(authority).getRelease();
|
73
|
-
|
74
57
|
__AccessManaged_init(authority);
|
75
58
|
__NftOwnable_init(registry, initialOwner);
|
76
|
-
__Versionable_init(release);
|
77
59
|
|
78
60
|
RegisterableStorage storage $ = _getRegisterableStorage();
|
79
61
|
$._parentNftId = parentNftId;
|
80
62
|
$._objectType = objectType;
|
81
63
|
$._isInterceptor = isInterceptor;
|
82
|
-
|
83
|
-
$._data = data;
|
84
|
-
}
|
64
|
+
$._data = data;
|
85
65
|
|
86
66
|
_registerInterface(type(IAccessManaged).interfaceId);
|
87
67
|
}
|
@@ -92,6 +72,13 @@ abstract contract Registerable is
|
|
92
72
|
return !AccessManagerCloneable(authority()).isTargetClosed(address(this));
|
93
73
|
}
|
94
74
|
|
75
|
+
|
76
|
+
/// @inheritdoc IRelease
|
77
|
+
function getRelease() public virtual view returns (VersionPart release) {
|
78
|
+
return AccessManagerCloneable(authority()).getRelease();
|
79
|
+
}
|
80
|
+
|
81
|
+
|
95
82
|
/// @inheritdoc IRegisterable
|
96
83
|
function getInitialInfo()
|
97
84
|
public
|
@@ -100,19 +87,14 @@ abstract contract Registerable is
|
|
100
87
|
returns (IRegistry.ObjectInfo memory info)
|
101
88
|
{
|
102
89
|
RegisterableStorage storage $ = _getRegisterableStorage();
|
103
|
-
return (
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
);
|
112
|
-
}
|
113
|
-
|
114
|
-
function getInitialData() public view virtual returns (bytes memory data) {
|
115
|
-
return _getRegisterableStorage()._data;
|
90
|
+
return IRegistry.ObjectInfo(
|
91
|
+
NftIdLib.zero(),
|
92
|
+
$._parentNftId,
|
93
|
+
$._objectType,
|
94
|
+
$._isInterceptor,
|
95
|
+
address(this),
|
96
|
+
getOwner(),
|
97
|
+
$._data);
|
116
98
|
}
|
117
99
|
|
118
100
|
|
@@ -12,27 +12,20 @@ contract RegistryLinked is
|
|
12
12
|
IRegistryLinked
|
13
13
|
{
|
14
14
|
|
15
|
-
// priorize simplicity and size over using standard upgradeability structs
|
16
|
-
// registry address MUST NOT be upgraded
|
15
|
+
// priorize simplicity and size over using standard upgradeability structs
|
17
16
|
IRegistry private _registry;
|
18
17
|
|
19
18
|
/// @dev initialization for upgradable contracts
|
20
|
-
// used in
|
19
|
+
// used in _initializeRegisterable
|
21
20
|
function __RegistryLinked_init(
|
22
21
|
address registry
|
23
22
|
)
|
24
23
|
internal
|
25
24
|
virtual
|
25
|
+
onlyInitializing()
|
26
26
|
{
|
27
|
-
if(address(_registry) != address(0) ) {
|
28
|
-
if(_registry != IRegistry(registry)) {
|
29
|
-
revert ErrorRegistryLinkedRegistryAlreadyInitialized(address(this), address(_registry));
|
30
|
-
}
|
31
|
-
return;
|
32
|
-
}
|
33
|
-
|
34
27
|
if (!ContractLib.isRegistry(registry)) {
|
35
|
-
revert
|
28
|
+
revert ErrorNotRegistry(registry);
|
36
29
|
}
|
37
30
|
|
38
31
|
_registry = IRegistry(registry);
|
@@ -5,19 +5,18 @@ 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
|
{
|
@@ -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,9 +22,11 @@ import {VersionPart} from "../type/Version.sol";
|
|
22
22
|
|
23
23
|
interface IStaking is
|
24
24
|
IComponent,
|
25
|
-
|
25
|
+
IVersionable
|
26
26
|
{
|
27
27
|
|
28
|
+
event LogStakingTokenHandlerDeployed(NftId componentNftId, address tokenHandler, address token);
|
29
|
+
|
28
30
|
// owner functions
|
29
31
|
event LogStakingStakingRateSet(ChainId chainId, address token, UFixed newStakingRate, UFixed oldStakingRate, Blocknumber lastUpdateIn);
|
30
32
|
event LogStakingStakingServiceSet(address stakingService, VersionPart release, address oldStakingService);
|
@@ -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";
|
@@ -86,6 +86,7 @@ contract Staking is
|
|
86
86
|
address(this),
|
87
87
|
dipToken,
|
88
88
|
getRegistry().getAuthority());
|
89
|
+
emit LogStakingTokenHandlerDeployed(getNftId(), address($._tokenHandler), dipToken);
|
89
90
|
}
|
90
91
|
|
91
92
|
|
@@ -649,11 +650,21 @@ contract Staking is
|
|
649
650
|
return _getStakingStorage()._tokenHandler;
|
650
651
|
}
|
651
652
|
|
653
|
+
// from IRegisterable
|
654
|
+
function getRelease()
|
655
|
+
public
|
656
|
+
pure
|
657
|
+
virtual override (IRelease, Registerable)
|
658
|
+
returns(VersionPart)
|
659
|
+
{
|
660
|
+
return VersionPartLib.toVersionPart(3);
|
661
|
+
}
|
662
|
+
|
652
663
|
// from IVersionable
|
653
664
|
function getVersion()
|
654
665
|
public
|
655
666
|
pure
|
656
|
-
virtual override (IVersionable, Versionable)
|
667
|
+
virtual override (Component, IVersionable, Versionable)
|
657
668
|
returns(Version)
|
658
669
|
{
|
659
670
|
return VersionLib.toVersion(3,0,0);
|
@@ -737,7 +748,7 @@ contract Staking is
|
|
737
748
|
// initialize component
|
738
749
|
__Component_init(
|
739
750
|
registry.getAuthority(),
|
740
|
-
|
751
|
+
address(registry),
|
741
752
|
registry.getNftId(), // parent nft id
|
742
753
|
CONTRACT_NAME,
|
743
754
|
STAKING(),
|
@@ -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
|
|
@@ -32,13 +32,13 @@ contract StakingManager is
|
|
32
32
|
stakingStore,
|
33
33
|
tokenRegistry);
|
34
34
|
|
35
|
-
|
35
|
+
IVersionable versionable = initialize(
|
36
36
|
registry,
|
37
37
|
_initialImplementation,
|
38
38
|
_initializationData,
|
39
39
|
salt);
|
40
40
|
|
41
|
-
_staking = Staking(address(
|
41
|
+
_staking = Staking(address(versionable));
|
42
42
|
}
|
43
43
|
|
44
44
|
//--- view functions ----------------------------------------------------//
|
@@ -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";
|
@@ -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,7 +255,7 @@ contract StakingService is
|
|
255
255
|
)
|
256
256
|
internal
|
257
257
|
virtual override
|
258
|
-
|
258
|
+
initializer()
|
259
259
|
{
|
260
260
|
(
|
261
261
|
address authority,
|
@@ -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);
|