@etherisc/gif-next 0.0.2-fd4931b-974 → 0.0.2-fd9539f-062
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 +20 -3
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +19 -13
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +115 -80
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +86 -59
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +11 -5
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +32 -101
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +83 -71
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +121 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +105 -85
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +125 -29
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +195 -64
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +206 -49
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +79 -36
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +248 -118
- 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/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -71
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- 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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +10 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +91 -48
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +74 -43
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +20 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +11 -5
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +35 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +18 -12
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +84 -42
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +63 -40
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +79 -36
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +68 -37
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +119 -68
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +88 -53
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +20 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +20 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +20 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +20 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +11 -5
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +20 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +97 -46
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +77 -42
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +105 -62
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +81 -50
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +18 -12
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +61 -26
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +59 -32
- 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 +82 -45
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -1
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +129 -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 +254 -97
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -15
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +51 -35
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +288 -182
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +187 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -177
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +18 -12
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +119 -69
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +85 -54
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +20 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +11 -5
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +11 -5
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +0 -10
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -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 +7 -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 +20 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +18 -12
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +10 -20
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +6 -6
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +27 -35
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +13 -7
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +35 -16
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +15 -9
- 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 +20 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +247 -579
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +471 -62
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +303 -798
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +81 -164
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -39
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +503 -120
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +67 -43
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +281 -18
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +12 -12
- 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/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +28 -4
- 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 +96 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +114 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +52 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
- package/contracts/distribution/Distribution.sol +2 -4
- package/contracts/distribution/DistributionService.sol +5 -6
- package/contracts/distribution/DistributionServiceManager.sol +1 -13
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +1 -1
- package/contracts/instance/BundleManager.sol +1 -1
- package/contracts/instance/IInstance.sol +22 -12
- package/contracts/instance/IInstanceService.sol +27 -13
- package/contracts/instance/Instance.sol +85 -50
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +193 -152
- package/contracts/instance/InstanceReader.sol +33 -7
- package/contracts/instance/InstanceService.sol +120 -48
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +30 -21
- package/contracts/instance/base/BalanceStore.sol +12 -7
- package/contracts/instance/base/Cloneable.sol +3 -26
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectManager.sol +2 -4
- package/contracts/instance/module/IAccess.sol +3 -11
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -1
- package/contracts/instance/module/IDistribution.sol +1 -1
- package/contracts/instance/module/IPolicy.sol +1 -1
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/IOracle.sol +20 -0
- package/contracts/oracle/IOracleComponent.sol +32 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +145 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +20 -20
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +4 -1
- package/contracts/pool/Pool.sol +1 -1
- package/contracts/pool/PoolService.sol +38 -10
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +6 -6
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/ClaimService.sol +12 -7
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +1 -1
- package/contracts/product/IClaimService.sol +7 -1
- package/contracts/product/IPolicyService.sol +1 -1
- package/contracts/product/IPricingService.sol +1 -1
- package/contracts/product/IProductComponent.sol +1 -1
- package/contracts/product/IProductService.sol +1 -1
- package/contracts/product/PolicyService.sol +9 -7
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +8 -9
- package/contracts/product/PricingServiceManager.sol +1 -1
- package/contracts/product/Product.sol +1 -1
- package/contracts/product/ProductService.sol +6 -6
- package/contracts/product/ProductServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +2 -1
- package/contracts/registry/IRegistry.sol +21 -15
- package/contracts/registry/IRegistryService.sol +2 -1
- package/contracts/registry/IServiceAuthorization.sol +35 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -1
- package/contracts/registry/Registry.sol +86 -67
- package/contracts/registry/RegistryAdmin.sol +333 -0
- package/contracts/registry/RegistryService.sol +9 -71
- package/contracts/registry/RegistryServiceManager.sol +2 -21
- package/contracts/registry/ReleaseManager.sol +219 -222
- package/contracts/registry/ServiceAuthorization.sol +86 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +57 -61
- package/contracts/shared/AccessAdmin.sol +759 -0
- package/contracts/shared/AccessManagerCustom.sol +741 -0
- package/contracts/shared/AccessManagerExtended.sol +481 -0
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
- package/contracts/shared/Component.sol +9 -14
- package/contracts/shared/ComponentService.sol +40 -18
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +14 -8
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessAdmin.sol +168 -0
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/shared/IComponent.sol +4 -8
- package/contracts/shared/IComponentService.sol +12 -1
- package/contracts/shared/IInstanceLinkedComponent.sol +1 -1
- package/contracts/shared/IKeyValueStore.sol +2 -2
- package/contracts/shared/ILifecycle.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +1 -1
- package/contracts/shared/IRegisterable.sol +1 -1
- package/contracts/shared/IRegistryLinked.sol +1 -1
- package/contracts/shared/IService.sol +8 -1
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +2 -3
- package/contracts/shared/KeyValueStore.sol +2 -5
- package/contracts/shared/Lifecycle.sol +12 -3
- package/contracts/shared/NftIdSetManager.sol +3 -7
- package/contracts/shared/NftOwnable.sol +3 -14
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/ProxyManager.sol +7 -3
- package/contracts/shared/Registerable.sol +1 -1
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +28 -22
- package/contracts/shared/TokenHandler.sol +1 -1
- package/contracts/shared/UpgradableProxyWithAdmin.sol +1 -1
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStaking.sol +94 -39
- package/contracts/staking/IStakingService.sol +71 -40
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +303 -138
- package/contracts/staking/StakingManager.sol +23 -21
- package/contracts/staking/StakingReader.sol +120 -25
- package/contracts/staking/StakingService.sol +194 -77
- package/contracts/staking/StakingServiceManager.sol +3 -3
- package/contracts/staking/StakingStore.sol +613 -0
- package/contracts/staking/TargetManagerLib.sol +77 -11
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +16 -2
- package/contracts/type/Blocknumber.sol +14 -2
- package/contracts/type/ClaimId.sol +1 -1
- package/contracts/type/DistributorType.sol +1 -1
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/Key32.sol +1 -1
- package/contracts/type/NftId.sol +9 -9
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +140 -68
- package/contracts/type/PayoutId.sol +1 -1
- package/contracts/type/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +79 -21
- package/contracts/type/Seconds.sol +19 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +13 -1
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +7 -3
- package/contracts/type/UFixed.sol +1 -1
- package/contracts/type/Version.sol +1 -1
- package/package.json +6 -3
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -298
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/registry/RegistryAccessManager.sol +0 -167
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {IBundle} from "../instance/module/IBundle.sol";
|
5
5
|
import {IComponents} from "../instance/module/IComponents.sol";
|
@@ -68,10 +68,6 @@ contract BundleService is
|
|
68
68
|
registerInterface(type(IBundleService).interfaceId);
|
69
69
|
}
|
70
70
|
|
71
|
-
function getDomain() public pure override returns(ObjectType) {
|
72
|
-
return BUNDLE();
|
73
|
-
}
|
74
|
-
|
75
71
|
|
76
72
|
function setFee(
|
77
73
|
NftId bundleNftId,
|
@@ -261,6 +257,23 @@ contract BundleService is
|
|
261
257
|
instance.getInstanceStore().decreaseLocked(bundleNftId, collateralAmount);
|
262
258
|
}
|
263
259
|
|
260
|
+
/// @dev unlinks policy from bundle
|
261
|
+
function unlinkPolicy(
|
262
|
+
IInstance instance,
|
263
|
+
NftId policyNftId
|
264
|
+
)
|
265
|
+
external
|
266
|
+
virtual
|
267
|
+
restricted
|
268
|
+
{
|
269
|
+
// ensure policy is closeable
|
270
|
+
if (!instance.getInstanceReader().policyIsCloseable(policyNftId)) {
|
271
|
+
revert ErrorBundleServicePolicyNotCloseable(policyNftId);
|
272
|
+
}
|
273
|
+
|
274
|
+
instance.getBundleManager().unlinkPolicy(policyNftId);
|
275
|
+
}
|
276
|
+
|
264
277
|
/// @dev links policy to bundle
|
265
278
|
function _linkPolicy(IInstance instance, NftId policyNftId)
|
266
279
|
internal
|
@@ -277,20 +290,7 @@ contract BundleService is
|
|
277
290
|
bundleManager.linkPolicy(policyNftId);
|
278
291
|
}
|
279
292
|
|
280
|
-
|
281
|
-
|
282
|
-
IInstance instance,
|
283
|
-
NftId policyNftId
|
284
|
-
)
|
285
|
-
external
|
286
|
-
virtual
|
287
|
-
restricted
|
288
|
-
{
|
289
|
-
// ensure policy is closeable
|
290
|
-
if (!instance.getInstanceReader().policyIsCloseable(policyNftId)) {
|
291
|
-
revert ErrorBundleServicePolicyNotCloseable(policyNftId);
|
292
|
-
}
|
293
|
-
|
294
|
-
instance.getBundleManager().unlinkPolicy(policyNftId);
|
293
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
294
|
+
return BUNDLE();
|
295
295
|
}
|
296
296
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {Amount} from "../type/Amount.sol";
|
5
5
|
import {Fee} from "../type/Fee.sol";
|
@@ -48,6 +48,7 @@ interface IPoolService is IService {
|
|
48
48
|
/// may only be called by the policy service for unlocked pool components
|
49
49
|
function lockCollateral(
|
50
50
|
IInstance instance,
|
51
|
+
address token,
|
51
52
|
NftId productNftId,
|
52
53
|
NftId applicationNftId,
|
53
54
|
NftId bundleNftId,
|
@@ -64,6 +65,7 @@ interface IPoolService is IService {
|
|
64
65
|
/// may only be called by the policy service for unlocked pool components
|
65
66
|
function releaseCollateral(
|
66
67
|
IInstance instance,
|
68
|
+
address token,
|
67
69
|
NftId policyNftId,
|
68
70
|
IPolicy.PolicyInfo memory policyInfo
|
69
71
|
) external;
|
@@ -74,6 +76,7 @@ interface IPoolService is IService {
|
|
74
76
|
/// may only be called by the claim service for unlocked pool components
|
75
77
|
function reduceCollateral(
|
76
78
|
IInstance instance,
|
79
|
+
address token,
|
77
80
|
NftId policyNftId,
|
78
81
|
IPolicy.PolicyInfo memory policyInfo,
|
79
82
|
Amount payoutAmount
|
package/contracts/pool/Pool.sol
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {Pool} from "./Pool.sol";
|
5
5
|
import {IRegistry} from "../registry/IRegistry.sol";
|
@@ -15,7 +15,7 @@ import {INftOwnable} from "../shared/INftOwnable.sol";
|
|
15
15
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
16
16
|
import {Fee, FeeLib} from "../type/Fee.sol";
|
17
17
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
18
|
-
import {ObjectType, POOL, BUNDLE, COMPONENT, INSTANCE, REGISTRY} from "../type/ObjectType.sol";
|
18
|
+
import {ObjectType, POOL, BUNDLE, COMPONENT, INSTANCE, REGISTRY, STAKING} from "../type/ObjectType.sol";
|
19
19
|
import {PUBLIC_ROLE, POOL_OWNER_ROLE, POLICY_SERVICE_ROLE, RoleId} from "../type/RoleId.sol";
|
20
20
|
import {Fee, FeeLib} from "../type/Fee.sol";
|
21
21
|
import {Version, VersionLib} from "../type/Version.sol";
|
@@ -35,6 +35,7 @@ import {IComponentService} from "../shared/IComponentService.sol";
|
|
35
35
|
import {IInstanceService} from "../instance/IInstanceService.sol";
|
36
36
|
import {IPoolService} from "./IPoolService.sol";
|
37
37
|
import {IRegistryService} from "../registry/IRegistryService.sol";
|
38
|
+
import {IStaking} from "../staking/IStaking.sol";
|
38
39
|
import {InstanceService} from "../instance/InstanceService.sol";
|
39
40
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
40
41
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
@@ -55,6 +56,8 @@ contract PoolService is
|
|
55
56
|
IInstanceService private _instanceService;
|
56
57
|
IRegistryService private _registryService;
|
57
58
|
|
59
|
+
IStaking private _staking;
|
60
|
+
|
58
61
|
function _initialize(
|
59
62
|
address owner,
|
60
63
|
bytes memory data
|
@@ -76,11 +79,9 @@ contract PoolService is
|
|
76
79
|
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
77
80
|
_componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
78
81
|
|
79
|
-
|
80
|
-
}
|
82
|
+
_staking = IStaking(getRegistry().getStakingAddress());
|
81
83
|
|
82
|
-
|
83
|
-
return POOL();
|
84
|
+
registerInterface(type(IPoolService).interfaceId);
|
84
85
|
}
|
85
86
|
|
86
87
|
|
@@ -218,13 +219,14 @@ contract PoolService is
|
|
218
219
|
emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId);
|
219
220
|
}
|
220
221
|
|
222
|
+
|
221
223
|
function processSale(
|
222
224
|
NftId bundleNftId,
|
223
225
|
IPolicy.Premium memory premium
|
224
226
|
)
|
225
227
|
external
|
226
228
|
virtual
|
227
|
-
restricted
|
229
|
+
restricted()
|
228
230
|
{
|
229
231
|
IRegistry registry = getRegistry();
|
230
232
|
IRegistry.ObjectInfo memory bundleObjectInfo = registry.getObjectInfo(bundleNftId);
|
@@ -253,6 +255,7 @@ contract PoolService is
|
|
253
255
|
|
254
256
|
function lockCollateral(
|
255
257
|
IInstance instance,
|
258
|
+
address token,
|
256
259
|
NftId productNftId,
|
257
260
|
NftId applicationNftId,
|
258
261
|
NftId bundleNftId,
|
@@ -281,6 +284,12 @@ contract PoolService is
|
|
281
284
|
bundleNftId,
|
282
285
|
localCollateralAmount);
|
283
286
|
|
287
|
+
// update value locked with staking service
|
288
|
+
_staking.increaseTotalValueLocked(
|
289
|
+
instance.getNftId(),
|
290
|
+
token,
|
291
|
+
totalCollateralAmount);
|
292
|
+
|
284
293
|
// hierarhical riskpool setup
|
285
294
|
// TODO loop in with pool component to guarantee availability of external capital
|
286
295
|
if(totalCollateralAmount > localCollateralAmount) {
|
@@ -291,19 +300,26 @@ contract PoolService is
|
|
291
300
|
|
292
301
|
function reduceCollateral(
|
293
302
|
IInstance instance,
|
303
|
+
address token,
|
294
304
|
NftId policyNftId,
|
295
305
|
IPolicy.PolicyInfo memory policyInfo,
|
296
306
|
Amount payoutAmount
|
297
307
|
)
|
298
308
|
external
|
299
309
|
virtual
|
300
|
-
restricted
|
310
|
+
restricted()
|
301
311
|
{
|
302
312
|
_bundleService.releaseCollateral(
|
303
313
|
instance,
|
304
314
|
policyNftId,
|
305
315
|
policyInfo.bundleNftId,
|
306
316
|
payoutAmount);
|
317
|
+
|
318
|
+
// update value locked with staking service
|
319
|
+
_staking.decreaseTotalValueLocked(
|
320
|
+
instance.getNftId(),
|
321
|
+
token,
|
322
|
+
payoutAmount);
|
307
323
|
}
|
308
324
|
|
309
325
|
|
@@ -311,22 +327,31 @@ contract PoolService is
|
|
311
327
|
/// may only be called by the policy service for unlocked pool components
|
312
328
|
function releaseCollateral(
|
313
329
|
IInstance instance,
|
330
|
+
address token,
|
314
331
|
NftId policyNftId,
|
315
332
|
IPolicy.PolicyInfo memory policyInfo
|
316
333
|
)
|
317
334
|
external
|
318
335
|
virtual
|
319
|
-
restricted
|
336
|
+
restricted()
|
320
337
|
{
|
338
|
+
Amount remainingCollateralAmount = policyInfo.sumInsuredAmount - policyInfo.claimAmount;
|
339
|
+
|
321
340
|
_bundleService.releaseCollateral(
|
322
341
|
instance,
|
323
342
|
policyNftId,
|
324
343
|
policyInfo.bundleNftId,
|
325
|
-
|
344
|
+
remainingCollateralAmount);
|
326
345
|
|
327
346
|
_bundleService.unlinkPolicy(
|
328
347
|
instance,
|
329
348
|
policyNftId);
|
349
|
+
|
350
|
+
// update value locked with staking service
|
351
|
+
_staking.decreaseTotalValueLocked(
|
352
|
+
instance.getNftId(),
|
353
|
+
token,
|
354
|
+
remainingCollateralAmount);
|
330
355
|
}
|
331
356
|
|
332
357
|
|
@@ -421,4 +446,7 @@ contract PoolService is
|
|
421
446
|
}
|
422
447
|
}
|
423
448
|
|
449
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
450
|
+
return POOL();
|
451
|
+
}
|
424
452
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {AmountLib} from "../type/Amount.sol";
|
5
5
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -80,11 +80,6 @@ contract ApplicationService is
|
|
80
80
|
}
|
81
81
|
|
82
82
|
|
83
|
-
function getDomain() public pure override returns(ObjectType) {
|
84
|
-
return APPLICATION();
|
85
|
-
}
|
86
|
-
|
87
|
-
|
88
83
|
function _checkLinkedpplicationParameters(
|
89
84
|
InstanceReader instanceReader,
|
90
85
|
NftId productNftId,
|
@@ -251,4 +246,9 @@ contract ApplicationService is
|
|
251
246
|
}
|
252
247
|
|
253
248
|
// internal functions
|
249
|
+
|
250
|
+
|
251
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
252
|
+
return APPLICATION();
|
253
|
+
}
|
254
254
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {IRisk} from "../instance/module/IRisk.sol";
|
5
5
|
import {IService} from "./IApplicationService.sol";
|
@@ -73,11 +73,6 @@ contract ClaimService is
|
|
73
73
|
registerInterface(type(IClaimService).interfaceId);
|
74
74
|
}
|
75
75
|
|
76
|
-
|
77
|
-
function getDomain() public pure override returns(ObjectType) {
|
78
|
-
return CLAIM();
|
79
|
-
}
|
80
|
-
|
81
76
|
function submit(
|
82
77
|
NftId policyNftId,
|
83
78
|
Amount claimAmount,
|
@@ -314,7 +309,12 @@ contract ClaimService is
|
|
314
309
|
instance.getInstanceStore().updatePolicyClaims(policyNftId, policyInfo, KEEP_STATE());
|
315
310
|
|
316
311
|
// inform pool about payout
|
317
|
-
_poolService.reduceCollateral(
|
312
|
+
_poolService.reduceCollateral(
|
313
|
+
instance,
|
314
|
+
address(instanceReader.getComponentInfo(policyInfo.productNftId).token),
|
315
|
+
policyNftId,
|
316
|
+
policyInfo,
|
317
|
+
payoutAmount);
|
318
318
|
|
319
319
|
// transfer payout token and fee
|
320
320
|
(
|
@@ -434,4 +434,9 @@ contract ClaimService is
|
|
434
434
|
// get claim info
|
435
435
|
claimInfo = instanceReader.getClaimInfo(policyNftId, claimId);
|
436
436
|
}
|
437
|
+
|
438
|
+
|
439
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
440
|
+
return CLAIM();
|
441
|
+
}
|
437
442
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {IInstance} from "../instance/IInstance.sol";
|
5
5
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
@@ -45,6 +45,10 @@ interface IClaimService is
|
|
45
45
|
bytes memory claimData
|
46
46
|
) external returns (ClaimId claimId);
|
47
47
|
|
48
|
+
|
49
|
+
// TODO add claim revoke functionality
|
50
|
+
|
51
|
+
|
48
52
|
/// @dev declines the specified claim
|
49
53
|
/// function can only be called by product, policy needs to match with calling product
|
50
54
|
function decline(
|
@@ -53,6 +57,7 @@ interface IClaimService is
|
|
53
57
|
bytes memory data // claim processing data
|
54
58
|
) external;
|
55
59
|
|
60
|
+
|
56
61
|
/// @dev confirms the specified claim and specifies the payout amount
|
57
62
|
/// function can only be called by product, policy needs to match with calling product
|
58
63
|
function confirm(
|
@@ -62,6 +67,7 @@ interface IClaimService is
|
|
62
67
|
bytes memory data // claim processing data
|
63
68
|
) external;
|
64
69
|
|
70
|
+
|
65
71
|
/// @dev closes the specified claim
|
66
72
|
/// function can only be called by product, policy needs to match with calling product
|
67
73
|
function close(
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
5
|
import {Product} from "./Product.sol";
|
@@ -85,11 +85,6 @@ contract PolicyService is
|
|
85
85
|
}
|
86
86
|
|
87
87
|
|
88
|
-
function getDomain() public pure override returns(ObjectType) {
|
89
|
-
return POLICY();
|
90
|
-
}
|
91
|
-
|
92
|
-
|
93
88
|
function _getAndVerifyInstanceAndProduct() internal view returns (Product product) {
|
94
89
|
IRegistry.ObjectInfo memory productInfo;
|
95
90
|
(, productInfo,) = _getAndVerifyActiveComponent(PRODUCT());
|
@@ -143,6 +138,7 @@ contract PolicyService is
|
|
143
138
|
Amount totalCollateralAmount
|
144
139
|
) = _poolService.lockCollateral(
|
145
140
|
instance,
|
141
|
+
address(instanceReader.getComponentInfo(productNftId).token),
|
146
142
|
productNftId,
|
147
143
|
applicationNftId,
|
148
144
|
applicationInfo.bundleNftId,
|
@@ -185,7 +181,7 @@ contract PolicyService is
|
|
185
181
|
virtual
|
186
182
|
{
|
187
183
|
// check caller is registered product
|
188
|
-
(
|
184
|
+
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
189
185
|
InstanceReader instanceReader = instance.getInstanceReader();
|
190
186
|
StateId stateId = instanceReader.getPolicyState(policyNftId);
|
191
187
|
|
@@ -282,6 +278,7 @@ contract PolicyService is
|
|
282
278
|
|
283
279
|
_poolService.releaseCollateral(
|
284
280
|
instance,
|
281
|
+
address(instanceReader.getComponentInfo(policyInfo.productNftId).token),
|
285
282
|
policyNftId,
|
286
283
|
policyInfo);
|
287
284
|
|
@@ -470,4 +467,9 @@ contract PolicyService is
|
|
470
467
|
poolWallet = instanceReader.getComponentInfo(productInfo.poolNftId).wallet;
|
471
468
|
productWallet = instanceReader.getComponentInfo(productNftId).wallet;
|
472
469
|
}
|
470
|
+
|
471
|
+
|
472
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
473
|
+
return POLICY();
|
474
|
+
}
|
473
475
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
5
5
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -56,11 +56,6 @@ contract PricingService is
|
|
56
56
|
_distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
|
57
57
|
}
|
58
58
|
|
59
|
-
|
60
|
-
function getDomain() public pure override returns(ObjectType) {
|
61
|
-
return PRICE();
|
62
|
-
}
|
63
|
-
|
64
59
|
/// @dev calculates the premium amount for the specified attributes
|
65
60
|
/// also returns the various fee components involved with creating a policy
|
66
61
|
function calculatePremium(
|
@@ -87,7 +82,7 @@ contract PricingService is
|
|
87
82
|
(
|
88
83
|
IRegistry.ObjectInfo memory registryInfo,
|
89
84
|
IInstance instance
|
90
|
-
) = _getAndVerifyComponentInfo(productNftId, PRODUCT());
|
85
|
+
) = _getAndVerifyComponentInfo(productNftId, PRODUCT(), false);
|
91
86
|
|
92
87
|
reader = instance.getInstanceReader();
|
93
88
|
|
@@ -171,7 +166,7 @@ contract PricingService is
|
|
171
166
|
IBundle.BundleInfo memory bundleInfo
|
172
167
|
)
|
173
168
|
internal
|
174
|
-
|
169
|
+
pure
|
175
170
|
returns (
|
176
171
|
IPolicy.Premium memory premium
|
177
172
|
)
|
@@ -203,7 +198,7 @@ contract PricingService is
|
|
203
198
|
IBundle.BundleInfo memory bundleInfo
|
204
199
|
)
|
205
200
|
internal
|
206
|
-
|
201
|
+
pure
|
207
202
|
returns (
|
208
203
|
IPolicy.Premium memory intermadiatePremium
|
209
204
|
)
|
@@ -298,4 +293,8 @@ contract PricingService is
|
|
298
293
|
premiumWithTargetWalletAmounts = premium;
|
299
294
|
}
|
300
295
|
|
296
|
+
|
297
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
298
|
+
return PRICE();
|
299
|
+
}
|
301
300
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
5
|
import {IProductComponent} from "./IProductComponent.sol";
|
@@ -75,11 +75,6 @@ contract ProductService is
|
|
75
75
|
}
|
76
76
|
|
77
77
|
|
78
|
-
function getDomain() public pure override returns(ObjectType) {
|
79
|
-
return PRODUCT();
|
80
|
-
}
|
81
|
-
|
82
|
-
|
83
78
|
function createRisk(
|
84
79
|
RiskId riskId,
|
85
80
|
bytes memory data
|
@@ -121,4 +116,9 @@ contract ProductService is
|
|
121
116
|
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
122
117
|
instance.getInstanceStore().updateRiskState(riskId, state);
|
123
118
|
}
|
119
|
+
|
120
|
+
|
121
|
+
function _getDomain() internal pure override returns(ObjectType) {
|
122
|
+
return PRODUCT();
|
123
|
+
}
|
124
124
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {ERC721, ERC721Enumerable} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
|
5
5
|
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
|
@@ -15,6 +15,7 @@ contract ChainNft is ERC721Enumerable {
|
|
15
15
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|
16
16
|
uint256 public constant GLOBAL_REGISTRY_ID = 2101;
|
17
17
|
|
18
|
+
// TODO rename errors to error pattern: CallerNotRegistry -> ErrorCallerNotRegistry etc.
|
18
19
|
// custom errors
|
19
20
|
error CallerNotRegistry(address caller);
|
20
21
|
error RegistryAddressZero();
|