@etherisc/gif-next 0.0.2-7d7c399-947 → 0.0.2-7d91021-862
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 +63 -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 +603 -280
- 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 +409 -33
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +487 -207
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +179 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +66 -154
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +381 -46
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -98
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +512 -204
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +147 -77
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -97
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +358 -82
- 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 -110
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +355 -52
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +145 -142
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +380 -45
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +128 -178
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +380 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +39 -73
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -148
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +355 -52
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +360 -193
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +380 -45
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +51 -229
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +472 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +345 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +510 -85
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +892 -408
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +327 -64
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +674 -494
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +377 -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 +1328 -2007
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +141 -85
- 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 +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +33 -45
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +379 -47
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +19 -31
- 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 -31
- 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 -79
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +355 -52
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +280 -209
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +117 -71
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +174 -87
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -41
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +306 -166
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -41
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +547 -340
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +145 -71
- 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 -58
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +380 -45
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +137 -139
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +113 -87
- 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 +45 -23
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +133 -65
- 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 -52
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +231 -19
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +245 -161
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +126 -80
- 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 -52
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +279 -43
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +91 -41
- 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 +52 -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 +90 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +713 -414
- 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 +784 -427
- 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 +188 -124
- 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 -31
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +206 -252
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +110 -72
- 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 -31
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +111 -157
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -31
- 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 -31
- 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 +62 -161
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1453 -153
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +187 -107
- 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 +1565 -239
- 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 +129 -70
- 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 +229 -157
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +87 -53
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1633 -819
- 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 +9 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +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 +396 -275
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +40 -31
- package/contracts/authorization/Authorization.sol +142 -262
- package/contracts/authorization/IAccess.sol +25 -7
- package/contracts/authorization/IAccessAdmin.sol +83 -79
- package/contracts/authorization/IAuthorization.sol +9 -43
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +248 -34
- package/contracts/distribution/BasicDistribution.sol +14 -13
- package/contracts/distribution/BasicDistributionAuthorization.sol +29 -9
- package/contracts/distribution/Distribution.sol +22 -64
- package/contracts/distribution/DistributionService.sol +166 -75
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +34 -19
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +7 -12
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -5
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +94 -27
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +103 -13
- package/contracts/instance/IInstanceService.sol +54 -7
- package/contracts/instance/Instance.sol +177 -61
- package/contracts/instance/InstanceAdmin.sol +249 -196
- package/contracts/instance/InstanceAuthorizationV3.sol +117 -67
- package/contracts/instance/InstanceReader.sol +398 -382
- package/contracts/instance/InstanceService.sol +283 -173
- package/contracts/instance/InstanceStore.sol +153 -128
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +14 -5
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +15 -6
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +3 -6
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +4 -8
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +4 -18
- package/contracts/pool/BasicPoolAuthorization.sol +29 -16
- package/contracts/pool/BundleService.sol +57 -96
- package/contracts/pool/IBundleService.sol +27 -32
- package/contracts/pool/IPoolService.sol +57 -40
- package/contracts/pool/Pool.sol +15 -29
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +189 -190
- package/contracts/product/ApplicationService.sol +85 -17
- package/contracts/product/BasicProduct.sol +2 -5
- package/contracts/product/BasicProductAuthorization.sol +31 -9
- package/contracts/product/ClaimService.sol +112 -194
- package/contracts/product/IApplicationService.sol +24 -2
- package/contracts/product/IClaimService.sol +6 -6
- package/contracts/product/IPolicyService.sol +20 -8
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IRiskService.sol +25 -10
- package/contracts/product/PolicyService.sol +110 -201
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PricingService.sol +33 -31
- package/contracts/product/Product.sol +61 -33
- package/contracts/product/RiskService.sol +63 -25
- package/contracts/registry/IRegistry.sol +17 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +19 -9
- package/contracts/registry/RegistryAdmin.sol +100 -253
- 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 +131 -31
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +19 -35
- package/contracts/shared/ComponentService.sol +281 -290
- package/contracts/shared/ContractLib.sol +137 -77
- package/contracts/shared/IComponent.sol +1 -4
- package/contracts/shared/IComponentService.sol +21 -26
- 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 +8 -13
- 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 +44 -91
- package/contracts/staking/IStaking.sol +266 -72
- package/contracts/staking/IStakingService.sol +45 -75
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +475 -204
- 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 +62 -180
- package/contracts/staking/StakingServiceManager.sol +6 -4
- package/contracts/staking/StakingStore.sol +1093 -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 +69 -52
- package/contracts/type/RiskId.sol +4 -3
- package/contracts/type/RoleId.sol +60 -45
- package/contracts/type/Seconds.sol +19 -0
- package/contracts/type/Selector.sol +5 -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/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
- 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/instance/module/IAccess.sol +0 -46
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -1,40 +1,51 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {NftId} from "../type/NftId.sol";
|
6
4
|
import {IPolicy} from "../instance/module/IPolicy.sol";
|
7
5
|
import {IService} from "../shared/IService.sol";
|
8
|
-
|
6
|
+
|
7
|
+
import {Amount} from "../type/Amount.sol";
|
9
8
|
import {DistributorType} from "../type/DistributorType.sol";
|
10
|
-
import {
|
9
|
+
import {InstanceReader} from "../instance/InstanceReader.sol";
|
10
|
+
import {NftId} from "../type/NftId.sol";
|
11
|
+
import {ReferralId, ReferralStatus} from "../type/Referral.sol";
|
12
|
+
import {Seconds} from "../type/Seconds.sol";
|
11
13
|
import {Timestamp} from "../type/Timestamp.sol";
|
14
|
+
import {UFixed} from "../type/UFixed.sol";
|
12
15
|
|
13
16
|
|
14
17
|
interface IDistributionService is IService {
|
15
|
-
|
16
18
|
error ErrorDistributionServiceCallerNotRegistered(address caller);
|
17
|
-
error
|
18
|
-
error
|
19
|
-
error
|
20
|
-
error
|
21
|
-
error
|
22
|
-
error
|
23
|
-
error
|
24
|
-
error
|
25
|
-
error
|
26
|
-
error
|
27
|
-
error
|
19
|
+
error ErrorDistributionServiceParentNftIdNotInstance(NftId nftId, NftId parentNftId);
|
20
|
+
error ErrorDistributionServiceCallerNotDistributor(address caller);
|
21
|
+
error ErrorDistributionServiceInvalidReferralId(ReferralId referralId);
|
22
|
+
error ErrorDistributionServiceMaxReferralsExceeded(uint256 limit, uint256 maxReferrals);
|
23
|
+
error ErrorDistributionServiceDiscountTooLow(UFixed minDiscountPercentage, UFixed discountPercentage);
|
24
|
+
error ErrorDistributionServiceDiscountTooHigh(UFixed maxDiscountPercentage, UFixed discountPercentage);
|
25
|
+
error ErrorDistributionServiceExpiryTooLong(Seconds maxReferralLifetime, Timestamp expiryAt);
|
26
|
+
error ErrorDistributionServiceInvalidReferral();
|
27
|
+
error ErrorDistributionServiceExpirationInvalid(Timestamp expiryAt);
|
28
|
+
error ErrorDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
|
29
|
+
error ErrorDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
|
30
|
+
error ErrorDistributionServiceDistributorTypeDistributionMismatch(DistributorType distributorType, NftId distributorTypeDistributionNftId, NftId distributionNftId);
|
31
|
+
error ErrorDistributionServiceDistributorDistributionMismatch(NftId distributorNftId, NftId distributorDistributionNftId, NftId distributionNftId);
|
28
32
|
|
29
33
|
error ErrorDistributionServiceCommissionWithdrawAmountExceedsLimit(Amount amount, Amount limit);
|
30
34
|
|
31
35
|
error ErrorDistributionServiceVariableFeesTooHight(uint256 maxDiscountPercentage, uint256 limit);
|
32
36
|
error ErrorDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
|
33
37
|
|
34
|
-
error
|
38
|
+
error ErrorDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
|
35
39
|
error ErrorDistributionServiceInvalidFeeTransferred(Amount transferredDistributionFeeAmount, Amount expectedDistributionFeeAmount);
|
40
|
+
error ErrorDistributionServiceReferralDistributionMismatch(ReferralId referralId, NftId referralDistributionNft, NftId distributionNftId);
|
36
41
|
|
37
42
|
event LogDistributionServiceCommissionWithdrawn(NftId distributorNftId, address recipient, address tokenAddress, Amount amount);
|
43
|
+
event LogDistributionServiceDistributorTypeCreated(NftId distributionNftId, string name);
|
44
|
+
event LogDistributionServiceDistributorCreated(NftId distributionNftId, NftId distributorNftId, DistributorType distributorType, address distributor);
|
45
|
+
event LogDistributionServiceDistributorTypeChanged(NftId distributorNftId, DistributorType oldDistributorType, DistributorType newDistributorType);
|
46
|
+
event LogDistributionServiceReferralCreated(NftId distributionNftId, NftId distributorNftId, ReferralId referralId, string code);
|
47
|
+
event LogDistributionServiceReferralProcessed(NftId distributionNftId, NftId distributorNftId, ReferralId referralId, uint32 usedReferrals);
|
48
|
+
event LogDistributionServiceSaleProcessed(NftId distributionNftId, ReferralId referralId);
|
38
49
|
|
39
50
|
function createDistributorType(
|
40
51
|
string memory name,
|
@@ -42,7 +53,7 @@ interface IDistributionService is IService {
|
|
42
53
|
UFixed maxDiscountPercentage,
|
43
54
|
UFixed commissionPercentage,
|
44
55
|
uint32 maxReferralCount,
|
45
|
-
|
56
|
+
Seconds maxReferralLifetime,
|
46
57
|
bool allowSelfReferrals,
|
47
58
|
bool allowRenewals,
|
48
59
|
bytes memory data
|
@@ -58,7 +69,7 @@ interface IDistributionService is IService {
|
|
58
69
|
|
59
70
|
function changeDistributorType(
|
60
71
|
NftId distributorNftId,
|
61
|
-
DistributorType
|
72
|
+
DistributorType newDistributorType,
|
62
73
|
bytes memory data
|
63
74
|
) external;
|
64
75
|
|
@@ -97,4 +108,8 @@ interface IDistributionService is IService {
|
|
97
108
|
/// @param amount the amount to withdraw. If set to AMOUNT_MAX, the full commission available is withdrawn
|
98
109
|
/// @return withdrawnAmount the effective withdrawn amount
|
99
110
|
function withdrawCommission(NftId distributorNftId, Amount amount) external returns (Amount withdrawnAmount);
|
111
|
+
|
112
|
+
/// @dev Returns the discount percentage for the provided referral code.
|
113
|
+
/// The function retuns both the percentage and the status of the referral code.
|
114
|
+
function getDiscountPercentage(InstanceReader instanceReader, ReferralId referralId) external view returns (UFixed discountPercentage, ReferralStatus status);
|
100
115
|
}
|
@@ -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);
|
@@ -25,7 +25,7 @@ contract FirePoolAuthorization
|
|
25
25
|
IAccess.FunctionInfo[] storage functions;
|
26
26
|
|
27
27
|
// authorize public role (open access to any account, only allows to lock target)
|
28
|
-
functions = _authorizeForTarget(
|
28
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
29
29
|
// TODO: FirePool.createBundle must require a custom role (e.g. INVESTOR) instead of PUBLIC_ROLE
|
30
30
|
_authorize(functions, FirePool.approveTokenHandler.selector, "approveTokenHandler");
|
31
31
|
_authorize(functions, FirePool.createBundle.selector, "createBundle");
|
@@ -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
|
|
@@ -252,8 +248,7 @@ contract FireProduct is
|
|
252
248
|
return _riskMapping[cityName];
|
253
249
|
}
|
254
250
|
_cities.push(cityName);
|
255
|
-
risk =
|
256
|
-
_createRisk(risk, "");
|
251
|
+
risk = _createRisk(bytes32(abi.encodePacked(cityName)), "");
|
257
252
|
_riskMapping[cityName] = risk;
|
258
253
|
}
|
259
254
|
|
@@ -268,7 +263,7 @@ contract FireProduct is
|
|
268
263
|
onlyOwner()
|
269
264
|
onlyNftOfType(policyNftId, POLICY())
|
270
265
|
{
|
271
|
-
_createPolicy(policyNftId, activateAt);
|
266
|
+
_createPolicy(policyNftId, activateAt, AmountLib.max());
|
272
267
|
_collectPremium(policyNftId, activateAt);
|
273
268
|
}
|
274
269
|
|
@@ -321,7 +316,7 @@ contract FireProduct is
|
|
321
316
|
revert ErrorFireProductCityUnknown(cityName);
|
322
317
|
}
|
323
318
|
|
324
|
-
if (reportedAt > TimestampLib.
|
319
|
+
if (reportedAt > TimestampLib.current()) {
|
325
320
|
revert ErrorFireProductTimestampInFuture();
|
326
321
|
}
|
327
322
|
|
@@ -23,7 +23,7 @@ contract FireProductAuthorization
|
|
23
23
|
IAccess.FunctionInfo[] storage functions;
|
24
24
|
|
25
25
|
// authorize public role (open access to any account, only allows to lock target)
|
26
|
-
functions = _authorizeForTarget(
|
26
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
27
27
|
// fully public functions
|
28
28
|
_authorize(functions, FireProduct.approveTokenHandler.selector, "approveTokenHandler");
|
29
29
|
_authorize(functions, FireProduct.createApplication.selector, "createApplication");
|
@@ -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
|
}
|
@@ -21,7 +21,7 @@ contract SimpleDistributionAuthorization
|
|
21
21
|
|
22
22
|
// authorize public role (open access to any account, only allows to lock target)
|
23
23
|
IAccess.FunctionInfo[] storage functions;
|
24
|
-
functions = _authorizeForTarget(
|
24
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
25
25
|
_authorize(functions, SimpleDistribution.approveTokenHandler.selector, "approveTokenHandler");
|
26
26
|
_authorize(functions, SimpleDistribution.setWallet.selector, "setWallet");
|
27
27
|
}
|
@@ -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
|
@@ -5,7 +5,6 @@ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IER
|
|
5
5
|
|
6
6
|
import {Amount, AmountLib} from "../../type/Amount.sol";
|
7
7
|
import {BasicPool} from "../../pool/BasicPool.sol";
|
8
|
-
import {BasicPoolAuthorization} from "../../pool/BasicPoolAuthorization.sol";
|
9
8
|
import {Fee} from "../../type/Fee.sol";
|
10
9
|
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
11
10
|
import {IComponents} from "../../instance/module/IComponents.sol";
|
@@ -20,7 +19,6 @@ contract SimplePool is
|
|
20
19
|
constructor(
|
21
20
|
address registry,
|
22
21
|
NftId productNftId,
|
23
|
-
address token,
|
24
22
|
IComponents.PoolInfo memory poolInfo,
|
25
23
|
IAuthorization authorization,
|
26
24
|
address initialOwner
|
@@ -29,7 +27,6 @@ contract SimplePool is
|
|
29
27
|
initialize(
|
30
28
|
registry,
|
31
29
|
productNftId,
|
32
|
-
token,
|
33
30
|
poolInfo,
|
34
31
|
authorization,
|
35
32
|
initialOwner
|
@@ -40,7 +37,6 @@ contract SimplePool is
|
|
40
37
|
function initialize(
|
41
38
|
address registry,
|
42
39
|
NftId productNftId,
|
43
|
-
address token,
|
44
40
|
IComponents.PoolInfo memory poolInfo,
|
45
41
|
IAuthorization authorization,
|
46
42
|
address initialOwner
|
@@ -53,7 +49,6 @@ contract SimplePool is
|
|
53
49
|
registry,
|
54
50
|
productNftId,
|
55
51
|
"SimplePool",
|
56
|
-
token,
|
57
52
|
poolInfo,
|
58
53
|
authorization,
|
59
54
|
initialOwner);
|
@@ -21,7 +21,7 @@ contract SimplePoolAuthorization
|
|
21
21
|
|
22
22
|
// authorize public role (open access to any account, only allows to lock target)
|
23
23
|
IAccess.FunctionInfo[] storage functions;
|
24
|
-
functions = _authorizeForTarget(
|
24
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
25
25
|
_authorize(functions, SimplePool.approveTokenHandler.selector, "approveTokenHandler");
|
26
26
|
_authorize(functions, SimplePool.setWallet.selector, "setWallet");
|
27
27
|
}
|
@@ -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,
|
@@ -85,11 +81,11 @@ contract SimpleProduct is
|
|
85
81
|
|
86
82
|
|
87
83
|
function createRisk(
|
88
|
-
|
84
|
+
string memory id,
|
89
85
|
bytes memory data
|
90
|
-
) public {
|
91
|
-
_createRisk(
|
92
|
-
id,
|
86
|
+
) public returns (RiskId) {
|
87
|
+
return _createRisk(
|
88
|
+
bytes32(abi.encodePacked(id)),
|
93
89
|
data
|
94
90
|
);
|
95
91
|
}
|
@@ -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
|
}
|
@@ -188,6 +233,13 @@ contract SimpleProduct is
|
|
188
233
|
_activate(policyNftId, activateAt);
|
189
234
|
}
|
190
235
|
|
236
|
+
function adjustActivation(
|
237
|
+
NftId policyNftId,
|
238
|
+
Timestamp activateAt
|
239
|
+
) public {
|
240
|
+
_adjustActivation(policyNftId, activateAt);
|
241
|
+
}
|
242
|
+
|
191
243
|
function close(
|
192
244
|
NftId policyNftId
|
193
245
|
) public {
|
@@ -226,11 +278,11 @@ contract SimpleProduct is
|
|
226
278
|
_declineClaim(policyNftId, claimId, processData);
|
227
279
|
}
|
228
280
|
|
229
|
-
function
|
281
|
+
function cancelConfirmedClaim(
|
230
282
|
NftId policyNftId,
|
231
283
|
ClaimId claimId
|
232
284
|
) public {
|
233
|
-
|
285
|
+
_cancelConfirmedClaim(policyNftId, claimId);
|
234
286
|
}
|
235
287
|
|
236
288
|
function createPayout(
|
@@ -263,8 +315,8 @@ contract SimpleProduct is
|
|
263
315
|
function processPayout(
|
264
316
|
NftId policyNftId,
|
265
317
|
PayoutId payoutId
|
266
|
-
) public {
|
267
|
-
_processPayout(policyNftId, payoutId);
|
318
|
+
) public returns (Amount netPayoutAmount, Amount processingFeeAmount) {
|
319
|
+
(netPayoutAmount, processingFeeAmount) = _processPayout(policyNftId, payoutId);
|
268
320
|
}
|
269
321
|
|
270
322
|
function createOracleRequest(
|
@@ -296,6 +348,28 @@ contract SimpleProduct is
|
|
296
348
|
}
|
297
349
|
}
|
298
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
|
+
|
299
373
|
function cancelOracleRequest(
|
300
374
|
RequestId requestId
|
301
375
|
)
|
@@ -326,7 +400,7 @@ contract SimpleProduct is
|
|
326
400
|
SimpleOracle.SimpleResponse memory response = abi.decode(
|
327
401
|
responseData, (SimpleOracle.SimpleResponse));
|
328
402
|
|
329
|
-
if (response.revertInCall && response.revertUntil >= TimestampLib.
|
403
|
+
if (response.revertInCall && response.revertUntil >= TimestampLib.current()) {
|
330
404
|
revert ErrorSimpleProductRevertedWhileProcessingResponse(requestId);
|
331
405
|
}
|
332
406
|
|
@@ -344,21 +418,14 @@ contract SimpleProduct is
|
|
344
418
|
}
|
345
419
|
|
346
420
|
|
347
|
-
function
|
421
|
+
function doSomethingOnlyWhenActive()
|
348
422
|
public
|
349
|
-
|
423
|
+
onlyActive()
|
350
424
|
returns (bool)
|
351
425
|
{
|
352
426
|
return true;
|
353
427
|
}
|
354
428
|
|
355
|
-
function doWhenNotLocked()
|
356
|
-
public
|
357
|
-
restricted()
|
358
|
-
returns (bool)
|
359
|
-
{
|
360
|
-
return true;
|
361
|
-
}
|
362
429
|
|
363
430
|
function getOracleService() public view returns (IOracleService) {
|
364
431
|
return _oracleService;
|
@@ -21,7 +21,7 @@ contract SimpleProductAuthorization
|
|
21
21
|
|
22
22
|
// authorize public role (open access to any account, only allows to lock target)
|
23
23
|
IAccess.FunctionInfo[] storage functions;
|
24
|
-
functions = _authorizeForTarget(
|
24
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
25
25
|
_authorize(functions, SimpleProduct.approveTokenHandler.selector, "approveTokenHandler");
|
26
26
|
_authorize(functions, SimpleProduct.setWallet.selector, "setWallet");
|
27
27
|
}
|