@etherisc/gif-next 3.0.0-c419b59-617 → 3.0.0-c458de2-735
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 +3 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +93 -82
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +171 -105
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
- 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 +20 -10
- 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 +18 -42
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
- 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 +166 -104
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
- 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 +1291 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +872 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1528 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +820 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2559 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +867 -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 +159 -102
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +78 -26
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +145 -51
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +173 -163
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +203 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
- 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 +3 -8
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -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 +94 -66
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +72 -57
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
- 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 +155 -56
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
- 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 +314 -96
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +161 -152
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +157 -160
- 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 +126 -190
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +691 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
- 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 +1 -28
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -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 +72 -57
- 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 +15 -34
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
- 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 +170 -109
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/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/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 +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/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 +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/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 +19 -6
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
- package/contracts/accounting/AccountingService.sol +5 -6
- package/contracts/accounting/AccountingServiceManager.sol +4 -6
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +47 -42
- package/contracts/authorization/AccessAdminLib.sol +32 -12
- package/contracts/authorization/AccessManagerCloneable.sol +24 -48
- 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 +0 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
- package/contracts/distribution/Distribution.sol +0 -2
- package/contracts/distribution/DistributionService.sol +24 -20
- package/contracts/distribution/DistributionServiceManager.sol +4 -6
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/flight/FlightLib.sol +300 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +167 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +53 -0
- package/contracts/examples/flight/FlightPool.sol +85 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +681 -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/SimpleDistribution.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +8 -12
- package/contracts/instance/InstanceAdmin.sol +10 -18
- package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
- package/contracts/instance/InstanceReader.sol +46 -18
- package/contracts/instance/InstanceService.sol +18 -20
- package/contracts/instance/InstanceServiceManager.sol +4 -6
- package/contracts/instance/base/Cloneable.sol +4 -10
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +0 -2
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
- package/contracts/oracle/IOracleService.sol +12 -16
- package/contracts/oracle/Oracle.sol +3 -4
- package/contracts/oracle/OracleService.sol +37 -67
- package/contracts/oracle/OracleServiceManager.sol +4 -6
- package/contracts/pool/BasicPool.sol +2 -4
- package/contracts/pool/BasicPoolAuthorization.sol +5 -4
- package/contracts/pool/BundleService.sol +25 -19
- package/contracts/pool/BundleServiceManager.sol +5 -7
- package/contracts/pool/IPoolService.sol +5 -6
- package/contracts/pool/Pool.sol +1 -3
- package/contracts/pool/PoolLib.sol +5 -102
- package/contracts/pool/PoolService.sol +67 -101
- package/contracts/pool/PoolServiceManager.sol +4 -6
- package/contracts/product/ApplicationService.sol +13 -34
- package/contracts/product/ApplicationServiceManager.sol +4 -6
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +8 -6
- package/contracts/product/ClaimService.sol +10 -34
- package/contracts/product/ClaimServiceManager.sol +5 -7
- package/contracts/product/IPolicyService.sol +0 -1
- package/contracts/product/PolicyService.sol +44 -57
- package/contracts/product/PolicyServiceManager.sol +4 -6
- package/contracts/product/PricingService.sol +7 -8
- package/contracts/product/PricingServiceManager.sol +4 -6
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +8 -40
- package/contracts/product/RiskServiceManager.sol +4 -6
- package/contracts/registry/IRegistry.sol +20 -14
- package/contracts/registry/IRegistryService.sol +10 -14
- package/contracts/registry/IRelease.sol +0 -3
- package/contracts/registry/Registry.sol +124 -78
- package/contracts/registry/RegistryAdmin.sol +18 -22
- package/contracts/registry/RegistryAuthorization.sol +4 -3
- package/contracts/registry/RegistryService.sol +99 -82
- package/contracts/registry/RegistryServiceManager.sol +4 -11
- package/contracts/registry/ReleaseAdmin.sol +16 -16
- package/contracts/registry/ReleaseRegistry.sol +64 -74
- package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
- package/contracts/registry/TokenRegistry.sol +6 -15
- package/contracts/shared/Component.sol +27 -22
- package/contracts/shared/ComponentService.sol +45 -130
- package/contracts/shared/ComponentServiceManager.sol +5 -7
- package/contracts/shared/ContractLib.sol +359 -93
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +5 -3
- package/contracts/shared/IComponentService.sol +0 -14
- package/contracts/shared/IInstanceLinkedComponent.sol +5 -12
- package/contracts/shared/INftOwnable.sol +0 -2
- package/contracts/shared/IRegisterable.sol +14 -3
- package/contracts/shared/IRegistryLinked.sol +1 -3
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/IVersionable.sol +19 -0
- package/contracts/shared/InstanceLinkedComponent.sol +84 -78
- package/contracts/shared/NftOwnable.sol +9 -22
- package/contracts/shared/PolicyHolder.sol +2 -4
- package/contracts/shared/Registerable.sol +37 -20
- package/contracts/shared/RegistryLinked.sol +4 -23
- package/contracts/shared/Service.sol +8 -9
- package/contracts/shared/TokenHandler.sol +4 -1
- package/contracts/shared/Versionable.sol +47 -0
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +28 -33
- package/contracts/staking/StakingLib.sol +3 -1
- package/contracts/staking/StakingManager.sol +3 -6
- package/contracts/staking/StakingReader.sol +9 -17
- package/contracts/staking/StakingService.sol +16 -13
- package/contracts/staking/StakingServiceManager.sol +4 -8
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +4 -5
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.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 +15 -16
- package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
- package/contracts/upgradeability/ProxyManager.sol +46 -54
- package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
- package/package.json +2 -1
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
@@ -11,9 +11,10 @@ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
|
11
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
12
|
import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
13
13
|
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
14
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
14
15
|
import {Str} from "../type/String.sol";
|
15
|
-
import {VersionPart} from "../type/Version.sol";
|
16
16
|
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
17
|
+
import {VersionPart} from "../type/Version.sol";
|
17
18
|
|
18
19
|
|
19
20
|
contract InstanceAdmin is
|
@@ -26,13 +27,12 @@ contract InstanceAdmin is
|
|
26
27
|
error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
|
27
28
|
|
28
29
|
IInstance internal _instance;
|
29
|
-
IRegistry internal _registry;
|
30
30
|
|
31
31
|
uint64 internal _customRoleIdNext;
|
32
32
|
|
33
33
|
|
34
34
|
modifier onlyInstanceService() {
|
35
|
-
if (msg.sender !=
|
35
|
+
if (msg.sender != _getRegistry().getServiceAddress(INSTANCE(), getRelease())) {
|
36
36
|
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
37
37
|
}
|
38
38
|
_;
|
@@ -43,7 +43,8 @@ contract InstanceAdmin is
|
|
43
43
|
constructor(address accessManager) {
|
44
44
|
initialize(
|
45
45
|
accessManager,
|
46
|
-
"MasterInstanceAdmin"
|
46
|
+
"MasterInstanceAdmin",
|
47
|
+
GIF_INITIAL_RELEASE());
|
47
48
|
}
|
48
49
|
|
49
50
|
|
@@ -51,32 +52,23 @@ contract InstanceAdmin is
|
|
51
52
|
/// Important: Initialization of instance admin is only complete after calling this function.
|
52
53
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
53
54
|
function completeSetup(
|
54
|
-
address registry,
|
55
55
|
address authorization,
|
56
|
-
VersionPart release,
|
57
56
|
address instance
|
58
57
|
)
|
59
58
|
external
|
60
|
-
reinitializer(uint64(release.toInt()))
|
61
59
|
{
|
62
60
|
// checks
|
63
|
-
AccessAdminLib.checkIsRegistered(
|
61
|
+
AccessAdminLib.checkIsRegistered(instance, INSTANCE(), getRelease());
|
64
62
|
|
65
63
|
// effects
|
66
|
-
AccessManagerCloneable(
|
67
|
-
authority()).completeSetup(
|
68
|
-
registry,
|
69
|
-
release);
|
70
|
-
|
71
64
|
AccessAdminLib.checkAuthorization(
|
72
65
|
address(_authorization),
|
73
66
|
authorization,
|
74
67
|
INSTANCE(), // expectedDomain
|
75
|
-
|
68
|
+
getRelease(), // expectedRelease
|
76
69
|
false, // expectServiceAuthorization
|
77
70
|
true); // checkAlreadyInitialized
|
78
71
|
|
79
|
-
_registry = IRegistry(registry);
|
80
72
|
_instance = IInstance(instance);
|
81
73
|
_authorization = IAuthorization(authorization);
|
82
74
|
_customRoleIdNext = 0;
|
@@ -105,7 +97,7 @@ contract InstanceAdmin is
|
|
105
97
|
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
106
98
|
ObjectType serviceDomain = serviceDomains[i];
|
107
99
|
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
108
|
-
address service =
|
100
|
+
address service = _getRegistry().getServiceAddress(serviceDomain, getRelease());
|
109
101
|
|
110
102
|
_grantRoleToAccount(
|
111
103
|
serviceRoleId,
|
@@ -130,12 +122,12 @@ contract InstanceAdmin is
|
|
130
122
|
_createTarget(target, name, TargetType.Instance, true);
|
131
123
|
}
|
132
124
|
|
133
|
-
|
134
125
|
/// @dev Initializes the authorization for the specified component.
|
135
126
|
/// Important: The component MUST be registered.
|
136
127
|
function initializeComponentAuthorization(
|
137
128
|
address componentAddress,
|
138
|
-
ObjectType expectedType
|
129
|
+
ObjectType expectedType,
|
130
|
+
VersionPart expectedRelease
|
139
131
|
)
|
140
132
|
external
|
141
133
|
restricted()
|
@@ -13,7 +13,9 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
|
|
13
13
|
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
14
14
|
import {ProductStore} from "../instance/ProductStore.sol";
|
15
15
|
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
16
|
-
import {
|
16
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
17
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
18
|
+
import {VersionPartLib} from "../type/Version.sol";
|
17
19
|
|
18
20
|
|
19
21
|
contract InstanceAuthorizationV3
|
@@ -27,7 +29,7 @@ contract InstanceAuthorizationV3
|
|
27
29
|
Authorization(
|
28
30
|
INSTANCE_TARGET_NAME,
|
29
31
|
INSTANCE(),
|
30
|
-
|
32
|
+
GIF_INITIAL_RELEASE(),
|
31
33
|
COMMIT_HASH,
|
32
34
|
TargetType.Instance,
|
33
35
|
false)
|
@@ -28,6 +28,7 @@ import {NftId} from "../type/NftId.sol";
|
|
28
28
|
import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
|
29
29
|
import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
|
30
30
|
import {ProductStore} from "./ProductStore.sol";
|
31
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
31
32
|
import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
|
32
33
|
import {RequestId} from "../type/RequestId.sol";
|
33
34
|
import {RiskId} from "../type/RiskId.sol";
|
@@ -40,14 +41,19 @@ import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
|
40
41
|
|
41
42
|
/// @dev Central reader contract for a specific instance.
|
42
43
|
/// Provides reading functions for all instance data and related component data.
|
43
|
-
contract InstanceReader
|
44
|
+
contract InstanceReader is
|
45
|
+
RegistryLinked
|
46
|
+
{
|
44
47
|
|
45
48
|
error ErrorInstanceReaderAlreadyInitialized();
|
46
49
|
error ErrorInstanceReaderInstanceAddressZero();
|
47
|
-
|
50
|
+
// TODO make state immutable:
|
51
|
+
// 1. instance receives reader through setInstanceReader()
|
52
|
+
// 2. this way instance initialization is not depends on reader
|
53
|
+
// 3. and reader is simple contract with constructor
|
54
|
+
// 4. no _initialized in storage, the rest is immutable
|
48
55
|
bool private _initialized = false;
|
49
56
|
|
50
|
-
IRegistry internal _registry;
|
51
57
|
IInstance internal _instance;
|
52
58
|
InstanceAdmin internal _instanceAdmin;
|
53
59
|
|
@@ -78,27 +84,24 @@ contract InstanceReader {
|
|
78
84
|
_initialized = true;
|
79
85
|
_instance = IInstance(instanceAddress);
|
80
86
|
_instanceAdmin = _instance.getInstanceAdmin();
|
81
|
-
_registry = _instance.getRegistry();
|
82
87
|
|
83
88
|
_store = _instance.getInstanceStore();
|
84
89
|
_productStore = _instance.getProductStore();
|
85
90
|
_bundleSet = _instance.getBundleSet();
|
86
91
|
_riskSet = _instance.getRiskSet();
|
87
|
-
|
92
|
+
|
93
|
+
_distributionService = IDistributionService(
|
94
|
+
_getRegistry().getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
|
88
95
|
}
|
89
96
|
|
90
97
|
|
91
98
|
//--- instance functions ---------------------------------------------------------//
|
92
99
|
|
93
|
-
/// @dev Returns the registry this instance is registered in.
|
94
|
-
function getRegistry() public view returns (IRegistry registry) {
|
95
|
-
return _registry;
|
96
|
-
}
|
97
100
|
|
98
101
|
|
99
102
|
/// @dev Returns the instance NFT ID.
|
100
103
|
function getInstanceNftId() public view returns (NftId instanceNftid) {
|
101
|
-
return
|
104
|
+
return _getRegistry().getNftIdForAddress(address(_instance));
|
102
105
|
}
|
103
106
|
|
104
107
|
|
@@ -177,8 +180,8 @@ contract InstanceReader {
|
|
177
180
|
|
178
181
|
|
179
182
|
/// @dev Returns th product NFT ID for the given index.
|
180
|
-
function
|
181
|
-
return _instance.
|
183
|
+
function getProduct(uint256 idx) public view returns (NftId productNftId) {
|
184
|
+
return _instance.getProduct(idx);
|
182
185
|
}
|
183
186
|
|
184
187
|
|
@@ -219,6 +222,12 @@ contract InstanceReader {
|
|
219
222
|
}
|
220
223
|
|
221
224
|
|
225
|
+
/// @dev Returns true if the specified risk exists for the given product NFT ID.
|
226
|
+
function isProductRisk(NftId productNftId, RiskId riskId) public view returns (bool exists) {
|
227
|
+
return _riskSet.hasRisk(productNftId, riskId);
|
228
|
+
}
|
229
|
+
|
230
|
+
|
222
231
|
/// @dev Returns the risk info for the given risk ID.
|
223
232
|
function getRiskInfo(RiskId riskId) public view returns (IRisk.RiskInfo memory info) {
|
224
233
|
return _productStore.getRiskInfo(riskId);
|
@@ -240,10 +249,21 @@ contract InstanceReader {
|
|
240
249
|
|
241
250
|
|
242
251
|
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
243
|
-
function
|
252
|
+
function getPolicyForRisk(RiskId riskId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
244
253
|
return _riskSet.getLinkedPolicyNftId(riskId, idx);
|
245
254
|
}
|
246
255
|
|
256
|
+
/// @dev Returns the number of linked policies for the given bundle NFT ID.
|
257
|
+
function policiesForBundle(NftId bundleNftId) public view returns (uint256 linkedPolicies) {
|
258
|
+
return _bundleSet.activePolicies(bundleNftId);
|
259
|
+
}
|
260
|
+
|
261
|
+
|
262
|
+
/// @dev Returns the linked policy NFT ID for the given risk ID and index.
|
263
|
+
function getPolicyForBundle(NftId bundleNftId, uint256 idx) public view returns (NftId linkedPolicyNftId) {
|
264
|
+
return _bundleSet.getActivePolicy(bundleNftId, idx);
|
265
|
+
}
|
266
|
+
|
247
267
|
|
248
268
|
/// @dev Returns the info for the given policy NFT ID.
|
249
269
|
function getPolicyInfo(NftId policyNftId) public view returns (IPolicy.PolicyInfo memory info) {
|
@@ -341,6 +361,11 @@ contract InstanceReader {
|
|
341
361
|
return _store.getRequestInfo(requestId);
|
342
362
|
}
|
343
363
|
|
364
|
+
/// @dev Returns the request info for the given oracle request ID.
|
365
|
+
function getRequestState(RequestId requestId) public view returns (StateId state) {
|
366
|
+
return getState(requestId.toKey32());
|
367
|
+
}
|
368
|
+
|
344
369
|
//--- pool functions -----------------------------------------------------------//
|
345
370
|
|
346
371
|
/// @dev Returns the pool info for the given pool NFT ID.
|
@@ -413,7 +438,7 @@ contract InstanceReader {
|
|
413
438
|
return _store.getReferralInfo(referralId);
|
414
439
|
}
|
415
440
|
|
416
|
-
|
441
|
+
// TODO reader dependce on service os wrong?
|
417
442
|
function getDiscountPercentage(ReferralId referralId)
|
418
443
|
public
|
419
444
|
view
|
@@ -422,10 +447,7 @@ contract InstanceReader {
|
|
422
447
|
ReferralStatus status
|
423
448
|
)
|
424
449
|
{
|
425
|
-
return
|
426
|
-
_registry.getServiceAddress(
|
427
|
-
DISTRIBUTION(),
|
428
|
-
_instance.getRelease())).getDiscountPercentage(
|
450
|
+
return _distributionService.getDiscountPercentage(
|
429
451
|
this, // instance reader
|
430
452
|
referralId);
|
431
453
|
}
|
@@ -444,6 +466,12 @@ contract InstanceReader {
|
|
444
466
|
}
|
445
467
|
|
446
468
|
|
469
|
+
/// @dev Returns the role ID for the given index.
|
470
|
+
function getRoleForName(string memory name) public view returns (RoleId roleId, bool exists) {
|
471
|
+
return _instanceAdmin.getRoleForName(name);
|
472
|
+
}
|
473
|
+
|
474
|
+
|
447
475
|
/// @dev Returns the role ID for the instance owner role.
|
448
476
|
/// This role may be used as a "root" admin role for other custom roles defined for this instance.
|
449
477
|
function getInstanceOwnerRole() public pure returns (RoleId roleId) {
|
@@ -175,7 +175,7 @@ contract InstanceService is
|
|
175
175
|
IInstance(instanceAddress).getInstanceAdmin().setInstanceLocked(locked);
|
176
176
|
|
177
177
|
emit LogInstanceServiceInstanceLocked(
|
178
|
-
|
178
|
+
_getRegistry().getNftIdForAddress(instanceAddress),
|
179
179
|
locked);
|
180
180
|
}
|
181
181
|
|
@@ -204,13 +204,11 @@ contract InstanceService is
|
|
204
204
|
// MUST be set after instance is set up and registered
|
205
205
|
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
206
206
|
instanceAdmin.completeSetup(
|
207
|
-
address(getRegistry()),
|
208
207
|
address(instanceAuthorization),
|
209
|
-
getRelease(),
|
210
208
|
address(instance));
|
211
209
|
|
212
210
|
// hard checks for newly cloned instance
|
213
|
-
assert(address(instance.
|
211
|
+
//assert(address(instance._getRegistry()) == address(_getRegistry()));// consider deleting this
|
214
212
|
assert(instance.getRelease() == getRelease());
|
215
213
|
|
216
214
|
// register cloned instance as staking target
|
@@ -231,7 +229,7 @@ contract InstanceService is
|
|
231
229
|
restricted()
|
232
230
|
onlyInstance()
|
233
231
|
{
|
234
|
-
NftId instanceNftId =
|
232
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
235
233
|
_stakingService.setInstanceLockingPeriod(
|
236
234
|
instanceNftId,
|
237
235
|
stakeLockingPeriod);
|
@@ -244,7 +242,7 @@ contract InstanceService is
|
|
244
242
|
restricted()
|
245
243
|
onlyInstance()
|
246
244
|
{
|
247
|
-
NftId instanceNftId =
|
245
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
248
246
|
_stakingService.setInstanceRewardRate(
|
249
247
|
instanceNftId,
|
250
248
|
rewardRate);
|
@@ -256,7 +254,7 @@ contract InstanceService is
|
|
256
254
|
restricted()
|
257
255
|
onlyInstance()
|
258
256
|
{
|
259
|
-
NftId instanceNftId =
|
257
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
260
258
|
_stakingService.setInstanceMaxStakedAmount(
|
261
259
|
instanceNftId,
|
262
260
|
maxStakedAmount);
|
@@ -270,7 +268,7 @@ contract InstanceService is
|
|
270
268
|
onlyInstance()
|
271
269
|
returns (Amount newBalance)
|
272
270
|
{
|
273
|
-
NftId instanceNftId =
|
271
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
274
272
|
newBalance = _stakingService.refillInstanceRewardReserves(
|
275
273
|
instanceNftId,
|
276
274
|
rewardProvider,
|
@@ -285,7 +283,7 @@ contract InstanceService is
|
|
285
283
|
onlyInstance()
|
286
284
|
returns (Amount newBalance)
|
287
285
|
{
|
288
|
-
NftId instanceNftId =
|
286
|
+
NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
|
289
287
|
newBalance = _stakingService.withdrawInstanceRewardReserves(
|
290
288
|
instanceNftId,
|
291
289
|
dipAmount);
|
@@ -308,7 +306,7 @@ contract InstanceService is
|
|
308
306
|
instance.setInstanceReader(upgradedInstanceReaderClone);
|
309
307
|
|
310
308
|
emit LogInstanceServiceInstanceReaderUpgraded(
|
311
|
-
|
309
|
+
_getRegistry().getNftIdForAddress(instanceAddress),
|
312
310
|
address(upgradedInstanceReaderClone));
|
313
311
|
}
|
314
312
|
|
@@ -349,6 +347,7 @@ contract InstanceService is
|
|
349
347
|
if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
|
350
348
|
if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
|
351
349
|
|
350
|
+
// TODO check instance cluster release
|
352
351
|
if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
|
353
352
|
if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
|
354
353
|
if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
|
@@ -391,7 +390,7 @@ contract InstanceService is
|
|
391
390
|
_masterInstanceReader = instanceReaderAddress;
|
392
391
|
|
393
392
|
emit LogInstanceServiceMasterInstanceReaderUpgraded(
|
394
|
-
|
393
|
+
_getRegistry().getNftIdForAddress(_masterInstance),
|
395
394
|
instanceReaderAddress);
|
396
395
|
}
|
397
396
|
|
@@ -419,7 +418,8 @@ contract InstanceService is
|
|
419
418
|
|
420
419
|
clonedAdmin.initialize(
|
421
420
|
address(clonedAccessManager),
|
422
|
-
"InstanceAdmin"
|
421
|
+
"InstanceAdmin",
|
422
|
+
getRelease());
|
423
423
|
}
|
424
424
|
|
425
425
|
|
@@ -445,8 +445,6 @@ contract InstanceService is
|
|
445
445
|
riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
|
446
446
|
instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
|
447
447
|
}),
|
448
|
-
getRegistry(),
|
449
|
-
getRelease(),
|
450
448
|
instanceOwner,
|
451
449
|
allowAnyToken);
|
452
450
|
|
@@ -461,14 +459,13 @@ contract InstanceService is
|
|
461
459
|
)
|
462
460
|
internal
|
463
461
|
virtual override
|
464
|
-
|
462
|
+
onlyInitializing()
|
465
463
|
{
|
466
464
|
(
|
467
|
-
address authority
|
468
|
-
|
469
|
-
) = abi.decode(data, (address, address));
|
465
|
+
address authority
|
466
|
+
) = abi.decode(data, (address));
|
470
467
|
|
471
|
-
__Service_init(authority,
|
468
|
+
__Service_init(authority, owner);
|
472
469
|
|
473
470
|
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
474
471
|
_stakingService = IStakingService(_getServiceAddress(STAKING()));
|
@@ -486,7 +483,8 @@ contract InstanceService is
|
|
486
483
|
virtual
|
487
484
|
view
|
488
485
|
{
|
489
|
-
|
486
|
+
// TODO use ContractLib to verify registration, type and release
|
487
|
+
IRegistry registry = _getRegistry();
|
490
488
|
|
491
489
|
NftId instanceNftId = registry.getNftIdForAddress(instanceAddress);
|
492
490
|
if (instanceNftId.eqz()) {
|
@@ -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 {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
|
5
5
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {InstanceService} from "./InstanceService.sol";
|
7
7
|
|
@@ -12,19 +12,17 @@ contract InstanceServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with instance service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
-
address registry,
|
16
15
|
bytes32 salt
|
17
16
|
)
|
18
17
|
{
|
19
18
|
InstanceService svc = new InstanceService{salt: salt}();
|
20
|
-
bytes memory data = abi.encode(authority
|
21
|
-
|
22
|
-
registry,
|
19
|
+
bytes memory data = abi.encode(authority);
|
20
|
+
IUpgradeable upgradeable = initialize(
|
23
21
|
address(svc),
|
24
22
|
data,
|
25
23
|
salt);
|
26
24
|
|
27
|
-
_instanceService = InstanceService(address(
|
25
|
+
_instanceService = InstanceService(address(upgradeable));
|
28
26
|
}
|
29
27
|
|
30
28
|
//--- view functions ----------------------------------------------------//
|
@@ -4,25 +4,19 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
5
|
|
6
6
|
import {IRegistry} from "../../registry/IRegistry.sol";
|
7
|
+
import {RegistryLinked} from "../../shared/RegistryLinked.sol";
|
7
8
|
|
8
9
|
abstract contract Cloneable is
|
9
|
-
AccessManagedUpgradeable
|
10
|
+
AccessManagedUpgradeable,
|
11
|
+
RegistryLinked
|
10
12
|
{
|
11
|
-
IRegistry internal _registry;
|
12
|
-
|
13
13
|
/// @dev call to initialize MUST be made in the same transaction as cloning of the contract
|
14
14
|
function __Cloneable_init(
|
15
|
-
address authority
|
16
|
-
address registry
|
15
|
+
address authority
|
17
16
|
)
|
18
17
|
internal
|
19
18
|
onlyInitializing
|
20
19
|
{
|
21
20
|
__AccessManaged_init(authority);
|
22
|
-
_registry = IRegistry(registry);
|
23
|
-
}
|
24
|
-
|
25
|
-
function getRegistry() external view returns (IRegistry) {
|
26
|
-
return _registry;
|
27
21
|
}
|
28
22
|
}
|
@@ -21,12 +21,12 @@ contract ObjectSet is
|
|
21
21
|
address internal _instanceAddress;
|
22
22
|
|
23
23
|
/// @dev This initializer needs to be called from the instance itself.
|
24
|
-
function initialize(address authority
|
24
|
+
function initialize(address authority)
|
25
25
|
external
|
26
26
|
initializer()
|
27
27
|
{
|
28
28
|
_instanceAddress = msg.sender;
|
29
|
-
__Cloneable_init(authority
|
29
|
+
__Cloneable_init(authority);
|
30
30
|
|
31
31
|
emit LogObjectSetInitialized(address(_instanceAddress));
|
32
32
|
}
|
@@ -23,7 +23,6 @@ contract BasicOracle is
|
|
23
23
|
}
|
24
24
|
|
25
25
|
function _initializeBasicOracle(
|
26
|
-
address registry,
|
27
26
|
NftId instanceNftId,
|
28
27
|
IAuthorization authorization,
|
29
28
|
address initialOwner,
|
@@ -35,7 +34,6 @@ contract BasicOracle is
|
|
35
34
|
{
|
36
35
|
|
37
36
|
__Oracle_init(
|
38
|
-
registry,
|
39
37
|
instanceNftId,
|
40
38
|
authorization,
|
41
39
|
initialOwner,
|
@@ -8,6 +8,8 @@ import {IAccess} from "../authorization/IAccess.sol";
|
|
8
8
|
import {IOracle} from "./IOracle.sol";
|
9
9
|
import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
|
10
10
|
import {RoleId} from "../type/RoleId.sol";
|
11
|
+
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
12
|
+
import {VersionPartLib} from "../type/Version.sol";
|
11
13
|
|
12
14
|
|
13
15
|
contract BasicOracleAuthorization
|
@@ -21,7 +23,7 @@ contract BasicOracleAuthorization
|
|
21
23
|
Authorization(
|
22
24
|
componentName,
|
23
25
|
ORACLE(),
|
24
|
-
|
26
|
+
GIF_INITIAL_RELEASE(),
|
25
27
|
commitHash,
|
26
28
|
TargetType.Component,
|
27
29
|
false)
|
@@ -18,13 +18,9 @@ interface IOracleService is IService {
|
|
18
18
|
event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
|
19
19
|
|
20
20
|
// create request
|
21
|
-
error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
|
22
21
|
error ErrorOracleServiceExpiryInThePast(Timestamp blockTimestamp, Timestamp expiryAt);
|
23
22
|
error ErrorOracleServiceCallbackMethodNameEmpty();
|
24
23
|
|
25
|
-
// respond
|
26
|
-
error ErrorOracleServiceNotResponsibleOracle(RequestId requestId, NftId expectedOracleNftId, NftId oracleNftId);
|
27
|
-
|
28
24
|
// get request info
|
29
25
|
error ErrorOracleServiceRequestStateNotActive(RequestId requestId, StateId state);
|
30
26
|
error ErrorOracleServiceCallerNotResponsibleOracle(RequestId requestId, NftId oracleNftId, NftId callerNftId);
|
@@ -41,26 +37,26 @@ interface IOracleService is IService {
|
|
41
37
|
string calldata callbackMethodName
|
42
38
|
) external returns (RequestId requestId);
|
43
39
|
|
44
|
-
/// @dev
|
45
|
-
///
|
46
|
-
///
|
40
|
+
/// @dev Respond to oracle request by oracle compnent.
|
41
|
+
/// The response data is amended in the request info stored with the instance.
|
42
|
+
/// The request state changes to FULFILLED (when calling the callback method of the requester is successful)
|
47
43
|
/// or to FAILED when calling the requester is not succesful.
|
48
|
-
///
|
49
|
-
///
|
44
|
+
/// The function returns true iff the state changes to FULFILLED.
|
45
|
+
/// Permissioned: only the receiving oracle component may call this method
|
50
46
|
function respond(
|
51
47
|
RequestId requestId,
|
52
48
|
bytes calldata responseData
|
53
49
|
) external returns (bool success);
|
54
50
|
|
55
|
-
/// @dev
|
56
|
-
///
|
57
|
-
///
|
58
|
-
///
|
51
|
+
/// @dev Resend a failed response to the requester.
|
52
|
+
/// Only requests in state FAILED may be resent.
|
53
|
+
/// The request state changes to FULFILLED when calling the callback method of the requester is successful.
|
54
|
+
/// Permissioned: only the receiving oracle may resend a request
|
59
55
|
function resend(RequestId requestId) external;
|
60
56
|
|
61
|
-
/// @dev
|
62
|
-
///
|
63
|
-
///
|
57
|
+
/// @dev Notify the oracle component that the specified request has become invalid.
|
58
|
+
/// Only requests in state ACTIVE may be cancelled.
|
59
|
+
/// Permissioned: only the requester may cancel a request
|
64
60
|
function cancel(RequestId requestId) external;
|
65
61
|
|
66
62
|
}
|
@@ -5,10 +5,11 @@ import {Amount} from "../type/Amount.sol";
|
|
5
5
|
import {COMPONENT, PRODUCT, 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 {IComponent} from "../shared/IComponent.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";
|
12
13
|
import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
|
13
14
|
import {RequestId} from "../type/RequestId.sol";
|
14
15
|
import {Timestamp} from "../type/Timestamp.sol";
|
@@ -66,7 +67,7 @@ abstract contract Oracle is
|
|
66
67
|
function withdrawFees(Amount amount)
|
67
68
|
external
|
68
69
|
virtual
|
69
|
-
override(
|
70
|
+
override(IComponent, Component)
|
70
71
|
onlyOwner()
|
71
72
|
restricted()
|
72
73
|
returns (Amount)
|
@@ -76,7 +77,6 @@ abstract contract Oracle is
|
|
76
77
|
|
77
78
|
|
78
79
|
function __Oracle_init(
|
79
|
-
address registry,
|
80
80
|
NftId productNftId,
|
81
81
|
IAuthorization authorization,
|
82
82
|
address initialOwner,
|
@@ -87,7 +87,6 @@ abstract contract Oracle is
|
|
87
87
|
onlyInitializing()
|
88
88
|
{
|
89
89
|
__InstanceLinkedComponent_init(
|
90
|
-
registry,
|
91
90
|
productNftId,
|
92
91
|
name,
|
93
92
|
ORACLE(),
|