@etherisc/gif-next 0.0.2-a755cba-665 → 0.0.2-a7722ab-390
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/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +63 -56
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +29 -31
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +27 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +449 -248
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -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 +222 -21
- 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 +348 -184
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +100 -13
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -146
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +207 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +38 -94
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +257 -171
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +66 -60
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +25 -81
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +155 -68
- 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 +67 -63
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +221 -210
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +207 -33
- 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 +121 -162
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +207 -33
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +75 -68
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +78 -71
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +233 -173
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +207 -33
- 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 +157 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +107 -8
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +186 -53
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +672 -320
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +188 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +374 -202
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +120 -84
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +26 -38
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +422 -362
- 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 +60 -51
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +189 -35
- 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 +30 -21
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +44 -35
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +75 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +34 -36
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +43 -34
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +188 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +102 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +42 -64
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -80
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +30 -21
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +120 -175
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +43 -34
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +236 -281
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +70 -56
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +123 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +37 -27
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +149 -125
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +207 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +119 -178
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +56 -66
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +69 -3
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +27 -21
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -68
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +48 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +136 -112
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +58 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +193 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +54 -56
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +106 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +40 -42
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +149 -125
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +131 -81
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +46 -28
- 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 +26 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- 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 +64 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +548 -429
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +22 -24
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -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 +323 -53
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +43 -34
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +120 -138
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +47 -49
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +113 -4
- 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 +30 -21
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +44 -45
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +30 -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/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 +120 -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 +27 -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 +43 -34
- 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 +2 -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 +118 -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 +27 -16
- 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 +104 -30
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +127 -3
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +159 -87
- 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 +44 -32
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +30 -57
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +166 -51
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +31 -29
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +142 -128
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +32 -22
- 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/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 +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 +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- 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/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/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/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +3 -4
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +293 -204
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +307 -231
- package/contracts/authorization/IAccessAdmin.sol +69 -36
- package/contracts/authorization/IAuthorization.sol +21 -1
- package/contracts/distribution/BasicDistribution.sol +13 -11
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +13 -56
- package/contracts/distribution/DistributionService.sol +58 -30
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +18 -15
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +4 -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 +15 -8
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +51 -16
- package/contracts/instance/IInstanceService.sol +20 -2
- package/contracts/instance/Instance.sol +90 -25
- package/contracts/instance/InstanceAdmin.sol +261 -99
- package/contracts/instance/InstanceAuthorizationV3.sol +48 -36
- package/contracts/instance/InstanceReader.sol +103 -34
- package/contracts/instance/InstanceService.sol +154 -87
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +11 -12
- package/contracts/instance/base/ObjectLifecycle.sol +2 -1
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -3
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +1 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/Oracle.sol +1 -3
- package/contracts/oracle/OracleService.sol +16 -15
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +0 -2
- package/contracts/pool/BasicPoolAuthorization.sol +21 -13
- package/contracts/pool/BundleService.sol +28 -58
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -19
- package/contracts/pool/IPoolService.sol +50 -38
- package/contracts/pool/Pool.sol +9 -11
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +294 -154
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +24 -9
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -2
- package/contracts/product/BasicProductAuthorization.sol +23 -8
- package/contracts/product/ClaimService.sol +83 -134
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +3 -0
- package/contracts/product/IClaimService.sol +1 -2
- package/contracts/product/IPolicyService.sol +11 -6
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +86 -158
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +28 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +33 -17
- package/contracts/product/RiskService.sol +76 -29
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/IRegistry.sol +8 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +7 -2
- package/contracts/registry/RegistryAdmin.sol +143 -342
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +146 -115
- package/contracts/registry/ServiceAuthorizationV3.sol +126 -2
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +17 -26
- package/contracts/shared/ComponentService.sol +141 -129
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +60 -3
- package/contracts/shared/IComponent.sol +0 -4
- package/contracts/shared/IComponentService.sol +7 -11
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +2 -4
- package/contracts/shared/NftOwnable.sol +5 -5
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +42 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +45 -92
- package/contracts/staking/IStaking.sol +12 -10
- package/contracts/staking/IStakingService.sol +16 -1
- package/contracts/staking/Staking.sol +59 -28
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +6 -16
- package/contracts/staking/StakingService.sol +68 -44
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/ObjectType.sol +47 -39
- package/contracts/type/RiskId.sol +9 -3
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +2 -2
- 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/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
@@ -32,6 +32,28 @@ contract StakingService is
|
|
32
32
|
TokenHandler _tokenHandler;
|
33
33
|
}
|
34
34
|
|
35
|
+
|
36
|
+
modifier onlyStaking() {
|
37
|
+
if (msg.sender != address(_getStakingServiceStorage()._staking)) {
|
38
|
+
revert ErrorStakingServiceNotStaking(msg.sender);
|
39
|
+
}
|
40
|
+
_;
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
function approveTokenHandler(
|
45
|
+
IERC20Metadata token,
|
46
|
+
Amount amount
|
47
|
+
)
|
48
|
+
external
|
49
|
+
virtual
|
50
|
+
onlyStaking()
|
51
|
+
{
|
52
|
+
_getStakingServiceStorage()._tokenHandler.approve(
|
53
|
+
token, amount);
|
54
|
+
}
|
55
|
+
|
56
|
+
|
35
57
|
function createInstanceTarget(
|
36
58
|
NftId targetNftId,
|
37
59
|
Seconds initialLockingPeriod,
|
@@ -76,6 +98,17 @@ contract StakingService is
|
|
76
98
|
rewardRate);
|
77
99
|
}
|
78
100
|
|
101
|
+
function setInstanceMaxStakedAmount(NftId instanceNftId, Amount maxStakingAmount)
|
102
|
+
external
|
103
|
+
virtual
|
104
|
+
restricted()
|
105
|
+
{
|
106
|
+
_checkNftType(instanceNftId, INSTANCE());
|
107
|
+
_getStakingServiceStorage()._staking.setMaxStakedAmount(
|
108
|
+
instanceNftId,
|
109
|
+
maxStakingAmount);
|
110
|
+
}
|
111
|
+
|
79
112
|
|
80
113
|
function refillInstanceRewardReserves(NftId instanceNftId, address rewardProvider, Amount dipAmount)
|
81
114
|
external
|
@@ -113,8 +146,7 @@ contract StakingService is
|
|
113
146
|
// transfer withdrawal amount to target owner
|
114
147
|
address instanceOwner = getRegistry().ownerOf(instanceNftId);
|
115
148
|
emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
|
116
|
-
|
117
|
-
$._staking.getTokenHandler(),
|
149
|
+
$._tokenHandler.pushToken(
|
118
150
|
instanceOwner,
|
119
151
|
dipAmount);
|
120
152
|
}
|
@@ -162,39 +194,11 @@ contract StakingService is
|
|
162
194
|
emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
|
163
195
|
|
164
196
|
// collect staked dip by staking
|
165
|
-
|
166
|
-
$._staking.getTokenHandler(),
|
197
|
+
$._tokenHandler.pullToken(
|
167
198
|
stakeOwner,
|
168
199
|
dipAmount);
|
169
200
|
}
|
170
201
|
|
171
|
-
function _collectToken(
|
172
|
-
TokenHandler tokenHandler,
|
173
|
-
address from,
|
174
|
-
Amount amount
|
175
|
-
)
|
176
|
-
internal
|
177
|
-
virtual
|
178
|
-
{
|
179
|
-
tokenHandler.collectTokens(
|
180
|
-
from,
|
181
|
-
amount);
|
182
|
-
}
|
183
|
-
|
184
|
-
function _distributeToken(
|
185
|
-
TokenHandler tokenHandler,
|
186
|
-
address to,
|
187
|
-
Amount amount
|
188
|
-
)
|
189
|
-
internal
|
190
|
-
virtual
|
191
|
-
{
|
192
|
-
tokenHandler.distributeTokens(
|
193
|
-
tokenHandler.getWallet(),
|
194
|
-
to,
|
195
|
-
amount);
|
196
|
-
}
|
197
|
-
|
198
202
|
|
199
203
|
function stake(
|
200
204
|
NftId stakeNftId,
|
@@ -218,8 +222,7 @@ contract StakingService is
|
|
218
222
|
// collect staked dip by staking
|
219
223
|
if (dipAmount.gtz()) {
|
220
224
|
emit LogStakingServiceStakeIncreased(stakeNftId, stakeOwner, dipAmount, stakeBalance);
|
221
|
-
|
222
|
-
$._staking.getTokenHandler(),
|
225
|
+
$._tokenHandler.pullToken(
|
223
226
|
stakeOwner,
|
224
227
|
dipAmount);
|
225
228
|
}
|
@@ -235,13 +238,36 @@ contract StakingService is
|
|
235
238
|
restricted()
|
236
239
|
onlyNftOwner(stakeNftId)
|
237
240
|
returns (
|
238
|
-
NftId newStakeNftId
|
241
|
+
NftId newStakeNftId,
|
242
|
+
Amount newStakeBalance
|
239
243
|
)
|
240
244
|
{
|
241
245
|
_checkNftType(stakeNftId, STAKE());
|
242
246
|
|
243
247
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
244
|
-
|
248
|
+
address stakeOwner = msg.sender;
|
249
|
+
|
250
|
+
if (! getRegistry().isRegistered(newTargetNftId)) {
|
251
|
+
revert ErrorStakingServiceTargetUnknown(newTargetNftId);
|
252
|
+
}
|
253
|
+
|
254
|
+
// register new stake object with registry
|
255
|
+
newStakeNftId = $._registryService.registerStake(
|
256
|
+
IRegistry.ObjectInfo({
|
257
|
+
nftId: NftIdLib.zero(),
|
258
|
+
parentNftId: newTargetNftId,
|
259
|
+
objectType: STAKE(),
|
260
|
+
isInterceptor: false,
|
261
|
+
objectAddress: address(0),
|
262
|
+
initialOwner: stakeOwner,
|
263
|
+
data: ""
|
264
|
+
}));
|
265
|
+
|
266
|
+
newStakeBalance = $._staking.restake(
|
267
|
+
stakeNftId,
|
268
|
+
newStakeNftId);
|
269
|
+
|
270
|
+
emit LogStakingServiceStakeRestaked(stakeOwner, stakeNftId, newStakeNftId, newTargetNftId, newStakeBalance);
|
245
271
|
}
|
246
272
|
|
247
273
|
|
@@ -274,8 +300,7 @@ contract StakingService is
|
|
274
300
|
|
275
301
|
Amount rewardsClaimedAmount = $._staking.claimRewards(stakeNftId);
|
276
302
|
emit LogStakingServiceRewardsClaimed(stakeNftId, stakeOwner, rewardsClaimedAmount);
|
277
|
-
|
278
|
-
$._staking.getTokenHandler(),
|
303
|
+
$._tokenHandler.pushToken(
|
279
304
|
stakeOwner,
|
280
305
|
rewardsClaimedAmount);
|
281
306
|
}
|
@@ -300,7 +325,7 @@ contract StakingService is
|
|
300
325
|
Amount totalAmount = unstakedAmount + rewardsClaimedAmount;
|
301
326
|
emit LogStakingServiceUnstaked(stakeNftId, stakeOwner, totalAmount);
|
302
327
|
|
303
|
-
$.
|
328
|
+
$._tokenHandler.pushToken(
|
304
329
|
stakeOwner,
|
305
330
|
totalAmount);
|
306
331
|
}
|
@@ -359,15 +384,15 @@ contract StakingService is
|
|
359
384
|
{
|
360
385
|
(
|
361
386
|
address authority,
|
362
|
-
address
|
363
|
-
address
|
387
|
+
address registry,
|
388
|
+
address staking
|
364
389
|
) = abi.decode(data, (address, address, address));
|
365
390
|
|
366
|
-
|
391
|
+
__Service_init(authority, registry, owner);
|
367
392
|
|
368
393
|
StakingServiceStorage storage $ = _getStakingServiceStorage();
|
369
394
|
$._registryService = RegistryService(_getServiceAddress(REGISTRY()));
|
370
|
-
$._staking = _registerStaking(
|
395
|
+
$._staking = _registerStaking(staking);
|
371
396
|
$._dip = $._staking.getToken();
|
372
397
|
$._tokenHandler = $._staking.getTokenHandler();
|
373
398
|
|
@@ -420,8 +445,7 @@ contract StakingService is
|
|
420
445
|
emit LogStakingServiceRewardReservesIncreased(targetNftId, rewardProvider, dipAmount, newBalance);
|
421
446
|
|
422
447
|
// collect reward dip from provider
|
423
|
-
|
424
|
-
$._staking.getTokenHandler(),
|
448
|
+
$._tokenHandler.pullToken(
|
425
449
|
rewardProvider,
|
426
450
|
dipAmount);
|
427
451
|
}
|
@@ -15,17 +15,18 @@ contract StakingServiceManager is
|
|
15
15
|
/// @dev initializes proxy manager with service implementation
|
16
16
|
constructor(
|
17
17
|
address authority,
|
18
|
-
address
|
18
|
+
address registry,
|
19
19
|
bytes32 salt
|
20
20
|
)
|
21
21
|
{
|
22
22
|
StakingService svc = new StakingService();
|
23
23
|
bytes memory data = abi.encode(
|
24
24
|
authority,
|
25
|
-
|
26
|
-
IRegistry(
|
25
|
+
registry,
|
26
|
+
IRegistry(registry).getStakingAddress());
|
27
|
+
|
27
28
|
IVersionable versionable = initialize(
|
28
|
-
|
29
|
+
registry,
|
29
30
|
address(svc),
|
30
31
|
data,
|
31
32
|
salt);
|
@@ -91,7 +91,8 @@ contract StakingStore is
|
|
91
91
|
objectType: PROTOCOL(),
|
92
92
|
chainId: 1,
|
93
93
|
lockingPeriod: TargetManagerLib.getDefaultLockingPeriod(),
|
94
|
-
rewardRate: TargetManagerLib.getDefaultRewardRate()
|
94
|
+
rewardRate: TargetManagerLib.getDefaultRewardRate(),
|
95
|
+
maxStakedAmount: AmountLib.max()}));
|
95
96
|
}
|
96
97
|
|
97
98
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {VersionPart} from "./Version.sol";
|
5
|
+
|
4
6
|
type ObjectType is uint8;
|
5
7
|
|
6
8
|
// type bindings
|
@@ -44,10 +46,16 @@ function INSTANCE() pure returns (ObjectType) {
|
|
44
46
|
return ObjectType.wrap(10);
|
45
47
|
}
|
46
48
|
|
49
|
+
/// @dev Generic component object type.
|
50
|
+
/// Component role id range is 11-19.
|
51
|
+
/// Stick to this range for new component object types.
|
47
52
|
function COMPONENT() pure returns (ObjectType) {
|
48
53
|
return ObjectType.wrap(11);
|
49
54
|
}
|
50
55
|
|
56
|
+
/// @dev Product object type.
|
57
|
+
/// IMPORTANT the actual value has an influence on the corresponding role id (RoleIdLib.sol).
|
58
|
+
/// Do not change this value without updating the corresponding role id calculation.
|
51
59
|
function PRODUCT() pure returns (ObjectType) {
|
52
60
|
return ObjectType.wrap(12);
|
53
61
|
}
|
@@ -64,6 +72,8 @@ function POOL() pure returns (ObjectType) {
|
|
64
72
|
return ObjectType.wrap(15);
|
65
73
|
}
|
66
74
|
|
75
|
+
/// @dev Application object type.
|
76
|
+
/// Range for NFT objects created thorugh components is 20-29.
|
67
77
|
function APPLICATION() pure returns (ObjectType) {
|
68
78
|
return ObjectType.wrap(20);
|
69
79
|
}
|
@@ -72,60 +82,69 @@ function POLICY() pure returns (ObjectType) {
|
|
72
82
|
return ObjectType.wrap(21);
|
73
83
|
}
|
74
84
|
|
75
|
-
function
|
85
|
+
function BUNDLE() pure returns (ObjectType) {
|
76
86
|
return ObjectType.wrap(22);
|
77
87
|
}
|
78
88
|
|
79
|
-
function
|
89
|
+
function DISTRIBUTOR() pure returns (ObjectType) {
|
80
90
|
return ObjectType.wrap(23);
|
81
91
|
}
|
82
92
|
|
83
|
-
|
84
|
-
|
93
|
+
/// @dev Stake object type.
|
94
|
+
/// NFT object type is 30
|
95
|
+
function STAKE() pure returns (ObjectType) {
|
96
|
+
return ObjectType.wrap(30);
|
85
97
|
}
|
86
98
|
|
87
|
-
|
88
|
-
|
99
|
+
/// @dev Staking target object type.
|
100
|
+
function TARGET() pure returns (ObjectType) {
|
101
|
+
return ObjectType.wrap(31);
|
89
102
|
}
|
90
103
|
|
91
|
-
|
92
|
-
|
104
|
+
/// @dev Accounting object type.
|
105
|
+
/// Range for non-NFT types created through components is 40+
|
106
|
+
function ACCOUNTING() pure returns (ObjectType) {
|
107
|
+
return ObjectType.wrap(40);
|
93
108
|
}
|
94
109
|
|
95
|
-
function
|
96
|
-
return ObjectType.wrap(
|
110
|
+
function FEE() pure returns (ObjectType) {
|
111
|
+
return ObjectType.wrap(41);
|
97
112
|
}
|
98
113
|
|
99
|
-
function
|
100
|
-
return ObjectType.wrap(
|
114
|
+
function PRICE() pure returns (ObjectType) {
|
115
|
+
return ObjectType.wrap(42);
|
101
116
|
}
|
102
117
|
|
103
|
-
function
|
104
|
-
return ObjectType.wrap(
|
118
|
+
function PREMIUM() pure returns (ObjectType) {
|
119
|
+
return ObjectType.wrap(43);
|
105
120
|
}
|
106
121
|
|
107
|
-
function
|
108
|
-
return ObjectType.wrap(
|
122
|
+
function RISK() pure returns (ObjectType) {
|
123
|
+
return ObjectType.wrap(44);
|
109
124
|
}
|
110
125
|
|
111
|
-
function
|
112
|
-
return ObjectType.wrap(
|
126
|
+
function CLAIM() pure returns (ObjectType) {
|
127
|
+
return ObjectType.wrap(45);
|
113
128
|
}
|
114
129
|
|
115
|
-
function
|
116
|
-
return ObjectType.wrap(
|
130
|
+
function PAYOUT() pure returns (ObjectType) {
|
131
|
+
return ObjectType.wrap(46);
|
117
132
|
}
|
118
133
|
|
119
|
-
function
|
120
|
-
return ObjectType.wrap(
|
134
|
+
function REQUEST() pure returns (ObjectType) {
|
135
|
+
return ObjectType.wrap(47);
|
121
136
|
}
|
122
137
|
|
123
|
-
|
124
|
-
|
125
|
-
|
138
|
+
function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
|
139
|
+
return ObjectType.wrap(48);
|
140
|
+
}
|
141
|
+
|
142
|
+
function REFERRAL() pure returns (ObjectType) {
|
143
|
+
return ObjectType.wrap(49);
|
126
144
|
}
|
127
145
|
|
128
146
|
|
147
|
+
|
129
148
|
/// @dev Object type that includes any other object type.
|
130
149
|
/// Note that eq()/'==' does not take this property into account.
|
131
150
|
function ALL() pure returns (ObjectType) {
|
@@ -144,8 +163,6 @@ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
|
144
163
|
// library functions that operate on user defined type
|
145
164
|
library ObjectTypeLib {
|
146
165
|
|
147
|
-
error ErrorVersionTooBig(uint256 version);
|
148
|
-
|
149
166
|
function zero() public pure returns (ObjectType) {
|
150
167
|
return ObjectType.wrap(0);
|
151
168
|
}
|
@@ -225,19 +242,15 @@ library ObjectTypeLib {
|
|
225
242
|
function toVersionedName(
|
226
243
|
string memory name,
|
227
244
|
string memory suffix,
|
228
|
-
|
245
|
+
VersionPart release
|
229
246
|
)
|
230
247
|
external
|
231
248
|
pure
|
232
249
|
returns (string memory versionedName)
|
233
250
|
{
|
234
|
-
if (version > maxNumReleases()) {
|
235
|
-
revert ErrorVersionTooBig(version);
|
236
|
-
}
|
237
|
-
|
238
251
|
string memory versionName = "_v0";
|
239
252
|
|
240
|
-
if (
|
253
|
+
if (release.toInt() >= 10) {
|
241
254
|
versionName = "_v";
|
242
255
|
}
|
243
256
|
|
@@ -246,12 +259,7 @@ library ObjectTypeLib {
|
|
246
259
|
name,
|
247
260
|
suffix,
|
248
261
|
versionName,
|
249
|
-
toString(
|
250
|
-
}
|
251
|
-
|
252
|
-
/// @dev returns the max number of releases (major versions) this gif setup can handle.
|
253
|
-
function maxNumReleases() public pure returns (uint8) {
|
254
|
-
return 99;
|
262
|
+
release.toString()));
|
255
263
|
}
|
256
264
|
|
257
265
|
/// @dev returns the provied int as a string
|
@@ -2,6 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
|
+
import {NftId} from "./NftId.sol";
|
5
6
|
import {RISK} from "./ObjectType.sol";
|
6
7
|
|
7
8
|
type RiskId is bytes8;
|
@@ -12,6 +13,7 @@ using {
|
|
12
13
|
neRiskId as !=,
|
13
14
|
RiskIdLib.eq,
|
14
15
|
RiskIdLib.eqz,
|
16
|
+
RiskIdLib.gtz,
|
15
17
|
RiskIdLib.toInt,
|
16
18
|
RiskIdLib.toKeyId,
|
17
19
|
RiskIdLib.toKey32
|
@@ -39,9 +41,9 @@ library RiskIdLib {
|
|
39
41
|
return uint64(RiskId.unwrap(riskId));
|
40
42
|
}
|
41
43
|
|
42
|
-
// @dev Converts a risk id string into a risk id.
|
43
|
-
function toRiskId(
|
44
|
-
return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
|
44
|
+
// @dev Converts a risk id string with a product NftId into a risk id.
|
45
|
+
function toRiskId(NftId productNftId, bytes32 risk) public pure returns (RiskId) {
|
46
|
+
return RiskId.wrap(bytes8(keccak256(abi.encode(productNftId, risk))));
|
45
47
|
}
|
46
48
|
|
47
49
|
/// @dev Returns the key32 value for the specified risk id.
|
@@ -66,4 +68,8 @@ library RiskIdLib {
|
|
66
68
|
function eqz(RiskId a) public pure returns (bool isZero) {
|
67
69
|
return eqRiskId(a, zero());
|
68
70
|
}
|
71
|
+
|
72
|
+
function gtz(RiskId a) public pure returns (bool isZero) {
|
73
|
+
return uint64(RiskId.unwrap(a)) > 0;
|
74
|
+
}
|
69
75
|
}
|
@@ -11,9 +11,11 @@ type RoleId is uint64;
|
|
11
11
|
using {
|
12
12
|
eqRoleId as ==,
|
13
13
|
neRoleId as !=,
|
14
|
+
RoleIdLib.toInt,
|
14
15
|
RoleIdLib.eqz,
|
15
16
|
RoleIdLib.gtz,
|
16
|
-
RoleIdLib.
|
17
|
+
RoleIdLib.isComponentRole,
|
18
|
+
RoleIdLib.isCustomRole
|
17
19
|
// RoleIdLib.toKey32
|
18
20
|
} for RoleId global;
|
19
21
|
|
@@ -54,6 +56,9 @@ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2)
|
|
54
56
|
/// @dev role for registering remote staking targets and reporting remote total value locked amounts.
|
55
57
|
function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
|
56
58
|
|
59
|
+
/// @dev role assigned to release registry, release specfic to lock/unlock a release
|
60
|
+
function RELEASE_REGISTRY_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
|
61
|
+
|
57
62
|
//--- GIF core contract roles (range: 200 - 9'900) --------------------------//
|
58
63
|
// created and assigned during initial deployment for registry and staking
|
59
64
|
// granting for instances and components in instance service
|
@@ -72,6 +77,8 @@ function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRo
|
|
72
77
|
// - application service role (version 3): 2003
|
73
78
|
|
74
79
|
//--- GIF component contract roles (range 12'001 - 19'099) ------------------//
|
80
|
+
// the min value of 12'001 is based on the following calculation:
|
81
|
+
// object type * 1000 + 1 where the lowest object type is 12 (product)
|
75
82
|
// assigned at component registration time
|
76
83
|
// object type * 1000 + instane specific component counter
|
77
84
|
// on any instance a maximum number of 999 components may be deployed
|
@@ -92,8 +99,10 @@ library RoleIdLib {
|
|
92
99
|
|
93
100
|
uint64 public constant ALL_VERSIONS = 99;
|
94
101
|
uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
|
95
|
-
uint64 public constant COMPONENT_ROLE_FACTOR =
|
96
|
-
uint64 public constant
|
102
|
+
uint64 public constant COMPONENT_ROLE_FACTOR = 1000;
|
103
|
+
uint64 public constant COMPONENT_ROLE_MIN_INT = 12000;
|
104
|
+
uint64 public constant COMPONENT_ROLE_MAX_INT = 19000;
|
105
|
+
uint64 public constant CUSTOM_ROLE_MIN_INT = 1000000;
|
97
106
|
|
98
107
|
/// @dev Converts the RoleId to a uint.
|
99
108
|
function zero() public pure returns (RoleId) {
|
@@ -112,7 +121,7 @@ library RoleIdLib {
|
|
112
121
|
|
113
122
|
/// @dev Converts an uint into a custom role id.
|
114
123
|
function toCustomRoleId(uint64 index) public pure returns (RoleId) {
|
115
|
-
return toRoleId(
|
124
|
+
return toRoleId(CUSTOM_ROLE_MIN_INT + index);
|
116
125
|
}
|
117
126
|
|
118
127
|
/// @dev Converts the role id to a uint.
|
@@ -150,6 +159,17 @@ library RoleIdLib {
|
|
150
159
|
return RoleId.unwrap(a) == 0;
|
151
160
|
}
|
152
161
|
|
162
|
+
/// @dev Returns true iff the role id is a component role.
|
163
|
+
function isComponentRole(RoleId roleId) public pure returns (bool) {
|
164
|
+
uint64 roleIdInt = RoleId.unwrap(roleId);
|
165
|
+
return roleIdInt >= COMPONENT_ROLE_MIN_INT && roleIdInt <= COMPONENT_ROLE_MAX_INT;
|
166
|
+
}
|
167
|
+
|
168
|
+
/// @dev Returns true iff the role id is a custom role.
|
169
|
+
function isCustomRole(RoleId roleId) public pure returns (bool) {
|
170
|
+
return RoleId.unwrap(roleId) >= CUSTOM_ROLE_MIN_INT;
|
171
|
+
}
|
172
|
+
|
153
173
|
/// @dev Returns the key32 value for the specified id and object type.
|
154
174
|
function toKey32(RoleId a) public pure returns (Key32 key) {
|
155
175
|
return Key32Lib.toKey32(ROLE(), toKeyId(a));
|
@@ -8,6 +8,7 @@ using {
|
|
8
8
|
eqSelector as ==,
|
9
9
|
neSelector as !=,
|
10
10
|
SelectorLib.toBytes4,
|
11
|
+
SelectorLib.toString,
|
11
12
|
SelectorLib.eqz
|
12
13
|
} for Selector global;
|
13
14
|
|
@@ -46,6 +47,10 @@ library SelectorLib {
|
|
46
47
|
function toBytes4(Selector s) public pure returns (bytes4) {
|
47
48
|
return Selector.unwrap(s);
|
48
49
|
}
|
50
|
+
|
51
|
+
function toString(Selector s) public pure returns (string memory) {
|
52
|
+
return string(abi.encode(Selector.unwrap(s)));
|
53
|
+
}
|
49
54
|
}
|
50
55
|
|
51
56
|
// selector specific set library
|
@@ -54,11 +54,6 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
|
|
54
54
|
return Timestamp.unwrap(a) != Timestamp.unwrap(b);
|
55
55
|
}
|
56
56
|
|
57
|
-
/// @dev Converts the uint256 to a Timestamp.
|
58
|
-
function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
|
59
|
-
return TimestampLib.toTimestamp(timestamp);
|
60
|
-
}
|
61
|
-
|
62
57
|
// TODO move to TimestampLib and rename to zero()
|
63
58
|
/// @dev Return the Timestamp zero (0)
|
64
59
|
function zeroTimestamp() pure returns (Timestamp) {
|
@@ -8,7 +8,10 @@ using {
|
|
8
8
|
versionPartEq as ==,
|
9
9
|
versionPartNe as !=,
|
10
10
|
VersionPartLib.eqz,
|
11
|
-
VersionPartLib.
|
11
|
+
VersionPartLib.gtz,
|
12
|
+
VersionPartLib.toInt,
|
13
|
+
VersionPartLib.toString,
|
14
|
+
VersionPartLib.isValidRelease
|
12
15
|
}
|
13
16
|
for VersionPart global;
|
14
17
|
|
@@ -17,9 +20,54 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) {
|
|
17
20
|
function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
|
18
21
|
|
19
22
|
library VersionPartLib {
|
23
|
+
|
24
|
+
error ErrorReleaseTooBig(VersionPart releaseMax, VersionPart release);
|
25
|
+
|
26
|
+
function releaseMin() public pure returns (VersionPart) { return toVersionPart(3); }
|
27
|
+
function releaseMax() public pure returns (VersionPart) { return toVersionPart(99); }
|
28
|
+
|
29
|
+
function isValidRelease(VersionPart release) external pure returns(bool) {
|
30
|
+
uint256 releaseInt = VersionPart.unwrap(release);
|
31
|
+
return 3 <= releaseInt && releaseInt <= 99;
|
32
|
+
}
|
33
|
+
|
34
|
+
function toString(VersionPart a) external pure returns (string memory) {
|
35
|
+
if (a > releaseMax()) {
|
36
|
+
revert ErrorReleaseTooBig(releaseMax(), a);
|
37
|
+
}
|
38
|
+
|
39
|
+
uint256 value = VersionPart.unwrap(a);
|
40
|
+
if (value == 0) {
|
41
|
+
return "0";
|
42
|
+
}
|
43
|
+
|
44
|
+
uint256 temp = value;
|
45
|
+
uint256 digits = 0;
|
46
|
+
while (temp != 0) {
|
47
|
+
digits++;
|
48
|
+
temp /= 10;
|
49
|
+
}
|
50
|
+
|
51
|
+
bytes memory buffer = new bytes(digits);
|
52
|
+
uint index = digits - 1;
|
53
|
+
|
54
|
+
temp = value;
|
55
|
+
while (temp != 0) {
|
56
|
+
buffer[index] = bytes1(uint8(48 + temp % 10));
|
57
|
+
temp /= 10;
|
58
|
+
|
59
|
+
if (index > 0) {
|
60
|
+
index--;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
return string(buffer);
|
65
|
+
}
|
66
|
+
|
20
67
|
function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
|
68
|
+
function gtz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) > 0; }
|
21
69
|
function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
|
22
|
-
function toVersionPart(uint256 a)
|
70
|
+
function toVersionPart(uint256 a) public pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
|
23
71
|
}
|
24
72
|
|
25
73
|
type Version is uint24; // contains major,minor,patch version parts
|
@@ -38,6 +86,7 @@ function versionGt(Version a, Version b) pure returns(bool isGreaterThan) { retu
|
|
38
86
|
function versionEq(Version a, Version b) pure returns(bool isSame) { return Version.unwrap(a) == Version.unwrap(b); }
|
39
87
|
|
40
88
|
library VersionLib {
|
89
|
+
|
41
90
|
function toInt(Version version) external pure returns(uint) { return Version.unwrap(version); }
|
42
91
|
|
43
92
|
function toUint64(Version version) external pure returns(uint64) { return Version.unwrap(version); }
|
@@ -75,9 +124,9 @@ library VersionLib {
|
|
75
124
|
);
|
76
125
|
}
|
77
126
|
|
78
|
-
function toVersionPart(uint256 versionPart)
|
79
|
-
|
80
|
-
}
|
127
|
+
// function toVersionPart(uint256 versionPart) public pure returns(VersionPart) {
|
128
|
+
// return VersionPart.wrap(uint8(versionPart));
|
129
|
+
// }
|
81
130
|
|
82
131
|
function toVersion(
|
83
132
|
uint256 major,
|
@@ -193,7 +193,7 @@ contract ProxyManager is
|
|
193
193
|
}
|
194
194
|
|
195
195
|
address initialOwner = msg.sender;
|
196
|
-
|
196
|
+
__NftOwnable_init(registry, initialOwner);
|
197
197
|
|
198
198
|
currentProxyOwner = getOwner(); // used by implementation
|
199
199
|
initialProxyAdminOwner = address(this); // used by proxy
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@etherisc/gif-next",
|
3
|
-
"version": "0.0.2-
|
3
|
+
"version": "0.0.2-a7722ab-390",
|
4
4
|
"description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
@@ -36,7 +36,7 @@
|
|
36
36
|
"@typescript-eslint/parser": "^8.1.0",
|
37
37
|
"antlr4ng-cli": "^2.0.0",
|
38
38
|
"dotenv": "^16.3.1",
|
39
|
-
"eslint": "^
|
39
|
+
"eslint": "^9.9.1",
|
40
40
|
"hardhat": "^2.17.2",
|
41
41
|
"prettier": "^3.0.3",
|
42
42
|
"prettier-plugin-solidity": "^1.1.3",
|