@etherisc/gif-next 0.0.2-95b223b-528 → 0.0.2-95f0eec-843
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 +57 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +134 -59
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +93 -49
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +85 -9
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +640 -269
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +409 -33
- 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 +525 -213
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +179 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +105 -153
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +381 -46
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +58 -95
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +533 -218
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +149 -81
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +45 -82
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +379 -79
- 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 +145 -114
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +355 -52
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +183 -144
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +380 -45
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +163 -169
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +380 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +94 -68
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +175 -141
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +355 -52
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +259 -146
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +380 -45
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +474 -48
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +377 -10
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +485 -83
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +999 -334
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +380 -52
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +724 -412
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +381 -77
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +82 -56
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +434 -358
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +96 -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/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 +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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 +77 -49
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +379 -47
- 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 +49 -21
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +61 -33
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +120 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +98 -54
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +102 -82
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +355 -52
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +304 -226
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +119 -75
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +200 -89
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +59 -31
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +333 -169
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +72 -44
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +574 -360
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +145 -73
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +292 -62
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +105 -45
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +87 -59
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +380 -45
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +171 -174
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +120 -84
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +234 -3
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +63 -17
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +160 -68
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +77 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +70 -42
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +150 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +278 -187
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -84
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +135 -126
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +102 -74
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +81 -53
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +218 -76
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +102 -46
- 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 +51 -16
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +56 -3
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/{authorization/AccessAdmin.sol/IAccessManagedChecker.json → registry/IRelease.sol/IRelease.json} +6 -6
- 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 +89 -54
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +728 -480
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +75 -39
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +78 -42
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
- 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 +385 -63
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +60 -32
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +211 -250
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +104 -68
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +178 -34
- 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 +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +49 -21
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +131 -153
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +49 -21
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- 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 +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +139 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +56 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +60 -32
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- 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 +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +51 -11
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +63 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +268 -39
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +163 -10
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +341 -103
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -50
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +90 -61
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +218 -58
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +95 -47
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +162 -148
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +60 -50
- 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/Amount.sol/AmountLib.json +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
- 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 +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +30 -6
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +64 -26
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +18 -7
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/accounting/IAccountingService.sol +4 -2
- package/contracts/authorization/AccessAdmin.sol +419 -254
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +142 -262
- package/contracts/authorization/IAccess.sol +25 -7
- package/contracts/authorization/IAccessAdmin.sol +87 -80
- package/contracts/authorization/IAuthorization.sol +9 -42
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +247 -33
- package/contracts/distribution/BasicDistribution.sol +13 -11
- package/contracts/distribution/BasicDistributionAuthorization.sol +29 -9
- package/contracts/distribution/Distribution.sol +18 -58
- package/contracts/distribution/DistributionService.sol +168 -77
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +34 -19
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +2 -7
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -5
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +26 -11
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +91 -17
- package/contracts/instance/IInstanceService.sol +50 -4
- package/contracts/instance/Instance.sol +159 -52
- package/contracts/instance/InstanceAdmin.sol +265 -170
- package/contracts/instance/InstanceAuthorizationV3.sol +75 -34
- package/contracts/instance/InstanceReader.sol +415 -379
- package/contracts/instance/InstanceService.sol +251 -144
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/RiskSet.sol +11 -12
- package/contracts/instance/base/BalanceStore.sol +3 -5
- package/contracts/instance/base/ObjectLifecycle.sol +0 -3
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +16 -5
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +4 -0
- package/contracts/oracle/BasicOracle.sol +1 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +1 -3
- package/contracts/oracle/OracleService.sol +20 -19
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +2 -15
- package/contracts/pool/BasicPoolAuthorization.sol +29 -16
- package/contracts/pool/BundleService.sol +55 -94
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +27 -32
- package/contracts/pool/IPoolService.sol +57 -40
- package/contracts/pool/Pool.sol +11 -23
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +192 -193
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +85 -17
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +31 -9
- package/contracts/product/ClaimService.sol +127 -169
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +23 -1
- package/contracts/product/IClaimService.sol +2 -3
- package/contracts/product/IPolicyService.sol +20 -8
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IRiskService.sol +11 -7
- package/contracts/product/PolicyService.sol +104 -195
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +38 -35
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +30 -21
- package/contracts/product/RiskService.sol +85 -29
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/IRegistry.sol +21 -19
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/Registry.sol +19 -8
- package/contracts/registry/RegistryAdmin.sol +100 -369
- package/contracts/registry/RegistryAuthorization.sol +284 -0
- package/contracts/registry/RegistryService.sol +4 -4
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +150 -116
- package/contracts/registry/ServiceAuthorizationV3.sol +159 -22
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +17 -26
- package/contracts/shared/ComponentService.sol +263 -283
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ContractLib.sol +163 -76
- package/contracts/shared/IComponent.sol +1 -5
- package/contracts/shared/IComponentService.sol +21 -26
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +15 -5
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -7
- package/contracts/shared/NftOwnable.sol +8 -6
- package/contracts/shared/PolicyHolder.sol +4 -3
- package/contracts/shared/Registerable.sol +42 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +13 -30
- package/contracts/shared/TokenHandler.sol +45 -92
- package/contracts/staking/IStaking.sol +41 -19
- package/contracts/staking/IStakingService.sol +21 -8
- package/contracts/staking/Staking.sol +159 -69
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +28 -19
- package/contracts/staking/StakingService.sol +74 -46
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +3 -2
- package/contracts/staking/TargetManagerLib.sol +1 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/ObjectType.sol +69 -52
- package/contracts/type/RiskId.sol +9 -3
- package/contracts/type/RoleId.sol +63 -45
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +27 -10
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +26 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -474
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
@@ -3,12 +3,13 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
5
5
|
|
6
|
+
import {IPolicyHolder} from "./IPolicyHolder.sol";
|
7
|
+
|
6
8
|
import {Amount} from "../type/Amount.sol";
|
7
9
|
import {ClaimId} from "../type/ClaimId.sol";
|
8
10
|
import {InitializableERC165} from "./InitializableERC165.sol";
|
9
|
-
import {IPolicyHolder} from "./IPolicyHolder.sol";
|
10
11
|
import {NftId} from "../type/NftId.sol";
|
11
|
-
import {PayoutId
|
12
|
+
import {PayoutId} from "../type/PayoutId.sol";
|
12
13
|
import {RegistryLinked} from "./RegistryLinked.sol";
|
13
14
|
import {Timestamp} from "../type/Timestamp.sol";
|
14
15
|
|
@@ -29,7 +30,7 @@ contract PolicyHolder is
|
|
29
30
|
virtual
|
30
31
|
onlyInitializing()
|
31
32
|
{
|
32
|
-
|
33
|
+
__RegistryLinked_init(registryAddress);
|
33
34
|
_initializeERC165();
|
34
35
|
_registerInterface(type(IPolicyHolder).interfaceId);
|
35
36
|
}
|
@@ -1,6 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
|
+
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
6
|
+
|
7
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
8
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
4
9
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
5
10
|
import {NftOwnable} from "../shared/NftOwnable.sol";
|
6
11
|
import {ObjectType} from "../type/ObjectType.sol";
|
@@ -8,13 +13,13 @@ import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
|
8
13
|
|
9
14
|
import {IRegistry} from "../registry/IRegistry.sol";
|
10
15
|
import {IRegisterable} from "./IRegisterable.sol";
|
16
|
+
import {IRelease} from "../registry/IRelease.sol";
|
11
17
|
|
12
|
-
contract Registerable is
|
18
|
+
abstract contract Registerable is
|
19
|
+
AccessManagedUpgradeable,
|
13
20
|
NftOwnable,
|
14
21
|
IRegisterable
|
15
22
|
{
|
16
|
-
uint256 public constant GIF_RELEASE = 3;
|
17
|
-
|
18
23
|
// keccak256(abi.encode(uint256(keccak256("gif-next.contracts.shared.Registerable.sol")) - 1)) & ~bytes32(uint256(0xff));
|
19
24
|
bytes32 public constant REGISTERABLE_LOCATION_V1 = 0x6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300;
|
20
25
|
|
@@ -25,7 +30,15 @@ contract Registerable is
|
|
25
30
|
bytes _data;
|
26
31
|
}
|
27
32
|
|
28
|
-
|
33
|
+
modifier onlyActive() {
|
34
|
+
if (!isActive()) {
|
35
|
+
revert ErrorRegisterableNotActive();
|
36
|
+
}
|
37
|
+
_;
|
38
|
+
}
|
39
|
+
|
40
|
+
function __Registerable_init(
|
41
|
+
address authority,
|
29
42
|
address registry,
|
30
43
|
NftId parentNftId,
|
31
44
|
ObjectType objectType,
|
@@ -37,25 +50,32 @@ contract Registerable is
|
|
37
50
|
virtual
|
38
51
|
onlyInitializing()
|
39
52
|
{
|
40
|
-
|
41
|
-
|
42
|
-
initialOwner);
|
43
|
-
|
44
|
-
RegisterableStorage storage $;
|
45
|
-
assembly {
|
46
|
-
$.slot := REGISTERABLE_LOCATION_V1
|
53
|
+
if (!ContractLib.isAuthority(authority)) {
|
54
|
+
revert ErrorAuthorityInvalid(authority);
|
47
55
|
}
|
48
56
|
|
57
|
+
__AccessManaged_init(authority);
|
58
|
+
__NftOwnable_init(registry, initialOwner);
|
59
|
+
|
60
|
+
RegisterableStorage storage $ = _getRegisterableStorage();
|
49
61
|
$._parentNftId = parentNftId;
|
50
62
|
$._objectType = objectType;
|
51
63
|
$._isInterceptor = isInterceptor;
|
52
64
|
$._data = data;
|
65
|
+
|
66
|
+
_registerInterface(type(IAccessManaged).interfaceId);
|
53
67
|
}
|
54
68
|
|
55
69
|
|
56
70
|
/// @inheritdoc IRegisterable
|
57
|
-
function
|
58
|
-
return
|
71
|
+
function isActive() public virtual view returns (bool active) {
|
72
|
+
return !AccessManagerCloneable(authority()).isTargetClosed(address(this));
|
73
|
+
}
|
74
|
+
|
75
|
+
|
76
|
+
/// @inheritdoc IRelease
|
77
|
+
function getRelease() public virtual view returns (VersionPart release) {
|
78
|
+
return AccessManagerCloneable(authority()).getRelease();
|
59
79
|
}
|
60
80
|
|
61
81
|
|
@@ -66,12 +86,8 @@ contract Registerable is
|
|
66
86
|
virtual
|
67
87
|
returns (IRegistry.ObjectInfo memory info)
|
68
88
|
{
|
69
|
-
RegisterableStorage storage
|
70
|
-
|
71
|
-
$.slot := REGISTERABLE_LOCATION_V1
|
72
|
-
}
|
73
|
-
|
74
|
-
info = IRegistry.ObjectInfo(
|
89
|
+
RegisterableStorage storage $ = _getRegisterableStorage();
|
90
|
+
return IRegistry.ObjectInfo(
|
75
91
|
NftIdLib.zero(),
|
76
92
|
$._parentNftId,
|
77
93
|
$._objectType,
|
@@ -80,4 +96,11 @@ contract Registerable is
|
|
80
96
|
getOwner(),
|
81
97
|
$._data);
|
82
98
|
}
|
99
|
+
|
100
|
+
|
101
|
+
function _getRegisterableStorage() private pure returns (RegisterableStorage storage $) {
|
102
|
+
assembly {
|
103
|
+
$.slot := REGISTERABLE_LOCATION_V1
|
104
|
+
}
|
105
|
+
}
|
83
106
|
}
|
@@ -1,17 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
|
-
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
6
4
|
import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
|
7
5
|
|
8
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
9
7
|
import {IService} from "./IService.sol";
|
10
8
|
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
11
|
-
import {ObjectType,
|
9
|
+
import {ObjectType, SERVICE} from "../type/ObjectType.sol";
|
12
10
|
import {Registerable} from "./Registerable.sol";
|
13
11
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
14
|
-
import {Version, VersionLib
|
12
|
+
import {Version, VersionLib} from "../type/Version.sol";
|
15
13
|
import {Versionable} from "../upgradeability/Versionable.sol";
|
16
14
|
|
17
15
|
|
@@ -19,14 +17,13 @@ import {Versionable} from "../upgradeability/Versionable.sol";
|
|
19
17
|
abstract contract Service is
|
20
18
|
Registerable,
|
21
19
|
Versionable,
|
22
|
-
AccessManagedUpgradeable,
|
23
20
|
ReentrancyGuardUpgradeable,
|
24
21
|
IService
|
25
22
|
{
|
26
23
|
|
27
|
-
function
|
28
|
-
address registry,
|
24
|
+
function __Service_init(
|
29
25
|
address authority, // real authority for registry service adress(0) for other services
|
26
|
+
address registry,
|
30
27
|
address initialOwner
|
31
28
|
)
|
32
29
|
internal
|
@@ -35,17 +32,8 @@ abstract contract Service is
|
|
35
32
|
{
|
36
33
|
__ReentrancyGuard_init();
|
37
34
|
|
38
|
-
|
39
|
-
|
40
|
-
__AccessManaged_init(authority);
|
41
|
-
} else {
|
42
|
-
address registryServiceAddress = _getServiceAddress(REGISTRY());
|
43
|
-
|
44
|
-
// copy authority from already registered registry services
|
45
|
-
__AccessManaged_init(IAccessManaged(registryServiceAddress).authority());
|
46
|
-
}
|
47
|
-
|
48
|
-
_initializeRegisterable(
|
35
|
+
__Registerable_init(
|
36
|
+
authority,
|
49
37
|
registry,
|
50
38
|
IRegistry(registry).getNftId(),
|
51
39
|
SERVICE(),
|
@@ -53,8 +41,6 @@ abstract contract Service is
|
|
53
41
|
initialOwner,
|
54
42
|
""); // data
|
55
43
|
|
56
|
-
|
57
|
-
_registerInterface(type(IAccessManaged).interfaceId);
|
58
44
|
_registerInterface(type(IService).interfaceId);
|
59
45
|
}
|
60
46
|
|
@@ -62,22 +48,19 @@ abstract contract Service is
|
|
62
48
|
return _getDomain();
|
63
49
|
}
|
64
50
|
|
65
|
-
function
|
66
|
-
return
|
51
|
+
function getVersion() public pure virtual override (IVersionable, Versionable) returns(Version) {
|
52
|
+
return VersionLib.toVersion(3, 0, 0);
|
67
53
|
}
|
68
54
|
|
69
|
-
|
70
|
-
function
|
71
|
-
|
72
|
-
pure
|
73
|
-
virtual override (IVersionable, Versionable)
|
74
|
-
returns(Version)
|
75
|
-
{
|
76
|
-
return VersionLib.toVersion(GIF_RELEASE,0,0);
|
55
|
+
|
56
|
+
function getRoleId() external virtual view returns(RoleId serviceRoleId) {
|
57
|
+
return RoleIdLib.toServiceRoleId(_getDomain(), getRelease());
|
77
58
|
}
|
78
59
|
|
60
|
+
//--- internal functions --------------------------------------------------------//
|
79
61
|
function _getDomain() internal virtual pure returns (ObjectType);
|
80
62
|
|
63
|
+
|
81
64
|
function _getServiceAddress(ObjectType domain) internal view returns (address) {
|
82
65
|
return getRegistry().getServiceAddress(domain, getRelease());
|
83
66
|
}
|
@@ -12,6 +12,10 @@ import {NftId} from "../type/NftId.sol";
|
|
12
12
|
import {SERVICE} from "../type/ObjectType.sol";
|
13
13
|
|
14
14
|
|
15
|
+
/// @dev Token specific transfer helper base contract.
|
16
|
+
/// A default token contract is provided via contract constructor.
|
17
|
+
/// Relies internally on OpenZeppelin SafeERC20.safeTransferFrom.
|
18
|
+
/// This base contract simplifies writing tests.
|
15
19
|
contract TokenHandlerBase {
|
16
20
|
|
17
21
|
// _setWallet
|
@@ -36,10 +40,6 @@ contract TokenHandlerBase {
|
|
36
40
|
// _approveTokenHandler
|
37
41
|
error ErrorTokenHandlerNotWallet(NftId nftId, address tokenHandler, address wallet);
|
38
42
|
|
39
|
-
// _pullAndPullToken
|
40
|
-
error ErrorTokenHandlerWalletsNotDistinct(address from, address to1, address to2);
|
41
|
-
error ErrorTokenHandlerPushAmountsTooLarge(Amount pushAmount, Amount pullAmount);
|
42
|
-
|
43
43
|
// _checkPreconditions
|
44
44
|
error ErrorTokenHandlerBalanceTooLow(address token, address from, uint256 balance, uint256 expectedBalance);
|
45
45
|
error ErrorTokenHandlerAllowanceTooSmall(address token, address from, address spender, uint256 allowance, uint256 expectedAllowance);
|
@@ -75,6 +75,23 @@ contract TokenHandlerBase {
|
|
75
75
|
}
|
76
76
|
|
77
77
|
TOKEN = IERC20Metadata(token);
|
78
|
+
|
79
|
+
// self approval of token handler to max amount
|
80
|
+
_approve(TOKEN, AmountLib.max());
|
81
|
+
}
|
82
|
+
|
83
|
+
|
84
|
+
/// @dev Checks the balance and allowance for the from address and amount.
|
85
|
+
/// When requiring amount > 0 set checkAmount to true.
|
86
|
+
function checkBalanceAndAllowance(
|
87
|
+
address from,
|
88
|
+
Amount amount,
|
89
|
+
bool checkAmount
|
90
|
+
)
|
91
|
+
external
|
92
|
+
view
|
93
|
+
{
|
94
|
+
_checkBalanceAndAllowance(from, amount, checkAmount);
|
78
95
|
}
|
79
96
|
|
80
97
|
|
@@ -159,33 +176,6 @@ contract TokenHandlerBase {
|
|
159
176
|
}
|
160
177
|
|
161
178
|
|
162
|
-
function _pullAndPushToken(
|
163
|
-
address from,
|
164
|
-
Amount pullAmount,
|
165
|
-
address to1,
|
166
|
-
Amount amount1,
|
167
|
-
address to2,
|
168
|
-
Amount amount2
|
169
|
-
)
|
170
|
-
internal
|
171
|
-
{
|
172
|
-
address wallet = getWallet();
|
173
|
-
|
174
|
-
if (wallet == to1 || wallet == to2 || to1 == to2) {
|
175
|
-
revert ErrorTokenHandlerWalletsNotDistinct(wallet, to1, to2);
|
176
|
-
}
|
177
|
-
|
178
|
-
if (amount1 + amount2 > pullAmount) {
|
179
|
-
revert ErrorTokenHandlerPushAmountsTooLarge(amount1 + amount2, pullAmount);
|
180
|
-
}
|
181
|
-
|
182
|
-
_pullToken(from, pullAmount);
|
183
|
-
|
184
|
-
if (amount1.gtz()) { _pushToken(to1, amount1); }
|
185
|
-
if (amount2.gtz()) { _pushToken(to2, amount2); }
|
186
|
-
}
|
187
|
-
|
188
|
-
|
189
179
|
function _pullToken(address from, Amount amount)
|
190
180
|
internal
|
191
181
|
{
|
@@ -209,8 +199,8 @@ contract TokenHandlerBase {
|
|
209
199
|
internal
|
210
200
|
{
|
211
201
|
if (checkPreconditions) {
|
212
|
-
|
213
|
-
|
202
|
+
bool checkAmount = true;
|
203
|
+
_checkBalanceAndAllowance(from, amount, checkAmount);
|
214
204
|
}
|
215
205
|
|
216
206
|
// transfer the tokens
|
@@ -224,15 +214,16 @@ contract TokenHandlerBase {
|
|
224
214
|
}
|
225
215
|
|
226
216
|
|
227
|
-
function
|
217
|
+
function _checkBalanceAndAllowance(
|
228
218
|
address from,
|
229
|
-
Amount amount
|
219
|
+
Amount amount,
|
220
|
+
bool checkAmount
|
230
221
|
)
|
231
222
|
internal
|
232
223
|
view
|
233
224
|
{
|
234
225
|
// amount must be greater than zero
|
235
|
-
if (amount.eqz()) {
|
226
|
+
if (checkAmount && amount.eqz()) {
|
236
227
|
revert ErrorTokenHandlerAmountIsZero();
|
237
228
|
}
|
238
229
|
|
@@ -251,9 +242,9 @@ contract TokenHandlerBase {
|
|
251
242
|
}
|
252
243
|
|
253
244
|
|
254
|
-
/// @dev Token specific transfer helper
|
255
|
-
///
|
256
|
-
///
|
245
|
+
/// @dev Token specific transfer helper.
|
246
|
+
/// Contract is derived from TokenHandlerBase and adds
|
247
|
+
/// authorization based on OpenZeppelin AccessManaged.
|
257
248
|
contract TokenHandler is
|
258
249
|
AccessManaged,
|
259
250
|
TokenHandlerBase
|
@@ -262,9 +253,6 @@ contract TokenHandler is
|
|
262
253
|
// onlyService
|
263
254
|
error ErrorTokenHandlerNotService(address service);
|
264
255
|
|
265
|
-
// TODO delete
|
266
|
-
error ErrorTokenHandlerRecipientWalletsMustBeDistinct(address to, address to2, address to3);
|
267
|
-
|
268
256
|
modifier onlyService() {
|
269
257
|
if (!REGISTRY.isObjectType(msg.sender, SERVICE())) {
|
270
258
|
revert ErrorTokenHandlerNotService(msg.sender);
|
@@ -282,14 +270,15 @@ contract TokenHandler is
|
|
282
270
|
AccessManaged(authority)
|
283
271
|
{ }
|
284
272
|
|
285
|
-
/// @dev
|
286
|
-
///
|
287
|
-
///
|
273
|
+
/// @dev Sets the wallet address for the component.
|
274
|
+
/// Seeting the new wallet address to address(0) will set the wallet to the tokenHandler contract itself.
|
275
|
+
/// If the current wallet has tokens, these will be transferred.
|
276
|
+
/// If the new wallet address is externally owned, an approval from the
|
288
277
|
/// owner of the external wallet to the tokenhandler of the component that
|
289
|
-
/// covers the current component balance must exist
|
278
|
+
/// covers the current component balance must exist.
|
290
279
|
function setWallet(address newWallet)
|
291
280
|
external
|
292
|
-
|
281
|
+
restricted()
|
293
282
|
onlyService()
|
294
283
|
{
|
295
284
|
_setWallet(newWallet);
|
@@ -305,7 +294,7 @@ contract TokenHandler is
|
|
305
294
|
Amount amount
|
306
295
|
)
|
307
296
|
external
|
308
|
-
|
297
|
+
restricted()
|
309
298
|
onlyService()
|
310
299
|
{
|
311
300
|
_approve(token, amount);
|
@@ -313,69 +302,34 @@ contract TokenHandler is
|
|
313
302
|
|
314
303
|
/// @dev Collect tokens from outside of GIF and transfer them to the wallet.
|
315
304
|
/// This method also checks balance and allowance and makes sure the amount is greater than zero.
|
316
|
-
function
|
305
|
+
function pullToken(
|
317
306
|
address from,
|
318
307
|
Amount amount
|
319
308
|
)
|
320
309
|
external
|
321
|
-
|
310
|
+
restricted()
|
322
311
|
onlyService()
|
323
312
|
{
|
324
313
|
_pullToken(from, amount);
|
325
314
|
}
|
326
315
|
|
327
316
|
|
328
|
-
/// @dev
|
329
|
-
/// This method also checks balance and allowance and makes sure the amount is greater than zero.
|
317
|
+
/// @dev Distribute tokens from a wallet within the scope of gif to some address.
|
330
318
|
function pushToken(
|
331
|
-
address from,
|
332
|
-
Amount amount
|
333
|
-
)
|
334
|
-
external
|
335
|
-
// restricted() // TODO re-activate
|
336
|
-
onlyService()
|
337
|
-
{
|
338
|
-
_pushToken(from, amount);
|
339
|
-
}
|
340
|
-
|
341
|
-
|
342
|
-
/// @dev collect tokens from outside of the gif and transfer them to three distinct wallets within the scope of gif
|
343
|
-
/// This method also checks balance and allowance and makes sure the amount is greater than zero.
|
344
|
-
function collectTokensToThreeRecipients(
|
345
|
-
address from,
|
346
319
|
address to,
|
347
|
-
Amount amount
|
348
|
-
address to2,
|
349
|
-
Amount amount2,
|
350
|
-
address to3,
|
351
|
-
Amount amount3
|
320
|
+
Amount amount
|
352
321
|
)
|
353
322
|
external
|
354
323
|
restricted()
|
355
324
|
onlyService()
|
356
325
|
{
|
357
|
-
|
358
|
-
revert ErrorTokenHandlerRecipientWalletsMustBeDistinct(to, to2, to3);
|
359
|
-
}
|
360
|
-
|
361
|
-
_checkPreconditions(from, amount + amount2 + amount3);
|
362
|
-
|
363
|
-
if (amount.gtz()) {
|
364
|
-
_transfer(from, to, amount, false);
|
365
|
-
}
|
366
|
-
if (amount2.gtz()) {
|
367
|
-
_transfer(from, to2, amount2, false);
|
368
|
-
}
|
369
|
-
if (amount3.gtz()) {
|
370
|
-
_transfer(from, to3, amount3, false);
|
371
|
-
}
|
326
|
+
_pushToken(to, amount);
|
372
327
|
}
|
373
328
|
|
374
329
|
|
375
|
-
/// @dev
|
376
|
-
///
|
377
|
-
function
|
378
|
-
address from,
|
330
|
+
/// @dev Distribute fee tokens from a wallet within the scope of gif to some address.
|
331
|
+
/// Separate push function for component service.
|
332
|
+
function pushFeeToken(
|
379
333
|
address to,
|
380
334
|
Amount amount
|
381
335
|
)
|
@@ -383,7 +337,6 @@ contract TokenHandler is
|
|
383
337
|
restricted()
|
384
338
|
onlyService()
|
385
339
|
{
|
386
|
-
// _transfer(from, to, amount, true);
|
387
340
|
_pushToken(to, amount);
|
388
341
|
}
|
389
342
|
}
|
@@ -1,9 +1,12 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
5
6
|
import {IComponent} from "../shared/IComponent.sol";
|
6
7
|
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
8
|
+
|
9
|
+
import {Amount} from "../type/Amount.sol";
|
7
10
|
import {NftId} from "../type/NftId.sol";
|
8
11
|
import {ObjectType} from "../type/ObjectType.sol";
|
9
12
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -19,9 +22,17 @@ interface IStaking is
|
|
19
22
|
// staking rate
|
20
23
|
event LogStakingStakingRateSet(uint256 chainId, address token, UFixed oldStakingRate, UFixed newStakingRate);
|
21
24
|
|
25
|
+
// protocol parameters
|
26
|
+
event LogStakingProtocolLockingPeriodSet(NftId targetNftId, Seconds oldLockingPeriod, Seconds lockingPeriod);
|
27
|
+
event LogStakingProtocolRewardRateSet(NftId targetNftId, UFixed oldRewardRate, UFixed rewardRate);
|
28
|
+
|
29
|
+
// targets
|
30
|
+
event LogStakingTargetRegistered(NftId targetNftId, ObjectType objectType, Seconds lockingPeriod, UFixed rewardRate, Amount maxStakedAmount);
|
31
|
+
|
22
32
|
// target parameters
|
23
33
|
event LogStakingLockingPeriodSet(NftId targetNftId, Seconds oldLockingPeriod, Seconds lockingPeriod);
|
24
34
|
event LogStakingRewardRateSet(NftId targetNftId, UFixed oldRewardRate, UFixed rewardRate);
|
35
|
+
event LogStakingMaxStakedAmountSet(NftId targetNftId, Amount maxStakedAmount);
|
25
36
|
|
26
37
|
// modifiers
|
27
38
|
error ErrorStakingNotStake(NftId stakeNftId);
|
@@ -51,32 +62,49 @@ interface IStaking is
|
|
51
62
|
error ErrorStakingRewardRateTooHigh(NftId targetNftId, UFixed maxRewardRate, UFixed rewardRate);
|
52
63
|
error ErrorStakingTargetNotFound(NftId targetNftId);
|
53
64
|
error ErrorStakingTargetTokenNotFound(NftId targetNftId, uint256 chainId, address token);
|
65
|
+
error ErrorStakingTargetMaxStakedAmountExceeded(NftId targetNftId, Amount maxStakedAmount, Amount stakedAmount);
|
54
66
|
|
55
|
-
error ErrorStakingTargetNotActive(NftId targetNftId);
|
56
67
|
error ErrorStakingStakeAmountZero(NftId targetNftId);
|
57
68
|
|
58
69
|
// info for individual stake
|
59
70
|
struct StakeInfo {
|
71
|
+
// slot 0
|
60
72
|
Timestamp lockedUntil;
|
61
73
|
}
|
62
74
|
|
63
75
|
struct TargetInfo {
|
76
|
+
// Slot 0
|
77
|
+
UFixed rewardRate;
|
78
|
+
Amount maxStakedAmount;
|
79
|
+
// Slot 1
|
64
80
|
ObjectType objectType;
|
65
|
-
uint256 chainId;
|
66
81
|
Seconds lockingPeriod;
|
67
|
-
|
82
|
+
// Slot 2
|
83
|
+
uint256 chainId;
|
68
84
|
}
|
69
85
|
|
70
86
|
function initializeTokenHandler() external;
|
71
87
|
|
72
|
-
|
88
|
+
//--- only owner functions -------------------------------------------//
|
73
89
|
|
74
|
-
/// @dev
|
75
|
-
|
90
|
+
/// @dev Set the stake locking period for protocol stakes to the specified duration.
|
91
|
+
function setProtocolLockingPeriod(Seconds lockingPeriod) external;
|
92
|
+
|
93
|
+
/// @dev Set the protocol reward rate.
|
94
|
+
function setProtocolRewardRate(UFixed rewardRate) external;
|
95
|
+
|
96
|
+
/// @dev Set the staking rate for the specified chain and token.
|
97
|
+
/// The staking rate defines the amount of staked dips required to back up 1 token of total value locked.
|
76
98
|
function setStakingRate(uint256 chainId, address token, UFixed stakingRate) external;
|
77
99
|
|
100
|
+
/// @dev Sets/updates the staking reader contract.
|
101
|
+
function setStakingReader(StakingReader stakingReader) external;
|
102
|
+
|
103
|
+
/// @dev Set the approval to the token handler.
|
104
|
+
/// Defines the max allowance from the staking wallet to the token handler.
|
105
|
+
function approveTokenHandler(IERC20Metadata token, Amount amount) external;
|
78
106
|
|
79
|
-
|
107
|
+
//--- target management ----------------------------------------------//
|
80
108
|
|
81
109
|
function registerTarget(
|
82
110
|
NftId targetNftId,
|
@@ -95,6 +123,10 @@ interface IStaking is
|
|
95
123
|
/// permissioned: only the staking service may call this function
|
96
124
|
function setRewardRate(NftId targetNftId, UFixed rewardRate) external;
|
97
125
|
|
126
|
+
/// @dev set the maximum staked amount for the specified target.
|
127
|
+
/// permissioned: only the staking service may call this function
|
128
|
+
function setMaxStakedAmount(NftId targetNftId, Amount maxStakedAmount) external;
|
129
|
+
|
98
130
|
/// @dev (re)fills the staking reward reserves for the specified target
|
99
131
|
/// unpermissioned: anybody may fill up staking reward reserves
|
100
132
|
function refillRewardReserves(NftId targetNftId, Amount dipAmount) external returns (Amount newBalance);
|
@@ -103,13 +135,11 @@ interface IStaking is
|
|
103
135
|
/// permissioned: only the staking service may call this function
|
104
136
|
function withdrawRewardReserves(NftId targetNftId, Amount dipAmount) external returns (Amount newBalance);
|
105
137
|
|
106
|
-
|
107
138
|
/// @dev increases the total value locked amount for the specified target by the provided token amount.
|
108
139
|
/// function is called when a new policy is collateralized.
|
109
140
|
/// function restricted to the pool service.
|
110
141
|
function increaseTotalValueLocked(NftId targetNftId, address token, Amount amount) external returns (Amount newBalance);
|
111
142
|
|
112
|
-
|
113
143
|
/// @dev decreases the total value locked amount for the specified target by the provided token amount.
|
114
144
|
/// function is called when a new policy is closed or payouts are executed.
|
115
145
|
/// function restricted to the pool service.
|
@@ -132,7 +162,7 @@ interface IStaking is
|
|
132
162
|
/// @dev restakes the dips to a new target.
|
133
163
|
/// the sum of the staked dips and the accumulated rewards will be restaked.
|
134
164
|
/// permissioned: only staking service may call this function.
|
135
|
-
function restake(NftId stakeNftId, NftId
|
165
|
+
function restake(NftId stakeNftId, NftId newStakeNftId) external returns (Amount newStakeBalance);
|
136
166
|
|
137
167
|
/// @dev retuns the specified amount of dips to the holder of the specified stake nft.
|
138
168
|
/// if dipAmount is set to Amount.max() all staked dips and all rewards are transferred to
|
@@ -158,14 +188,6 @@ interface IStaking is
|
|
158
188
|
Amount rewardsClaimedAmount
|
159
189
|
);
|
160
190
|
|
161
|
-
//--- helper functions --------------------------------------------------//
|
162
|
-
|
163
|
-
// /// @dev transfers the specified amount of dips from the from address to the staking wallet.
|
164
|
-
// function collectDipAmount(address from, Amount dipAmount) external;
|
165
|
-
|
166
|
-
// /// @dev transfers the specified amount of dips from the staking wallet to the to addess.
|
167
|
-
// function transferDipAmount(address to, Amount dipAmount) external;
|
168
|
-
|
169
191
|
//--- view and pure functions -------------------------------------------//
|
170
192
|
|
171
193
|
function getStakingStore() external view returns (StakingStore stakingStore);
|