@etherisc/gif-next 0.0.2-e016345-525 → 0.0.2-e04dbfc-031
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 +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +137 -58
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +37 -31
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +83 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +449 -248
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -21
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +348 -184
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +100 -13
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +83 -129
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +207 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +46 -81
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +283 -181
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +74 -60
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +33 -68
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +155 -68
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +92 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +248 -191
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +207 -33
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +149 -131
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +207 -33
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -45
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +113 -47
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +188 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +305 -150
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +207 -33
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +139 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +100 -7
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +163 -53
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +672 -320
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +188 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +374 -197
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +113 -83
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +26 -38
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +422 -352
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +96 -53
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +68 -38
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +189 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +38 -8
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +52 -22
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +91 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +42 -36
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -21
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +188 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +118 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +50 -64
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -80
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -8
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +120 -175
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -21
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +472 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +265 -278
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +86 -56
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +139 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +45 -27
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +157 -112
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +207 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +260 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +72 -74
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +69 -3
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -68
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +48 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +144 -99
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +58 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +215 -187
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +727 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +68 -66
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +122 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +48 -42
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +157 -112
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +131 -81
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +46 -28
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +26 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +64 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +548 -429
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +22 -24
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +324 -54
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +51 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +96 -138
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -50
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +113 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -8
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +28 -45
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -8
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +51 -21
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +63 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +112 -17
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +130 -6
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +191 -74
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +56 -32
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +30 -57
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +185 -54
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +39 -29
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +143 -129
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +33 -23
- 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 +3 -3
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +30 -6
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +43 -26
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/accounting/IAccountingService.sol +3 -0
- package/contracts/authorization/AccessAdmin.sol +293 -205
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +307 -231
- package/contracts/authorization/IAccessAdmin.sol +69 -36
- package/contracts/authorization/IAuthorization.sol +21 -1
- package/contracts/distribution/BasicDistribution.sol +12 -8
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +14 -55
- package/contracts/distribution/DistributionService.sol +62 -30
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +18 -15
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +4 -3
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -1
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +29 -4
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +49 -15
- package/contracts/instance/IInstanceService.sol +15 -1
- package/contracts/instance/Instance.sol +80 -23
- package/contracts/instance/InstanceAdmin.sol +269 -104
- package/contracts/instance/InstanceAuthorizationV3.sol +49 -36
- package/contracts/instance/InstanceReader.sol +106 -35
- package/contracts/instance/InstanceService.sol +144 -73
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +11 -12
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +3 -2
- package/contracts/instance/module/IDistribution.sol +5 -2
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +20 -19
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +21 -13
- package/contracts/pool/BundleService.sol +28 -58
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -20
- package/contracts/pool/IPoolService.sol +50 -38
- package/contracts/pool/Pool.sol +9 -9
- package/contracts/pool/PoolLib.sol +309 -0
- package/contracts/pool/PoolService.sol +334 -190
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +28 -9
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +23 -8
- package/contracts/product/ClaimService.sol +165 -139
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +3 -0
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +11 -6
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +112 -184
- package/contracts/product/PolicyServiceLib.sol +119 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +28 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +55 -13
- package/contracts/product/RiskService.sol +76 -29
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +8 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +7 -2
- package/contracts/registry/RegistryAdmin.sol +143 -342
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +149 -117
- package/contracts/registry/ServiceAuthorizationV3.sol +159 -2
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +27 -19
- package/contracts/shared/ComponentService.sol +119 -116
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +60 -3
- package/contracts/shared/IComponent.sol +3 -4
- package/contracts/shared/IComponentService.sol +4 -10
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +2 -2
- package/contracts/shared/NftOwnable.sol +6 -5
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +42 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +45 -92
- package/contracts/staking/IStaking.sol +12 -10
- package/contracts/staking/IStakingService.sol +19 -1
- package/contracts/staking/Staking.sol +57 -26
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +6 -16
- package/contracts/staking/StakingService.sol +71 -44
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/ObjectType.sol +47 -39
- package/contracts/type/RiskId.sol +9 -3
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +9 -119
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +2 -2
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,18 +1,17 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IPolicy} from "../instance/module/IPolicy.sol";
|
5
4
|
import {Key32} from "../type/Key32.sol";
|
6
5
|
import {LibNftIdSet} from "../type/NftIdSet.sol";
|
7
6
|
import {NftId} from "../type/NftId.sol";
|
8
|
-
import {RiskIdLib, RiskId} from "../type/RiskId.sol";
|
9
|
-
|
10
7
|
import {ObjectSet} from "./base/ObjectSet.sol";
|
8
|
+
import {ObjectSetHelperLib} from "./base/ObjectSetHelperLib.sol";
|
9
|
+
import {RiskIdLib, RiskId} from "../type/RiskId.sol";
|
11
10
|
|
12
|
-
|
11
|
+
/// @dev RiskSet manages the risks and its active policies per product.
|
12
|
+
contract RiskSet is
|
13
13
|
ObjectSet
|
14
14
|
{
|
15
|
-
using LibNftIdSet for LibNftIdSet.Set;
|
16
15
|
|
17
16
|
event LogRiskSetPolicyLinked(RiskId riskId, NftId policyNftId);
|
18
17
|
event LogRiskSetPolicyUnlinked(RiskId riskId, NftId policyNftId);
|
@@ -36,7 +35,7 @@ contract RiskSet is
|
|
36
35
|
revert ErrorRiskSetRiskLocked(riskId, policyNftId);
|
37
36
|
}
|
38
37
|
|
39
|
-
_activePolicies[riskId]
|
38
|
+
LibNftIdSet.add(_activePolicies[riskId], policyNftId);
|
40
39
|
emit LogRiskSetPolicyLinked(riskId, policyNftId);
|
41
40
|
}
|
42
41
|
|
@@ -48,14 +47,14 @@ contract RiskSet is
|
|
48
47
|
revert ErrorRiskSetRiskUnknown(riskId);
|
49
48
|
}
|
50
49
|
|
51
|
-
_activePolicies[riskId]
|
50
|
+
LibNftIdSet.remove(_activePolicies[riskId], policyNftId);
|
52
51
|
emit LogRiskSetPolicyUnlinked(riskId, policyNftId);
|
53
52
|
}
|
54
53
|
|
55
54
|
/// @dev add a new risk to a product registered with this instance
|
56
55
|
// the corresponding product is fetched via instance reader
|
57
56
|
function add(RiskId riskId) external restricted() {
|
58
|
-
NftId productNftId =
|
57
|
+
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
59
58
|
|
60
59
|
// ensure product is registered with instance
|
61
60
|
if(productNftId.eqz()) {
|
@@ -68,14 +67,14 @@ contract RiskSet is
|
|
68
67
|
|
69
68
|
/// @dev Applications linked to active risks may be underwritten
|
70
69
|
function activate(RiskId riskId) external restricted() {
|
71
|
-
NftId productNftId =
|
70
|
+
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
72
71
|
_activate(productNftId, riskId.toKey32());
|
73
72
|
emit LogRiskSetRiskActive(productNftId, riskId);
|
74
73
|
}
|
75
74
|
|
76
75
|
/// @dev Applications linked to paused/archived risks may not be underwritten
|
77
76
|
function pause(RiskId riskId) external restricted() {
|
78
|
-
NftId productNftId =
|
77
|
+
NftId productNftId = ObjectSetHelperLib.getProductNftId(_instanceAddress, riskId);
|
79
78
|
_deactivate(productNftId, riskId.toKey32());
|
80
79
|
emit LogRiskSetRiskPaused(productNftId, riskId);
|
81
80
|
}
|
@@ -110,10 +109,10 @@ contract RiskSet is
|
|
110
109
|
}
|
111
110
|
|
112
111
|
function linkedPolicies(RiskId riskId) external view returns(uint256) {
|
113
|
-
return _activePolicies[riskId]
|
112
|
+
return LibNftIdSet.size(_activePolicies[riskId]);
|
114
113
|
}
|
115
114
|
|
116
115
|
function getLinkedPolicyNftId(RiskId riskId, uint256 idx) external view returns(NftId policyNftId) {
|
117
|
-
return _activePolicies[riskId]
|
116
|
+
return LibNftIdSet.getElementAt(_activePolicies[riskId], idx);
|
118
117
|
}
|
119
118
|
}
|
@@ -11,9 +11,8 @@ contract ObjectCounter {
|
|
11
11
|
// TODO refactor risk id
|
12
12
|
// mapping(NftId productNftId => uint64 risks) private _riskCounter;
|
13
13
|
|
14
|
-
uint256 private _requestCounter;
|
14
|
+
uint256 private _requestCounter = 0;
|
15
15
|
|
16
|
-
// TODO introduce RequestId (uint64)
|
17
16
|
function _createNextRequestId() internal returns (RequestId requestId) {
|
18
17
|
_requestCounter++;
|
19
18
|
requestId = RequestIdLib.toRequestId(_requestCounter);
|
@@ -3,7 +3,7 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
5
|
|
6
|
-
import {COMPONENT, BUNDLE, POLICY, REQUEST, RISK, CLAIM, PAYOUT, POOL, PREMIUM, PRODUCT, DISTRIBUTION, DISTRIBUTOR, DISTRIBUTOR_TYPE, REFERRAL} from "../../type/ObjectType.sol";
|
6
|
+
import {COMPONENT, BUNDLE, POLICY, REQUEST, RISK, CLAIM, PAYOUT, POOL, PREMIUM, PRODUCT, DISTRIBUTION, DISTRIBUTOR, DISTRIBUTOR_TYPE, REFERRAL, FEE} from "../../type/ObjectType.sol";
|
7
7
|
import {ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, COLLATERALIZED, REVOKED, SUBMITTED, CONFIRMED, DECLINED, EXPECTED, PAID, FULFILLED, FAILED, CANCELLED} from "../../type/StateId.sol";
|
8
8
|
import {Lifecycle} from "../../shared/Lifecycle.sol";
|
9
9
|
|
@@ -65,6 +65,7 @@ contract ObjectLifecycle is
|
|
65
65
|
|
66
66
|
function _setupClaimLifecycle() private {
|
67
67
|
setInitialState(CLAIM(), SUBMITTED());
|
68
|
+
setStateTransition(CLAIM(), SUBMITTED(), REVOKED());
|
68
69
|
setStateTransition(CLAIM(), SUBMITTED(), CONFIRMED());
|
69
70
|
setStateTransition(CLAIM(), SUBMITTED(), DECLINED());
|
70
71
|
setStateTransition(CLAIM(), CONFIRMED(), CLOSED());
|
@@ -72,8 +73,8 @@ contract ObjectLifecycle is
|
|
72
73
|
|
73
74
|
function _setupPayoutLifecycle() private {
|
74
75
|
setInitialState(PAYOUT(), EXPECTED());
|
75
|
-
// TODO: add state cancelled
|
76
76
|
setStateTransition(PAYOUT(), EXPECTED(), PAID());
|
77
|
+
setStateTransition(PAYOUT(), EXPECTED(), CANCELLED());
|
77
78
|
}
|
78
79
|
|
79
80
|
function _setupRiskLifecycle() private {
|
@@ -99,6 +100,7 @@ contract ObjectLifecycle is
|
|
99
100
|
// dummy lifecycle only
|
100
101
|
function _setUpProductLifecycle() private {
|
101
102
|
setInitialState(PRODUCT(), ACTIVE());
|
103
|
+
setInitialState(FEE(), ACTIVE());
|
102
104
|
}
|
103
105
|
|
104
106
|
// dummy lifecycles only
|
@@ -3,7 +3,6 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Cloneable} from "./Cloneable.sol";
|
5
5
|
|
6
|
-
import {IInstance} from "../IInstance.sol";
|
7
6
|
import {LibKey32Set} from "../../type/Key32Set.sol";
|
8
7
|
import {NftId} from "../../type/NftId.sol";
|
9
8
|
import {Key32} from "../../type/Key32.sol";
|
@@ -19,21 +18,21 @@ contract ObjectSet is
|
|
19
18
|
|
20
19
|
mapping(NftId compnentNftId => LibKey32Set.Set objects) internal _activeObjects;
|
21
20
|
mapping(NftId compnentNftId => LibKey32Set.Set objects) internal _allObjects;
|
22
|
-
|
21
|
+
address internal _instanceAddress;
|
23
22
|
|
24
23
|
/// @dev This initializer needs to be called from the instance itself.
|
25
|
-
function initialize()
|
24
|
+
function initialize(address authority, address registry)
|
26
25
|
external
|
27
26
|
initializer()
|
28
27
|
{
|
29
|
-
|
30
|
-
__Cloneable_init(
|
28
|
+
_instanceAddress = msg.sender;
|
29
|
+
__Cloneable_init(authority, registry);
|
31
30
|
|
32
|
-
emit LogObjectSetInitialized(address(
|
31
|
+
emit LogObjectSetInitialized(address(_instanceAddress));
|
33
32
|
}
|
34
33
|
|
35
|
-
function
|
36
|
-
return
|
34
|
+
function getInstanceAddress() external view returns (address) {
|
35
|
+
return _instanceAddress;
|
37
36
|
}
|
38
37
|
|
39
38
|
function _add(NftId componentNftId, Key32 key) internal {
|
@@ -0,0 +1,30 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IBundle} from "../module/IBundle.sol";
|
5
|
+
import {IInstance} from "../IInstance.sol";
|
6
|
+
import {IRisk} from "../module/IRisk.sol";
|
7
|
+
import {NftId} from "../../type/NftId.sol";
|
8
|
+
import {RiskId} from "../../type/RiskId.sol";
|
9
|
+
|
10
|
+
|
11
|
+
library ObjectSetHelperLib {
|
12
|
+
|
13
|
+
function getRiskInfo(address instanceAddress, RiskId riskId) public view returns (IRisk.RiskInfo memory) {
|
14
|
+
|
15
|
+
return IInstance(instanceAddress).getInstanceReader().getRiskInfo(riskId);
|
16
|
+
}
|
17
|
+
|
18
|
+
function getProductNftId(address instanceAddress, RiskId riskId) public view returns (NftId) {
|
19
|
+
return getRiskInfo(instanceAddress, riskId).productNftId;
|
20
|
+
}
|
21
|
+
|
22
|
+
function getBundleInfo(address instanceAddress, NftId bundleNftId) public view returns (IBundle.BundleInfo memory) {
|
23
|
+
return IInstance(instanceAddress).getInstanceReader().getBundleInfo(bundleNftId);
|
24
|
+
}
|
25
|
+
|
26
|
+
function getPoolNftId(address instanceAddress, NftId bundleNftId) public view returns (NftId) {
|
27
|
+
return getBundleInfo(instanceAddress, bundleNftId).poolNftId;
|
28
|
+
}
|
29
|
+
|
30
|
+
}
|
@@ -6,7 +6,6 @@ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IER
|
|
6
6
|
import {Amount} from "../../type/Amount.sol";
|
7
7
|
import {Fee} from "../../type/Fee.sol";
|
8
8
|
import {NftId} from "../../type/NftId.sol";
|
9
|
-
import {RoleId} from "../../type/RoleId.sol";
|
10
9
|
import {TokenHandler} from "../../shared/TokenHandler.sol";
|
11
10
|
import {UFixed} from "../../type/UFixed.sol";
|
12
11
|
|
@@ -28,6 +27,9 @@ interface IComponents {
|
|
28
27
|
NftId poolNftId; // mandatory
|
29
28
|
NftId distributionNftId; // 0..1 (optional)
|
30
29
|
NftId [] oracleNftId; // 0..n (optional)
|
30
|
+
}
|
31
|
+
|
32
|
+
struct FeeInfo {
|
31
33
|
Fee productFee; // product fee on net premium
|
32
34
|
Fee processingFee; // product fee on payout amounts
|
33
35
|
Fee distributionFee; // distribution fee for sales that do not include commissions
|
@@ -37,7 +39,6 @@ interface IComponents {
|
|
37
39
|
Fee performanceFee; // pool fee on profits from capital investors
|
38
40
|
}
|
39
41
|
|
40
|
-
|
41
42
|
struct PoolInfo {
|
42
43
|
Amount maxBalanceAmount; // max balance amount allowed for pool
|
43
44
|
bool isInterceptingBundleTransfers; // custom logic for bundle nft transfers
|
@@ -4,6 +4,7 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {Amount} from "../../type/Amount.sol";
|
5
5
|
import {DistributorType} from "../../type/DistributorType.sol";
|
6
6
|
import {NftId} from "../../type/NftId.sol";
|
7
|
+
import {Seconds} from "../../type/Seconds.sol";
|
7
8
|
import {Timestamp} from "../../type/Timestamp.sol";
|
8
9
|
import {UFixed} from "../../type/UFixed.sol";
|
9
10
|
|
@@ -11,11 +12,12 @@ interface IDistribution {
|
|
11
12
|
|
12
13
|
struct DistributorTypeInfo {
|
13
14
|
string name;
|
15
|
+
NftId distributionNftId;
|
14
16
|
UFixed minDiscountPercentage;
|
15
17
|
UFixed maxDiscountPercentage;
|
16
18
|
UFixed commissionPercentage;
|
17
19
|
uint32 maxReferralCount;
|
18
|
-
|
20
|
+
Seconds maxReferralLifetime;
|
19
21
|
bool allowSelfReferrals;
|
20
22
|
bool allowRenewals;
|
21
23
|
bytes data;
|
@@ -28,7 +30,8 @@ interface IDistribution {
|
|
28
30
|
uint32 numPoliciesSold;
|
29
31
|
}
|
30
32
|
|
31
|
-
struct ReferralInfo {
|
33
|
+
struct ReferralInfo {
|
34
|
+
NftId distributionNftId;
|
32
35
|
NftId distributorNftId;
|
33
36
|
string referralCode;
|
34
37
|
UFixed discountPercentage;
|
@@ -15,18 +15,9 @@ contract BasicOracleAuthorization
|
|
15
15
|
{
|
16
16
|
|
17
17
|
constructor(string memory componentName)
|
18
|
-
Authorization(componentName)
|
18
|
+
Authorization(componentName, ORACLE(), true, false)
|
19
19
|
{}
|
20
20
|
|
21
|
-
function _setupTargets()
|
22
|
-
internal
|
23
|
-
virtual override
|
24
|
-
{
|
25
|
-
// basic component target
|
26
|
-
_addComponentTargetWithRole(ORACLE());
|
27
|
-
}
|
28
|
-
|
29
|
-
|
30
21
|
function _setupTargetAuthorizations()
|
31
22
|
internal
|
32
23
|
virtual override
|
@@ -34,12 +25,12 @@ contract BasicOracleAuthorization
|
|
34
25
|
IAccess.FunctionInfo[] storage functions;
|
35
26
|
|
36
27
|
// authorize public role (open access to any account, only allows to lock target)
|
37
|
-
functions = _authorizeForTarget(
|
28
|
+
functions = _authorizeForTarget(getMainTargetName(), getServiceRole(ORACLE()));
|
38
29
|
_authorize(functions, IOracle.request.selector, "request");
|
39
30
|
_authorize(functions, IOracle.cancel.selector, "cancel");
|
40
31
|
|
41
32
|
// authorize public role (open access to any account, only allows to lock target)
|
42
|
-
functions = _authorizeForTarget(
|
33
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
43
34
|
_authorize(functions, BasicOracle.respond.selector, "respond");
|
44
35
|
}
|
45
36
|
}
|
@@ -32,11 +32,11 @@ contract OracleService is
|
|
32
32
|
initializer()
|
33
33
|
{
|
34
34
|
(
|
35
|
-
address
|
36
|
-
address
|
35
|
+
address authority,
|
36
|
+
address registry
|
37
37
|
) = abi.decode(data, (address, address));
|
38
38
|
|
39
|
-
|
39
|
+
__Service_init(authority, registry, owner);
|
40
40
|
_registerInterface(type(IOracleService).interfaceId);
|
41
41
|
}
|
42
42
|
|
@@ -48,15 +48,14 @@ contract OracleService is
|
|
48
48
|
)
|
49
49
|
external
|
50
50
|
virtual
|
51
|
-
|
51
|
+
restricted()
|
52
52
|
onlyNftOfType(oracleNftId, ORACLE())
|
53
53
|
returns (RequestId requestId)
|
54
54
|
{
|
55
|
-
//
|
56
|
-
|
55
|
+
// checks
|
57
56
|
// get and check active caller
|
58
57
|
(
|
59
|
-
IRegistry.ObjectInfo memory
|
58
|
+
IRegistry.ObjectInfo memory requesterInfo,
|
60
59
|
address instance
|
61
60
|
) = ContractLib.getAndVerifyAnyComponent(
|
62
61
|
getRegistry(), msg.sender, true);
|
@@ -65,8 +64,9 @@ contract OracleService is
|
|
65
64
|
NftId requesterNftId,
|
66
65
|
IOracleComponent oracle
|
67
66
|
) = _checkRequestParams(
|
68
|
-
getRegistry(), oracleNftId,
|
67
|
+
getRegistry(), oracleNftId, requesterInfo, expiryAt, callbackMethodName);
|
69
68
|
|
69
|
+
// effects
|
70
70
|
{
|
71
71
|
// create request info
|
72
72
|
IOracle.RequestInfo memory request = IOracle.RequestInfo({
|
@@ -84,14 +84,15 @@ contract OracleService is
|
|
84
84
|
requestId = IInstance(instance).getInstanceStore().createRequest(request);
|
85
85
|
}
|
86
86
|
|
87
|
+
emit LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt);
|
88
|
+
|
89
|
+
// interactions
|
87
90
|
// callback to oracle component
|
88
91
|
oracle.request(
|
89
92
|
requestId,
|
90
93
|
requesterNftId,
|
91
94
|
requestData,
|
92
95
|
expiryAt);
|
93
|
-
|
94
|
-
emit LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt);
|
95
96
|
}
|
96
97
|
|
97
98
|
|
@@ -103,7 +104,7 @@ contract OracleService is
|
|
103
104
|
)
|
104
105
|
external
|
105
106
|
virtual
|
106
|
-
|
107
|
+
restricted()
|
107
108
|
returns (bool success)
|
108
109
|
{
|
109
110
|
(
|
@@ -152,7 +153,7 @@ contract OracleService is
|
|
152
153
|
function resend(RequestId requestId)
|
153
154
|
external
|
154
155
|
virtual
|
155
|
-
|
156
|
+
restricted()
|
156
157
|
{
|
157
158
|
(
|
158
159
|
IRegistry.ObjectInfo memory info,
|
@@ -191,7 +192,7 @@ contract OracleService is
|
|
191
192
|
function cancel(RequestId requestId)
|
192
193
|
external
|
193
194
|
virtual
|
194
|
-
|
195
|
+
restricted()
|
195
196
|
{
|
196
197
|
(
|
197
198
|
IRegistry.ObjectInfo memory info,
|
@@ -220,7 +221,7 @@ contract OracleService is
|
|
220
221
|
function _checkRequestParams(
|
221
222
|
IRegistry registry,
|
222
223
|
NftId oracleNftId,
|
223
|
-
IRegistry.ObjectInfo memory
|
224
|
+
IRegistry.ObjectInfo memory requesterInfo,
|
224
225
|
Timestamp expiryAt,
|
225
226
|
string memory callbackMethodName
|
226
227
|
)
|
@@ -237,17 +238,17 @@ contract OracleService is
|
|
237
238
|
registry, oracleNftId, true);
|
238
239
|
|
239
240
|
// obtain return values
|
240
|
-
requesterNftId =
|
241
|
+
requesterNftId = requesterInfo.nftId;
|
241
242
|
oracle = IOracleComponent(oracleInfo.objectAddress);
|
242
243
|
|
243
244
|
// check that requester and oracle share same product cluster
|
244
|
-
if (
|
245
|
+
if (requesterInfo.objectType == PRODUCT()) {
|
245
246
|
if (oracleInfo.parentNftId != requesterNftId) {
|
246
|
-
revert ErrorOracleServiceProductMismatch(
|
247
|
+
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterNftId, oracleInfo.parentNftId);
|
247
248
|
}
|
248
249
|
} else {
|
249
|
-
if (oracleInfo.parentNftId !=
|
250
|
-
revert ErrorOracleServiceProductMismatch(
|
250
|
+
if (oracleInfo.parentNftId != requesterInfo.parentNftId) {
|
251
|
+
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterInfo.parentNftId, oracleInfo.parentNftId);
|
251
252
|
}
|
252
253
|
}
|
253
254
|
|
@@ -17,7 +17,7 @@ contract OracleServiceManager is ProxyManager {
|
|
17
17
|
)
|
18
18
|
{
|
19
19
|
OracleService svc = new OracleService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
21
|
IVersionable versionable = initialize(
|
22
22
|
registry,
|
23
23
|
address(svc),
|
@@ -1,14 +1,16 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {Authorization} from "../authorization/Authorization.sol";
|
5
|
-
import {BasicPool} from "./BasicPool.sol";
|
6
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
7
5
|
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
8
6
|
import {IPoolComponent} from "./IPoolComponent.sol";
|
9
|
-
|
7
|
+
|
8
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
9
|
+
import {BasicPool} from "./BasicPool.sol";
|
10
|
+
import {COMPONENT, POOL} from "../type/ObjectType.sol";
|
10
11
|
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
11
12
|
import {RoleId} from "../type/RoleId.sol";
|
13
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
12
14
|
|
13
15
|
|
14
16
|
contract BasicPoolAuthorization
|
@@ -16,23 +18,30 @@ contract BasicPoolAuthorization
|
|
16
18
|
{
|
17
19
|
|
18
20
|
constructor(string memory poolName)
|
19
|
-
Authorization(poolName)
|
21
|
+
Authorization(poolName, POOL(), true, true)
|
20
22
|
{}
|
21
23
|
|
22
24
|
function _setupServiceTargets()
|
23
25
|
internal
|
24
26
|
virtual override
|
25
27
|
{
|
28
|
+
_addServiceTargetWithRole(COMPONENT());
|
26
29
|
_addServiceTargetWithRole(POOL());
|
27
30
|
}
|
28
31
|
|
29
|
-
function
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
function _setupTokenHandlerAuthorizations() internal virtual override {
|
33
|
+
// authorize token handler functions for component service role
|
34
|
+
IAccess.FunctionInfo[] storage functions;
|
35
|
+
functions = _authorizeForTarget(getTokenHandlerName(), getServiceRole(COMPONENT()));
|
36
|
+
_authorize(functions, TokenHandler.approve.selector, "approve");
|
37
|
+
_authorize(functions, TokenHandler.setWallet.selector, "setWallet");
|
38
|
+
_authorize(functions, TokenHandler.pushFeeToken.selector, "pushFeeToken");
|
35
39
|
|
40
|
+
// authorize token handler functions for pool service role
|
41
|
+
functions = _authorizeForTarget(getTokenHandlerName(), getServiceRole(POOL()));
|
42
|
+
_authorize(functions, TokenHandler.pullToken.selector, "pullToken");
|
43
|
+
_authorize(functions, TokenHandler.pushToken.selector, "pushToken");
|
44
|
+
}
|
36
45
|
|
37
46
|
function _setupTargetAuthorizations()
|
38
47
|
internal
|
@@ -41,7 +50,7 @@ contract BasicPoolAuthorization
|
|
41
50
|
IAccess.FunctionInfo[] storage functions;
|
42
51
|
|
43
52
|
// authorize public role (open access to any account, only allows to lock target)
|
44
|
-
functions = _authorizeForTarget(
|
53
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
45
54
|
_authorize(functions, BasicPool.stake.selector, "stake");
|
46
55
|
_authorize(functions, BasicPool.unstake.selector, "unstake");
|
47
56
|
_authorize(functions, BasicPool.extend.selector, "extend");
|
@@ -57,11 +66,10 @@ contract BasicPoolAuthorization
|
|
57
66
|
_authorize(functions, BasicPool.extend.selector, "extend");
|
58
67
|
|
59
68
|
_authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
|
60
|
-
|
61
69
|
_authorize(functions, BasicPool.withdrawBundleFees.selector, "withdrawBundleFees");
|
62
70
|
|
63
71
|
// authorize pool service
|
64
|
-
functions = _authorizeForTarget(
|
72
|
+
functions = _authorizeForTarget(getMainTargetName(), getServiceRole(POOL()));
|
65
73
|
_authorize(functions, IPoolComponent.verifyApplication.selector, "verifyApplication");
|
66
74
|
}
|
67
75
|
}
|