@etherisc/gif-next 0.0.2-da2c7dd-538 → 0.0.2-da87b00-860
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +106 -38
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +91 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +58 -6
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +573 -288
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +8 -39
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +295 -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 +452 -210
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +119 -14
- 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 +64 -142
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +275 -59
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -88
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +448 -148
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -77
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -87
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +296 -20
- 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 +109 -100
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +274 -58
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +145 -124
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +274 -58
- 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 +126 -166
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +274 -58
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +39 -63
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -138
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +274 -58
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -180
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +274 -58
- 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 +427 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +335 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +430 -62
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +822 -402
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +299 -58
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +619 -402
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +367 -64
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -55
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +448 -374
- 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 +20 -20
- 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 +33 -35
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +294 -53
- 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 -21
- 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 -21
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +87 -42
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +96 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -69
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +274 -58
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +300 -123
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -58
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +186 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -31
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +238 -19
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -31
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +346 -87
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +121 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +273 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +103 -41
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -48
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +274 -58
- 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 +113 -75
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +208 -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 +50 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -42
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +224 -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 +511 -21
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +118 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +116 -114
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +100 -70
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -42
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +258 -44
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +84 -42
- 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 +33 -22
- 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 +71 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +704 -472
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
- 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 +76 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +710 -407
- 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 +184 -128
- 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 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +212 -232
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +113 -71
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +130 -39
- 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 -21
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +119 -147
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -21
- 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/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 +19 -21
- 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 +1450 -140
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +161 -110
- 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 +1624 -272
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +135 -68
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +200 -157
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +86 -52
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1600 -818
- 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 +159 -87
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/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 +93 -37
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +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 +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +56 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +65 -27
- 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 +4 -2
- package/contracts/authorization/AccessAdmin.sol +389 -298
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +40 -31
- package/contracts/authorization/Authorization.sol +60 -228
- package/contracts/authorization/IAccess.sol +25 -7
- package/contracts/authorization/IAccessAdmin.sol +81 -80
- package/contracts/authorization/IAuthorization.sol +3 -51
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +248 -34
- package/contracts/distribution/BasicDistribution.sol +6 -6
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +10 -52
- package/contracts/distribution/DistributionService.sol +154 -64
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +24 -10
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +6 -10
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -23
- package/contracts/instance/IInstance.sol +87 -12
- package/contracts/instance/IInstanceService.sol +52 -7
- package/contracts/instance/Instance.sol +148 -48
- package/contracts/instance/InstanceAdmin.sol +227 -281
- package/contracts/instance/InstanceAuthorizationV3.sol +79 -26
- package/contracts/instance/InstanceReader.sol +375 -380
- package/contracts/instance/InstanceService.sol +230 -134
- 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/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +16 -5
- package/contracts/instance/module/IDistribution.sol +19 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +2 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +2 -4
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +3 -16
- 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 -16
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +41 -184
- package/contracts/product/ApplicationService.sol +83 -15
- package/contracts/product/BasicProduct.sol +1 -3
- package/contracts/product/BasicProductAuthorization.sol +11 -4
- package/contracts/product/ClaimService.sol +56 -58
- package/contracts/product/IApplicationService.sol +24 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IRiskService.sol +21 -3
- package/contracts/product/PolicyService.sol +31 -68
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +33 -31
- package/contracts/product/Product.sol +38 -14
- package/contracts/product/RiskService.sol +55 -9
- package/contracts/registry/IRegistry.sol +15 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +100 -263
- package/contracts/registry/RegistryAuthorization.sol +336 -0
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +62 -112
- package/contracts/registry/ReleaseRegistry.sol +57 -43
- package/contracts/registry/ServiceAuthorizationV3.sol +128 -33
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +18 -31
- package/contracts/shared/ComponentService.sol +239 -244
- package/contracts/shared/ContractLib.sol +134 -75
- package/contracts/shared/IComponent.sol +1 -4
- package/contracts/shared/IComponentService.sol +21 -22
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -7
- package/contracts/shared/KeyValueStore.sol +3 -3
- package/contracts/shared/NftOwnable.sol +4 -2
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Registerable.sol +1 -4
- package/contracts/shared/Service.sol +6 -4
- package/contracts/shared/TokenHandler.sol +5 -4
- package/contracts/staking/IStaking.sol +266 -64
- package/contracts/staking/IStakingService.sol +44 -82
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +473 -202
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +58 -77
- package/contracts/staking/StakingService.sol +49 -158
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1089 -330
- 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/Fee.sol +8 -8
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +21 -17
- 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 +28 -10
- package/contracts/type/Version.sol +39 -0
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +25 -11
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/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/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- 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
@@ -19,7 +19,6 @@ contract FirePool is
|
|
19
19
|
address registry,
|
20
20
|
NftId fireProductNftId,
|
21
21
|
string memory componentName,
|
22
|
-
address token,
|
23
22
|
IAuthorization authorization
|
24
23
|
)
|
25
24
|
{
|
@@ -28,7 +27,6 @@ contract FirePool is
|
|
28
27
|
registry,
|
29
28
|
fireProductNftId,
|
30
29
|
componentName,
|
31
|
-
token,
|
32
30
|
IComponents.PoolInfo({
|
33
31
|
maxBalanceAmount: AmountLib.max(),
|
34
32
|
isInterceptingBundleTransfers: false,
|
@@ -46,7 +44,6 @@ contract FirePool is
|
|
46
44
|
address registry,
|
47
45
|
NftId fireProductNftId,
|
48
46
|
string memory componentName,
|
49
|
-
address token,
|
50
47
|
IComponents.PoolInfo memory poolInfo,
|
51
48
|
IAuthorization authorization,
|
52
49
|
address initialOwner
|
@@ -58,7 +55,6 @@ contract FirePool is
|
|
58
55
|
registry,
|
59
56
|
fireProductNftId,
|
60
57
|
componentName,
|
61
|
-
token,
|
62
58
|
poolInfo,
|
63
59
|
authorization,
|
64
60
|
initialOwner);
|
@@ -68,7 +68,6 @@ contract FireProduct is
|
|
68
68
|
address registry,
|
69
69
|
NftId instanceNftid,
|
70
70
|
string memory componentName,
|
71
|
-
address token,
|
72
71
|
IAuthorization authorization
|
73
72
|
)
|
74
73
|
{
|
@@ -78,7 +77,6 @@ contract FireProduct is
|
|
78
77
|
registry,
|
79
78
|
instanceNftid,
|
80
79
|
componentName,
|
81
|
-
token,
|
82
80
|
authorization,
|
83
81
|
initialOwner);
|
84
82
|
}
|
@@ -87,7 +85,6 @@ contract FireProduct is
|
|
87
85
|
address registry,
|
88
86
|
NftId instanceNftId,
|
89
87
|
string memory componentName,
|
90
|
-
address token,
|
91
88
|
IAuthorization authorization,
|
92
89
|
address initialOwner
|
93
90
|
)
|
@@ -98,7 +95,6 @@ contract FireProduct is
|
|
98
95
|
registry,
|
99
96
|
instanceNftId,
|
100
97
|
componentName,
|
101
|
-
token,
|
102
98
|
IComponents.ProductInfo({
|
103
99
|
isProcessingFundedClaims: false,
|
104
100
|
isInterceptingPolicyTransfers: false,
|
@@ -144,9 +140,9 @@ contract FireProduct is
|
|
144
140
|
revert ErrorFireProductCityUnknown(cityName);
|
145
141
|
}
|
146
142
|
|
147
|
-
|
143
|
+
_setRiskLocked(
|
148
144
|
_riskMapping[cityName],
|
149
|
-
|
145
|
+
true
|
150
146
|
);
|
151
147
|
}
|
152
148
|
|
@@ -160,9 +156,9 @@ contract FireProduct is
|
|
160
156
|
revert ErrorFireProductCityUnknown(cityName);
|
161
157
|
}
|
162
158
|
|
163
|
-
|
159
|
+
_setRiskLocked(
|
164
160
|
_riskMapping[cityName],
|
165
|
-
|
161
|
+
false
|
166
162
|
);
|
167
163
|
}
|
168
164
|
|
@@ -267,7 +263,7 @@ contract FireProduct is
|
|
267
263
|
onlyOwner()
|
268
264
|
onlyNftOfType(policyNftId, POLICY())
|
269
265
|
{
|
270
|
-
_createPolicy(policyNftId, activateAt);
|
266
|
+
_createPolicy(policyNftId, activateAt, AmountLib.max());
|
271
267
|
_collectPremium(policyNftId, activateAt);
|
272
268
|
}
|
273
269
|
|
@@ -320,7 +316,7 @@ contract FireProduct is
|
|
320
316
|
revert ErrorFireProductCityUnknown(cityName);
|
321
317
|
}
|
322
318
|
|
323
|
-
if (reportedAt > TimestampLib.
|
319
|
+
if (reportedAt > TimestampLib.current()) {
|
324
320
|
revert ErrorFireProductTimestampInFuture();
|
325
321
|
}
|
326
322
|
|
@@ -7,6 +7,9 @@ import {Amount} from "../../type/Amount.sol";
|
|
7
7
|
import {BasicDistribution} from "../../distribution/BasicDistribution.sol";
|
8
8
|
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
9
9
|
import {NftId} from "../../type/NftId.sol";
|
10
|
+
import {ReferralId} from "../../type/Referral.sol";
|
11
|
+
import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
|
12
|
+
import {UFixed, UFixedLib} from "../../type/UFixed.sol";
|
10
13
|
|
11
14
|
|
12
15
|
contract SimpleDistribution is
|
@@ -17,8 +20,7 @@ contract SimpleDistribution is
|
|
17
20
|
address registry,
|
18
21
|
NftId productNftId,
|
19
22
|
IAuthorization authorization,
|
20
|
-
address initialOwner
|
21
|
-
address token
|
23
|
+
address initialOwner
|
22
24
|
)
|
23
25
|
{
|
24
26
|
initialize(
|
@@ -26,8 +28,7 @@ contract SimpleDistribution is
|
|
26
28
|
productNftId,
|
27
29
|
authorization,
|
28
30
|
initialOwner,
|
29
|
-
"SimpleDistribution"
|
30
|
-
token);
|
31
|
+
"SimpleDistribution");
|
31
32
|
}
|
32
33
|
|
33
34
|
function initialize(
|
@@ -35,8 +36,7 @@ contract SimpleDistribution is
|
|
35
36
|
NftId productNftId,
|
36
37
|
IAuthorization authorization,
|
37
38
|
address initialOwner,
|
38
|
-
string memory name
|
39
|
-
address token
|
39
|
+
string memory name
|
40
40
|
)
|
41
41
|
public
|
42
42
|
virtual
|
@@ -47,11 +47,35 @@ contract SimpleDistribution is
|
|
47
47
|
productNftId,
|
48
48
|
authorization,
|
49
49
|
initialOwner,
|
50
|
-
name
|
51
|
-
token);
|
50
|
+
name);
|
52
51
|
}
|
53
52
|
|
54
53
|
function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
|
55
54
|
function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
|
56
55
|
function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
|
56
|
+
|
57
|
+
/**
|
58
|
+
* @dev create referral codes. This is required for testing only to provide a distributor that is not the message sender.
|
59
|
+
*/
|
60
|
+
function createReferral2(
|
61
|
+
NftId distributorNftId,
|
62
|
+
string memory code,
|
63
|
+
UFixed discountPercentage,
|
64
|
+
uint32 maxReferrals,
|
65
|
+
Timestamp expiryAt,
|
66
|
+
bytes memory data
|
67
|
+
)
|
68
|
+
external
|
69
|
+
virtual
|
70
|
+
returns (ReferralId referralId)
|
71
|
+
{
|
72
|
+
return _createReferral(
|
73
|
+
distributorNftId,
|
74
|
+
code,
|
75
|
+
discountPercentage,
|
76
|
+
maxReferrals,
|
77
|
+
expiryAt,
|
78
|
+
data); // data
|
79
|
+
}
|
80
|
+
|
57
81
|
}
|
@@ -34,8 +34,7 @@ contract SimpleOracle is
|
|
34
34
|
address registry,
|
35
35
|
NftId productNftId,
|
36
36
|
IAuthorization authorization,
|
37
|
-
address initialOwner
|
38
|
-
address token
|
37
|
+
address initialOwner
|
39
38
|
)
|
40
39
|
{
|
41
40
|
initialize(
|
@@ -43,8 +42,7 @@ contract SimpleOracle is
|
|
43
42
|
productNftId,
|
44
43
|
authorization,
|
45
44
|
initialOwner,
|
46
|
-
"SimpleOracle"
|
47
|
-
token
|
45
|
+
"SimpleOracle"
|
48
46
|
);
|
49
47
|
}
|
50
48
|
|
@@ -53,8 +51,7 @@ contract SimpleOracle is
|
|
53
51
|
NftId productNftId,
|
54
52
|
IAuthorization authorization,
|
55
53
|
address initialOwner,
|
56
|
-
string memory name
|
57
|
-
address token
|
54
|
+
string memory name
|
58
55
|
)
|
59
56
|
public
|
60
57
|
virtual
|
@@ -65,8 +62,7 @@ contract SimpleOracle is
|
|
65
62
|
productNftId,
|
66
63
|
authorization,
|
67
64
|
initialOwner,
|
68
|
-
name
|
69
|
-
token);
|
65
|
+
name);
|
70
66
|
}
|
71
67
|
|
72
68
|
/// @dev use case specific handling of oracle requests
|
@@ -19,7 +19,6 @@ contract SimplePool is
|
|
19
19
|
constructor(
|
20
20
|
address registry,
|
21
21
|
NftId productNftId,
|
22
|
-
address token,
|
23
22
|
IComponents.PoolInfo memory poolInfo,
|
24
23
|
IAuthorization authorization,
|
25
24
|
address initialOwner
|
@@ -28,7 +27,6 @@ contract SimplePool is
|
|
28
27
|
initialize(
|
29
28
|
registry,
|
30
29
|
productNftId,
|
31
|
-
token,
|
32
30
|
poolInfo,
|
33
31
|
authorization,
|
34
32
|
initialOwner
|
@@ -39,7 +37,6 @@ contract SimplePool is
|
|
39
37
|
function initialize(
|
40
38
|
address registry,
|
41
39
|
NftId productNftId,
|
42
|
-
address token,
|
43
40
|
IComponents.PoolInfo memory poolInfo,
|
44
41
|
IAuthorization authorization,
|
45
42
|
address initialOwner
|
@@ -52,7 +49,6 @@ contract SimplePool is
|
|
52
49
|
registry,
|
53
50
|
productNftId,
|
54
51
|
"SimplePool",
|
55
|
-
token,
|
56
52
|
poolInfo,
|
57
53
|
authorization,
|
58
54
|
initialOwner);
|
@@ -37,7 +37,6 @@ contract SimpleProduct is
|
|
37
37
|
address registry,
|
38
38
|
NftId instanceNftId,
|
39
39
|
string memory name,
|
40
|
-
address token,
|
41
40
|
IComponents.ProductInfo memory productInfo,
|
42
41
|
IComponents.FeeInfo memory feeInfo,
|
43
42
|
IAuthorization authorization,
|
@@ -48,7 +47,6 @@ contract SimpleProduct is
|
|
48
47
|
registry,
|
49
48
|
instanceNftId,
|
50
49
|
name,
|
51
|
-
token,
|
52
50
|
productInfo,
|
53
51
|
feeInfo,
|
54
52
|
authorization,
|
@@ -60,7 +58,6 @@ contract SimpleProduct is
|
|
60
58
|
address registry,
|
61
59
|
NftId instanceNftid,
|
62
60
|
string memory name,
|
63
|
-
address token,
|
64
61
|
IComponents.ProductInfo memory productInfo,
|
65
62
|
IComponents.FeeInfo memory feeInfo,
|
66
63
|
IAuthorization authorization,
|
@@ -74,7 +71,6 @@ contract SimpleProduct is
|
|
74
71
|
registry,
|
75
72
|
instanceNftid,
|
76
73
|
name,
|
77
|
-
token,
|
78
74
|
productInfo,
|
79
75
|
feeInfo,
|
80
76
|
authorization,
|
@@ -104,16 +100,22 @@ contract SimpleProduct is
|
|
104
100
|
);
|
105
101
|
}
|
106
102
|
|
107
|
-
function
|
103
|
+
function setRiskLocked(
|
108
104
|
RiskId id,
|
109
|
-
|
105
|
+
bool locked
|
110
106
|
) public {
|
111
|
-
|
107
|
+
_setRiskLocked(
|
112
108
|
id,
|
113
|
-
|
109
|
+
locked
|
114
110
|
);
|
115
111
|
}
|
116
112
|
|
113
|
+
function closeRisk(
|
114
|
+
RiskId id
|
115
|
+
) public {
|
116
|
+
_closeRisk(id);
|
117
|
+
}
|
118
|
+
|
117
119
|
function createApplication(
|
118
120
|
address applicationOwner,
|
119
121
|
RiskId riskId,
|
@@ -147,12 +149,55 @@ contract SimpleProduct is
|
|
147
149
|
);
|
148
150
|
}
|
149
151
|
|
152
|
+
function createApplication2(
|
153
|
+
address applicationOwner,
|
154
|
+
RiskId riskId,
|
155
|
+
Amount sumInsuredAmount,
|
156
|
+
Amount premiumAmount,
|
157
|
+
Seconds lifetime,
|
158
|
+
bytes memory applicationData,
|
159
|
+
NftId bundleNftId,
|
160
|
+
ReferralId referralId
|
161
|
+
)
|
162
|
+
public
|
163
|
+
returns (NftId nftId)
|
164
|
+
{
|
165
|
+
return _createApplication(
|
166
|
+
applicationOwner,
|
167
|
+
riskId,
|
168
|
+
sumInsuredAmount,
|
169
|
+
premiumAmount,
|
170
|
+
lifetime,
|
171
|
+
bundleNftId,
|
172
|
+
referralId,
|
173
|
+
applicationData
|
174
|
+
);
|
175
|
+
}
|
176
|
+
|
177
|
+
function revoke(
|
178
|
+
NftId applicationNftId
|
179
|
+
) public {
|
180
|
+
_revoke(applicationNftId);
|
181
|
+
}
|
182
|
+
|
150
183
|
function createPolicy(
|
151
184
|
NftId applicationNftId,
|
152
185
|
bool requirePremiumPayment,
|
153
186
|
Timestamp activateAt
|
154
187
|
) public {
|
155
|
-
_createPolicy(applicationNftId, activateAt);
|
188
|
+
_createPolicy(applicationNftId, activateAt, AmountLib.max());
|
189
|
+
if (requirePremiumPayment == true) {
|
190
|
+
_collectPremium(applicationNftId, activateAt);
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
194
|
+
function createPolicy2(
|
195
|
+
NftId applicationNftId,
|
196
|
+
bool requirePremiumPayment,
|
197
|
+
Timestamp activateAt,
|
198
|
+
Amount maxPremiumAmount
|
199
|
+
) public {
|
200
|
+
_createPolicy(applicationNftId, activateAt, maxPremiumAmount);
|
156
201
|
if (requirePremiumPayment == true) {
|
157
202
|
_collectPremium(applicationNftId, activateAt);
|
158
203
|
}
|
@@ -233,11 +278,11 @@ contract SimpleProduct is
|
|
233
278
|
_declineClaim(policyNftId, claimId, processData);
|
234
279
|
}
|
235
280
|
|
236
|
-
function
|
281
|
+
function cancelConfirmedClaim(
|
237
282
|
NftId policyNftId,
|
238
283
|
ClaimId claimId
|
239
284
|
) public {
|
240
|
-
|
285
|
+
_cancelConfirmedClaim(policyNftId, claimId);
|
241
286
|
}
|
242
287
|
|
243
288
|
function createPayout(
|
@@ -270,8 +315,8 @@ contract SimpleProduct is
|
|
270
315
|
function processPayout(
|
271
316
|
NftId policyNftId,
|
272
317
|
PayoutId payoutId
|
273
|
-
) public {
|
274
|
-
_processPayout(policyNftId, payoutId);
|
318
|
+
) public returns (Amount netPayoutAmount, Amount processingFeeAmount) {
|
319
|
+
(netPayoutAmount, processingFeeAmount) = _processPayout(policyNftId, payoutId);
|
275
320
|
}
|
276
321
|
|
277
322
|
function createOracleRequest(
|
@@ -303,6 +348,28 @@ contract SimpleProduct is
|
|
303
348
|
}
|
304
349
|
}
|
305
350
|
|
351
|
+
function createOracleRequest2(
|
352
|
+
NftId oracleNftId,
|
353
|
+
string memory requestText,
|
354
|
+
Timestamp expiryAt,
|
355
|
+
bool synchronous,
|
356
|
+
string memory callbackMethod
|
357
|
+
)
|
358
|
+
public
|
359
|
+
// restricted()
|
360
|
+
returns (RequestId)
|
361
|
+
{
|
362
|
+
bytes memory requestData = abi.encode(SimpleOracle.SimpleRequest(
|
363
|
+
synchronous,
|
364
|
+
requestText));
|
365
|
+
|
366
|
+
return _oracleService.request(
|
367
|
+
oracleNftId,
|
368
|
+
requestData,
|
369
|
+
expiryAt,
|
370
|
+
callbackMethod);
|
371
|
+
}
|
372
|
+
|
306
373
|
function cancelOracleRequest(
|
307
374
|
RequestId requestId
|
308
375
|
)
|
@@ -333,7 +400,7 @@ contract SimpleProduct is
|
|
333
400
|
SimpleOracle.SimpleResponse memory response = abi.decode(
|
334
401
|
responseData, (SimpleOracle.SimpleResponse));
|
335
402
|
|
336
|
-
if (response.revertInCall && response.revertUntil >= TimestampLib.
|
403
|
+
if (response.revertInCall && response.revertUntil >= TimestampLib.current()) {
|
337
404
|
revert ErrorSimpleProductRevertedWhileProcessingResponse(requestId);
|
338
405
|
}
|
339
406
|
|
@@ -351,21 +418,14 @@ contract SimpleProduct is
|
|
351
418
|
}
|
352
419
|
|
353
420
|
|
354
|
-
function
|
421
|
+
function doSomethingOnlyWhenActive()
|
355
422
|
public
|
356
|
-
|
423
|
+
onlyActive()
|
357
424
|
returns (bool)
|
358
425
|
{
|
359
426
|
return true;
|
360
427
|
}
|
361
428
|
|
362
|
-
function doWhenNotLocked()
|
363
|
-
public
|
364
|
-
restricted()
|
365
|
-
returns (bool)
|
366
|
-
{
|
367
|
-
return true;
|
368
|
-
}
|
369
429
|
|
370
430
|
function getOracleService() public view returns (IOracleService) {
|
371
431
|
return _oracleService;
|
@@ -1,13 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
import {IRegisterable} from "../shared/IRegisterable.sol";
|
6
|
+
|
4
7
|
import {Amount} from "../type/Amount.sol";
|
5
8
|
import {BundleSet} from "./BundleSet.sol";
|
6
9
|
import {RiskSet} from "./RiskSet.sol";
|
7
10
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
8
11
|
import {InstanceReader} from "./InstanceReader.sol";
|
9
12
|
import {InstanceStore} from "./InstanceStore.sol";
|
10
|
-
import {IRegisterable} from "../shared/IRegisterable.sol";
|
11
13
|
import {NftId} from "../type/NftId.sol";
|
12
14
|
import {RoleId} from "../type/RoleId.sol";
|
13
15
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -17,8 +19,23 @@ import {UFixed} from "../type/UFixed.sol";
|
|
17
19
|
interface IInstance is
|
18
20
|
IRegisterable
|
19
21
|
{
|
22
|
+
// role handling
|
23
|
+
event LogInstanceCustomRoleCreated(RoleId roleId, string roleName, RoleId adminRoleId, uint32 maxMemberCount);
|
24
|
+
event LogInstanceCustomRoleActiveSet(RoleId roleId, bool active, address caller);
|
25
|
+
event LogInstanceCustomRoleGranted(RoleId roleId, address account, address caller);
|
26
|
+
event LogInstanceCustomRoleRevoked(RoleId roleId, address account, address caller);
|
27
|
+
|
28
|
+
// target handling
|
29
|
+
event LogInstanceCustomTargetCreated(address target, RoleId targetRoleId, string name);
|
30
|
+
event LogInstanceTargetLocked(address target, bool locked);
|
31
|
+
event LogInstanceCustomTargetFunctionRoleSet(address target, bytes4[] selectors, RoleId roleId);
|
32
|
+
|
33
|
+
// modifier is onlyRoleAdmin
|
34
|
+
error ErrorInstanceNotCustomRole(RoleId roleId);
|
35
|
+
error ErrorInstanceNotRoleAdmin(RoleId roleId, address account);
|
36
|
+
|
20
37
|
error ErrorInstanceInstanceAdminZero();
|
21
|
-
error ErrorInstanceInstanceAdminAlreadySet(address
|
38
|
+
error ErrorInstanceInstanceAdminAlreadySet(address instanceAdmin);
|
22
39
|
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
23
40
|
|
24
41
|
error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
|
@@ -38,25 +55,82 @@ interface IInstance is
|
|
38
55
|
uint64 requestsCount;
|
39
56
|
}
|
40
57
|
|
41
|
-
|
42
|
-
function registerProduct(address product) external returns (NftId productNftId);
|
58
|
+
///--- instance ---------------------------------------------------------//
|
43
59
|
|
44
|
-
|
45
|
-
function
|
46
|
-
|
60
|
+
/// @dev Locks/unlocks the complete instance, including all its components.
|
61
|
+
function setInstanceLocked(bool locked) external;
|
62
|
+
|
63
|
+
/// @dev Upgrades the instance reader to the specified target.
|
64
|
+
function upgradeInstanceReader() external;
|
47
65
|
|
48
|
-
|
49
|
-
|
50
|
-
function
|
66
|
+
/// @dev Sets the instance reader for the instance.
|
67
|
+
/// Permissioned: only the instance service may call this function.
|
68
|
+
function setInstanceReader(InstanceReader instanceReader) external;
|
51
69
|
|
70
|
+
///--- staking ----------------------------------------------------------//
|
71
|
+
|
72
|
+
/// @dev Sets the duration for locking new stakes on this instance..
|
52
73
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
74
|
+
|
75
|
+
/// @dev Sets the staking reward rate [apr] for this instance.
|
53
76
|
function setStakingRewardRate(UFixed rewardRate) external;
|
54
|
-
|
77
|
+
|
78
|
+
/// @dev Sets the maximum staked amount for this instance.
|
79
|
+
function setStakingMaxAmount(Amount maxStakedAmount) external;
|
80
|
+
|
81
|
+
/// @dev Refills the staking reward reserves for the specified target.
|
82
|
+
function refillStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
55
83
|
|
56
84
|
/// @dev Defunds the staking reward reserves for the specified target.
|
57
|
-
/// Permissioned: only the target owner may call this function.
|
58
85
|
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
59
86
|
|
87
|
+
///--- product/component ------------------------------------------------//
|
88
|
+
|
89
|
+
/// @dev Locks/unlocks the specified target.
|
90
|
+
function setTargetLocked(address target, bool locked) external;
|
91
|
+
|
92
|
+
/// @dev Register a product with the instance.
|
93
|
+
function registerProduct(address product, address token) external returns (NftId productNftId);
|
94
|
+
|
95
|
+
///--- authz ------------------------------------------------------------//
|
96
|
+
|
97
|
+
/// @dev Creates a new custom role for the calling instance.
|
98
|
+
/// Custom roles are intended to be used for access control of custom components and its helper contracts.
|
99
|
+
/// Custom roles are not intended to be used as target roles for custom contracts.
|
100
|
+
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
101
|
+
|
102
|
+
/// @dev Activates/deactivates the specified role.
|
103
|
+
/// Only instance owner or account with role admin role can call this function.
|
104
|
+
function setRoleActive(RoleId roleId, bool active) external;
|
105
|
+
|
106
|
+
/// @dev Grants the specified role to the account.
|
107
|
+
/// Only active roles can be granted.
|
108
|
+
/// Only instance owner or account with role admin role can call this function.
|
109
|
+
function grantRole(RoleId roleId, address account) external;
|
110
|
+
|
111
|
+
/// @dev Revokes the specified role from the account.
|
112
|
+
/// Only instance owner or account with role admin role can call this function.
|
113
|
+
function revokeRole(RoleId roleId, address account) external;
|
114
|
+
|
115
|
+
/// @dev Creates a new custom target.
|
116
|
+
/// Custom targets are intended to be used for access control helper contracts of components.
|
117
|
+
/// Custom targets are not intended to be used for components.
|
118
|
+
function createTarget(address target, string memory name) external returns (RoleId contractRoleId);
|
119
|
+
|
120
|
+
/// @dev Authorizes the specified functions for the target and provided role.
|
121
|
+
function authorizeFunctions(address target, RoleId roleId, IAccess.FunctionInfo[] memory functions) external;
|
122
|
+
|
123
|
+
/// @dev Removes any role authorization for the specified functions.
|
124
|
+
function unauthorizeFunctions(address target, IAccess.FunctionInfo[] memory functions) external;
|
125
|
+
|
126
|
+
//--- getters -----------------------------------------------------------//
|
127
|
+
|
128
|
+
/// @dev returns the overall locking state of the instance (including all components)
|
129
|
+
function isInstanceLocked() external view returns (bool isLocked);
|
130
|
+
|
131
|
+
/// @dev returns the locking state of the specified target
|
132
|
+
function isTargetLocked(address target) external view returns (bool isLocked);
|
133
|
+
|
60
134
|
// get products
|
61
135
|
function products() external view returns (uint256 productCount);
|
62
136
|
function getProductNftId(uint256 idx) external view returns (NftId productNftId);
|
@@ -67,4 +141,5 @@ interface IInstance is
|
|
67
141
|
function getRiskSet() external view returns (RiskSet);
|
68
142
|
function getInstanceAdmin() external view returns (InstanceAdmin);
|
69
143
|
function getInstanceStore() external view returns (InstanceStore);
|
144
|
+
function isTokenRegistryDisabled() external view returns (bool);
|
70
145
|
}
|
@@ -1,11 +1,14 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
5
5
|
import {IInstance} from "./IInstance.sol";
|
6
6
|
import {IService} from "../shared/IService.sol";
|
7
|
+
|
8
|
+
import {Amount} from "../type/Amount.sol";
|
7
9
|
import {NftId} from "../type/NftId.sol";
|
8
10
|
import {ObjectType} from "../type/ObjectType.sol";
|
11
|
+
import {RoleId} from "../type/RoleId.sol";
|
9
12
|
import {Seconds} from "../type/Seconds.sol";
|
10
13
|
import {UFixed} from "../type/UFixed.sol";
|
11
14
|
import {VersionPart} from "../type/Version.sol";
|
@@ -15,7 +18,7 @@ interface IInstanceService is IService {
|
|
15
18
|
// onlyInstance
|
16
19
|
error ErrorInstanceServiceNotRegistered(address instance);
|
17
20
|
error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
|
18
|
-
error ErrorInstanceServiceInstanceVersionMismatch(
|
21
|
+
error ErrorInstanceServiceInstanceVersionMismatch(NftId instanceNftId, VersionPart expectedRelease, VersionPart instanceRelease);
|
19
22
|
|
20
23
|
error ErrorInstanceServiceComponentNotInstanceLinked(address component);
|
21
24
|
|
@@ -51,22 +54,64 @@ interface IInstanceService is IService {
|
|
51
54
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
52
55
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
53
56
|
|
54
|
-
event
|
57
|
+
event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
|
58
|
+
event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
|
59
|
+
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
60
|
+
event LogInstanceServiceInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
61
|
+
|
62
|
+
/// @dev Creates a new custom role for the calling instance.
|
63
|
+
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
64
|
+
|
65
|
+
/// @dev Sets the specified custom role as active or inactive for the calling instance.
|
66
|
+
function setRoleActive(RoleId roleId, bool active) external;
|
67
|
+
|
68
|
+
/// @dev Grants the specified custom role to the specified account for the calling instance.
|
69
|
+
function grantRole(RoleId roleId, address account) external;
|
70
|
+
|
71
|
+
/// @dev Revokes the specified custom role from the specified account for the calling instance.
|
72
|
+
function revokeRole(RoleId roleId, address account) external;
|
55
73
|
|
56
|
-
|
74
|
+
/// @dev Creates a new custom target for the calling instance.
|
75
|
+
/// All custom trargets are created with a corresponding contract role.
|
76
|
+
function createTarget(address target, string memory name) external returns (RoleId contractRoleId);
|
77
|
+
|
78
|
+
/// @dev Authorizes the specified functions for the specified target.
|
79
|
+
function authorizeFunctions(address target, RoleId roleId, IAccess.FunctionInfo[] memory functions) external;
|
80
|
+
|
81
|
+
/// @dev Removes any role authorization for the specified functions.
|
82
|
+
function unauthorizeFunctions(address target, IAccess.FunctionInfo[] memory functions) external;
|
83
|
+
|
84
|
+
/// @dev Locks/unlocks the specified target constrolled by the corresponding instance admin.
|
85
|
+
function setTargetLocked(address target, bool locked) external;
|
86
|
+
|
87
|
+
/// @dev Locks the complete instance, including all its components.
|
88
|
+
function setInstanceLocked(bool locked) external;
|
89
|
+
|
90
|
+
/// @dev Creates a new instance.
|
91
|
+
/// The caller becomes the owner of the new instance.
|
92
|
+
/// Creation of a new instance is achieved by this service through the creation and registration
|
93
|
+
/// of a new clone of the master instance and then setting up the initial wiring and authorization
|
94
|
+
/// of the necessary components.
|
95
|
+
/// @param allowAnyToken specifies whether the new instance is allowed to use any token or
|
96
|
+
/// only tokens that are registered in the `TokenRegistry`. Use of tokens **not** registered in the
|
97
|
+
/// `TokenRegistry` may result in problems with token handline and is therefor not recommended. The
|
98
|
+
/// use of such instances **is not supported** by Etherisc.
|
99
|
+
function createInstance(bool allowAnyToken)
|
57
100
|
external
|
58
101
|
returns (
|
59
102
|
IInstance instance,
|
60
103
|
NftId instanceNftId
|
61
104
|
);
|
62
105
|
|
63
|
-
function upgradeInstanceReader(
|
106
|
+
function upgradeInstanceReader() external;
|
64
107
|
function upgradeMasterInstanceReader(address instanceReaderAddress) external;
|
65
108
|
|
66
109
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
67
110
|
function setStakingRewardRate(UFixed rewardRate) external;
|
68
|
-
function
|
111
|
+
function setStakingMaxAmount(Amount maxStakedAmount) external;
|
112
|
+
|
113
|
+
function refillInstanceRewardReserves(address rewardProvider, Amount dipAmount) external returns (Amount newBalance);
|
69
114
|
|
70
115
|
/// @dev Defunds the staking reward reserves for the specified target.
|
71
|
-
function
|
116
|
+
function withdrawInstanceRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
72
117
|
}
|