@etherisc/gif-next 0.0.2-ff1bf36-818 → 0.0.2-ff795d8-141
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 +82 -8
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +658 -259
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1279 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
- 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 +507 -206
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +177 -441
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +96 -325
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +473 -326
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +187 -125
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +90 -167
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +287 -101
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2018 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2405 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +505 -65
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +255 -57
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +510 -162
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1010 -334
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1471 -466
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +272 -231
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +897 -638
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +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 +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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 +129 -317
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- 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 +104 -116
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +105 -269
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +169 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -98
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +145 -309
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +180 -369
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -134
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +135 -158
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +318 -306
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +133 -308
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +538 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +538 -557
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +177 -111
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +206 -163
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +124 -98
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +267 -370
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +423 -242
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +158 -124
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +131 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +245 -64
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +258 -209
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +86 -6
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +366 -288
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +152 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +242 -332
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -140
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +259 -362
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +169 -176
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +129 -95
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +763 -382
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2140 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +487 -253
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +81 -227
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +430 -623
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +143 -131
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +680 -0
- 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 +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- 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/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +394 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +104 -116
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +104 -268
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -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 +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +197 -118
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +155 -23
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +300 -337
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +142 -103
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +224 -171
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -95
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- 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 +94 -38
- 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 +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -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 +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +261 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +464 -266
- package/contracts/authorization/AccessAdminLib.sol +387 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +159 -202
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +80 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +254 -24
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +39 -89
- package/contracts/distribution/DistributionService.sol +235 -115
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +4 -11
- package/contracts/distribution/IDistributionService.sol +40 -26
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +96 -17
- package/contracts/instance/IInstanceService.sol +49 -31
- package/contracts/instance/Instance.sol +181 -69
- package/contracts/instance/InstanceAdmin.sol +279 -184
- package/contracts/instance/InstanceAuthorizationV3.sol +117 -58
- package/contracts/instance/InstanceReader.sol +365 -68
- package/contracts/instance/InstanceService.sol +271 -208
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +23 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +10 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +29 -13
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +49 -28
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +7 -19
- package/contracts/oracle/OracleService.sol +117 -85
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +33 -9
- package/contracts/pool/BundleService.sol +93 -134
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +15 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +73 -71
- package/contracts/pool/Pool.sol +139 -124
- package/contracts/pool/PoolLib.sol +353 -0
- package/contracts/pool/PoolService.sol +332 -286
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +54 -26
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +10 -13
- package/contracts/product/BasicProductAuthorization.sol +30 -12
- package/contracts/product/ClaimService.sol +372 -150
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +43 -8
- package/contracts/product/IPolicyService.sol +39 -28
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +365 -309
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +64 -59
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +142 -85
- package/contracts/product/RiskService.sol +91 -34
- package/contracts/product/RiskServiceManager.sol +4 -4
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +64 -28
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +357 -203
- package/contracts/registry/RegistryAdmin.sol +110 -296
- package/contracts/registry/RegistryAuthorization.sol +277 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +275 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -57
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +66 -124
- package/contracts/shared/ComponentService.sol +395 -375
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +357 -0
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +42 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -50
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +20 -35
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +25 -13
- package/contracts/staking/IStakingService.sol +19 -4
- package/contracts/staking/Staking.sol +101 -52
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +96 -21
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +85 -25
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +72 -36
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +8 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +79 -43
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -11,74 +11,95 @@ import {Timestamp} from "../../type/Timestamp.sol";
|
|
11
11
|
|
12
12
|
interface IPolicy {
|
13
13
|
|
14
|
-
struct
|
14
|
+
struct PremiumInfo {
|
15
|
+
// slot 0
|
15
16
|
// premium splitting per target wallet
|
16
17
|
Amount productFeeAmount;
|
17
18
|
Amount distributionFeeAndCommissionAmount;
|
19
|
+
// slot 1
|
18
20
|
Amount poolPremiumAndFeeAmount;
|
19
21
|
|
20
22
|
// detailed positions
|
21
23
|
// this is the net premium calculated by the product
|
22
|
-
|
24
|
+
Amount netPremiumAmount;
|
25
|
+
// slot 2
|
23
26
|
// fullPremium = netPremium + all fixed amounts + all variable amounts (excl commission and minDistribtuionOwnerFee variable part)
|
24
|
-
|
27
|
+
Amount fullPremiumAmount;
|
25
28
|
// effective premium = fullPremium - discount
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
29
|
+
Amount premiumAmount;
|
30
|
+
// slot 3
|
31
|
+
Amount productFeeFixAmount;
|
32
|
+
Amount poolFeeFixAmount;
|
33
|
+
// slot 4
|
34
|
+
Amount bundleFeeFixAmount;
|
35
|
+
Amount distributionFeeFixAmount;
|
36
|
+
// slot 5
|
37
|
+
Amount productFeeVarAmount;
|
38
|
+
Amount poolFeeVarAmount;
|
39
|
+
// slot 6
|
40
|
+
Amount bundleFeeVarAmount;
|
41
|
+
Amount distributionFeeVarAmount;
|
42
|
+
// slot 7
|
43
|
+
Amount distributionOwnerFeeFixAmount;
|
36
44
|
// this is the remaining amount when the commission and discount are subtracted from the distribution fee variable part (must be at least the minDistributionOwnerFee)
|
37
|
-
|
45
|
+
Amount distributionOwnerFeeVarAmount;
|
46
|
+
// slot 8
|
38
47
|
// this value is based on distributor type referenced in the referral
|
39
|
-
|
48
|
+
Amount commissionAmount;
|
40
49
|
// this is based on referral used
|
41
|
-
|
50
|
+
Amount discountAmount;
|
42
51
|
}
|
43
52
|
|
44
53
|
/// @dev policy data for the full policy lifecycle
|
45
54
|
struct PolicyInfo {
|
55
|
+
// slot 0
|
46
56
|
NftId productNftId;
|
47
57
|
NftId bundleNftId;
|
48
|
-
ReferralId referralId;
|
49
58
|
RiskId riskId;
|
59
|
+
// slot 1
|
50
60
|
Amount sumInsuredAmount;
|
51
61
|
Amount premiumAmount; // expected premium at application time
|
52
|
-
|
53
|
-
|
54
|
-
// policy application data, no changes after applying for a policy
|
55
|
-
bytes applicationData;
|
56
|
-
bytes processData;
|
62
|
+
ReferralId referralId;
|
63
|
+
// slot 2
|
57
64
|
uint16 claimsCount;
|
58
65
|
uint16 openClaimsCount;
|
59
66
|
Amount claimAmount; // sum of confirmed claim amounts (max = sum insured amount)
|
60
67
|
Amount payoutAmount; // sum of payouts (max = sum confirmed claim amountst)
|
68
|
+
// slot 3
|
61
69
|
Timestamp activatedAt; // time of underwriting
|
70
|
+
Seconds lifetime;
|
62
71
|
Timestamp expiredAt; // no new claims (activatedAt + lifetime)
|
63
72
|
Timestamp closedAt; // no locked capital (or declinedAt)
|
73
|
+
// slot 4
|
74
|
+
bytes applicationData;
|
75
|
+
// slot 5
|
76
|
+
bytes processData;
|
64
77
|
}
|
65
78
|
|
66
79
|
// claimId neeeds to be encoded policyNftId:claimId combination
|
67
80
|
struct ClaimInfo {
|
81
|
+
// slot 0
|
68
82
|
Amount claimAmount;
|
69
83
|
Amount paidAmount;
|
70
|
-
uint8 payoutsCount;
|
71
|
-
uint8 openPayoutsCount;
|
72
|
-
bytes submissionData; // claim submission data, no changes after submitting the claim
|
73
|
-
bytes processData; // data that may include information supporting confirm or decline
|
74
84
|
Timestamp closedAt; // payment of confirmed claim amount (or declinedAt)
|
85
|
+
uint24 payoutsCount;
|
86
|
+
// slot 1
|
87
|
+
uint24 openPayoutsCount;
|
88
|
+
// slot 2
|
89
|
+
bytes submissionData; // use case specific claim submission data, no changes after submitting the claim
|
90
|
+
// slot 3
|
91
|
+
bytes processData; // use case specific data that may include information supporting confirm or decline
|
75
92
|
}
|
76
93
|
|
77
94
|
// claimId neeeds to be encoded policyNftId:claimId combination
|
78
95
|
struct PayoutInfo {
|
96
|
+
// slot 0
|
79
97
|
ClaimId claimId;
|
80
98
|
Amount amount;
|
81
|
-
|
82
|
-
|
99
|
+
Timestamp paidAt; // timestamp for actual payout
|
100
|
+
// slot 1
|
101
|
+
address beneficiary; // for address(0) beneficiary is policy nft owner
|
102
|
+
// slot 2
|
103
|
+
bytes data; // use case specific supporting data
|
83
104
|
}
|
84
105
|
}
|
@@ -2,10 +2,15 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {NftId} from "../../type/NftId.sol";
|
5
|
+
import {Timestamp} from "../../type/Timestamp.sol";
|
5
6
|
|
6
7
|
interface IRisk {
|
8
|
+
|
7
9
|
struct RiskInfo {
|
10
|
+
// slot 0
|
8
11
|
NftId productNftId;
|
12
|
+
Timestamp createdAt;
|
13
|
+
// slot 1
|
9
14
|
bytes data;
|
10
15
|
}
|
11
16
|
}
|
@@ -27,8 +27,7 @@ contract BasicOracle is
|
|
27
27
|
NftId instanceNftId,
|
28
28
|
IAuthorization authorization,
|
29
29
|
address initialOwner,
|
30
|
-
string memory name
|
31
|
-
address token
|
30
|
+
string memory name
|
32
31
|
)
|
33
32
|
internal
|
34
33
|
virtual
|
@@ -41,8 +40,6 @@ contract BasicOracle is
|
|
41
40
|
authorization,
|
42
41
|
initialOwner,
|
43
42
|
name,
|
44
|
-
token,
|
45
|
-
"",
|
46
43
|
"");
|
47
44
|
}
|
48
45
|
}
|
@@ -14,19 +14,26 @@ contract BasicOracleAuthorization
|
|
14
14
|
is Authorization
|
15
15
|
{
|
16
16
|
|
17
|
-
constructor(
|
18
|
-
|
17
|
+
constructor(
|
18
|
+
string memory componentName,
|
19
|
+
string memory commitHash
|
20
|
+
)
|
21
|
+
Authorization(
|
22
|
+
componentName,
|
23
|
+
ORACLE(),
|
24
|
+
3,
|
25
|
+
commitHash,
|
26
|
+
true,
|
27
|
+
false)
|
19
28
|
{}
|
20
29
|
|
21
|
-
function
|
30
|
+
function _setupServiceTargets()
|
22
31
|
internal
|
23
32
|
virtual override
|
24
33
|
{
|
25
|
-
|
26
|
-
_addComponentTargetWithRole(ORACLE());
|
34
|
+
_authorizeServiceDomain(ORACLE(), address(15));
|
27
35
|
}
|
28
36
|
|
29
|
-
|
30
37
|
function _setupTargetAuthorizations()
|
31
38
|
internal
|
32
39
|
virtual override
|
@@ -34,12 +41,12 @@ contract BasicOracleAuthorization
|
|
34
41
|
IAccess.FunctionInfo[] storage functions;
|
35
42
|
|
36
43
|
// authorize public role (open access to any account, only allows to lock target)
|
37
|
-
functions = _authorizeForTarget(
|
44
|
+
functions = _authorizeForTarget(getMainTargetName(), getServiceRole(ORACLE()));
|
38
45
|
_authorize(functions, IOracle.request.selector, "request");
|
39
46
|
_authorize(functions, IOracle.cancel.selector, "cancel");
|
40
47
|
|
41
48
|
// authorize public role (open access to any account, only allows to lock target)
|
42
|
-
functions = _authorizeForTarget(
|
49
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
43
50
|
_authorize(functions, BasicOracle.respond.selector, "respond");
|
44
51
|
}
|
45
52
|
}
|
@@ -9,14 +9,19 @@ import {Timestamp} from "../type/Timestamp.sol";
|
|
9
9
|
interface IOracle {
|
10
10
|
|
11
11
|
struct RequestInfo {
|
12
|
+
// slot 0
|
12
13
|
NftId requesterNftId; // originator of the request
|
13
|
-
string callbackMethodName; // callback function of the requestor to call to provide response data
|
14
14
|
NftId oracleNftId; // responsible oracle component
|
15
|
-
|
16
|
-
bytes responseData;
|
15
|
+
bool isCancelled;
|
17
16
|
Timestamp respondedAt; // response timestamp
|
17
|
+
// slot 1
|
18
18
|
Timestamp expiredAt; // expiry timestamp
|
19
|
-
|
19
|
+
// slot 2
|
20
|
+
string callbackMethodName; // callback function of the requestor to call to provide response data
|
21
|
+
// slot 3
|
22
|
+
bytes requestData;
|
23
|
+
// slot 4
|
24
|
+
bytes responseData;
|
20
25
|
}
|
21
26
|
|
22
27
|
|
@@ -3,6 +3,7 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IService} from "../shared/IService.sol";
|
5
5
|
import {NftId} from "../type/NftId.sol";
|
6
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
6
7
|
import {RequestId} from "../type/RequestId.sol";
|
7
8
|
import {StateId} from "../type/StateId.sol";
|
8
9
|
import {Timestamp} from "../type/Timestamp.sol";
|
@@ -17,7 +18,7 @@ interface IOracleService is IService {
|
|
17
18
|
event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
|
18
19
|
|
19
20
|
// create request
|
20
|
-
error
|
21
|
+
error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
|
21
22
|
error ErrorOracleServiceExpiryInThePast(Timestamp blockTimestamp, Timestamp expiryAt);
|
22
23
|
error ErrorOracleServiceCallbackMethodNameEmpty();
|
23
24
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Amount} from "../type/Amount.sol";
|
5
|
-
import {COMPONENT, ORACLE} from "../type/ObjectType.sol";
|
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
8
|
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
@@ -27,15 +27,6 @@ abstract contract Oracle is
|
|
27
27
|
}
|
28
28
|
|
29
29
|
|
30
|
-
function register()
|
31
|
-
external
|
32
|
-
virtual
|
33
|
-
onlyOwner()
|
34
|
-
{
|
35
|
-
_getOracleStorage()._componentService.registerOracle();
|
36
|
-
}
|
37
|
-
|
38
|
-
|
39
30
|
function request(
|
40
31
|
RequestId requestId,
|
41
32
|
NftId requesterId,
|
@@ -71,13 +62,14 @@ abstract contract Oracle is
|
|
71
62
|
return false;
|
72
63
|
}
|
73
64
|
|
65
|
+
/// @dev Not relevant for oracle components
|
74
66
|
function withdrawFees(Amount amount)
|
75
67
|
external
|
76
68
|
virtual
|
77
69
|
override(IInstanceLinkedComponent, InstanceLinkedComponent)
|
78
70
|
onlyOwner()
|
79
71
|
restricted()
|
80
|
-
returns (Amount
|
72
|
+
returns (Amount)
|
81
73
|
{
|
82
74
|
revert ErrorOracleNotImplemented("withdrawFees");
|
83
75
|
}
|
@@ -85,12 +77,10 @@ abstract contract Oracle is
|
|
85
77
|
|
86
78
|
function _initializeOracle(
|
87
79
|
address registry,
|
88
|
-
NftId
|
80
|
+
NftId productNftId,
|
89
81
|
IAuthorization authorization,
|
90
82
|
address initialOwner,
|
91
83
|
string memory name,
|
92
|
-
address token,
|
93
|
-
bytes memory registryData, // writeonly data that will saved in the object info record of the registry
|
94
84
|
bytes memory componentData // component specifidc data
|
95
85
|
)
|
96
86
|
internal
|
@@ -99,21 +89,19 @@ abstract contract Oracle is
|
|
99
89
|
{
|
100
90
|
_initializeInstanceLinkedComponent(
|
101
91
|
registry,
|
102
|
-
|
92
|
+
productNftId,
|
103
93
|
name,
|
104
|
-
token,
|
105
94
|
ORACLE(),
|
106
95
|
authorization,
|
107
96
|
true,
|
108
97
|
initialOwner,
|
109
|
-
registryData,
|
110
98
|
componentData);
|
111
99
|
|
112
100
|
OracleStorage storage $ = _getOracleStorage();
|
113
|
-
$._oracleService = IOracleService(_getServiceAddress(ORACLE()));
|
114
101
|
$._componentService = IComponentService(_getServiceAddress(COMPONENT()));
|
102
|
+
$._oracleService = IOracleService(_getServiceAddress(ORACLE()));
|
115
103
|
|
116
|
-
|
104
|
+
_registerInterface(type(IOracleComponent).interfaceId);
|
117
105
|
}
|
118
106
|
|
119
107
|
|
@@ -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 {ContractLib} from "../shared/ContractLib.sol";
|
5
5
|
import {IComponent} from "../shared/IComponent.sol";
|
6
6
|
import {IInstance} from "../instance/IInstance.sol";
|
7
7
|
import {IInstanceService} from "../instance/IInstanceService.sol";
|
@@ -11,14 +11,15 @@ import {IOracleComponent} from "./IOracleComponent.sol";
|
|
11
11
|
import {IOracleService} from "./IOracleService.sol";
|
12
12
|
import {IRegistry} from "../registry/IRegistry.sol";
|
13
13
|
import {NftId} from "../type/NftId.sol";
|
14
|
-
import {ObjectType, COMPONENT, ORACLE,
|
14
|
+
import {ObjectType, COMPONENT, ORACLE, PRODUCT} from "../type/ObjectType.sol";
|
15
15
|
import {RequestId} from "../type/RequestId.sol";
|
16
|
+
import {Service} from "../shared/Service.sol";
|
16
17
|
import {StateId, ACTIVE, KEEP_STATE, FULFILLED, FAILED, CANCELLED} from "../type/StateId.sol";
|
17
18
|
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
18
19
|
|
19
20
|
|
20
21
|
contract OracleService is
|
21
|
-
|
22
|
+
Service,
|
22
23
|
IOracleService
|
23
24
|
{
|
24
25
|
|
@@ -27,14 +28,16 @@ contract OracleService is
|
|
27
28
|
bytes memory data
|
28
29
|
)
|
29
30
|
internal
|
30
|
-
initializer
|
31
31
|
virtual override
|
32
|
+
initializer()
|
32
33
|
{
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
(
|
35
|
+
address authority,
|
36
|
+
address registry
|
37
|
+
) = abi.decode(data, (address, address));
|
38
|
+
|
39
|
+
__Service_init(authority, registry, owner);
|
40
|
+
_registerInterface(type(IOracleService).interfaceId);
|
38
41
|
}
|
39
42
|
|
40
43
|
function request(
|
@@ -45,63 +48,51 @@ contract OracleService is
|
|
45
48
|
)
|
46
49
|
external
|
47
50
|
virtual
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
)
|
51
|
+
restricted()
|
52
|
+
onlyNftOfType(oracleNftId, ORACLE())
|
53
|
+
returns (RequestId requestId)
|
52
54
|
{
|
55
|
+
// checks
|
56
|
+
// get and check active caller
|
53
57
|
(
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
+
IRegistry.ObjectInfo memory requesterInfo,
|
59
|
+
address instance
|
60
|
+
) = ContractLib.getAndVerifyAnyComponent(
|
61
|
+
getRegistry(), msg.sender, true);
|
58
62
|
|
59
|
-
// oracleNftId exists and is active oracle
|
60
63
|
(
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
64
|
+
NftId requesterNftId,
|
65
|
+
IOracleComponent oracle
|
66
|
+
) = _checkRequestParams(
|
67
|
+
getRegistry(), oracleNftId, requesterInfo, expiryAt, callbackMethodName);
|
68
|
+
|
69
|
+
// effects
|
70
|
+
{
|
71
|
+
// create request info
|
72
|
+
IOracle.RequestInfo memory request = IOracle.RequestInfo({
|
73
|
+
requesterNftId: requesterNftId,
|
74
|
+
callbackMethodName: callbackMethodName,
|
75
|
+
oracleNftId: oracleNftId,
|
76
|
+
requestData: requestData,
|
77
|
+
responseData: "",
|
78
|
+
respondedAt: TimestampLib.zero(),
|
79
|
+
expiredAt: expiryAt,
|
80
|
+
isCancelled: false
|
81
|
+
});
|
82
|
+
|
83
|
+
// store request with instance
|
84
|
+
requestId = IInstance(instance).getInstanceStore().createRequest(request);
|
80
85
|
}
|
81
86
|
|
82
|
-
|
83
|
-
IOracle.RequestInfo memory request = IOracle.RequestInfo({
|
84
|
-
requesterNftId: componentNftId,
|
85
|
-
callbackMethodName: callbackMethodName,
|
86
|
-
oracleNftId: oracleNftId,
|
87
|
-
requestData: requestData,
|
88
|
-
responseData: "",
|
89
|
-
respondedAt: TimestampLib.zero(),
|
90
|
-
expiredAt: expiryAt,
|
91
|
-
isCancelled: false
|
92
|
-
});
|
93
|
-
|
94
|
-
// store request with instance
|
95
|
-
requestId = instance.getInstanceStore().createRequest(request);
|
87
|
+
emit LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt);
|
96
88
|
|
97
|
-
//
|
98
|
-
|
89
|
+
// interactions
|
90
|
+
// callback to oracle component
|
91
|
+
oracle.request(
|
99
92
|
requestId,
|
100
|
-
|
93
|
+
requesterNftId,
|
101
94
|
requestData,
|
102
95
|
expiryAt);
|
103
|
-
|
104
|
-
emit LogOracleServiceRequestCreated(requestId, componentNftId, oracleNftId, expiryAt);
|
105
96
|
}
|
106
97
|
|
107
98
|
|
@@ -113,15 +104,17 @@ contract OracleService is
|
|
113
104
|
)
|
114
105
|
external
|
115
106
|
virtual
|
116
|
-
|
107
|
+
restricted()
|
117
108
|
returns (bool success)
|
118
109
|
{
|
119
110
|
(
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
111
|
+
IRegistry.ObjectInfo memory info,
|
112
|
+
address instanceAddress
|
113
|
+
) = ContractLib.getAndVerifyComponent(
|
114
|
+
getRegistry(), msg.sender, ORACLE(), true);
|
124
115
|
|
116
|
+
NftId oracleNftId = info.nftId;
|
117
|
+
IInstance instance = IInstance(instanceAddress);
|
125
118
|
bool callerIsOracle = true;
|
126
119
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, oracleNftId, callerIsOracle);
|
127
120
|
request.responseData = responseData;
|
@@ -160,14 +153,16 @@ contract OracleService is
|
|
160
153
|
function resend(RequestId requestId)
|
161
154
|
external
|
162
155
|
virtual
|
163
|
-
|
156
|
+
restricted()
|
164
157
|
{
|
165
158
|
(
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
159
|
+
IRegistry.ObjectInfo memory info,
|
160
|
+
address instanceAddress
|
161
|
+
) = ContractLib.getAndVerifyAnyComponent(
|
162
|
+
getRegistry(), msg.sender, true);
|
170
163
|
|
164
|
+
NftId requesterNftId = info.nftId;
|
165
|
+
IInstance instance = IInstance(instanceAddress);
|
171
166
|
bool callerIsOracle = false;
|
172
167
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
173
168
|
|
@@ -178,7 +173,7 @@ contract OracleService is
|
|
178
173
|
"(uint64,bytes)"
|
179
174
|
));
|
180
175
|
|
181
|
-
(bool success, bytes memory returnData) =
|
176
|
+
(bool success, bytes memory returnData) = info.objectAddress.call(
|
182
177
|
abi.encodeWithSignature(
|
183
178
|
functionSignature,
|
184
179
|
requestId,
|
@@ -189,7 +184,7 @@ contract OracleService is
|
|
189
184
|
instance.getInstanceStore().updateRequestState(requestId, FULFILLED());
|
190
185
|
emit LogOracleServiceResponseResent(requestId, requesterNftId);
|
191
186
|
} else {
|
192
|
-
emit LogOracleServiceDeliveryFailed(requestId,
|
187
|
+
emit LogOracleServiceDeliveryFailed(requestId, info.objectAddress, functionSignature);
|
193
188
|
}
|
194
189
|
}
|
195
190
|
|
@@ -197,14 +192,16 @@ contract OracleService is
|
|
197
192
|
function cancel(RequestId requestId)
|
198
193
|
external
|
199
194
|
virtual
|
200
|
-
|
195
|
+
restricted()
|
201
196
|
{
|
202
197
|
(
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
198
|
+
IRegistry.ObjectInfo memory info,
|
199
|
+
address instanceAddress
|
200
|
+
) = ContractLib.getAndVerifyAnyComponent(
|
201
|
+
getRegistry(), msg.sender, true);
|
207
202
|
|
203
|
+
NftId requesterNftId = info.nftId;
|
204
|
+
IInstance instance = IInstance(instanceAddress);
|
208
205
|
bool callerIsOracle = false;
|
209
206
|
// TODO property isCancelled and state update to CANCELLED are redundant, get rid of isCancelled
|
210
207
|
IOracle.RequestInfo memory request = _checkAndGetRequestInfo(instance, requestId, requesterNftId, callerIsOracle);
|
@@ -214,13 +211,59 @@ contract OracleService is
|
|
214
211
|
|
215
212
|
// call oracle component
|
216
213
|
// TODO add check that oracle is active?
|
217
|
-
address oracleAddress = getRegistry().
|
214
|
+
address oracleAddress = getRegistry().getObjectAddress(request.oracleNftId);
|
218
215
|
IOracleComponent(oracleAddress).cancel(requestId);
|
219
216
|
|
220
217
|
emit LogOracleServiceRequestCancelled(requestId, requesterNftId);
|
221
218
|
}
|
222
219
|
|
223
220
|
|
221
|
+
function _checkRequestParams(
|
222
|
+
IRegistry registry,
|
223
|
+
NftId oracleNftId,
|
224
|
+
IRegistry.ObjectInfo memory requesterInfo,
|
225
|
+
Timestamp expiryAt,
|
226
|
+
string memory callbackMethodName
|
227
|
+
)
|
228
|
+
internal
|
229
|
+
virtual
|
230
|
+
view
|
231
|
+
returns (
|
232
|
+
NftId requesterNftId,
|
233
|
+
IOracleComponent oracle
|
234
|
+
)
|
235
|
+
{
|
236
|
+
// get oracle info
|
237
|
+
(IRegistry.ObjectInfo memory oracleInfo,) = ContractLib.getInfoAndInstance(
|
238
|
+
registry, oracleNftId, true);
|
239
|
+
|
240
|
+
// obtain return values
|
241
|
+
requesterNftId = requesterInfo.nftId;
|
242
|
+
oracle = IOracleComponent(oracleInfo.objectAddress);
|
243
|
+
|
244
|
+
// check that requester and oracle share same product cluster
|
245
|
+
if (requesterInfo.objectType == PRODUCT()) {
|
246
|
+
if (oracleInfo.parentNftId != requesterNftId) {
|
247
|
+
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterNftId, oracleInfo.parentNftId);
|
248
|
+
}
|
249
|
+
} else {
|
250
|
+
if (oracleInfo.parentNftId != requesterInfo.parentNftId) {
|
251
|
+
revert ErrorOracleServiceProductMismatch(requesterInfo.objectType, requesterInfo.parentNftId, oracleInfo.parentNftId);
|
252
|
+
}
|
253
|
+
}
|
254
|
+
|
255
|
+
// check expiriyAt >= now
|
256
|
+
if (expiryAt < TimestampLib.blockTimestamp()) {
|
257
|
+
revert ErrorOracleServiceExpiryInThePast(TimestampLib.blockTimestamp(), expiryAt);
|
258
|
+
}
|
259
|
+
|
260
|
+
// check callbackMethodName.length > 0
|
261
|
+
if (bytes(callbackMethodName).length == 0) {
|
262
|
+
revert ErrorOracleServiceCallbackMethodNameEmpty();
|
263
|
+
}
|
264
|
+
}
|
265
|
+
|
266
|
+
|
224
267
|
function _checkAndGetRequestInfo(
|
225
268
|
IInstance instance,
|
226
269
|
RequestId requestId,
|
@@ -261,17 +304,6 @@ contract OracleService is
|
|
261
304
|
}
|
262
305
|
|
263
306
|
|
264
|
-
function _getInstanceForComponent(NftId componentNftId)
|
265
|
-
internal
|
266
|
-
view
|
267
|
-
returns(IInstance instance)
|
268
|
-
{
|
269
|
-
NftId instanceNftId = getRegistry().getObjectInfo(componentNftId).parentNftId;
|
270
|
-
address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
|
271
|
-
return IInstance(instanceAddress);
|
272
|
-
}
|
273
|
-
|
274
|
-
|
275
307
|
function _getDomain() internal pure override returns(ObjectType) {
|
276
308
|
return ORACLE();
|
277
309
|
}
|
@@ -12,15 +12,15 @@ 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
|
15
|
+
address registry,
|
16
16
|
bytes32 salt
|
17
17
|
)
|
18
|
-
ProxyManager(registryAddress)
|
19
18
|
{
|
20
|
-
OracleService
|
21
|
-
bytes memory data = abi.encode(
|
22
|
-
IVersionable versionable =
|
23
|
-
|
19
|
+
OracleService svc = new OracleService{salt: salt}();
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
23
|
+
address(svc),
|
24
24
|
data,
|
25
25
|
salt);
|
26
26
|
|