@etherisc/gif-next 0.0.2-de9ede4-391 → 0.0.2-df69269-973
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +65 -58
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +20 -22
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +27 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +103 -55
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +115 -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 +37 -5
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +42 -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 +77 -47
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +90 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +51 -21
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +117 -110
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +46 -48
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +38 -8
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +27 -3
- 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 +76 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +93 -40
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +233 -184
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +90 -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 +104 -54
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +90 -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 +98 -48
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +93 -40
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +262 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +90 -33
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +54 -21
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +53 -3
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +80 -40
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +289 -92
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +97 -40
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +81 -195
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -58
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +20 -22
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +40 -268
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- 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 +92 -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 +75 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +25 -27
- 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 +93 -40
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +101 -94
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +38 -40
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +27 -3
- 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 +27 -3
- 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/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +85 -78
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +30 -32
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +57 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +16 -18
- 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 +90 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +249 -150
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +57 -55
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +27 -3
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +143 -3
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +27 -3
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -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 +27 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +95 -88
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +35 -37
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +85 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -33
- 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 +76 -77
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +25 -19
- 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 +7 -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 +45 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +176 -214
- 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 +11 -13
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -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 +307 -49
- 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 +113 -90
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -38
- 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 +57 -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 +27 -3
- 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/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 +3 -3
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +38 -8
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +27 -3
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +90 -57
- 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 +27 -19
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +59 -52
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +17 -19
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +128 -128
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
- 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 +23 -4
- 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/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -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 +2 -2
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +3 -4
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +115 -71
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +268 -227
- package/contracts/authorization/IAccessAdmin.sol +6 -3
- package/contracts/authorization/IAuthorization.sol +7 -1
- package/contracts/distribution/BasicDistributionAuthorization.sol +9 -8
- package/contracts/distribution/DistributionService.sol +6 -6
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +3 -1
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +18 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +0 -1
- package/contracts/instance/IInstance.sol +6 -7
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +17 -9
- package/contracts/instance/InstanceAdmin.sol +227 -53
- package/contracts/instance/InstanceAuthorizationV3.sol +14 -8
- package/contracts/instance/InstanceReader.sol +6 -6
- package/contracts/instance/InstanceService.sol +41 -29
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +1 -0
- package/contracts/instance/RiskSet.sol +7 -9
- package/contracts/instance/base/ObjectLifecycle.sol +2 -1
- package/contracts/instance/module/IComponents.sol +0 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +11 -10
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +16 -15
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +10 -9
- package/contracts/pool/BundleService.sol +3 -3
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/PoolService.sol +4 -4
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +3 -3
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +10 -9
- package/contracts/product/ClaimService.sol +144 -50
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IClaimService.sol +13 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/PolicyService.sol +3 -3
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +23 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +36 -0
- package/contracts/product/RiskService.sol +65 -21
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/IRegistry.sol +6 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +3 -2
- package/contracts/registry/RegistryAdmin.sol +117 -230
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +124 -99
- package/contracts/registry/ServiceAuthorizationV3.sol +36 -1
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +24 -17
- package/contracts/shared/ComponentService.sol +63 -51
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ContractLib.sol +29 -1
- package/contracts/shared/IComponent.sol +3 -4
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/NftOwnable.sol +4 -4
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +45 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +2 -2
- package/contracts/staking/Staking.sol +23 -12
- package/contracts/staking/StakingService.sol +2 -3
- package/contracts/type/ObjectType.sol +41 -27
- package/contracts/type/RiskId.sol +5 -0
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +1 -1
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
@@ -3,6 +3,7 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
|
5
5
|
|
6
|
+
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
6
7
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
7
8
|
import {Amount} from "../type/Amount.sol";
|
8
9
|
import {BundleSet} from "./BundleSet.sol";
|
@@ -80,6 +81,7 @@ contract InstanceService is
|
|
80
81
|
_;
|
81
82
|
}
|
82
83
|
|
84
|
+
|
83
85
|
// TODO check component - service - instance version match
|
84
86
|
modifier onlyComponent() {
|
85
87
|
if (! getRegistry().isRegisteredComponent(msg.sender)) {
|
@@ -90,6 +92,7 @@ contract InstanceService is
|
|
90
92
|
|
91
93
|
function createInstance()
|
92
94
|
external
|
95
|
+
restricted()
|
93
96
|
returns (
|
94
97
|
IInstance instance,
|
95
98
|
NftId instanceNftId
|
@@ -113,7 +116,11 @@ contract InstanceService is
|
|
113
116
|
TargetManagerLib.getDefaultRewardRate());
|
114
117
|
|
115
118
|
// MUST be set after instance is set up and registered
|
116
|
-
|
119
|
+
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
120
|
+
VersionPart release = AccessManagerCloneable(authority()).getRelease();
|
121
|
+
instanceAdmin.completeSetup(
|
122
|
+
address(instance),
|
123
|
+
address(instanceAuthorization));
|
117
124
|
|
118
125
|
emit LogInstanceCloned(
|
119
126
|
instanceNftId,
|
@@ -124,6 +131,7 @@ contract InstanceService is
|
|
124
131
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
125
132
|
external
|
126
133
|
virtual
|
134
|
+
restricted()
|
127
135
|
onlyInstance()
|
128
136
|
{
|
129
137
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -136,6 +144,7 @@ contract InstanceService is
|
|
136
144
|
function setStakingRewardRate(UFixed rewardRate)
|
137
145
|
external
|
138
146
|
virtual
|
147
|
+
restricted()
|
139
148
|
onlyInstance()
|
140
149
|
{
|
141
150
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -148,6 +157,7 @@ contract InstanceService is
|
|
148
157
|
function refillStakingRewardReserves(address rewardProvider, Amount dipAmount)
|
149
158
|
external
|
150
159
|
virtual
|
160
|
+
restricted()
|
151
161
|
onlyInstance()
|
152
162
|
{
|
153
163
|
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
@@ -161,6 +171,7 @@ contract InstanceService is
|
|
161
171
|
function withdrawStakingRewardReserves(Amount dipAmount)
|
162
172
|
external
|
163
173
|
virtual
|
174
|
+
restricted()
|
164
175
|
onlyInstance()
|
165
176
|
returns (Amount newBalance)
|
166
177
|
{
|
@@ -170,14 +181,26 @@ contract InstanceService is
|
|
170
181
|
dipAmount);
|
171
182
|
}
|
172
183
|
|
173
|
-
function
|
174
|
-
|
184
|
+
function upgradeInstanceReader(NftId instanceNftId)
|
185
|
+
external
|
186
|
+
nonReentrant()
|
187
|
+
restricted()
|
188
|
+
onlyInstanceOwner(instanceNftId)
|
189
|
+
onlyNftOfType(instanceNftId, INSTANCE())
|
190
|
+
{
|
191
|
+
IRegistry registry = getRegistry();
|
192
|
+
IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(instanceNftId);
|
193
|
+
Instance instance = Instance(instanceInfo.objectAddress);
|
194
|
+
|
195
|
+
InstanceReader upgradedInstanceReaderClone = InstanceReader(Clones.clone(address(_masterInstanceReader)));
|
196
|
+
upgradedInstanceReaderClone.initializeWithInstance(address(instance));
|
197
|
+
instance.setInstanceReader(upgradedInstanceReaderClone);
|
175
198
|
}
|
176
199
|
|
177
200
|
function setAndRegisterMasterInstance(address instanceAddress)
|
178
|
-
|
179
|
-
|
180
|
-
|
201
|
+
external
|
202
|
+
onlyOwner()
|
203
|
+
returns(NftId masterInstanceNftId)
|
181
204
|
{
|
182
205
|
if(_masterInstance != address(0)) { revert ErrorInstanceServiceMasterInstanceAlreadySet(); }
|
183
206
|
if(_masterInstanceAdmin != address(0)) { revert ErrorInstanceServiceMasterInstanceAdminAlreadySet(); }
|
@@ -226,7 +249,10 @@ contract InstanceService is
|
|
226
249
|
masterInstanceNftId = info.nftId;
|
227
250
|
}
|
228
251
|
|
229
|
-
function upgradeMasterInstanceReader(address instanceReaderAddress)
|
252
|
+
function upgradeMasterInstanceReader(address instanceReaderAddress)
|
253
|
+
external
|
254
|
+
onlyOwner
|
255
|
+
{
|
230
256
|
if(_masterInstanceReader == address(0)) { revert ErrorInstanceServiceMasterInstanceReaderNotSet(); }
|
231
257
|
if(instanceReaderAddress == address(0)) { revert ErrorInstanceServiceInstanceReaderAddressZero(); }
|
232
258
|
if(instanceReaderAddress == _masterInstanceReader) { revert ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader(); }
|
@@ -237,19 +263,8 @@ contract InstanceService is
|
|
237
263
|
_masterInstanceReader = instanceReaderAddress;
|
238
264
|
}
|
239
265
|
|
240
|
-
function
|
241
|
-
|
242
|
-
nonReentrant()
|
243
|
-
onlyInstanceOwner(instanceNftId)
|
244
|
-
onlyNftOfType(instanceNftId, INSTANCE())
|
245
|
-
{
|
246
|
-
IRegistry registry = getRegistry();
|
247
|
-
IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(instanceNftId);
|
248
|
-
Instance instance = Instance(instanceInfo.objectAddress);
|
249
|
-
|
250
|
-
InstanceReader upgradedInstanceReaderClone = InstanceReader(Clones.clone(address(_masterInstanceReader)));
|
251
|
-
upgradedInstanceReaderClone.initializeWithInstance(address(instance));
|
252
|
-
instance.setInstanceReader(upgradedInstanceReaderClone);
|
266
|
+
function getMasterInstanceReader() external view returns (address) {
|
267
|
+
return _masterInstanceReader;
|
253
268
|
}
|
254
269
|
|
255
270
|
/// @dev create new cloned instance admin
|
@@ -260,19 +275,16 @@ contract InstanceService is
|
|
260
275
|
returns (InstanceAdmin clonedInstanceAdmin)
|
261
276
|
{
|
262
277
|
// start with setting up a new OZ access manager
|
278
|
+
// TODO consider _masterInstanceAdmin.authority() instead of _masterAccessManager
|
263
279
|
AccessManagerCloneable clonedAccessManager = AccessManagerCloneable(
|
264
280
|
Clones.clone(_masterAccessManager));
|
265
281
|
|
266
282
|
// set up the instance admin
|
267
283
|
clonedInstanceAdmin = InstanceAdmin(Clones.clone(_masterInstanceAdmin));
|
268
|
-
clonedAccessManager.initialize(
|
269
|
-
address(clonedInstanceAdmin)); // grant ADMIN_ROLE to instance admin
|
270
|
-
|
271
|
-
address authorization = address(
|
272
|
-
InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization());
|
273
284
|
clonedInstanceAdmin.initialize(
|
274
285
|
clonedAccessManager,
|
275
|
-
|
286
|
+
getRegistry(),
|
287
|
+
getRelease());
|
276
288
|
}
|
277
289
|
|
278
290
|
|
@@ -344,11 +356,11 @@ contract InstanceService is
|
|
344
356
|
initializer()
|
345
357
|
{
|
346
358
|
(
|
347
|
-
address
|
348
|
-
address
|
359
|
+
address authority,
|
360
|
+
address registry
|
349
361
|
) = abi.decode(data, (address, address));
|
350
362
|
|
351
|
-
|
363
|
+
__Service_init(authority, registry, owner);
|
352
364
|
|
353
365
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
354
366
|
_stakingService = IStakingService(_getServiceAddress(STAKING()));
|
@@ -17,7 +17,7 @@ contract InstanceServiceManager is ProxyManager {
|
|
17
17
|
)
|
18
18
|
{
|
19
19
|
InstanceService svc = new InstanceService{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),
|
@@ -91,6 +91,7 @@ contract InstanceStore is
|
|
91
91
|
_create(_toNftKey32(productNftId, FEE()), abi.encode(info));
|
92
92
|
}
|
93
93
|
|
94
|
+
// Fee only has one state, so no change change possible
|
94
95
|
function updateFee(NftId productNftId, IComponents.FeeInfo memory info) external restricted() {
|
95
96
|
_update(_toNftKey32(productNftId, FEE()), abi.encode(info), KEEP_STATE());
|
96
97
|
}
|
@@ -1,18 +1,16 @@
|
|
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 {RiskIdLib, RiskId} from "../type/RiskId.sol";
|
11
9
|
|
12
|
-
|
10
|
+
/// @dev RiskSet manages the risks and its active policies per product.
|
11
|
+
contract RiskSet is
|
13
12
|
ObjectSet
|
14
13
|
{
|
15
|
-
using LibNftIdSet for LibNftIdSet.Set;
|
16
14
|
|
17
15
|
event LogRiskSetPolicyLinked(RiskId riskId, NftId policyNftId);
|
18
16
|
event LogRiskSetPolicyUnlinked(RiskId riskId, NftId policyNftId);
|
@@ -36,7 +34,7 @@ contract RiskSet is
|
|
36
34
|
revert ErrorRiskSetRiskLocked(riskId, policyNftId);
|
37
35
|
}
|
38
36
|
|
39
|
-
_activePolicies[riskId]
|
37
|
+
LibNftIdSet.add(_activePolicies[riskId], policyNftId);
|
40
38
|
emit LogRiskSetPolicyLinked(riskId, policyNftId);
|
41
39
|
}
|
42
40
|
|
@@ -48,7 +46,7 @@ contract RiskSet is
|
|
48
46
|
revert ErrorRiskSetRiskUnknown(riskId);
|
49
47
|
}
|
50
48
|
|
51
|
-
_activePolicies[riskId]
|
49
|
+
LibNftIdSet.remove(_activePolicies[riskId], policyNftId);
|
52
50
|
emit LogRiskSetPolicyUnlinked(riskId, policyNftId);
|
53
51
|
}
|
54
52
|
|
@@ -110,10 +108,10 @@ contract RiskSet is
|
|
110
108
|
}
|
111
109
|
|
112
110
|
function linkedPolicies(RiskId riskId) external view returns(uint256) {
|
113
|
-
return _activePolicies[riskId]
|
111
|
+
return LibNftIdSet.size(_activePolicies[riskId]);
|
114
112
|
}
|
115
113
|
|
116
114
|
function getLinkedPolicyNftId(RiskId riskId, uint256 idx) external view returns(NftId policyNftId) {
|
117
|
-
return _activePolicies[riskId]
|
115
|
+
return LibNftIdSet.getElementAt(_activePolicies[riskId], idx);
|
118
116
|
}
|
119
117
|
}
|
@@ -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 {
|
@@ -27,14 +27,6 @@ interface IComponents {
|
|
27
27
|
NftId poolNftId; // mandatory
|
28
28
|
NftId distributionNftId; // 0..1 (optional)
|
29
29
|
NftId [] oracleNftId; // 0..n (optional)
|
30
|
-
// TODO: remove those fields
|
31
|
-
Fee productFee; // product fee on net premium
|
32
|
-
Fee processingFee; // product fee on payout amounts
|
33
|
-
Fee distributionFee; // distribution fee for sales that do not include commissions
|
34
|
-
Fee minDistributionOwnerFee; // min fee required by distribution owner (not including commissions for distributors)
|
35
|
-
Fee poolFee; // pool fee on net premium
|
36
|
-
Fee stakingFee; // pool fee on staked capital from investor
|
37
|
-
Fee performanceFee; // pool fee on profits from capital investors
|
38
30
|
}
|
39
31
|
|
40
32
|
struct FeeInfo {
|
@@ -15,16 +15,17 @@ contract BasicOracleAuthorization
|
|
15
15
|
{
|
16
16
|
|
17
17
|
constructor(string memory componentName)
|
18
|
-
Authorization(componentName)
|
18
|
+
Authorization(componentName, ORACLE())
|
19
19
|
{}
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
// TODO cleanup
|
22
|
+
// function _setupTargets()
|
23
|
+
// internal
|
24
|
+
// virtual override
|
25
|
+
// {
|
26
|
+
// // basic component target
|
27
|
+
// _addComponentTargetWithRole(ORACLE());
|
28
|
+
// }
|
28
29
|
|
29
30
|
|
30
31
|
function _setupTargetAuthorizations()
|
@@ -34,12 +35,12 @@ contract BasicOracleAuthorization
|
|
34
35
|
IAccess.FunctionInfo[] storage functions;
|
35
36
|
|
36
37
|
// authorize public role (open access to any account, only allows to lock target)
|
37
|
-
functions = _authorizeForTarget(
|
38
|
+
functions = _authorizeForTarget(getMainTargetName(), getServiceRole(ORACLE()));
|
38
39
|
_authorize(functions, IOracle.request.selector, "request");
|
39
40
|
_authorize(functions, IOracle.cancel.selector, "cancel");
|
40
41
|
|
41
42
|
// authorize public role (open access to any account, only allows to lock target)
|
42
|
-
functions = _authorizeForTarget(
|
43
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
43
44
|
_authorize(functions, BasicOracle.respond.selector, "respond");
|
44
45
|
}
|
45
46
|
}
|
@@ -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
|
|
@@ -52,11 +52,10 @@ contract OracleService is
|
|
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
|
|
@@ -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),
|
@@ -16,7 +16,7 @@ contract BasicPoolAuthorization
|
|
16
16
|
{
|
17
17
|
|
18
18
|
constructor(string memory poolName)
|
19
|
-
Authorization(poolName)
|
19
|
+
Authorization(poolName, POOL())
|
20
20
|
{}
|
21
21
|
|
22
22
|
function _setupServiceTargets()
|
@@ -26,12 +26,13 @@ contract BasicPoolAuthorization
|
|
26
26
|
_addServiceTargetWithRole(POOL());
|
27
27
|
}
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
29
|
+
// TODO cleanup
|
30
|
+
// function _setupTargets()
|
31
|
+
// internal
|
32
|
+
// virtual override
|
33
|
+
// {
|
34
|
+
// _addComponentTargetWithRole(POOL()); // basic pool target
|
35
|
+
// }
|
35
36
|
|
36
37
|
|
37
38
|
function _setupTargetAuthorizations()
|
@@ -41,7 +42,7 @@ contract BasicPoolAuthorization
|
|
41
42
|
IAccess.FunctionInfo[] storage functions;
|
42
43
|
|
43
44
|
// authorize public role (open access to any account, only allows to lock target)
|
44
|
-
functions = _authorizeForTarget(
|
45
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
45
46
|
_authorize(functions, BasicPool.stake.selector, "stake");
|
46
47
|
_authorize(functions, BasicPool.unstake.selector, "unstake");
|
47
48
|
_authorize(functions, BasicPool.extend.selector, "extend");
|
@@ -61,7 +62,7 @@ contract BasicPoolAuthorization
|
|
61
62
|
_authorize(functions, BasicPool.withdrawBundleFees.selector, "withdrawBundleFees");
|
62
63
|
|
63
64
|
// authorize pool service
|
64
|
-
functions = _authorizeForTarget(
|
65
|
+
functions = _authorizeForTarget(getMainTargetName(), getServiceRole(POOL()));
|
65
66
|
_authorize(functions, IPoolComponent.verifyApplication.selector, "verifyApplication");
|
66
67
|
}
|
67
68
|
}
|
@@ -45,11 +45,11 @@ contract BundleService is
|
|
45
45
|
initializer()
|
46
46
|
{
|
47
47
|
(
|
48
|
-
address
|
49
|
-
address
|
48
|
+
address authority,
|
49
|
+
address registry
|
50
50
|
) = abi.decode(data, (address, address));
|
51
51
|
|
52
|
-
|
52
|
+
__Service_init(authority, registry, owner);
|
53
53
|
|
54
54
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
55
55
|
_accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
|
@@ -17,7 +17,7 @@ contract BundleServiceManager is ProxyManager {
|
|
17
17
|
)
|
18
18
|
{
|
19
19
|
BundleService svc = new BundleService{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),
|
@@ -47,11 +47,11 @@ contract PoolService is
|
|
47
47
|
initializer()
|
48
48
|
{
|
49
49
|
(
|
50
|
-
address
|
51
|
-
address
|
50
|
+
address authority,
|
51
|
+
address registry
|
52
52
|
) = abi.decode(data, (address, address));
|
53
53
|
|
54
|
-
|
54
|
+
__Service_init(authority, registry, owner);
|
55
55
|
|
56
56
|
_accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
|
57
57
|
_bundleService = IBundleService(_getServiceAddress(BUNDLE()));
|
@@ -175,7 +175,7 @@ contract PoolService is
|
|
175
175
|
|
176
176
|
{
|
177
177
|
NftId productNftId = registry.getObjectInfo(poolNftId).parentNftId;
|
178
|
-
Fee memory stakingFee = instanceReader.
|
178
|
+
Fee memory stakingFee = instanceReader.getFeeInfo(productNftId).stakingFee;
|
179
179
|
(
|
180
180
|
feeAmount,
|
181
181
|
netAmount
|
@@ -17,7 +17,7 @@ contract PoolServiceManager is ProxyManager {
|
|
17
17
|
)
|
18
18
|
{
|
19
19
|
PoolService poolSrv = new PoolService{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(poolSrv),
|
@@ -41,11 +41,11 @@ contract ApplicationService is
|
|
41
41
|
initializer()
|
42
42
|
{
|
43
43
|
(
|
44
|
-
address
|
45
|
-
address
|
44
|
+
address authority,
|
45
|
+
address registry
|
46
46
|
) = abi.decode(data, (address, address));
|
47
47
|
|
48
|
-
|
48
|
+
__Service_init(authority, registry, owner);
|
49
49
|
|
50
50
|
_distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
|
51
51
|
_pricingService = IPricingService(_getServiceAddress(PRICE()));
|
@@ -17,7 +17,7 @@ contract ApplicationServiceManager is ProxyManager {
|
|
17
17
|
)
|
18
18
|
{
|
19
19
|
ApplicationService svc = new ApplicationService{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),
|
@@ -29,6 +29,7 @@ abstract contract BasicProduct is
|
|
29
29
|
string memory name,
|
30
30
|
address token,
|
31
31
|
IComponents.ProductInfo memory productInfo,
|
32
|
+
IComponents.FeeInfo memory feeInfo,
|
32
33
|
IAuthorization authorization,
|
33
34
|
address initialOwner
|
34
35
|
)
|
@@ -42,6 +43,7 @@ abstract contract BasicProduct is
|
|
42
43
|
name,
|
43
44
|
token,
|
44
45
|
productInfo,
|
46
|
+
feeInfo,
|
45
47
|
authorization,
|
46
48
|
initialOwner,
|
47
49
|
""); // component data
|
@@ -14,16 +14,17 @@ contract BasicProductAuthorization
|
|
14
14
|
{
|
15
15
|
|
16
16
|
constructor(string memory componentName)
|
17
|
-
Authorization(componentName)
|
17
|
+
Authorization(componentName, PRODUCT())
|
18
18
|
{}
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
// TODO cleanup
|
21
|
+
// function _setupTargets()
|
22
|
+
// internal
|
23
|
+
// virtual override
|
24
|
+
// {
|
25
|
+
// // basic component target
|
26
|
+
// _addComponentTargetWithRole(PRODUCT());
|
27
|
+
// }
|
27
28
|
|
28
29
|
|
29
30
|
function _setupTargetAuthorizations()
|
@@ -33,7 +34,7 @@ contract BasicProductAuthorization
|
|
33
34
|
IAccess.FunctionInfo[] storage functions;
|
34
35
|
|
35
36
|
// authorize public role (open access to any account, only allows to lock target)
|
36
|
-
functions = _authorizeForTarget(
|
37
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
37
38
|
_authorize(functions, BasicProduct.setFees.selector, "setFees");
|
38
39
|
_authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
|
39
40
|
}
|