@etherisc/gif-next 0.0.2-e769e2e-077 → 0.0.2-e802d97-477
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 +2 -1
- 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 +79 -73
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +114 -56
- 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 +7 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -6
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +12 -22
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +47 -20
- 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 +126 -30
- 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 +77 -63
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -34
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +246 -104
- 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 +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 -2
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- 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 +662 -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 +997 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +55 -41
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +102 -40
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +7 -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 +22 -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 +56 -35
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +95 -37
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +39 -25
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +96 -34
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +81 -67
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +115 -53
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +7 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +7 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +7 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +7 -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 +7 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +59 -45
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +104 -42
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +69 -55
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +109 -47
- 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 +25 -19
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +87 -29
- 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 +150 -53
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +187 -67
- 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 +328 -103
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +197 -72
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +87 -39
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +752 -148
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +185 -135
- 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 +1715 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -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 +92 -63
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +102 -46
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +7 -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/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 +14 -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/IPolicyHolder.sol/IPolicyHolder.json +21 -3
- 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 +7 -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 +4 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
- 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 +31 -13
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +64 -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 +7 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/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 +424 -593
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +497 -49
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +598 -627
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +149 -48
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +593 -74
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +119 -29
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
- 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 +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
- 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 +15 -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 +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 +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +76 -2
- 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/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/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 -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 +3 -2
- package/contracts/distribution/DistributionServiceManager.sol +9 -18
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +1 -1
- package/contracts/instance/IInstance.sol +11 -6
- package/contracts/instance/IInstanceService.sol +3 -5
- package/contracts/instance/Instance.sol +29 -21
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +192 -151
- package/contracts/instance/InstanceReader.sol +30 -6
- package/contracts/instance/InstanceService.sol +69 -55
- package/contracts/instance/InstanceServiceManager.sol +10 -20
- package/contracts/instance/InstanceStore.sol +64 -42
- package/contracts/instance/base/BalanceStore.sol +1 -1
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/module/IAccess.sol +2 -10
- package/contracts/mock/Dip.sol +26 -0
- 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 +277 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +6 -23
- package/contracts/pool/BundleServiceManager.sol +9 -18
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolService.sol +4 -1
- package/contracts/pool/PoolService.sol +45 -13
- package/contracts/pool/PoolServiceManager.sol +9 -18
- package/contracts/product/ApplicationService.sol +6 -5
- package/contracts/product/ApplicationServiceManager.sol +9 -6
- package/contracts/product/ClaimService.sol +13 -7
- package/contracts/product/ClaimServiceManager.sol +9 -6
- 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/IProductService.sol +1 -1
- package/contracts/product/PolicyService.sol +10 -6
- package/contracts/product/PolicyServiceManager.sol +9 -21
- package/contracts/product/PricingService.sol +10 -9
- package/contracts/product/PricingServiceManager.sol +9 -18
- package/contracts/product/Product.sol +1 -1
- package/contracts/product/ProductService.sol +7 -5
- package/contracts/product/ProductServiceManager.sol +9 -21
- package/contracts/registry/ChainNft.sol +1 -0
- package/contracts/registry/IRegistry.sol +37 -24
- package/contracts/registry/IRegistryService.sol +26 -36
- package/contracts/registry/Registry.sol +164 -117
- package/contracts/registry/RegistryAdmin.sol +237 -0
- package/contracts/registry/RegistryService.sol +22 -83
- package/contracts/registry/RegistryServiceManager.sol +21 -23
- package/contracts/registry/ReleaseManager.sol +448 -223
- package/contracts/registry/TokenRegistry.sol +187 -59
- package/contracts/shared/AccessManagerCustom.sol +736 -0
- package/contracts/shared/AccessManagerExtended.sol +470 -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 +8 -13
- package/contracts/shared/ComponentService.sol +35 -13
- package/contracts/shared/ComponentVerifyingService.sol +13 -7
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/shared/IComponent.sol +3 -7
- package/contracts/shared/IComponentService.sol +11 -0
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +6 -1
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +1 -2
- package/contracts/shared/KeyValueStore.sol +24 -66
- package/contracts/shared/Lifecycle.sol +11 -2
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +2 -13
- package/contracts/shared/PolicyHolder.sol +21 -13
- package/contracts/shared/ProxyManager.sol +31 -1
- package/contracts/shared/Service.sol +1 -1
- package/contracts/staking/IStaking.sol +127 -36
- package/contracts/staking/IStakingService.sol +83 -39
- package/contracts/staking/StakeManagerLib.sol +179 -0
- package/contracts/staking/Staking.sol +432 -93
- package/contracts/staking/StakingManager.sol +22 -14
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +245 -39
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +572 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +15 -1
- package/contracts/type/Blocknumber.sol +14 -2
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/NftId.sol +9 -4
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +12 -9
- 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 +16 -8
- package/contracts/type/Seconds.sol +27 -0
- package/contracts/type/StateId.sol +27 -2
- package/contracts/type/Timestamp.sol +6 -2
- package/contracts/type/Version.sol +1 -1
- package/package.json +3 -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 -308
- 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 -213
- 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.20;
|
3
3
|
|
4
4
|
import {IBundle} from "../instance/module/IBundle.sol";
|
5
5
|
import {IComponents} from "../instance/module/IComponents.sol";
|
@@ -107,7 +107,7 @@ contract BundleService is
|
|
107
107
|
)
|
108
108
|
external
|
109
109
|
override
|
110
|
-
|
110
|
+
restricted
|
111
111
|
returns(NftId bundleNftId)
|
112
112
|
{
|
113
113
|
// register bundle with registry
|
@@ -159,7 +159,7 @@ contract BundleService is
|
|
159
159
|
)
|
160
160
|
external
|
161
161
|
virtual
|
162
|
-
|
162
|
+
restricted()
|
163
163
|
{
|
164
164
|
InstanceReader instanceReader = instance.getInstanceReader();
|
165
165
|
StateId bundleState = instanceReader.getMetadata(bundleNftId.toKey32(BUNDLE())).state;
|
@@ -231,7 +231,7 @@ contract BundleService is
|
|
231
231
|
)
|
232
232
|
external
|
233
233
|
virtual
|
234
|
-
|
234
|
+
restricted
|
235
235
|
{
|
236
236
|
// udpate bundle state
|
237
237
|
instance.getInstanceStore().updateBundleState(bundleNftId, CLOSED());
|
@@ -248,24 +248,6 @@ contract BundleService is
|
|
248
248
|
}
|
249
249
|
|
250
250
|
|
251
|
-
// function increaseBalance(
|
252
|
-
// IInstance instance,
|
253
|
-
// NftId bundleNftId,
|
254
|
-
// Amount premiumAmount
|
255
|
-
// )
|
256
|
-
// external
|
257
|
-
// virtual
|
258
|
-
// // TODO add replace with restricted + appropriate granting
|
259
|
-
// {
|
260
|
-
// InstanceReader instanceReader = instance.getInstanceReader();
|
261
|
-
// IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
262
|
-
|
263
|
-
// // update capital and fees when premiums are involved
|
264
|
-
// _updateBundleWithPremium(instance, bundleNftId, bundleInfo, premiumAmount);
|
265
|
-
|
266
|
-
// // TODO add logging (?)
|
267
|
-
// }
|
268
|
-
|
269
251
|
function releaseCollateral(
|
270
252
|
IInstance instance,
|
271
253
|
NftId policyNftId,
|
@@ -274,7 +256,7 @@ contract BundleService is
|
|
274
256
|
)
|
275
257
|
external
|
276
258
|
virtual
|
277
|
-
|
259
|
+
restricted()
|
278
260
|
{
|
279
261
|
instance.getInstanceStore().decreaseLocked(bundleNftId, collateralAmount);
|
280
262
|
}
|
@@ -302,6 +284,7 @@ contract BundleService is
|
|
302
284
|
)
|
303
285
|
external
|
304
286
|
virtual
|
287
|
+
restricted
|
305
288
|
{
|
306
289
|
// ensure policy is closeable
|
307
290
|
if (!instance.getInstanceReader().policyIsCloseable(policyNftId)) {
|
@@ -14,29 +14,20 @@ contract BundleServiceManager is ProxyManager {
|
|
14
14
|
|
15
15
|
/// @dev initializes proxy manager with pool service implementation
|
16
16
|
constructor(
|
17
|
-
address
|
18
|
-
|
17
|
+
address authority,
|
18
|
+
address registryAddress,
|
19
|
+
bytes32 salt
|
20
|
+
)
|
19
21
|
ProxyManager(registryAddress)
|
20
22
|
{
|
21
|
-
BundleService bundleSrv = new BundleService();
|
22
|
-
bytes memory data = abi.encode(registryAddress, address(this));
|
23
|
-
IVersionable versionable =
|
23
|
+
BundleService bundleSrv = new BundleService{salt: salt}();
|
24
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
25
|
+
IVersionable versionable = deployDetermenistic(
|
24
26
|
address(bundleSrv),
|
25
|
-
data
|
27
|
+
data,
|
28
|
+
salt);
|
26
29
|
|
27
30
|
_bundleService = BundleService(address(versionable));
|
28
|
-
|
29
|
-
// TODO `this` must have a role or own nft to register service
|
30
|
-
//Registry registry = Registry(registryAddress);
|
31
|
-
//address registryServiceAddress = registry.getServiceAddress(REGISTRY(), _bundleService.getMajorVersion());
|
32
|
-
//RegistryService registryService = RegistryService(registryServiceAddress);
|
33
|
-
//registryService.registerService(_poolService);
|
34
|
-
|
35
|
-
// TODO no nft to link yet
|
36
|
-
// link ownership of instance service manager ot nft owner of instance service
|
37
|
-
//_linkToNftOwnable(
|
38
|
-
// address(registryAddress),
|
39
|
-
// address(_poolService));
|
40
31
|
}
|
41
32
|
|
42
33
|
//--- view functions ----------------------------------------------------//
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
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
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
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
|
@@ -63,18 +66,21 @@ contract PoolService is
|
|
63
66
|
initializer
|
64
67
|
virtual override
|
65
68
|
{
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
69
|
+
(
|
70
|
+
address registryAddress,,
|
71
|
+
//address managerAddress
|
72
|
+
address authority
|
73
|
+
) = abi.decode(data, (address, address, address));
|
74
|
+
|
75
|
+
initializeService(registryAddress, authority, owner);
|
72
76
|
|
73
77
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
74
78
|
_bundleService = IBundleService(_getServiceAddress(BUNDLE()));
|
75
79
|
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
76
80
|
_componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
77
81
|
|
82
|
+
_staking = IStaking(getRegistry().getStakingAddress());
|
83
|
+
|
78
84
|
registerInterface(type(IPoolService).interfaceId);
|
79
85
|
}
|
80
86
|
|
@@ -87,6 +93,7 @@ contract PoolService is
|
|
87
93
|
external
|
88
94
|
virtual
|
89
95
|
{
|
96
|
+
/*
|
90
97
|
(NftId poolNftId,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
|
91
98
|
InstanceReader instanceReader = instance.getInstanceReader();
|
92
99
|
|
@@ -98,6 +105,7 @@ contract PoolService is
|
|
98
105
|
instance.getInstanceStore().updatePool(poolNftId, poolInfo, KEEP_STATE());
|
99
106
|
|
100
107
|
emit LogPoolServiceMaxCapitalAmountUpdated(poolNftId, previousMaxCapitalAmount, maxCapitalAmount);
|
108
|
+
*/
|
101
109
|
}
|
102
110
|
|
103
111
|
function setBundleOwnerRole(RoleId bundleOwnerRole)
|
@@ -142,7 +150,6 @@ contract PoolService is
|
|
142
150
|
// TODO add logging
|
143
151
|
}
|
144
152
|
|
145
|
-
|
146
153
|
function createBundle(
|
147
154
|
address bundleOwner, // initial bundle owner
|
148
155
|
Fee memory fee, // fees deducted from premium that go to bundle owner
|
@@ -216,12 +223,14 @@ contract PoolService is
|
|
216
223
|
emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId);
|
217
224
|
}
|
218
225
|
|
226
|
+
|
219
227
|
function processSale(
|
220
228
|
NftId bundleNftId,
|
221
229
|
IPolicy.Premium memory premium
|
222
230
|
)
|
223
231
|
external
|
224
232
|
virtual
|
233
|
+
restricted
|
225
234
|
{
|
226
235
|
IRegistry registry = getRegistry();
|
227
236
|
IRegistry.ObjectInfo memory bundleObjectInfo = registry.getObjectInfo(bundleNftId);
|
@@ -250,6 +259,7 @@ contract PoolService is
|
|
250
259
|
|
251
260
|
function lockCollateral(
|
252
261
|
IInstance instance,
|
262
|
+
address token,
|
253
263
|
NftId productNftId,
|
254
264
|
NftId applicationNftId,
|
255
265
|
NftId bundleNftId,
|
@@ -257,7 +267,7 @@ contract PoolService is
|
|
257
267
|
)
|
258
268
|
external
|
259
269
|
virtual
|
260
|
-
|
270
|
+
restricted()
|
261
271
|
returns (
|
262
272
|
Amount localCollateralAmount,
|
263
273
|
Amount totalCollateralAmount
|
@@ -278,6 +288,12 @@ contract PoolService is
|
|
278
288
|
bundleNftId,
|
279
289
|
localCollateralAmount);
|
280
290
|
|
291
|
+
// update value locked with staking service
|
292
|
+
_staking.increaseTotalValueLocked(
|
293
|
+
instance.getNftId(),
|
294
|
+
token,
|
295
|
+
totalCollateralAmount);
|
296
|
+
|
281
297
|
// hierarhical riskpool setup
|
282
298
|
// TODO loop in with pool component to guarantee availability of external capital
|
283
299
|
if(totalCollateralAmount > localCollateralAmount) {
|
@@ -288,19 +304,26 @@ contract PoolService is
|
|
288
304
|
|
289
305
|
function reduceCollateral(
|
290
306
|
IInstance instance,
|
307
|
+
address token,
|
291
308
|
NftId policyNftId,
|
292
309
|
IPolicy.PolicyInfo memory policyInfo,
|
293
310
|
Amount payoutAmount
|
294
311
|
)
|
295
312
|
external
|
296
313
|
virtual
|
297
|
-
|
314
|
+
restricted
|
298
315
|
{
|
299
316
|
_bundleService.releaseCollateral(
|
300
317
|
instance,
|
301
318
|
policyNftId,
|
302
319
|
policyInfo.bundleNftId,
|
303
320
|
payoutAmount);
|
321
|
+
|
322
|
+
// update value locked with staking service
|
323
|
+
_staking.decreaseTotalValueLocked(
|
324
|
+
instance.getNftId(),
|
325
|
+
token,
|
326
|
+
payoutAmount);
|
304
327
|
}
|
305
328
|
|
306
329
|
|
@@ -308,22 +331,31 @@ contract PoolService is
|
|
308
331
|
/// may only be called by the policy service for unlocked pool components
|
309
332
|
function releaseCollateral(
|
310
333
|
IInstance instance,
|
334
|
+
address token,
|
311
335
|
NftId policyNftId,
|
312
336
|
IPolicy.PolicyInfo memory policyInfo
|
313
337
|
)
|
314
338
|
external
|
315
339
|
virtual
|
316
|
-
|
340
|
+
restricted
|
317
341
|
{
|
342
|
+
Amount remainingCollateralAmount = policyInfo.sumInsuredAmount - policyInfo.claimAmount;
|
343
|
+
|
318
344
|
_bundleService.releaseCollateral(
|
319
345
|
instance,
|
320
346
|
policyNftId,
|
321
347
|
policyInfo.bundleNftId,
|
322
|
-
|
348
|
+
remainingCollateralAmount);
|
323
349
|
|
324
350
|
_bundleService.unlinkPolicy(
|
325
351
|
instance,
|
326
352
|
policyNftId);
|
353
|
+
|
354
|
+
// update value locked with staking service
|
355
|
+
_staking.decreaseTotalValueLocked(
|
356
|
+
instance.getNftId(),
|
357
|
+
token,
|
358
|
+
remainingCollateralAmount);
|
327
359
|
}
|
328
360
|
|
329
361
|
|
@@ -14,29 +14,20 @@ contract PoolServiceManager is ProxyManager {
|
|
14
14
|
|
15
15
|
/// @dev initializes proxy manager with pool service implementation
|
16
16
|
constructor(
|
17
|
-
address
|
18
|
-
|
17
|
+
address authority,
|
18
|
+
address registryAddress,
|
19
|
+
bytes32 salt
|
20
|
+
)
|
19
21
|
ProxyManager(registryAddress)
|
20
22
|
{
|
21
|
-
PoolService poolSrv = new PoolService();
|
22
|
-
bytes memory data = abi.encode(registryAddress, address(this));
|
23
|
-
IVersionable versionable =
|
23
|
+
PoolService poolSrv = new PoolService{salt: salt}();
|
24
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
25
|
+
IVersionable versionable = deployDetermenistic(
|
24
26
|
address(poolSrv),
|
25
|
-
data
|
27
|
+
data,
|
28
|
+
salt);
|
26
29
|
|
27
30
|
_poolService = PoolService(address(versionable));
|
28
|
-
|
29
|
-
// TODO `this` must have a role or own nft to register service
|
30
|
-
//Registry registry = Registry(registryAddress);
|
31
|
-
//address registryServiceAddress = registry.getServiceAddress(REGISTRY(), _poolService.getMajorVersion());
|
32
|
-
//RegistryService registryService = RegistryService(registryServiceAddress);
|
33
|
-
//registryService.registerService(_poolService);
|
34
|
-
|
35
|
-
// TODO no nft to link yet
|
36
|
-
// link ownership of instance service manager ot nft owner of instance service
|
37
|
-
//_linkToNftOwnable(
|
38
|
-
// address(registryAddress),
|
39
|
-
// address(_poolService));
|
40
31
|
}
|
41
32
|
|
42
33
|
//--- view functions ----------------------------------------------------//
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {AmountLib} from "../type/Amount.sol";
|
5
5
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -64,10 +64,11 @@ contract ApplicationService is
|
|
64
64
|
virtual override
|
65
65
|
initializer()
|
66
66
|
{
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
67
|
+
(
|
68
|
+
address registryAddress,,
|
69
|
+
//address managerAddress
|
70
|
+
address authority
|
71
|
+
) = abi.decode(data, (address, address, address));
|
71
72
|
|
72
73
|
initializeService(registryAddress, address(0), owner);
|
73
74
|
|
@@ -11,15 +11,18 @@ contract ApplicationServiceManager is ProxyManager {
|
|
11
11
|
|
12
12
|
/// @dev initializes proxy manager with service implementation
|
13
13
|
constructor(
|
14
|
-
address
|
15
|
-
|
14
|
+
address authority,
|
15
|
+
address registryAddress,
|
16
|
+
bytes32 salt
|
17
|
+
)
|
16
18
|
ProxyManager(registryAddress)
|
17
19
|
{
|
18
|
-
ApplicationService svc = new ApplicationService();
|
19
|
-
bytes memory data = abi.encode(registryAddress, address(this));
|
20
|
-
IVersionable versionable =
|
20
|
+
ApplicationService svc = new ApplicationService{salt: salt}();
|
21
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
22
|
+
IVersionable versionable = deployDetermenistic(
|
21
23
|
address(svc),
|
22
|
-
data
|
24
|
+
data,
|
25
|
+
salt);
|
23
26
|
|
24
27
|
_applicationService = ApplicationService(address(versionable));
|
25
28
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IRisk} from "../instance/module/IRisk.sol";
|
5
5
|
import {IService} from "./IApplicationService.sol";
|
@@ -60,12 +60,13 @@ contract ClaimService is
|
|
60
60
|
virtual override
|
61
61
|
initializer()
|
62
62
|
{
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
63
|
+
(
|
64
|
+
address registryAddress,,
|
65
|
+
//address managerAddress
|
66
|
+
address authority
|
67
|
+
) = abi.decode(data, (address, address, address));
|
67
68
|
|
68
|
-
initializeService(registryAddress,
|
69
|
+
initializeService(registryAddress, authority, owner);
|
69
70
|
|
70
71
|
_poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
|
71
72
|
|
@@ -313,7 +314,12 @@ contract ClaimService is
|
|
313
314
|
instance.getInstanceStore().updatePolicyClaims(policyNftId, policyInfo, KEEP_STATE());
|
314
315
|
|
315
316
|
// inform pool about payout
|
316
|
-
_poolService.reduceCollateral(
|
317
|
+
_poolService.reduceCollateral(
|
318
|
+
instance,
|
319
|
+
address(instanceReader.getComponentInfo(policyInfo.productNftId).token),
|
320
|
+
policyNftId,
|
321
|
+
policyInfo,
|
322
|
+
payoutAmount);
|
317
323
|
|
318
324
|
// transfer payout token and fee
|
319
325
|
(
|
@@ -11,15 +11,18 @@ contract ClaimServiceManager is ProxyManager {
|
|
11
11
|
|
12
12
|
/// @dev initializes proxy manager with service implementation
|
13
13
|
constructor(
|
14
|
-
address
|
15
|
-
|
14
|
+
address authority,
|
15
|
+
address registryAddress,
|
16
|
+
bytes32 salt
|
17
|
+
)
|
16
18
|
ProxyManager(registryAddress)
|
17
19
|
{
|
18
|
-
ClaimService svc = new ClaimService();
|
19
|
-
bytes memory data = abi.encode(registryAddress, address(this));
|
20
|
-
IVersionable versionable =
|
20
|
+
ClaimService svc = new ClaimService{salt: salt}();
|
21
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
22
|
+
IVersionable versionable = deployDetermenistic(
|
21
23
|
address(svc),
|
22
|
-
data
|
24
|
+
data,
|
25
|
+
salt);
|
23
26
|
|
24
27
|
_claimService = ClaimService(address(versionable));
|
25
28
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
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.20;
|
3
3
|
|
4
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
5
|
import {Product} from "./Product.sol";
|
@@ -64,11 +64,13 @@ contract PolicyService is
|
|
64
64
|
virtual override
|
65
65
|
initializer
|
66
66
|
{
|
67
|
-
|
68
|
-
|
69
|
-
|
67
|
+
(
|
68
|
+
address registryAddress,,
|
69
|
+
//address managerAddress
|
70
|
+
address authority
|
71
|
+
) = abi.decode(data, (address, address, address));
|
70
72
|
|
71
|
-
initializeService(registryAddress,
|
73
|
+
initializeService(registryAddress, authority, owner);
|
72
74
|
|
73
75
|
VersionPart majorVersion = getVersion().toMajorPart();
|
74
76
|
_applicationService = IApplicationService(getRegistry().getServiceAddress(APPLICATION(), majorVersion));
|
@@ -141,6 +143,7 @@ contract PolicyService is
|
|
141
143
|
Amount totalCollateralAmount
|
142
144
|
) = _poolService.lockCollateral(
|
143
145
|
instance,
|
146
|
+
address(instanceReader.getComponentInfo(productNftId).token),
|
144
147
|
productNftId,
|
145
148
|
applicationNftId,
|
146
149
|
applicationInfo.bundleNftId,
|
@@ -183,7 +186,7 @@ contract PolicyService is
|
|
183
186
|
virtual
|
184
187
|
{
|
185
188
|
// check caller is registered product
|
186
|
-
(
|
189
|
+
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
187
190
|
InstanceReader instanceReader = instance.getInstanceReader();
|
188
191
|
StateId stateId = instanceReader.getPolicyState(policyNftId);
|
189
192
|
|
@@ -280,6 +283,7 @@ contract PolicyService is
|
|
280
283
|
|
281
284
|
_poolService.releaseCollateral(
|
282
285
|
instance,
|
286
|
+
address(instanceReader.getComponentInfo(policyInfo.productNftId).token),
|
283
287
|
policyNftId,
|
284
288
|
policyInfo);
|
285
289
|
|
@@ -14,32 +14,20 @@ contract PolicyServiceManager is ProxyManager {
|
|
14
14
|
|
15
15
|
/// @dev initializes proxy manager with product service implementation
|
16
16
|
constructor(
|
17
|
-
address
|
18
|
-
|
17
|
+
address authority,
|
18
|
+
address registryAddress,
|
19
|
+
bytes32 salt
|
20
|
+
)
|
19
21
|
ProxyManager(registryAddress)
|
20
22
|
{
|
21
|
-
PolicyService svc = new PolicyService();
|
22
|
-
bytes memory data = abi.encode(registryAddress, address(this));
|
23
|
-
IVersionable versionable =
|
23
|
+
PolicyService svc = new PolicyService{salt: salt}();
|
24
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
25
|
+
IVersionable versionable = deployDetermenistic(
|
24
26
|
address(svc),
|
25
|
-
data
|
27
|
+
data,
|
28
|
+
salt);
|
26
29
|
|
27
30
|
_policyService = PolicyService(address(versionable));
|
28
|
-
|
29
|
-
// Registry registry = Registry(registryAddress);
|
30
|
-
// address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
|
31
|
-
// RegistryService registryService = RegistryService(registryServiceAddress);
|
32
|
-
// TODO this must have a role or own nft to register service
|
33
|
-
//registryService.registerService(_productService);
|
34
|
-
|
35
|
-
// TODO no nft to link yet
|
36
|
-
// link ownership of instance service manager ot nft owner of instance service
|
37
|
-
//_linkToNftOwnable(
|
38
|
-
// address(registryAddress),
|
39
|
-
// address(_productService));
|
40
|
-
|
41
|
-
// implies that after this constructor call only upgrade functionality is available
|
42
|
-
// _isDeployed = true;
|
43
31
|
}
|
44
32
|
|
45
33
|
//--- view functions ----------------------------------------------------//
|