@etherisc/gif-next 3.0.0-2e16ebd-614 → 3.0.0-303db9f-884
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 +10 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +115 -113
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +46 -91
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- 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 +10 -20
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -220
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -166
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +224 -198
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -178
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +117 -71
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -241
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +135 -277
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -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/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1233 -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 +1391 -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 +2214 -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/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -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 +102 -253
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +175 -224
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -252
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -246
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +32 -71
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +131 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +62 -138
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +305 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +180 -140
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
- package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.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 +8 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +38 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +150 -193
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- 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 +130 -150
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +136 -143
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -163
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +129 -176
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +44 -71
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +71 -174
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +98 -94
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -163
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -233
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -147
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +76 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -159
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +139 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +57 -147
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
- 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 +62 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -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 +106 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
- 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 +208 -140
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +39 -159
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +536 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +558 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -171
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +442 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -159
- 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 +28 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -147
- 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 +34 -15
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -69
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -57
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +81 -176
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +41 -280
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +134 -245
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +70 -337
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -32
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
- 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 +2 -7
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -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 -7
- 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 +23 -4
- 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 +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +22 -33
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +7 -8
- package/contracts/authorization/AccessAdmin.sol +24 -47
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +52 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +25 -27
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/distribution/IDistributionComponent.sol +0 -2
- package/contracts/distribution/IDistributionService.sol +4 -3
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +129 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +56 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/BaseStore.sol +4 -0
- package/contracts/instance/IBaseStore.sol +8 -0
- package/contracts/instance/IInstance.sol +4 -1
- package/contracts/instance/IInstanceService.sol +6 -0
- package/contracts/instance/Instance.sol +20 -8
- package/contracts/instance/InstanceAdmin.sol +18 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +17 -5
- package/contracts/instance/InstanceReader.sol +74 -23
- package/contracts/instance/InstanceService.sol +84 -54
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/RequestSet.sol +63 -0
- package/contracts/instance/TargetNames.sol +1 -0
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +10 -2
- package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
- package/contracts/oracle/BasicOracle.sol +3 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleComponent.sol +10 -0
- package/contracts/oracle/IOracleService.sol +16 -12
- package/contracts/oracle/Oracle.sol +54 -29
- package/contracts/oracle/OracleService.sol +88 -55
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +20 -26
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolService.sol +6 -5
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +2 -1
- package/contracts/product/PolicyService.sol +58 -45
- package/contracts/product/PolicyServiceLib.sol +5 -3
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +2 -0
- package/contracts/product/RiskService.sol +40 -8
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +82 -126
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -6
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +23 -9
- package/contracts/registry/ReleaseRegistry.sol +74 -64
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +15 -6
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +166 -47
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -9
- package/contracts/shared/IComponentService.sol +36 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +130 -39
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +4 -2
- package/contracts/staking/IStakingService.sol +1 -10
- package/contracts/staking/Staking.sol +34 -28
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +14 -17
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestId.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +4 -3
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -2,14 +2,13 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {COMPONENT,
|
5
|
+
import {COMPONENT, ORACLE} from "../type/ObjectType.sol";
|
6
6
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
7
|
import {IComponentService} from "../shared/IComponentService.sol";
|
8
|
-
import {
|
8
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
9
9
|
import {IOracleComponent} from "./IOracleComponent.sol";
|
10
10
|
import {IOracleService} from "./IOracleService.sol";
|
11
11
|
import {NftId} from "../type/NftId.sol";
|
12
|
-
import {Component} from "../shared/Component.sol";
|
13
12
|
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
14
13
|
import {RequestId} from "../type/RequestId.sol";
|
15
14
|
import {Timestamp} from "../type/Timestamp.sol";
|
@@ -64,10 +63,10 @@ abstract contract Oracle is
|
|
64
63
|
}
|
65
64
|
|
66
65
|
/// @dev Not relevant for oracle components
|
67
|
-
function withdrawFees(Amount
|
66
|
+
function withdrawFees(Amount)
|
68
67
|
external
|
69
68
|
virtual
|
70
|
-
override(
|
69
|
+
override(IInstanceLinkedComponent, InstanceLinkedComponent)
|
71
70
|
onlyOwner()
|
72
71
|
restricted()
|
73
72
|
returns (Amount)
|
@@ -75,8 +74,34 @@ abstract contract Oracle is
|
|
75
74
|
revert ErrorOracleNotImplemented("withdrawFees");
|
76
75
|
}
|
77
76
|
|
77
|
+
function activeRequests()
|
78
|
+
external
|
79
|
+
view
|
80
|
+
returns(uint256 numberOfRequests)
|
81
|
+
{
|
82
|
+
return _getInstanceReader().getActiveRequests(getNftId());
|
83
|
+
}
|
78
84
|
|
85
|
+
|
86
|
+
function getActiveRequest(uint256 idx)
|
87
|
+
external
|
88
|
+
view
|
89
|
+
returns(RequestId requestId)
|
90
|
+
{
|
91
|
+
return _getInstanceReader().getActiveRequestAt(getNftId(), idx);
|
92
|
+
}
|
93
|
+
|
94
|
+
function isActiveRequest(RequestId requestId)
|
95
|
+
external
|
96
|
+
view
|
97
|
+
returns(bool isActive)
|
98
|
+
{
|
99
|
+
return _getInstanceReader().isRequestActive(getNftId(), requestId);
|
100
|
+
}
|
101
|
+
|
102
|
+
// solhint-disable-next-line func-name-mixedcase
|
79
103
|
function __Oracle_init(
|
104
|
+
address registry,
|
80
105
|
NftId productNftId,
|
81
106
|
IAuthorization authorization,
|
82
107
|
address initialOwner,
|
@@ -87,6 +112,7 @@ abstract contract Oracle is
|
|
87
112
|
onlyInitializing()
|
88
113
|
{
|
89
114
|
__InstanceLinkedComponent_init(
|
115
|
+
registry,
|
90
116
|
productNftId,
|
91
117
|
name,
|
92
118
|
ORACLE(),
|
@@ -101,49 +127,48 @@ abstract contract Oracle is
|
|
101
127
|
_registerInterface(type(IOracleComponent).interfaceId);
|
102
128
|
}
|
103
129
|
|
104
|
-
|
105
|
-
///
|
106
|
-
///
|
107
|
-
|
108
|
-
function _request(
|
130
|
+
/// @dev Internal function for handling oracle responses.
|
131
|
+
/// Default implementation sends response back to oracle service.
|
132
|
+
/// Use this function in use case specific external/public functions to handle use case specific response handling.
|
133
|
+
function _respond(
|
109
134
|
RequestId requestId,
|
110
|
-
|
111
|
-
bytes calldata requestData,
|
112
|
-
Timestamp expiryAt
|
135
|
+
bytes memory responseData
|
113
136
|
)
|
114
137
|
internal
|
115
138
|
virtual
|
116
139
|
{
|
140
|
+
_getOracleStorage()._oracleService.respond(requestId, responseData);
|
117
141
|
}
|
118
142
|
|
119
|
-
|
120
|
-
///
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
143
|
+
/// @dev use case specific handling of oracle requests
|
144
|
+
/// for now only log is emitted to verify that request has been received by oracle component
|
145
|
+
function _request(
|
146
|
+
RequestId requestId,
|
147
|
+
NftId requesterId,
|
148
|
+
bytes calldata,
|
149
|
+
Timestamp
|
125
150
|
)
|
126
151
|
internal
|
127
|
-
virtual
|
152
|
+
virtual
|
128
153
|
{
|
154
|
+
emit LogOracleRequestReceived(requestId, requesterId);
|
129
155
|
}
|
130
156
|
|
131
157
|
|
132
|
-
/// @dev
|
133
|
-
///
|
134
|
-
|
135
|
-
|
136
|
-
RequestId requestId,
|
137
|
-
bytes memory responseData
|
158
|
+
/// @dev use case specific handling of oracle requests
|
159
|
+
/// for now only log is emitted to verify that cancelling has been received by oracle component
|
160
|
+
function _cancel(
|
161
|
+
RequestId requestId
|
138
162
|
)
|
139
163
|
internal
|
140
|
-
virtual
|
164
|
+
virtual
|
141
165
|
{
|
142
|
-
|
143
|
-
requestId, responseData);
|
166
|
+
emit LogOracleRequestCancelled(requestId);
|
144
167
|
}
|
145
168
|
|
169
|
+
|
146
170
|
function _getOracleStorage() private pure returns (OracleStorage storage $) {
|
171
|
+
// solhint-disable-next-line no-inline-assembly
|
147
172
|
assembly {
|
148
173
|
$.slot := ORACLE_STORAGE_LOCATION_V1
|
149
174
|
}
|
@@ -2,16 +2,14 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {ContractLib} from "../shared/ContractLib.sol";
|
5
|
-
import {IComponent} from "../shared/IComponent.sol";
|
6
5
|
import {IInstance} from "../instance/IInstance.sol";
|
7
|
-
import {IInstanceService} from "../instance/IInstanceService.sol";
|
8
6
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
9
7
|
import {IOracle} from "./IOracle.sol";
|
10
8
|
import {IOracleComponent} from "./IOracleComponent.sol";
|
11
9
|
import {IOracleService} from "./IOracleService.sol";
|
12
10
|
import {IRegistry} from "../registry/IRegistry.sol";
|
13
11
|
import {NftId} from "../type/NftId.sol";
|
14
|
-
import {ObjectType,
|
12
|
+
import {ObjectType, ORACLE, PRODUCT} from "../type/ObjectType.sol";
|
15
13
|
import {RequestId} from "../type/RequestId.sol";
|
16
14
|
import {Service} from "../shared/Service.sol";
|
17
15
|
import {StateId, ACTIVE, KEEP_STATE, FULFILLED, FAILED, CANCELLED} from "../type/StateId.sol";
|
@@ -29,13 +27,14 @@ contract OracleService is
|
|
29
27
|
)
|
30
28
|
internal
|
31
29
|
virtual override
|
32
|
-
|
30
|
+
initializer()
|
33
31
|
{
|
34
32
|
(
|
35
|
-
address authority
|
36
|
-
|
33
|
+
address authority,
|
34
|
+
address registry
|
35
|
+
) = abi.decode(data, (address, address));
|
37
36
|
|
38
|
-
__Service_init(authority, owner);
|
37
|
+
__Service_init(authority, registry, owner);
|
39
38
|
_registerInterface(type(IOracleService).interfaceId);
|
40
39
|
}
|
41
40
|
|
@@ -48,26 +47,27 @@ contract OracleService is
|
|
48
47
|
external
|
49
48
|
virtual
|
50
49
|
restricted()
|
50
|
+
onlyNftOfType(oracleNftId, ORACLE())
|
51
51
|
returns (RequestId requestId)
|
52
52
|
{
|
53
53
|
// checks
|
54
|
-
|
55
|
-
|
54
|
+
// get and check active caller
|
55
|
+
(
|
56
|
+
IRegistry.ObjectInfo memory requesterInfo,
|
57
|
+
address instanceAddress
|
58
|
+
) = ContractLib.getAndVerifyAnyComponent(
|
59
|
+
getRegistry(), msg.sender, true);
|
60
|
+
|
61
|
+
(
|
62
|
+
NftId requesterNftId,
|
63
|
+
IOracleComponent oracle
|
64
|
+
) = _checkRequestParams(
|
65
|
+
getRegistry(), oracleNftId, requesterInfo, expiryAt, callbackMethodName);
|
56
66
|
|
67
|
+
// effects
|
57
68
|
{
|
58
|
-
IInstance instance;
|
59
|
-
(
|
60
|
-
requesterNftId,
|
61
|
-
oracle,
|
62
|
-
instance
|
63
|
-
) = ContractLib.getAndVerifyComponentAndOracle(
|
64
|
-
oracleNftId, getRelease());
|
65
|
-
|
66
|
-
_checkRequestParams(expiryAt, callbackMethodName);
|
67
|
-
|
68
|
-
// effects
|
69
69
|
// create request info
|
70
|
-
IOracle.RequestInfo memory
|
70
|
+
IOracle.RequestInfo memory requestInfo = IOracle.RequestInfo({
|
71
71
|
requesterNftId: requesterNftId,
|
72
72
|
callbackMethodName: callbackMethodName,
|
73
73
|
oracleNftId: oracleNftId,
|
@@ -78,8 +78,9 @@ contract OracleService is
|
|
78
78
|
isCancelled: false
|
79
79
|
});
|
80
80
|
|
81
|
-
// store request with instance
|
82
|
-
requestId =
|
81
|
+
// store request with instance
|
82
|
+
requestId = IInstance(instanceAddress).getInstanceStore().createRequest(requestInfo);
|
83
|
+
IInstance(instanceAddress).getRequestSet().add(oracleNftId, requestId);
|
83
84
|
}
|
84
85
|
|
85
86
|
emit LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt);
|
@@ -106,28 +107,31 @@ contract OracleService is
|
|
106
107
|
returns (bool success)
|
107
108
|
{
|
108
109
|
(
|
109
|
-
|
110
|
-
|
110
|
+
IRegistry.ObjectInfo memory info,
|
111
|
+
address instanceAddress
|
111
112
|
) = ContractLib.getAndVerifyComponent(
|
112
|
-
|
113
|
+
getRegistry(), msg.sender, ORACLE(), true);
|
113
114
|
|
115
|
+
NftId oracleNftId = info.nftId;
|
116
|
+
IInstance instance = IInstance(instanceAddress);
|
114
117
|
bool callerIsOracle = true;
|
115
|
-
IOracle.RequestInfo memory
|
116
|
-
|
117
|
-
|
118
|
+
IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
|
119
|
+
requestInfo.responseData = responseData;
|
120
|
+
requestInfo.respondedAt = TimestampLib.current();
|
118
121
|
|
119
122
|
instance.getInstanceStore().updateRequest(
|
120
|
-
requestId,
|
123
|
+
requestId, requestInfo, KEEP_STATE());
|
121
124
|
|
122
|
-
IRegistry.ObjectInfo memory requesterInfo =
|
123
|
-
|
125
|
+
IRegistry.ObjectInfo memory requesterInfo = getRegistry().getObjectInfo(
|
126
|
+
requestInfo.requesterNftId);
|
124
127
|
|
125
128
|
string memory functionSignature = string(
|
126
129
|
abi.encodePacked(
|
127
|
-
|
130
|
+
requestInfo.callbackMethodName,
|
128
131
|
"(uint64,bytes)"
|
129
132
|
));
|
130
133
|
|
134
|
+
// solhint-disable-next-line avoid-low-level-calls
|
131
135
|
(success, ) = requesterInfo.objectAddress.call(
|
132
136
|
abi.encodeWithSignature(
|
133
137
|
functionSignature,
|
@@ -137,6 +141,7 @@ contract OracleService is
|
|
137
141
|
// check that calling requestor was successful
|
138
142
|
if (success) {
|
139
143
|
instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
|
144
|
+
instance.getRequestSet().remove(oracleNftId, requestId);
|
140
145
|
} else {
|
141
146
|
instance.getInstanceStore().updateRequestState(requestId, FAILED());
|
142
147
|
emit LogOracleServiceDeliveryFailed(requestId, requesterInfo.objectAddress, functionSignature);
|
@@ -152,37 +157,37 @@ contract OracleService is
|
|
152
157
|
restricted()
|
153
158
|
{
|
154
159
|
(
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
) = ContractLib.getAndVerifyComponent(
|
160
|
-
msg.sender, COMPONENT(), getRelease(), true);
|
160
|
+
IRegistry.ObjectInfo memory info,
|
161
|
+
address instanceAddress
|
162
|
+
) = ContractLib.getAndVerifyAnyComponent(
|
163
|
+
getRegistry(), msg.sender, true);
|
161
164
|
|
165
|
+
NftId requesterNftId = info.nftId;
|
166
|
+
IInstance instance = IInstance(instanceAddress);
|
162
167
|
bool callerIsOracle = false;
|
163
|
-
IOracle.RequestInfo memory
|
168
|
+
IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
164
169
|
|
165
170
|
// attempt to deliver response to requester
|
166
|
-
address requester = msg.sender;
|
167
171
|
string memory functionSignature = string(
|
168
172
|
abi.encodePacked(
|
169
|
-
|
173
|
+
requestInfo.callbackMethodName,
|
170
174
|
"(uint64,bytes)"
|
171
175
|
));
|
172
176
|
|
173
|
-
|
177
|
+
// solhint-disable-next-line avoid-low-level-calls
|
178
|
+
(bool success, ) = info.objectAddress.call(
|
174
179
|
abi.encodeWithSignature(
|
175
180
|
functionSignature,
|
176
181
|
requestId,
|
177
|
-
|
182
|
+
requestInfo.responseData));
|
178
183
|
|
179
184
|
// check that calling requestor was successful
|
180
185
|
if (success) {
|
181
186
|
instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
|
187
|
+
instance.getRequestSet().remove(requestInfo.oracleNftId, requestId);
|
182
188
|
emit LogOracleServiceResponseResent(requestId, requesterNftId);
|
183
189
|
} else {
|
184
|
-
|
185
|
-
emit LogOracleServiceDeliveryFailed(requestId, requester, functionSignature);
|
190
|
+
emit LogOracleServiceDeliveryFailed(requestId, info.objectAddress, functionSignature);
|
186
191
|
}
|
187
192
|
}
|
188
193
|
|
@@ -193,35 +198,63 @@ contract OracleService is
|
|
193
198
|
restricted()
|
194
199
|
{
|
195
200
|
(
|
196
|
-
|
197
|
-
|
198
|
-
) = ContractLib.
|
199
|
-
|
201
|
+
IRegistry.ObjectInfo memory info,
|
202
|
+
address instanceAddress
|
203
|
+
) = ContractLib.getAndVerifyAnyComponent(
|
204
|
+
getRegistry(), msg.sender, true);
|
200
205
|
|
206
|
+
NftId requesterNftId = info.nftId;
|
207
|
+
IInstance instance = IInstance(instanceAddress);
|
201
208
|
bool callerIsOracle = false;
|
202
209
|
// TODO property isCancelled and state update to CANCELLED are redundant, get rid of isCancelled
|
203
|
-
IOracle.RequestInfo memory
|
204
|
-
|
210
|
+
IOracle.RequestInfo memory requestInfo = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
211
|
+
requestInfo.isCancelled = true;
|
205
212
|
|
206
|
-
instance.getInstanceStore().updateRequest(requestId,
|
213
|
+
instance.getInstanceStore().updateRequest(requestId, requestInfo, CANCELLED());
|
214
|
+
instance.getRequestSet().remove(requestInfo.oracleNftId, requestId);
|
207
215
|
|
208
216
|
// call oracle component
|
209
217
|
// TODO add check that oracle is active?
|
210
|
-
address oracleAddress =
|
218
|
+
address oracleAddress = getRegistry().getObjectAddress(requestInfo.oracleNftId);
|
211
219
|
IOracleComponent(oracleAddress).cancel(requestId);
|
212
220
|
|
213
221
|
emit LogOracleServiceRequestCancelled(requestId, requesterNftId);
|
214
222
|
}
|
215
223
|
|
216
|
-
|
217
224
|
function _checkRequestParams(
|
225
|
+
IRegistry registry,
|
226
|
+
NftId oracleNftId,
|
227
|
+
IRegistry.ObjectInfo memory requesterInfo,
|
218
228
|
Timestamp expiryAt,
|
219
229
|
string memory callbackMethodName
|
220
230
|
)
|
221
231
|
internal
|
222
232
|
virtual
|
223
233
|
view
|
234
|
+
returns (
|
235
|
+
NftId requesterNftId,
|
236
|
+
IOracleComponent oracle
|
237
|
+
)
|
224
238
|
{
|
239
|
+
// get oracle info
|
240
|
+
(IRegistry.ObjectInfo memory oracleInfo,) = ContractLib.getInfoAndInstance(
|
241
|
+
registry, oracleNftId, true);
|
242
|
+
|
243
|
+
// obtain return values
|
244
|
+
requesterNftId = requesterInfo.nftId;
|
245
|
+
oracle = IOracleComponent(oracleInfo.objectAddress);
|
246
|
+
|
247
|
+
// check that requester and oracle share same product cluster
|
248
|
+
if (requesterInfo.objectType == PRODUCT()) {
|
249
|
+
if (oracleInfo.parentNftId != requesterNftId) {
|
250
|
+
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterNftId, oracleInfo.parentNftId);
|
251
|
+
}
|
252
|
+
} else {
|
253
|
+
if (oracleInfo.parentNftId != requesterInfo.parentNftId) {
|
254
|
+
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterInfo.parentNftId, oracleInfo.parentNftId);
|
255
|
+
}
|
256
|
+
}
|
257
|
+
|
225
258
|
// check expiriyAt >= now
|
226
259
|
if (expiryAt < TimestampLib.current()) {
|
227
260
|
revert ErrorOracleServiceExpiryInThePast(TimestampLib.current(), expiryAt);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {OracleService} from "./OracleService.sol";
|
7
7
|
|
@@ -12,17 +12,19 @@ contract OracleServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with service implementation and deploys instance
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
OracleService svc = new OracleService{salt: salt}();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(svc),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_oracleService = OracleService(address(
|
27
|
+
_oracleService = OracleService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -18,6 +18,7 @@ abstract contract BasicPool is
|
|
18
18
|
{
|
19
19
|
|
20
20
|
function _initializeBasicPool(
|
21
|
+
address registry,
|
21
22
|
NftId productNftId,
|
22
23
|
string memory name,
|
23
24
|
IComponents.PoolInfo memory poolInfo,
|
@@ -29,6 +30,7 @@ abstract contract BasicPool is
|
|
29
30
|
onlyInitializing()
|
30
31
|
{
|
31
32
|
__Pool_init(
|
33
|
+
registry,
|
32
34
|
productNftId,
|
33
35
|
name,
|
34
36
|
poolInfo,
|
@@ -43,8 +45,8 @@ abstract contract BasicPool is
|
|
43
45
|
public
|
44
46
|
virtual
|
45
47
|
restricted()
|
46
|
-
onlyBundleOwner(bundleNftId)
|
47
|
-
onlyNftOfType(bundleNftId, BUNDLE())
|
48
|
+
onlyBundleOwner(bundleNftId)
|
49
|
+
onlyNftOfType(bundleNftId, BUNDLE())
|
48
50
|
{
|
49
51
|
_stake(bundleNftId, amount);
|
50
52
|
}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
-
import {
|
5
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
6
6
|
import {IPoolComponent} from "./IPoolComponent.sol";
|
7
7
|
|
8
8
|
import {Authorization} from "../authorization/Authorization.sol";
|
@@ -10,9 +10,8 @@ import {BasicPool} from "./BasicPool.sol";
|
|
10
10
|
import {COMPONENT, POOL} from "../type/ObjectType.sol";
|
11
11
|
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
12
12
|
import {RoleId} from "../type/RoleId.sol";
|
13
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
14
13
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
15
|
-
|
14
|
+
|
16
15
|
|
17
16
|
contract BasicPoolAuthorization
|
18
17
|
is Authorization
|
@@ -22,7 +21,7 @@ contract BasicPoolAuthorization
|
|
22
21
|
Authorization(
|
23
22
|
poolName,
|
24
23
|
POOL(),
|
25
|
-
|
24
|
+
3,
|
26
25
|
COMMIT_HASH,
|
27
26
|
TargetType.Component,
|
28
27
|
true)
|
@@ -71,7 +70,7 @@ contract BasicPoolAuthorization
|
|
71
70
|
_authorize(functions, BasicPool.unstake.selector, "unstake");
|
72
71
|
_authorize(functions, BasicPool.extend.selector, "extend");
|
73
72
|
|
74
|
-
_authorize(functions,
|
73
|
+
_authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
|
75
74
|
_authorize(functions, BasicPool.withdrawBundleFees.selector, "withdrawBundleFees");
|
76
75
|
|
77
76
|
// authorize pool service
|
@@ -12,11 +12,11 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
12
12
|
|
13
13
|
import {Amount, AmountLib} from "../type/Amount.sol";
|
14
14
|
import {BundleSet} from "../instance/BundleSet.sol";
|
15
|
-
import {ContractLib} from "../shared/ContractLib.sol";
|
16
15
|
import {Fee} from "../type/Fee.sol";
|
17
16
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
18
17
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
19
18
|
import {ObjectType, ACCOUNTING, COMPONENT, POOL, BUNDLE, POLICY, REGISTRY} from "../type/ObjectType.sol";
|
19
|
+
import {PoolLib} from "./PoolLib.sol";
|
20
20
|
import {Seconds} from "../type/Seconds.sol";
|
21
21
|
import {Service} from "../shared/Service.sol";
|
22
22
|
import {StateId, ACTIVE, PAUSED, CLOSED, KEEP_STATE} from "../type/StateId.sol";
|
@@ -41,13 +41,14 @@ contract BundleService is
|
|
41
41
|
)
|
42
42
|
internal
|
43
43
|
virtual override
|
44
|
-
|
44
|
+
initializer()
|
45
45
|
{
|
46
46
|
(
|
47
|
-
address authority
|
48
|
-
|
47
|
+
address authority,
|
48
|
+
address registry
|
49
|
+
) = abi.decode(data, (address, address));
|
49
50
|
|
50
|
-
__Service_init(authority, owner);
|
51
|
+
__Service_init(authority, registry, owner);
|
51
52
|
|
52
53
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
53
54
|
_accountingService = IAccountingService(_getServiceAddress(ACCOUNTING()));
|
@@ -65,12 +66,9 @@ contract BundleService is
|
|
65
66
|
virtual
|
66
67
|
restricted()
|
67
68
|
{
|
68
|
-
(
|
69
|
-
NftId poolNftId,
|
70
|
-
IInstance instance
|
71
|
-
) = ContractLib.getAndVerifyPoolForBundle(
|
72
|
-
bundleNftId, getRelease());
|
69
|
+
_checkNftType(bundleNftId, BUNDLE());
|
73
70
|
|
71
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
74
72
|
InstanceReader instanceReader = instance.getInstanceReader();
|
75
73
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
76
74
|
if(bundleInfo.poolNftId.eqz()) {
|
@@ -99,10 +97,7 @@ contract BundleService is
|
|
99
97
|
restricted()
|
100
98
|
returns(NftId bundleNftId)
|
101
99
|
{
|
102
|
-
(
|
103
|
-
NftId poolNftId,
|
104
|
-
IInstance instance
|
105
|
-
) = ContractLib.getAndVerifyPool(getRelease());
|
100
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
106
101
|
|
107
102
|
// register bundle with registry
|
108
103
|
bundleNftId = _registryService.registerBundle(
|
@@ -110,11 +105,11 @@ contract BundleService is
|
|
110
105
|
NftIdLib.zero(),
|
111
106
|
poolNftId,
|
112
107
|
BUNDLE(),
|
113
|
-
getRelease(),
|
114
108
|
false, // intercepting property for bundles is defined on pool
|
115
|
-
address(0)
|
116
|
-
|
117
|
-
|
109
|
+
address(0),
|
110
|
+
owner,
|
111
|
+
"" // bundle data to be stored in registry
|
112
|
+
)
|
118
113
|
);
|
119
114
|
|
120
115
|
// create bundle info in instance
|
@@ -135,7 +130,7 @@ contract BundleService is
|
|
135
130
|
BundleSet bundleManager = instance.getBundleSet();
|
136
131
|
bundleManager.add(bundleNftId);
|
137
132
|
|
138
|
-
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime);
|
133
|
+
emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime, bundleFee.fixedFee, bundleFee.fractionalFee);
|
139
134
|
}
|
140
135
|
|
141
136
|
|
@@ -196,8 +191,9 @@ contract BundleService is
|
|
196
191
|
restricted()
|
197
192
|
{
|
198
193
|
// checks
|
199
|
-
(,
|
200
|
-
|
194
|
+
_checkNftType(bundleNftId, BUNDLE());
|
195
|
+
|
196
|
+
(, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
201
197
|
|
202
198
|
// effects
|
203
199
|
// update set of active bundles
|
@@ -335,12 +331,9 @@ contract BundleService is
|
|
335
331
|
returns (Timestamp extendedExpiredAt)
|
336
332
|
{
|
337
333
|
// checks
|
338
|
-
(
|
339
|
-
NftId poolNftId,
|
340
|
-
IInstance instance
|
341
|
-
) = ContractLib.getAndVerifyPoolForBundle(
|
342
|
-
bundleNftId, getRelease());
|
334
|
+
_checkNftType(bundleNftId, BUNDLE());
|
343
335
|
|
336
|
+
(NftId poolNftId, IInstance instance) = PoolLib.getAndVerifyActivePool(getRegistry(), msg.sender);
|
344
337
|
IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
|
345
338
|
StateId bundleState = instance.getInstanceReader().getBundleState(bundleNftId);
|
346
339
|
|
@@ -386,6 +379,7 @@ contract BundleService is
|
|
386
379
|
emit LogBundleServiceCollateralReleased(bundleNftId, policyNftId, collateralAmount);
|
387
380
|
}
|
388
381
|
|
382
|
+
|
389
383
|
function _getDomain() internal pure override returns(ObjectType) {
|
390
384
|
return BUNDLE();
|
391
385
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {BundleService} from "./BundleService.sol";
|
7
7
|
|
@@ -11,18 +11,20 @@ contract BundleServiceManager is ProxyManager {
|
|
11
11
|
|
12
12
|
/// @dev initializes proxy manager with pool service implementation
|
13
13
|
constructor(
|
14
|
-
address authority,
|
14
|
+
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
BundleService svc = new BundleService{salt: salt}();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(svc),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_bundleService = BundleService(address(
|
27
|
+
_bundleService = BundleService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -30,7 +30,7 @@ interface IBundleService is IService {
|
|
30
30
|
|
31
31
|
error ErrorBundleServiceExtensionLifetimeIsZero();
|
32
32
|
|
33
|
-
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime);
|
33
|
+
event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime, Amount fixedFee, UFixed fractionalFee);
|
34
34
|
event LogBundleServiceBundleClosed(NftId bundleNftId);
|
35
35
|
event LogBundleServiceBundleLocked(NftId bundleNftId);
|
36
36
|
event LogBundleServiceBundleUnlocked(NftId bundleNftId);
|