@etherisc/gif-next 0.0.2-ffa91a6-022 → 3.0.0-06d5e8b-738
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 +124 -332
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +106 -38
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +111 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +58 -6
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +370 -141
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1582 -202
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +266 -64
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +263 -87
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +102 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -38
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +269 -69
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -12
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +376 -147
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -78
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -11
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +232 -19
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +108 -79
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +136 -95
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +728 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1234 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2497 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +86 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +35 -26
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -105
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +268 -68
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +51 -229
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +374 -35
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +305 -5
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +425 -97
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +753 -401
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +236 -80
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +747 -553
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +331 -31
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +100 -42
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1323 -2012
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +25 -16
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +282 -65
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +19 -10
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -10
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +116 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -58
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +268 -68
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +300 -123
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -58
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +186 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -20
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +238 -19
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -20
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +338 -79
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +113 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -37
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +268 -68
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +128 -70
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +55 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -31
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +157 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +511 -21
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -112
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +115 -65
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -31
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +101 -43
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +33 -22
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +71 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +539 -314
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +335 -76
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +41 -12
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +96 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +551 -246
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +169 -111
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -10
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +196 -201
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +130 -64
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/{ComponentVerifyingService.sol/ComponentVerifyingService.json → IAuthorizedComponent.sol/IAuthorizedComponent.json} +238 -90
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -10
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +111 -132
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -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 +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -10
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1390 -134
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +97 -117
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1479 -192
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +77 -76
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +139 -64
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +296 -152
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +131 -167
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +96 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1615 -815
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +153 -91
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
- 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 +23 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -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 +39 -218
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -27
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +15 -3
- package/contracts/accounting/IAccountingService.sol +4 -2
- package/contracts/authorization/AccessAdmin.sol +303 -326
- package/contracts/authorization/AccessAdminLib.sol +535 -23
- package/contracts/authorization/AccessManagerCloneable.sol +0 -18
- package/contracts/authorization/Authorization.sol +64 -239
- package/contracts/authorization/IAccess.sol +29 -12
- package/contracts/authorization/IAccessAdmin.sol +25 -53
- package/contracts/authorization/IAuthorization.sol +3 -57
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +228 -34
- package/contracts/distribution/BasicDistribution.sol +3 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +9 -8
- package/contracts/distribution/DistributionService.sol +125 -62
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +20 -8
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/flight/FlightLib.sol +300 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +171 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +53 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +685 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +69 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +57 -6
- package/contracts/instance/IInstanceService.sol +42 -7
- package/contracts/instance/Instance.sol +111 -56
- package/contracts/instance/InstanceAdmin.sol +150 -294
- package/contracts/instance/InstanceAuthorizationV3.sol +106 -66
- package/contracts/instance/InstanceReader.sol +376 -392
- package/contracts/instance/InstanceService.sol +186 -134
- package/contracts/instance/InstanceStore.sol +153 -128
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +15 -5
- package/contracts/instance/module/IDistribution.sol +17 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +2 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +4 -6
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +4 -16
- package/contracts/pool/BasicPoolAuthorization.sol +10 -5
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +7 -2
- package/contracts/pool/Pool.sol +6 -18
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +40 -181
- package/contracts/product/ApplicationService.sol +64 -11
- package/contracts/product/BasicProduct.sol +2 -3
- package/contracts/product/BasicProductAuthorization.sol +13 -5
- package/contracts/product/ClaimService.sol +99 -105
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +40 -59
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +28 -31
- package/contracts/product/Product.sol +40 -16
- package/contracts/product/RiskService.sol +50 -15
- package/contracts/registry/IRegistry.sol +15 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +39 -118
- package/contracts/registry/RegistryAuthorization.sol +139 -69
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +59 -106
- package/contracts/registry/ReleaseRegistry.sol +20 -12
- package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +8 -8
- package/contracts/shared/ComponentService.sol +245 -262
- package/contracts/shared/ContractLib.sol +106 -75
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +14 -15
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -5
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InstanceLinkedComponent.sol +64 -26
- package/contracts/shared/NftOwnable.sol +3 -1
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Service.sol +6 -4
- package/contracts/staking/IStaking.sol +261 -70
- package/contracts/staking/IStakingService.sol +39 -84
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +468 -217
- package/contracts/staking/StakingLib.sol +38 -124
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +62 -71
- package/contracts/staking/StakingService.sol +42 -185
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1093 -331
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +17 -22
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +17 -33
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/Seconds.sol +23 -0
- package/contracts/type/String.sol +42 -0
- package/contracts/type/Timestamp.sol +14 -3
- package/contracts/type/UFixed.sol +28 -10
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +26 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -14,10 +14,26 @@ contract BasicOracleAuthorization
|
|
14
14
|
is Authorization
|
15
15
|
{
|
16
16
|
|
17
|
-
constructor(
|
18
|
-
|
17
|
+
constructor(
|
18
|
+
string memory componentName,
|
19
|
+
string memory commitHash
|
20
|
+
)
|
21
|
+
Authorization(
|
22
|
+
componentName,
|
23
|
+
ORACLE(),
|
24
|
+
3,
|
25
|
+
commitHash,
|
26
|
+
TargetType.Component,
|
27
|
+
false)
|
19
28
|
{}
|
20
29
|
|
30
|
+
function _setupServiceTargets()
|
31
|
+
internal
|
32
|
+
virtual override
|
33
|
+
{
|
34
|
+
_authorizeServiceDomain(ORACLE(), address(15));
|
35
|
+
}
|
36
|
+
|
21
37
|
function _setupTargetAuthorizations()
|
22
38
|
internal
|
23
39
|
virtual override
|
@@ -9,14 +9,19 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
9
9
|
interface IOracle {
|
10
10
|
|
11
11
|
struct RequestInfo {
|
12
|
+
// slot 0
|
12
13
|
NftId requesterNftId; // originator of the request
|
13
|
-
string callbackMethodName; // callback function of the requestor to call to provide response data
|
14
14
|
NftId oracleNftId; // responsible oracle component
|
15
|
-
|
16
|
-
bytes responseData;
|
15
|
+
bool isCancelled;
|
17
16
|
Timestamp respondedAt; // response timestamp
|
17
|
+
// slot 1
|
18
18
|
Timestamp expiredAt; // expiry timestamp
|
19
|
-
|
19
|
+
// slot 2
|
20
|
+
string callbackMethodName; // callback function of the requestor to call to provide response data
|
21
|
+
// slot 3
|
22
|
+
bytes requestData;
|
23
|
+
// slot 4
|
24
|
+
bytes responseData;
|
20
25
|
}
|
21
26
|
|
22
27
|
|
@@ -41,26 +41,26 @@ interface IOracleService is IService {
|
|
41
41
|
string calldata callbackMethodName
|
42
42
|
) external returns (RequestId requestId);
|
43
43
|
|
44
|
-
/// @dev
|
45
|
-
///
|
46
|
-
///
|
44
|
+
/// @dev Respond to oracle request by oracle compnent.
|
45
|
+
/// The response data is amended in the request info stored with the instance.
|
46
|
+
/// The request state changes to FULFILLED (when calling the callback method of the requester is successful)
|
47
47
|
/// or to FAILED when calling the requester is not succesful.
|
48
|
-
///
|
49
|
-
///
|
48
|
+
/// The function returns true iff the state changes to FULFILLED.
|
49
|
+
/// Permissioned: only the receiving oracle component may call this method
|
50
50
|
function respond(
|
51
51
|
RequestId requestId,
|
52
52
|
bytes calldata responseData
|
53
53
|
) external returns (bool success);
|
54
54
|
|
55
|
-
/// @dev
|
56
|
-
///
|
57
|
-
///
|
58
|
-
///
|
55
|
+
/// @dev Resend a failed response to the requester.
|
56
|
+
/// Only requests in state FAILED may be resent.
|
57
|
+
/// The request state changes to FULFILLED when calling the callback method of the requester is successful.
|
58
|
+
/// Permissioned: only the receiving oracle may resend a request
|
59
59
|
function resend(RequestId requestId) external;
|
60
60
|
|
61
|
-
/// @dev
|
62
|
-
///
|
63
|
-
///
|
61
|
+
/// @dev Notify the oracle component that the specified request has become invalid.
|
62
|
+
/// Only requests in state ACTIVE may be cancelled.
|
63
|
+
/// Permissioned: only the requester may cancel a request
|
64
64
|
function cancel(RequestId requestId) external;
|
65
65
|
|
66
66
|
}
|
@@ -75,27 +75,25 @@ abstract contract Oracle is
|
|
75
75
|
}
|
76
76
|
|
77
77
|
|
78
|
-
function
|
78
|
+
function __Oracle_init(
|
79
79
|
address registry,
|
80
80
|
NftId productNftId,
|
81
81
|
IAuthorization authorization,
|
82
82
|
address initialOwner,
|
83
|
-
string memory name
|
84
|
-
bytes memory componentData // component specifidc data
|
83
|
+
string memory name
|
85
84
|
)
|
86
85
|
internal
|
87
86
|
virtual
|
88
87
|
onlyInitializing()
|
89
88
|
{
|
90
|
-
|
89
|
+
__InstanceLinkedComponent_init(
|
91
90
|
registry,
|
92
91
|
productNftId,
|
93
92
|
name,
|
94
93
|
ORACLE(),
|
95
94
|
authorization,
|
96
95
|
true,
|
97
|
-
initialOwner
|
98
|
-
componentData);
|
96
|
+
initialOwner);
|
99
97
|
|
100
98
|
OracleStorage storage $ = _getOracleStorage();
|
101
99
|
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
@@ -48,7 +48,7 @@ contract OracleService is
|
|
48
48
|
)
|
49
49
|
external
|
50
50
|
virtual
|
51
|
-
|
51
|
+
restricted()
|
52
52
|
onlyNftOfType(oracleNftId, ORACLE())
|
53
53
|
returns (RequestId requestId)
|
54
54
|
{
|
@@ -104,7 +104,7 @@ contract OracleService is
|
|
104
104
|
)
|
105
105
|
external
|
106
106
|
virtual
|
107
|
-
|
107
|
+
restricted()
|
108
108
|
returns (bool success)
|
109
109
|
{
|
110
110
|
(
|
@@ -118,7 +118,7 @@ contract OracleService is
|
|
118
118
|
bool callerIsOracle = true;
|
119
119
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
|
120
120
|
request.responseData = responseData;
|
121
|
-
request.respondedAt = TimestampLib.
|
121
|
+
request.respondedAt = TimestampLib.current();
|
122
122
|
|
123
123
|
instance.getInstanceStore().updateRequest(
|
124
124
|
requestId, request, KEEP_STATE());
|
@@ -153,7 +153,7 @@ contract OracleService is
|
|
153
153
|
function resend(RequestId requestId)
|
154
154
|
external
|
155
155
|
virtual
|
156
|
-
|
156
|
+
restricted()
|
157
157
|
{
|
158
158
|
(
|
159
159
|
IRegistry.ObjectInfo memory info,
|
@@ -192,7 +192,7 @@ contract OracleService is
|
|
192
192
|
function cancel(RequestId requestId)
|
193
193
|
external
|
194
194
|
virtual
|
195
|
-
|
195
|
+
restricted()
|
196
196
|
{
|
197
197
|
(
|
198
198
|
IRegistry.ObjectInfo memory info,
|
@@ -253,8 +253,8 @@ contract OracleService is
|
|
253
253
|
}
|
254
254
|
|
255
255
|
// check expiriyAt >= now
|
256
|
-
if (expiryAt < TimestampLib.
|
257
|
-
revert ErrorOracleServiceExpiryInThePast(TimestampLib.
|
256
|
+
if (expiryAt < TimestampLib.current()) {
|
257
|
+
revert ErrorOracleServiceExpiryInThePast(TimestampLib.current(), expiryAt);
|
258
258
|
}
|
259
259
|
|
260
260
|
// check callbackMethodName.length > 0
|
@@ -298,7 +298,7 @@ contract OracleService is
|
|
298
298
|
}
|
299
299
|
|
300
300
|
// check expiry
|
301
|
-
if (info.expiredAt < TimestampLib.
|
301
|
+
if (info.expiredAt < TimestampLib.current()) {
|
302
302
|
revert ErrorOracleServiceRequestExpired(requestId, info.expiredAt);
|
303
303
|
}
|
304
304
|
}
|
@@ -29,14 +29,13 @@ abstract contract BasicPool is
|
|
29
29
|
virtual
|
30
30
|
onlyInitializing()
|
31
31
|
{
|
32
|
-
|
32
|
+
__Pool_init(
|
33
33
|
registry,
|
34
34
|
productNftId,
|
35
35
|
name,
|
36
36
|
poolInfo,
|
37
37
|
authorization,
|
38
|
-
initialOwner
|
39
|
-
""); // componentData
|
38
|
+
initialOwner);
|
40
39
|
}
|
41
40
|
|
42
41
|
function stake(
|
@@ -82,25 +81,14 @@ abstract contract BasicPool is
|
|
82
81
|
}
|
83
82
|
|
84
83
|
|
85
|
-
function
|
84
|
+
function setBundleLocked(NftId bundleNftId, bool locked)
|
86
85
|
public
|
87
86
|
virtual
|
88
87
|
restricted()
|
89
88
|
onlyBundleOwner(bundleNftId)
|
90
89
|
onlyNftOfType(bundleNftId, BUNDLE())
|
91
90
|
{
|
92
|
-
|
93
|
-
}
|
94
|
-
|
95
|
-
|
96
|
-
function unlockBundle(NftId bundleNftId)
|
97
|
-
public
|
98
|
-
virtual
|
99
|
-
restricted()
|
100
|
-
onlyBundleOwner(bundleNftId)
|
101
|
-
onlyNftOfType(bundleNftId, BUNDLE())
|
102
|
-
{
|
103
|
-
_unlockBundle(bundleNftId);
|
91
|
+
_setBundleLocked(bundleNftId, locked);
|
104
92
|
}
|
105
93
|
|
106
94
|
|
@@ -18,15 +18,21 @@ contract BasicPoolAuthorization
|
|
18
18
|
{
|
19
19
|
|
20
20
|
constructor(string memory poolName)
|
21
|
-
Authorization(
|
21
|
+
Authorization(
|
22
|
+
poolName,
|
23
|
+
POOL(),
|
24
|
+
3,
|
25
|
+
COMMIT_HASH,
|
26
|
+
TargetType.Component,
|
27
|
+
true)
|
22
28
|
{}
|
23
29
|
|
24
30
|
function _setupServiceTargets()
|
25
31
|
internal
|
26
32
|
virtual override
|
27
33
|
{
|
28
|
-
|
29
|
-
|
34
|
+
_authorizeServiceDomain(COMPONENT(), address(11));
|
35
|
+
_authorizeServiceDomain(POOL(), address(12));
|
30
36
|
}
|
31
37
|
|
32
38
|
function _setupTokenHandlerAuthorizations() internal virtual override {
|
@@ -54,8 +60,7 @@ contract BasicPoolAuthorization
|
|
54
60
|
_authorize(functions, BasicPool.stake.selector, "stake");
|
55
61
|
_authorize(functions, BasicPool.unstake.selector, "unstake");
|
56
62
|
_authorize(functions, BasicPool.extend.selector, "extend");
|
57
|
-
_authorize(functions, BasicPool.
|
58
|
-
_authorize(functions, BasicPool.unlockBundle.selector, "unlockBundle");
|
63
|
+
_authorize(functions, BasicPool.setBundleLocked.selector, "setBundleLocked");
|
59
64
|
_authorize(functions, BasicPool.closeBundle.selector, "closeBundle");
|
60
65
|
_authorize(functions, BasicPool.setBundleFee.selector, "setBundleFee");
|
61
66
|
|
@@ -4,7 +4,6 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IAccountingService} from "../accounting/IAccountingService.sol";
|
5
5
|
import {IBundle} from "../instance/module/IBundle.sol";
|
6
6
|
import {IBundleService} from "./IBundleService.sol";
|
7
|
-
import {IComponents} from "../instance/module/IComponents.sol";
|
8
7
|
import {IComponentService} from "../shared/IComponentService.sol";
|
9
8
|
import {IRegistry} from "../registry/IRegistry.sol";
|
10
9
|
import {IRegistryService} from "../registry/IRegistryService.sol";
|
@@ -13,19 +12,19 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
13
12
|
|
14
13
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
15
14
|
import {BundleSet} from "../instance/BundleSet.sol";
|
16
|
-
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
17
15
|
import {Fee} from "../type/Fee.sol";
|
18
16
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
19
17
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
20
18
|
import {ObjectType, ACCOUNTING, COMPONENT, POOL, BUNDLE, POLICY, REGISTRY} from "../type/ObjectType.sol";
|
21
|
-
import {
|
19
|
+
import {PoolLib} from "./PoolLib.sol";
|
22
20
|
import {Seconds} from "../type/Seconds.sol";
|
21
|
+
import {Service} from "../shared/Service.sol";
|
22
|
+
import {StateId, ACTIVE, PAUSED, CLOSED, KEEP_STATE} from "../type/StateId.sol";
|
23
23
|
import {Timestamp, TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
24
24
|
|
25
|
-
string constant BUNDLE_SERVICE_NAME = "BundleService";
|
26
25
|
|
27
26
|
contract BundleService is
|
28
|
-
|
27
|
+
Service,
|
29
28
|
IBundleService
|
30
29
|
{
|
31
30
|
|
@@ -69,7 +68,7 @@ contract BundleService is
|
|
69
68
|
{
|
70
69
|
_checkNftType(bundleNftId, BUNDLE());
|
71
70
|
|
72
|
-
(NftId poolNftId
|
71
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
73
72
|
InstanceReader instanceReader = instance.getInstanceReader();
|
74
73
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
75
74
|
if(bundleInfo.poolNftId.eqz()) {
|
@@ -82,6 +81,8 @@ contract BundleService is
|
|
82
81
|
|
83
82
|
bundleInfo.fee = fee;
|
84
83
|
instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
84
|
+
|
85
|
+
emit LogBundleServiceBundleFeeUpdated(bundleNftId, fee.fixedFee, fee.fractionalFee);
|
85
86
|
}
|
86
87
|
|
87
88
|
|
@@ -96,7 +97,7 @@ contract BundleService is
|
|
96
97
|
restricted()
|
97
98
|
returns(NftId bundleNftId)
|
98
99
|
{
|
99
|
-
(NftId poolNftId
|
100
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
100
101
|
|
101
102
|
// register bundle with registry
|
102
103
|
bundleNftId = _registryService.registerBundle(
|
@@ -119,8 +120,8 @@ contract BundleService is
|
|
119
120
|
poolNftId: poolNftId,
|
120
121
|
fee: bundleFee,
|
121
122
|
filter: filter,
|
122
|
-
activatedAt: TimestampLib.
|
123
|
-
expiredAt: TimestampLib.
|
123
|
+
activatedAt: TimestampLib.current(),
|
124
|
+
expiredAt: TimestampLib.current().addSeconds(lifetime),
|
124
125
|
closedAt: zeroTimestamp()
|
125
126
|
})
|
126
127
|
);
|
@@ -129,7 +130,7 @@ contract BundleService is
|
|
129
130
|
BundleSet bundleManager = instance.getBundleSet();
|
130
131
|
bundleManager.add(bundleNftId);
|
131
132
|
|
132
|
-
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId);
|
133
|
+
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime);
|
133
134
|
}
|
134
135
|
|
135
136
|
|
@@ -155,7 +156,7 @@ contract BundleService is
|
|
155
156
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
156
157
|
|
157
158
|
// ensure bundle is active and not yet expired
|
158
|
-
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.
|
159
|
+
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.current()) {
|
159
160
|
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
160
161
|
}
|
161
162
|
}
|
@@ -179,32 +180,12 @@ contract BundleService is
|
|
179
180
|
// effects
|
180
181
|
// updated locked amount
|
181
182
|
instanceStore.increaseLocked(bundleNftId, collateralAmount);
|
182
|
-
}
|
183
|
-
|
184
|
-
|
185
|
-
function lock(NftId bundleNftId)
|
186
|
-
external
|
187
|
-
virtual
|
188
|
-
restricted()
|
189
|
-
{
|
190
|
-
// checks
|
191
|
-
_checkNftType(bundleNftId, BUNDLE());
|
192
|
-
|
193
|
-
(,, IInstance instance) = _getAndVerifyActiveComponent(POOL());
|
194
|
-
|
195
|
-
// udpate bundle state
|
196
|
-
instance.getInstanceStore().updateBundleState(bundleNftId, PAUSED());
|
197
183
|
|
198
|
-
|
199
|
-
// update set of active bundles
|
200
|
-
BundleSet bundleManager = instance.getBundleSet();
|
201
|
-
bundleManager.lock(bundleNftId);
|
202
|
-
|
203
|
-
emit LogBundleServiceBundleLocked(bundleNftId);
|
184
|
+
emit LogBundleServiceCollateralLocked(bundleNftId, policyNftId, collateralAmount);
|
204
185
|
}
|
205
186
|
|
206
187
|
|
207
|
-
function
|
188
|
+
function setLocked(NftId bundleNftId, bool locked)
|
208
189
|
external
|
209
190
|
virtual
|
210
191
|
restricted()
|
@@ -212,19 +193,21 @@ contract BundleService is
|
|
212
193
|
// checks
|
213
194
|
_checkNftType(bundleNftId, BUNDLE());
|
214
195
|
|
215
|
-
(
|
196
|
+
(, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
216
197
|
|
217
198
|
// effects
|
218
|
-
// udpate bundle state
|
219
|
-
instance.getInstanceStore().updateBundleState(bundleNftId, ACTIVE());
|
220
|
-
|
221
199
|
// update set of active bundles
|
222
200
|
BundleSet bundleManager = instance.getBundleSet();
|
223
|
-
bundleManager.unlock(bundleNftId);
|
224
201
|
|
225
|
-
|
202
|
+
if (locked) {
|
203
|
+
bundleManager.lock(bundleNftId);
|
204
|
+
emit LogBundleServiceBundleLocked(bundleNftId);
|
205
|
+
} else {
|
206
|
+
bundleManager.unlock(bundleNftId);
|
207
|
+
emit LogBundleServiceBundleUnlocked(bundleNftId);
|
208
|
+
}
|
226
209
|
}
|
227
|
-
|
210
|
+
|
228
211
|
|
229
212
|
function close(
|
230
213
|
IInstance instance,
|
@@ -260,6 +243,8 @@ contract BundleService is
|
|
260
243
|
unstakedAmount = balanceAmountWithFees - feeAmount;
|
261
244
|
_accountingService.decreaseBundleBalance(instanceStore, bundleNftId, unstakedAmount, feeAmount);
|
262
245
|
}
|
246
|
+
|
247
|
+
emit LogBundleServiceBundleClosed(bundleNftId);
|
263
248
|
}
|
264
249
|
|
265
250
|
/// @inheritdoc IBundleService
|
@@ -280,7 +265,7 @@ contract BundleService is
|
|
280
265
|
StateId bundleState = instanceReader.getBundleState(bundleNftId);
|
281
266
|
|
282
267
|
if( (bundleState != ACTIVE() && bundleState != PAUSED()) // locked bundles can be staked
|
283
|
-
|| bundleInfo.expiredAt < TimestampLib.
|
268
|
+
|| bundleInfo.expiredAt < TimestampLib.current()
|
284
269
|
|| bundleInfo.closedAt.gtz()) {
|
285
270
|
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
286
271
|
}
|
@@ -291,6 +276,8 @@ contract BundleService is
|
|
291
276
|
bundleNftId,
|
292
277
|
amount,
|
293
278
|
AmountLib.zero());
|
279
|
+
|
280
|
+
emit LogBundleServiceBundleStaked(bundleNftId, amount);
|
294
281
|
}
|
295
282
|
|
296
283
|
/// @inheritdoc IBundleService
|
@@ -332,6 +319,8 @@ contract BundleService is
|
|
332
319
|
bundleNftId,
|
333
320
|
unstakedAmount,
|
334
321
|
AmountLib.zero());
|
322
|
+
|
323
|
+
emit LogBundleServiceBundleUnstaked(bundleNftId, unstakedAmount);
|
335
324
|
}
|
336
325
|
|
337
326
|
/// @inheritdoc IBundleService
|
@@ -344,7 +333,7 @@ contract BundleService is
|
|
344
333
|
// checks
|
345
334
|
_checkNftType(bundleNftId, BUNDLE());
|
346
335
|
|
347
|
-
(NftId poolNftId
|
336
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
348
337
|
IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
|
349
338
|
StateId bundleState = instance.getInstanceReader().getBundleState(bundleNftId);
|
350
339
|
|
@@ -354,7 +343,7 @@ contract BundleService is
|
|
354
343
|
}
|
355
344
|
|
356
345
|
// ensure bundle is active and not yet expired
|
357
|
-
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.
|
346
|
+
if(bundleState != ACTIVE() || bundleInfo.expiredAt < TimestampLib.current()) {
|
358
347
|
revert ErrorBundleServiceBundleNotOpen(bundleNftId, bundleState, bundleInfo.expiredAt);
|
359
348
|
}
|
360
349
|
|
@@ -386,6 +375,8 @@ contract BundleService is
|
|
386
375
|
_checkNftType(bundleNftId, BUNDLE());
|
387
376
|
|
388
377
|
instanceStore.decreaseLocked(bundleNftId, collateralAmount);
|
378
|
+
|
379
|
+
emit LogBundleServiceCollateralReleased(bundleNftId, policyNftId, collateralAmount);
|
389
380
|
}
|
390
381
|
|
391
382
|
|
@@ -12,13 +12,10 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
12
12
|
import {Seconds} from "../type/Seconds.sol";
|
13
13
|
import {StateId} from "../type/StateId.sol";
|
14
14
|
import {Timestamp} from "../type/Timestamp.sol";
|
15
|
+
import {UFixed} from "../type/UFixed.sol";
|
15
16
|
|
16
17
|
interface IBundleService is IService {
|
17
18
|
|
18
|
-
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId);
|
19
|
-
event LogBundleServiceBundleActivated(NftId bundleNftId);
|
20
|
-
event LogBundleServiceBundleLocked(NftId bundleNftId);
|
21
|
-
|
22
19
|
error ErrorBundleServiceInsufficientAllowance(address bundleOwner, address tokenHandlerAddress, Amount amount);
|
23
20
|
error ErrorBundleServiceBundleNotOpen(NftId bundleNftId, StateId state, Timestamp expiredAt);
|
24
21
|
error ErrorBundleServiceCapacityInsufficient(NftId bundleNftId, Amount capacityAmount, Amount collateralAmount);
|
@@ -33,7 +30,16 @@ interface IBundleService is IService {
|
|
33
30
|
|
34
31
|
error ErrorBundleServiceExtensionLifetimeIsZero();
|
35
32
|
|
33
|
+
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime);
|
34
|
+
event LogBundleServiceBundleClosed(NftId bundleNftId);
|
35
|
+
event LogBundleServiceBundleLocked(NftId bundleNftId);
|
36
|
+
event LogBundleServiceBundleUnlocked(NftId bundleNftId);
|
36
37
|
event LogBundleServiceBundleExtended(NftId bundleNftId, Seconds lifetimeExtension, Timestamp extendedExpiredAt);
|
38
|
+
event LogBundleServiceBundleFeeUpdated(NftId bundleNftId, Amount fixedFee, UFixed fractionalFee);
|
39
|
+
event LogBundleServiceCollateralLocked(NftId bundleNftId, NftId policyNftId, Amount collateralAmount);
|
40
|
+
event LogBundleServiceCollateralReleased(NftId bundleNftId, NftId policyNftId, Amount collateralAmount);
|
41
|
+
event LogBundleServiceBundleStaked(NftId bundleNftId, Amount amount);
|
42
|
+
event LogBundleServiceBundleUnstaked(NftId bundleNftId, Amount amount);
|
37
43
|
|
38
44
|
/// @dev Create a new bundle for the specified attributes.
|
39
45
|
function create(
|
@@ -62,15 +68,10 @@ interface IBundleService is IService {
|
|
62
68
|
/// @dev extend the lifetime of the bundle by the specified time in seconds
|
63
69
|
function extend(NftId bundleNftId, Seconds lifetimeExtension) external returns (Timestamp extendedExpiredAt);
|
64
70
|
|
65
|
-
/// @dev locks the specified bundle
|
66
|
-
///
|
67
|
-
/// may only be called by registered and unlocked pool components
|
68
|
-
function
|
69
|
-
|
70
|
-
/// @dev activates the specified bundle
|
71
|
-
/// only locked bundles may be unlocked
|
72
|
-
/// may only be called by registered and unlocked pool components
|
73
|
-
function unlock(NftId bundleNftId) external;
|
71
|
+
/// @dev locks/unlocks the specified bundle.
|
72
|
+
/// locked bundles are not available to collateralize new policies.
|
73
|
+
/// may only be called by registered and unlocked pool components.
|
74
|
+
function setLocked(NftId bundleNftId, bool locked) external;
|
74
75
|
|
75
76
|
/// @dev closes the specified bundle
|
76
77
|
/// only open bundles (active or locked) may be closed
|
@@ -11,7 +11,6 @@ import {InstanceReader} from "../instance/InstanceReader.sol";
|
|
11
11
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
12
12
|
import {NftId} from "../type/NftId.sol";
|
13
13
|
import {PayoutId} from "../type/PayoutId.sol";
|
14
|
-
import {UFixed} from "../type/UFixed.sol";
|
15
14
|
|
16
15
|
interface IPoolService is IService {
|
17
16
|
|
@@ -29,6 +28,12 @@ interface IPoolService is IService {
|
|
29
28
|
|
30
29
|
event LogPoolServiceProcessFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount);
|
31
30
|
|
31
|
+
event LogPoolServiceApplicationVerified(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount);
|
32
|
+
event LogPoolServiceCollateralLocked(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount, Amount lockedCollateralAmount);
|
33
|
+
event LogPoolServiceCollateralReleased(NftId bundleNftId, NftId policyNftId, Amount remainingCollateralAmount);
|
34
|
+
event LogPoolServiceSaleProcessed(NftId poolNftId, NftId bundleNftId, Amount bundleNetAmount, Amount bundleFeeAmount, Amount poolFeeAmount);
|
35
|
+
event LogPoolServicePayoutProcessed(NftId poolNftId, NftId bundleNftId, NftId policyNftId, PayoutId payoutId, Amount netPayoutAmount, Amount processingFeeAmount, address payoutBeneficiary);
|
36
|
+
|
32
37
|
error ErrorPoolServicePoolNotExternallyManaged(NftId poolNftId);
|
33
38
|
error ErrorPoolServicePolicyPoolMismatch(NftId policyNftId, NftId productNftId, NftId expectedProductNftId);
|
34
39
|
error ErrorPoolServiceBundleOwnerRoleAlreadySet(NftId poolNftId);
|
@@ -81,7 +86,7 @@ interface IPoolService is IService {
|
|
81
86
|
PayoutId payoutId,
|
82
87
|
Amount payoutAmount,
|
83
88
|
address payoutBeneficiary
|
84
|
-
) external;
|
89
|
+
) external returns (Amount netPayoutAmount, Amount processingFeeAmount);
|
85
90
|
|
86
91
|
|
87
92
|
/// @dev increase stakes for bundle
|
package/contracts/pool/Pool.sol
CHANGED
@@ -123,28 +123,26 @@ abstract contract Pool is
|
|
123
123
|
|
124
124
|
// Internals
|
125
125
|
|
126
|
-
function
|
126
|
+
function __Pool_init(
|
127
127
|
address registry,
|
128
128
|
NftId productNftId,
|
129
129
|
string memory name,
|
130
130
|
IComponents.PoolInfo memory poolInfo,
|
131
131
|
IAuthorization authorization,
|
132
|
-
address initialOwner
|
133
|
-
bytes memory componentData // component specifidc data
|
132
|
+
address initialOwner
|
134
133
|
)
|
135
134
|
internal
|
136
135
|
virtual
|
137
136
|
onlyInitializing()
|
138
137
|
{
|
139
|
-
|
138
|
+
__InstanceLinkedComponent_init(
|
140
139
|
registry,
|
141
140
|
productNftId,
|
142
141
|
name,
|
143
142
|
POOL(),
|
144
143
|
authorization,
|
145
144
|
poolInfo.isInterceptingBundleTransfers,
|
146
|
-
initialOwner
|
147
|
-
componentData);
|
145
|
+
initialOwner);
|
148
146
|
|
149
147
|
PoolStorage storage $ = _getPoolStorage();
|
150
148
|
|
@@ -283,21 +281,11 @@ abstract contract Pool is
|
|
283
281
|
/// @dev Locks the specified bundle.
|
284
282
|
/// A bundle to be locked MUST be in active state.
|
285
283
|
/// Locked bundles may not be used to collateralize any new policy.
|
286
|
-
function
|
284
|
+
function _setBundleLocked(NftId bundleNftId, bool locked)
|
287
285
|
internal
|
288
286
|
virtual
|
289
287
|
{
|
290
|
-
_getPoolStorage()._bundleService.
|
291
|
-
}
|
292
|
-
|
293
|
-
|
294
|
-
/// @dev Unlocks the specified bundle.
|
295
|
-
/// A bundle to be unlocked MUST be in locked state.
|
296
|
-
function _unlockBundle(NftId bundleNftId)
|
297
|
-
internal
|
298
|
-
virtual
|
299
|
-
{
|
300
|
-
_getPoolStorage()._bundleService.unlock(bundleNftId);
|
288
|
+
_getPoolStorage()._bundleService.setLocked(bundleNftId, locked);
|
301
289
|
}
|
302
290
|
|
303
291
|
|