@etherisc/gif-next 0.0.2-b7d6ed2-016 → 0.0.2-b7e6198-021
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 +12 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +100 -32
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +80 -34
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +52 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +267 -97
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +652 -36
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -47
- 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 +175 -27
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +85 -12
- 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 +52 -17
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +221 -60
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +20 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +368 -139
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +129 -67
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +19 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +228 -15
- 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 +81 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +220 -59
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +102 -51
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +220 -59
- 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 +74 -23
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +220 -59
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +34 -15
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +85 -50
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +220 -59
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +264 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +220 -59
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +336 -33
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +277 -3
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +349 -74
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +608 -295
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +242 -56
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +478 -290
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +303 -29
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +69 -31
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +148 -84
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +23 -4
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +234 -56
- 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 +19 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +85 -39
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +37 -26
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +220 -59
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +294 -117
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +113 -47
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +180 -27
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +19 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +220 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +19 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +88 -22
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +324 -65
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +110 -52
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +82 -32
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +19 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +220 -59
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +102 -64
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +55 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +19 -0
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +157 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +508 -18
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +107 -61
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -72
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +89 -39
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +19 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +70 -32
- 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 +18 -7
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +56 -45
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +380 -238
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +261 -65
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +47 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +65 -27
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +384 -186
- 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 +131 -79
- 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 +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +169 -174
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +98 -52
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +84 -105
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +6 -6
- 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 +19 -0
- 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 +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +6 -6
- 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 +19 -0
- 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 +29 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1383 -117
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +94 -114
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1473 -176
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +73 -72
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +113 -58
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -150
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +128 -164
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +73 -43
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1620 -820
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +142 -80
- 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 +2 -2
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- 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 +55 -17
- 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 +15 -3
- package/contracts/accounting/IAccountingService.sol +2 -0
- package/contracts/authorization/AccessAdmin.sol +264 -188
- package/contracts/authorization/AccessAdminLib.sol +222 -9
- package/contracts/authorization/Authorization.sol +38 -234
- package/contracts/authorization/IAccess.sol +14 -4
- package/contracts/authorization/IAccessAdmin.sol +19 -45
- package/contracts/authorization/IAuthorization.sol +3 -57
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +248 -34
- package/contracts/distribution/BasicDistribution.sol +2 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +7 -4
- package/contracts/distribution/DistributionService.sol +98 -35
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +20 -8
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/IInstance.sol +44 -5
- package/contracts/instance/IInstanceService.sol +35 -6
- package/contracts/instance/Instance.sol +86 -43
- package/contracts/instance/InstanceAdmin.sol +162 -229
- package/contracts/instance/InstanceAuthorizationV3.sol +60 -29
- package/contracts/instance/InstanceReader.sol +371 -389
- package/contracts/instance/InstanceService.sol +123 -82
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/oracle/BasicOracle.sol +1 -1
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/Oracle.sol +2 -2
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +3 -14
- package/contracts/pool/BasicPoolAuthorization.sol +10 -5
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +7 -2
- package/contracts/pool/Pool.sol +4 -14
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +40 -181
- package/contracts/product/ApplicationService.sol +62 -9
- package/contracts/product/BasicProduct.sol +1 -1
- package/contracts/product/BasicProductAuthorization.sol +11 -4
- package/contracts/product/ClaimService.sol +56 -58
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +31 -50
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +22 -25
- package/contracts/product/Product.sol +38 -12
- package/contracts/product/RiskService.sol +48 -12
- package/contracts/registry/IRegistry.sol +11 -9
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +33 -100
- package/contracts/registry/RegistryAuthorization.sol +121 -52
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +42 -100
- package/contracts/registry/ReleaseRegistry.sol +20 -12
- package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
- package/contracts/registry/TokenRegistry.sol +54 -53
- package/contracts/shared/Component.sol +6 -2
- package/contracts/shared/ComponentService.sol +234 -255
- package/contracts/shared/ContractLib.sol +106 -75
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +12 -13
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -5
- package/contracts/shared/KeyValueStore.sol +3 -3
- package/contracts/shared/NftOwnable.sol +3 -1
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Service.sol +6 -4
- package/contracts/staking/IStaking.sol +258 -70
- package/contracts/staking/IStakingService.sol +39 -84
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +467 -215
- package/contracts/staking/StakingLib.sol +38 -124
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +62 -71
- package/contracts/staking/StakingService.sol +42 -185
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1093 -331
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +15 -15
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +16 -3
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/Seconds.sol +19 -0
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +4 -2
- package/contracts/type/UFixed.sol +1 -0
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +15 -3
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -3,6 +3,7 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
|
5
5
|
|
6
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
6
7
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
8
|
import {IComponentService} from "../shared/IComponentService.sol";
|
8
9
|
import {IInstance} from "./IInstance.sol";
|
@@ -56,35 +57,100 @@ contract InstanceService is
|
|
56
57
|
}
|
57
58
|
|
58
59
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
60
|
+
/// @inheritdoc IInstanceService
|
61
|
+
function createRole(
|
62
|
+
string memory roleName,
|
63
|
+
RoleId adminRoleId,
|
64
|
+
uint32 maxMemberCount
|
65
|
+
)
|
66
|
+
external
|
67
|
+
restricted()
|
68
|
+
onlyInstance()
|
69
|
+
returns (RoleId roleId)
|
70
|
+
{
|
71
|
+
IInstance instance = IInstance(msg.sender);
|
72
|
+
roleId = instance.getInstanceAdmin().createRole(
|
73
|
+
roleName,
|
74
|
+
adminRoleId,
|
75
|
+
maxMemberCount);
|
64
76
|
}
|
65
77
|
|
66
78
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
79
|
+
/// @inheritdoc IInstanceService
|
80
|
+
function setRoleActive(RoleId roleId, bool active)
|
81
|
+
external
|
82
|
+
restricted()
|
83
|
+
onlyInstance()
|
84
|
+
{
|
85
|
+
IInstance instance = IInstance(msg.sender);
|
86
|
+
instance.getInstanceAdmin().setRoleActive(roleId, active);
|
73
87
|
}
|
74
88
|
|
89
|
+
|
75
90
|
/// @inheritdoc IInstanceService
|
76
|
-
function
|
91
|
+
function grantRole(RoleId roleId, address account)
|
77
92
|
external
|
78
|
-
virtual
|
79
93
|
restricted()
|
80
94
|
onlyInstance()
|
81
95
|
{
|
82
|
-
|
83
|
-
|
96
|
+
IInstance instance = IInstance(msg.sender);
|
97
|
+
instance.getInstanceAdmin().grantRole(roleId, account);
|
84
98
|
}
|
85
99
|
|
86
100
|
|
87
|
-
/// @
|
101
|
+
/// @inheritdoc IInstanceService
|
102
|
+
function revokeRole(RoleId roleId, address account)
|
103
|
+
external
|
104
|
+
restricted()
|
105
|
+
onlyInstance()
|
106
|
+
{
|
107
|
+
IInstance instance = IInstance(msg.sender);
|
108
|
+
instance.getInstanceAdmin().revokeRole(roleId, account);
|
109
|
+
}
|
110
|
+
|
111
|
+
|
112
|
+
/// @inheritdoc IInstanceService
|
113
|
+
function createTarget(address target, string memory name)
|
114
|
+
external
|
115
|
+
restricted()
|
116
|
+
onlyInstance()
|
117
|
+
returns (RoleId contractRoleId)
|
118
|
+
{
|
119
|
+
IInstance instance = IInstance(msg.sender);
|
120
|
+
return instance.getInstanceAdmin().createTarget(target, name);
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
/// @inheritdoc IInstanceService
|
125
|
+
function authorizeFunctions(
|
126
|
+
address target,
|
127
|
+
RoleId roleId,
|
128
|
+
IAccess.FunctionInfo[] memory functions
|
129
|
+
)
|
130
|
+
external
|
131
|
+
restricted()
|
132
|
+
onlyInstance()
|
133
|
+
{
|
134
|
+
IInstance instance = IInstance(msg.sender);
|
135
|
+
return instance.getInstanceAdmin().authorizeFunctions(target, roleId, functions);
|
136
|
+
}
|
137
|
+
|
138
|
+
|
139
|
+
/// @inheritdoc IInstanceService
|
140
|
+
function unauthorizeFunctions(
|
141
|
+
address target,
|
142
|
+
IAccess.FunctionInfo[] memory functions
|
143
|
+
)
|
144
|
+
external
|
145
|
+
restricted()
|
146
|
+
onlyInstance()
|
147
|
+
{
|
148
|
+
IInstance instance = IInstance(msg.sender);
|
149
|
+
return instance.getInstanceAdmin().unauthorizeFunctions(target, functions);
|
150
|
+
}
|
151
|
+
|
152
|
+
|
153
|
+
/// @inheritdoc IInstanceService
|
88
154
|
function setTargetLocked(address target, bool locked)
|
89
155
|
external
|
90
156
|
virtual
|
@@ -95,6 +161,23 @@ contract InstanceService is
|
|
95
161
|
IInstance(instanceAddress).getInstanceAdmin().setTargetLocked(target, locked);
|
96
162
|
}
|
97
163
|
|
164
|
+
|
165
|
+
/// @inheritdoc IInstanceService
|
166
|
+
function setInstanceLocked(bool locked)
|
167
|
+
external
|
168
|
+
virtual
|
169
|
+
restricted()
|
170
|
+
onlyInstance()
|
171
|
+
{
|
172
|
+
address instanceAddress = msg.sender;
|
173
|
+
IInstance(instanceAddress).getInstanceAdmin().setInstanceLocked(locked);
|
174
|
+
|
175
|
+
emit LogInstanceServiceInstanceLocked(
|
176
|
+
getRegistry().getNftIdForAddress(instanceAddress),
|
177
|
+
locked);
|
178
|
+
}
|
179
|
+
|
180
|
+
|
98
181
|
/// @inheritdoc IInstanceService
|
99
182
|
function createInstance(bool allowAnyToken)
|
100
183
|
external
|
@@ -120,9 +203,9 @@ contract InstanceService is
|
|
120
203
|
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
121
204
|
instanceAdmin.completeSetup(
|
122
205
|
address(getRegistry()),
|
123
|
-
address(instance),
|
124
206
|
address(instanceAuthorization),
|
125
|
-
getRelease()
|
207
|
+
getRelease(),
|
208
|
+
address(instance));
|
126
209
|
|
127
210
|
// hard checks for newly cloned instance
|
128
211
|
assert(address(instance.getRegistry()) == address(getRegistry()));
|
@@ -134,7 +217,7 @@ contract InstanceService is
|
|
134
217
|
TargetManagerLib.getDefaultLockingPeriod(),
|
135
218
|
TargetManagerLib.getDefaultRewardRate());
|
136
219
|
|
137
|
-
emit
|
220
|
+
emit LogInstanceServiceInstanceCreated(
|
138
221
|
instanceNftId,
|
139
222
|
address(instance));
|
140
223
|
}
|
@@ -178,21 +261,22 @@ contract InstanceService is
|
|
178
261
|
}
|
179
262
|
|
180
263
|
|
181
|
-
function
|
264
|
+
function refillInstanceRewardReserves(address rewardProvider, Amount dipAmount)
|
182
265
|
external
|
183
266
|
virtual
|
184
267
|
restricted()
|
185
268
|
onlyInstance()
|
269
|
+
returns (Amount newBalance)
|
186
270
|
{
|
187
271
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
188
|
-
_stakingService.refillInstanceRewardReserves(
|
272
|
+
newBalance = _stakingService.refillInstanceRewardReserves(
|
189
273
|
instanceNftId,
|
190
274
|
rewardProvider,
|
191
275
|
dipAmount);
|
192
276
|
}
|
193
277
|
|
194
278
|
|
195
|
-
function
|
279
|
+
function withdrawInstanceRewardReserves(Amount dipAmount)
|
196
280
|
external
|
197
281
|
virtual
|
198
282
|
restricted()
|
@@ -200,7 +284,7 @@ contract InstanceService is
|
|
200
284
|
returns (Amount newBalance)
|
201
285
|
{
|
202
286
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
203
|
-
_stakingService.withdrawInstanceRewardReserves(
|
287
|
+
newBalance = _stakingService.withdrawInstanceRewardReserves(
|
204
288
|
instanceNftId,
|
205
289
|
dipAmount);
|
206
290
|
}
|
@@ -208,6 +292,7 @@ contract InstanceService is
|
|
208
292
|
|
209
293
|
function upgradeInstanceReader()
|
210
294
|
external
|
295
|
+
virtual
|
211
296
|
restricted()
|
212
297
|
onlyInstance()
|
213
298
|
{
|
@@ -219,11 +304,16 @@ contract InstanceService is
|
|
219
304
|
|
220
305
|
upgradedInstanceReaderClone.initializeWithInstance(instanceAddress);
|
221
306
|
instance.setInstanceReader(upgradedInstanceReaderClone);
|
307
|
+
|
308
|
+
emit LogInstanceServiceInstanceReaderUpgraded(
|
309
|
+
getRegistry().getNftIdForAddress(instanceAddress),
|
310
|
+
address(upgradedInstanceReaderClone));
|
222
311
|
}
|
223
312
|
|
224
313
|
|
225
314
|
function setAndRegisterMasterInstance(address instanceAddress)
|
226
315
|
external
|
316
|
+
virtual
|
227
317
|
onlyOwner()
|
228
318
|
returns(NftId masterInstanceNftId)
|
229
319
|
{
|
@@ -274,8 +364,10 @@ contract InstanceService is
|
|
274
364
|
masterInstanceNftId = info.nftId;
|
275
365
|
}
|
276
366
|
|
367
|
+
|
277
368
|
function upgradeMasterInstanceReader(address instanceReaderAddress)
|
278
369
|
external
|
370
|
+
virtual
|
279
371
|
onlyOwner
|
280
372
|
{
|
281
373
|
if(_masterInstanceReader == address(0)) { revert ErrorInstanceServiceMasterInstanceReaderNotSet(); }
|
@@ -286,12 +378,18 @@ contract InstanceService is
|
|
286
378
|
if(instanceReader.getInstance() != IInstance(_masterInstance)) { revert ErrorInstanceServiceInstanceReaderInstanceMismatch(); }
|
287
379
|
|
288
380
|
_masterInstanceReader = instanceReaderAddress;
|
381
|
+
|
382
|
+
emit LogInstanceServiceMasterInstanceReaderUpgraded(
|
383
|
+
getRegistry().getNftIdForAddress(_masterInstance),
|
384
|
+
instanceReaderAddress);
|
289
385
|
}
|
290
386
|
|
291
|
-
function getMasterInstanceReader() external view returns (address) {
|
387
|
+
function getMasterInstanceReader() external virtual view returns (address) {
|
292
388
|
return _masterInstanceReader;
|
293
389
|
}
|
294
390
|
|
391
|
+
//--- internal functions --------------------------------------------------------//
|
392
|
+
|
295
393
|
/// @dev create new cloned instance admin
|
296
394
|
/// function used to setup a new instance
|
297
395
|
function _cloneNewInstanceAdmin()
|
@@ -342,36 +440,7 @@ contract InstanceService is
|
|
342
440
|
}
|
343
441
|
|
344
442
|
|
345
|
-
///
|
346
|
-
function _createGifTarget(
|
347
|
-
NftId instanceNftId,
|
348
|
-
address targetAddress,
|
349
|
-
string memory targetName,
|
350
|
-
RoleId[] memory roles,
|
351
|
-
bytes4[][] memory selectors
|
352
|
-
)
|
353
|
-
internal
|
354
|
-
virtual
|
355
|
-
{
|
356
|
-
// TODO instanceAdmin will check target instance match anyway
|
357
|
-
(
|
358
|
-
IInstance instance, // or instanceInfo
|
359
|
-
// or targetInfo
|
360
|
-
) = _validateInstanceAndComponent(instanceNftId, targetAddress);
|
361
|
-
|
362
|
-
InstanceAdmin instanceAdmin = instance.getInstanceAdmin();
|
363
|
-
|
364
|
-
// TODO refactor/implement
|
365
|
-
// instanceAdmin.createGifTarget(targetAddress, targetName);
|
366
|
-
|
367
|
-
// set proposed target config
|
368
|
-
for(uint roleIdx = 0; roleIdx < roles.length; roleIdx++) {
|
369
|
-
// TODO refactor/implement
|
370
|
-
// instanceAdmin.setTargetFunctionRoleByService(targetName, selectors[roleIdx], roles[roleIdx]);
|
371
|
-
}
|
372
|
-
}
|
373
|
-
|
374
|
-
/// @dev top level initializer
|
443
|
+
/// @dev top level initializer (upgradable contract)
|
375
444
|
function _initialize(
|
376
445
|
address owner,
|
377
446
|
bytes memory data
|
@@ -395,34 +464,6 @@ contract InstanceService is
|
|
395
464
|
}
|
396
465
|
|
397
466
|
|
398
|
-
function _validateInstanceAndComponent(NftId instanceNftId, address componentAddress)
|
399
|
-
internal
|
400
|
-
view
|
401
|
-
returns (IInstance instance, NftId componentNftId)
|
402
|
-
{
|
403
|
-
IRegistry registry = getRegistry();
|
404
|
-
IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(instanceNftId);
|
405
|
-
if(instanceInfo.objectType != INSTANCE()) {
|
406
|
-
revert ErrorInstanceServiceNotInstanceNftId(instanceNftId);
|
407
|
-
}
|
408
|
-
|
409
|
-
if (registry.getNftIdForAddress(componentAddress).gtz()) {
|
410
|
-
IRegistry.ObjectInfo memory componentInfo = registry.getObjectInfo(componentAddress);
|
411
|
-
|
412
|
-
if(componentInfo.parentNftId != instanceNftId) {
|
413
|
-
revert ErrorInstanceServiceInstanceComponentMismatch(instanceNftId, componentInfo.nftId);
|
414
|
-
}
|
415
|
-
|
416
|
-
componentNftId = componentInfo.nftId;
|
417
|
-
} else {
|
418
|
-
|
419
|
-
}
|
420
|
-
|
421
|
-
instance = Instance(instanceInfo.objectAddress);
|
422
|
-
|
423
|
-
}
|
424
|
-
|
425
|
-
|
426
467
|
function _checkInstance(
|
427
468
|
address instanceAddress,
|
428
469
|
VersionPart expectedRelease
|
@@ -19,7 +19,6 @@ contract RiskSet is
|
|
19
19
|
event LogRiskSetRiskAdded(NftId productNftId, RiskId riskId);
|
20
20
|
event LogRiskSetRiskActive(NftId poolNftId, RiskId riskId);
|
21
21
|
event LogRiskSetRiskPaused(NftId poolNftId, RiskId riskId);
|
22
|
-
event LogRiskSetRiskArchived(NftId poolNftId, RiskId riskId);
|
23
22
|
|
24
23
|
error ErrorRiskSetRiskLocked(RiskId riskId, NftId policyNftId);
|
25
24
|
error ErrorRiskSetRiskUnknown(RiskId riskId);
|
@@ -73,7 +72,7 @@ contract RiskSet is
|
|
73
72
|
}
|
74
73
|
|
75
74
|
/// @dev Applications linked to paused/archived risks may not be underwritten
|
76
|
-
function
|
75
|
+
function deactivate(RiskId riskId) external restricted() {
|
77
76
|
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
78
77
|
_deactivate(productNftId, riskId.toKey32());
|
79
78
|
emit LogRiskSetRiskPaused(productNftId, riskId);
|
@@ -92,6 +91,15 @@ contract RiskSet is
|
|
92
91
|
}
|
93
92
|
}
|
94
93
|
|
94
|
+
function hasRisk(NftId productNftId, RiskId riskId)
|
95
|
+
public
|
96
|
+
view
|
97
|
+
returns (bool)
|
98
|
+
{
|
99
|
+
Key32 riskKey32 = riskId.toKey32();
|
100
|
+
return _contains(productNftId, riskKey32);
|
101
|
+
}
|
102
|
+
|
95
103
|
function risks(NftId productNftId) external view returns(uint256) {
|
96
104
|
return _objects(productNftId);
|
97
105
|
}
|
@@ -24,13 +24,12 @@ contract BalanceStore {
|
|
24
24
|
mapping(NftId nftId => Amount balance) private _balanceAmount;
|
25
25
|
mapping(NftId nftId => Amount locked) private _lockedAmount;
|
26
26
|
mapping(NftId nftId => Amount fees) private _feeAmount;
|
27
|
-
mapping(NftId nftId => bool isRegistered) private _isRegistered;
|
28
27
|
|
29
|
-
//
|
28
|
+
// used to indicate if the target has been registered as well as when it was last updated (not used externally atm)
|
30
29
|
mapping(NftId nftId => Blocknumber lastUpdatedIn) private _lastUpdatedIn;
|
31
30
|
|
32
31
|
modifier onlyRegisteredTarget(NftId targetNftId) {
|
33
|
-
if (!
|
32
|
+
if (!_lastUpdatedIn[targetNftId].gtz()) {
|
34
33
|
revert ErrorBalanceStoreTargetNotRegistered(targetNftId);
|
35
34
|
}
|
36
35
|
_;
|
@@ -55,11 +54,10 @@ contract BalanceStore {
|
|
55
54
|
}
|
56
55
|
|
57
56
|
function _registerBalanceTarget(NftId targetNftId) internal {
|
58
|
-
if (
|
57
|
+
if (_lastUpdatedIn[targetNftId].gtz()) {
|
59
58
|
revert ErrorBalanceStoreTargetAlreadyRegistered(targetNftId);
|
60
59
|
}
|
61
60
|
|
62
|
-
_isRegistered[targetNftId] = true;
|
63
61
|
_setLastUpdatedIn(targetNftId);
|
64
62
|
|
65
63
|
emit LogBalanceStoreTargetRegistered(targetNftId);
|
@@ -118,6 +116,6 @@ contract BalanceStore {
|
|
118
116
|
|
119
117
|
//--- internal/private functions ----------------------------------------//
|
120
118
|
function _setLastUpdatedIn(NftId targetNftId) internal {
|
121
|
-
_lastUpdatedIn[targetNftId] = BlocknumberLib.
|
119
|
+
_lastUpdatedIn[targetNftId] = BlocknumberLib.current();
|
122
120
|
}
|
123
121
|
}
|
@@ -44,10 +44,7 @@ contract ObjectLifecycle is
|
|
44
44
|
|
45
45
|
function _setupBundleLifecycle() private {
|
46
46
|
setInitialState(BUNDLE(), ACTIVE());
|
47
|
-
setStateTransition(BUNDLE(), ACTIVE(), PAUSED());
|
48
47
|
setStateTransition(BUNDLE(), ACTIVE(), CLOSED());
|
49
|
-
setStateTransition(BUNDLE(), PAUSED(), ACTIVE());
|
50
|
-
setStateTransition(BUNDLE(), PAUSED(), CLOSED());
|
51
48
|
}
|
52
49
|
|
53
50
|
function _setupPolicyLifecycle() private {
|
@@ -69,6 +66,7 @@ contract ObjectLifecycle is
|
|
69
66
|
setStateTransition(CLAIM(), SUBMITTED(), CONFIRMED());
|
70
67
|
setStateTransition(CLAIM(), SUBMITTED(), DECLINED());
|
71
68
|
setStateTransition(CLAIM(), CONFIRMED(), CLOSED());
|
69
|
+
setStateTransition(CLAIM(), CONFIRMED(), CANCELLED());
|
72
70
|
}
|
73
71
|
|
74
72
|
function _setupPayoutLifecycle() private {
|
@@ -79,9 +77,7 @@ contract ObjectLifecycle is
|
|
79
77
|
|
80
78
|
function _setupRiskLifecycle() private {
|
81
79
|
setInitialState(RISK(), ACTIVE());
|
82
|
-
setStateTransition(RISK(), ACTIVE(),
|
83
|
-
setStateTransition(RISK(), PAUSED(), ACTIVE());
|
84
|
-
setStateTransition(RISK(), PAUSED(), ARCHIVED());
|
80
|
+
setStateTransition(RISK(), ACTIVE(), CLOSED());
|
85
81
|
}
|
86
82
|
|
87
83
|
function _setupRequestLifecycle() private {
|
@@ -14,10 +14,26 @@ contract BasicOracleAuthorization
|
|
14
14
|
is Authorization
|
15
15
|
{
|
16
16
|
|
17
|
-
constructor(
|
18
|
-
|
17
|
+
constructor(
|
18
|
+
string memory componentName,
|
19
|
+
string memory commitHash
|
20
|
+
)
|
21
|
+
Authorization(
|
22
|
+
componentName,
|
23
|
+
ORACLE(),
|
24
|
+
3,
|
25
|
+
commitHash,
|
26
|
+
true,
|
27
|
+
false)
|
19
28
|
{}
|
20
29
|
|
30
|
+
function _setupServiceTargets()
|
31
|
+
internal
|
32
|
+
virtual override
|
33
|
+
{
|
34
|
+
_authorizeServiceDomain(ORACLE(), address(15));
|
35
|
+
}
|
36
|
+
|
21
37
|
function _setupTargetAuthorizations()
|
22
38
|
internal
|
23
39
|
virtual override
|
@@ -75,7 +75,7 @@ abstract contract Oracle is
|
|
75
75
|
}
|
76
76
|
|
77
77
|
|
78
|
-
function
|
78
|
+
function __Oracle_init(
|
79
79
|
address registry,
|
80
80
|
NftId productNftId,
|
81
81
|
IAuthorization authorization,
|
@@ -87,7 +87,7 @@ abstract contract Oracle is
|
|
87
87
|
virtual
|
88
88
|
onlyInitializing()
|
89
89
|
{
|
90
|
-
|
90
|
+
__InstanceLinkedComponent_init(
|
91
91
|
registry,
|
92
92
|
productNftId,
|
93
93
|
name,
|
@@ -48,7 +48,7 @@ contract OracleService is
|
|
48
48
|
)
|
49
49
|
external
|
50
50
|
virtual
|
51
|
-
|
51
|
+
restricted()
|
52
52
|
onlyNftOfType(oracleNftId, ORACLE())
|
53
53
|
returns (RequestId requestId)
|
54
54
|
{
|
@@ -104,7 +104,7 @@ contract OracleService is
|
|
104
104
|
)
|
105
105
|
external
|
106
106
|
virtual
|
107
|
-
|
107
|
+
restricted()
|
108
108
|
returns (bool success)
|
109
109
|
{
|
110
110
|
(
|
@@ -118,7 +118,7 @@ contract OracleService is
|
|
118
118
|
bool callerIsOracle = true;
|
119
119
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
|
120
120
|
request.responseData = responseData;
|
121
|
-
request.respondedAt = TimestampLib.
|
121
|
+
request.respondedAt = TimestampLib.current();
|
122
122
|
|
123
123
|
instance.getInstanceStore().updateRequest(
|
124
124
|
requestId, request, KEEP_STATE());
|
@@ -153,7 +153,7 @@ contract OracleService is
|
|
153
153
|
function resend(RequestId requestId)
|
154
154
|
external
|
155
155
|
virtual
|
156
|
-
|
156
|
+
restricted()
|
157
157
|
{
|
158
158
|
(
|
159
159
|
IRegistry.ObjectInfo memory info,
|
@@ -192,7 +192,7 @@ contract OracleService is
|
|
192
192
|
function cancel(RequestId requestId)
|
193
193
|
external
|
194
194
|
virtual
|
195
|
-
|
195
|
+
restricted()
|
196
196
|
{
|
197
197
|
(
|
198
198
|
IRegistry.ObjectInfo memory info,
|
@@ -253,8 +253,8 @@ contract OracleService is
|
|
253
253
|
}
|
254
254
|
|
255
255
|
// check expiriyAt >= now
|
256
|
-
if (expiryAt < TimestampLib.
|
257
|
-
revert ErrorOracleServiceExpiryInThePast(TimestampLib.
|
256
|
+
if (expiryAt < TimestampLib.current()) {
|
257
|
+
revert ErrorOracleServiceExpiryInThePast(TimestampLib.current(), expiryAt);
|
258
258
|
}
|
259
259
|
|
260
260
|
// check callbackMethodName.length > 0
|
@@ -298,7 +298,7 @@ contract OracleService is
|
|
298
298
|
}
|
299
299
|
|
300
300
|
// check expiry
|
301
|
-
if (info.expiredAt < TimestampLib.
|
301
|
+
if (info.expiredAt < TimestampLib.current()) {
|
302
302
|
revert ErrorOracleServiceRequestExpired(requestId, info.expiredAt);
|
303
303
|
}
|
304
304
|
}
|
@@ -29,7 +29,7 @@ abstract contract BasicPool is
|
|
29
29
|
virtual
|
30
30
|
onlyInitializing()
|
31
31
|
{
|
32
|
-
|
32
|
+
__Pool_init(
|
33
33
|
registry,
|
34
34
|
productNftId,
|
35
35
|
name,
|
@@ -82,25 +82,14 @@ abstract contract BasicPool is
|
|
82
82
|
}
|
83
83
|
|
84
84
|
|
85
|
-
function
|
85
|
+
function setBundleLocked(NftId bundleNftId, bool locked)
|
86
86
|
public
|
87
87
|
virtual
|
88
88
|
restricted()
|
89
89
|
onlyBundleOwner(bundleNftId)
|
90
90
|
onlyNftOfType(bundleNftId, BUNDLE())
|
91
91
|
{
|
92
|
-
|
93
|
-
}
|
94
|
-
|
95
|
-
|
96
|
-
function unlockBundle(NftId bundleNftId)
|
97
|
-
public
|
98
|
-
virtual
|
99
|
-
restricted()
|
100
|
-
onlyBundleOwner(bundleNftId)
|
101
|
-
onlyNftOfType(bundleNftId, BUNDLE())
|
102
|
-
{
|
103
|
-
_unlockBundle(bundleNftId);
|
92
|
+
_setBundleLocked(bundleNftId, locked);
|
104
93
|
}
|
105
94
|
|
106
95
|
|
@@ -18,15 +18,21 @@ contract BasicPoolAuthorization
|
|
18
18
|
{
|
19
19
|
|
20
20
|
constructor(string memory poolName)
|
21
|
-
Authorization(
|
21
|
+
Authorization(
|
22
|
+
poolName,
|
23
|
+
POOL(),
|
24
|
+
3,
|
25
|
+
COMMIT_HASH,
|
26
|
+
true,
|
27
|
+
true)
|
22
28
|
{}
|
23
29
|
|
24
30
|
function _setupServiceTargets()
|
25
31
|
internal
|
26
32
|
virtual override
|
27
33
|
{
|
28
|
-
|
29
|
-
|
34
|
+
_authorizeServiceDomain(COMPONENT(), address(11));
|
35
|
+
_authorizeServiceDomain(POOL(), address(12));
|
30
36
|
}
|
31
37
|
|
32
38
|
function _setupTokenHandlerAuthorizations() internal virtual override {
|
@@ -54,8 +60,7 @@ contract BasicPoolAuthorization
|
|
54
60
|
_authorize(functions, BasicPool.stake.selector, "stake");
|
55
61
|
_authorize(functions, BasicPool.unstake.selector, "unstake");
|
56
62
|
_authorize(functions, BasicPool.extend.selector, "extend");
|
57
|
-
_authorize(functions, BasicPool.
|
58
|
-
_authorize(functions, BasicPool.unlockBundle.selector, "unlockBundle");
|
63
|
+
_authorize(functions, BasicPool.setBundleLocked.selector, "setBundleLocked");
|
59
64
|
_authorize(functions, BasicPool.closeBundle.selector, "closeBundle");
|
60
65
|
_authorize(functions, BasicPool.setBundleFee.selector, "setBundleFee");
|
61
66
|
|