@etherisc/gif-next 0.0.2-ffa91a6-022 → 3.0.0-0fefe0d-162
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 +123 -332
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +106 -38
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +111 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +58 -6
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +372 -131
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1509 -174
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +266 -64
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +263 -87
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +102 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -38
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +269 -69
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -12
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +376 -147
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -78
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -11
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +232 -19
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +108 -79
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +136 -95
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +500 -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 +1198 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2347 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +86 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +35 -26
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -105
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +268 -68
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +51 -229
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +374 -35
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +305 -5
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +425 -97
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +757 -393
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +236 -80
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +723 -553
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +331 -31
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +100 -42
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1323 -2012
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +25 -16
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +282 -65
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +19 -10
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -10
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +116 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -58
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +268 -68
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +300 -123
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -58
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +186 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -20
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +238 -19
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -20
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +338 -79
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +113 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -37
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +268 -68
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +128 -70
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +55 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -31
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +157 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +511 -21
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -112
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +115 -65
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -31
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +101 -43
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +33 -22
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +71 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +542 -305
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +335 -76
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +41 -12
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +96 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +548 -231
- 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 +167 -103
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -10
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +196 -201
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +130 -64
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -10
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +111 -132
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -10
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -10
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1390 -134
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +97 -117
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1479 -192
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +77 -76
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +139 -64
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +296 -152
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +131 -167
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +96 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1615 -815
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +153 -91
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -27
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +15 -3
- package/contracts/accounting/IAccountingService.sol +4 -2
- package/contracts/authorization/AccessAdmin.sol +292 -317
- package/contracts/authorization/AccessAdminLib.sol +517 -22
- package/contracts/authorization/AccessManagerCloneable.sol +0 -18
- package/contracts/authorization/Authorization.sol +64 -239
- package/contracts/authorization/IAccess.sol +29 -12
- package/contracts/authorization/IAccessAdmin.sol +25 -53
- package/contracts/authorization/IAuthorization.sol +3 -57
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +228 -34
- package/contracts/distribution/BasicDistribution.sol +3 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +9 -8
- package/contracts/distribution/DistributionService.sol +125 -62
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +20 -8
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/flight/FlightLib.sol +311 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +167 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +625 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/BaseStore.sol +93 -0
- package/contracts/instance/IBaseStore.sol +37 -0
- package/contracts/instance/IInstance.sol +57 -6
- package/contracts/instance/IInstanceService.sol +42 -7
- package/contracts/instance/Instance.sol +111 -56
- package/contracts/instance/InstanceAdmin.sol +151 -294
- package/contracts/instance/InstanceAuthorizationV3.sol +106 -66
- package/contracts/instance/InstanceReader.sol +370 -392
- package/contracts/instance/InstanceService.sol +186 -134
- package/contracts/instance/InstanceStore.sol +153 -128
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +15 -5
- package/contracts/instance/module/IDistribution.sol +17 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +2 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +4 -6
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +4 -16
- package/contracts/pool/BasicPoolAuthorization.sol +10 -5
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +7 -2
- package/contracts/pool/Pool.sol +6 -18
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +40 -181
- package/contracts/product/ApplicationService.sol +64 -11
- package/contracts/product/BasicProduct.sol +2 -3
- package/contracts/product/BasicProductAuthorization.sol +13 -5
- package/contracts/product/ClaimService.sol +99 -105
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +40 -59
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +28 -31
- package/contracts/product/Product.sol +40 -16
- package/contracts/product/RiskService.sol +50 -15
- package/contracts/registry/IRegistry.sol +15 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +33 -118
- package/contracts/registry/RegistryAuthorization.sol +139 -69
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +52 -106
- package/contracts/registry/ReleaseRegistry.sol +20 -12
- package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +8 -8
- package/contracts/shared/ComponentService.sol +245 -262
- package/contracts/shared/ContractLib.sol +106 -75
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +14 -15
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InstanceLinkedComponent.sol +63 -26
- package/contracts/shared/NftOwnable.sol +3 -1
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Service.sol +6 -4
- package/contracts/staking/IStaking.sol +261 -70
- package/contracts/staking/IStakingService.sol +39 -84
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +468 -217
- package/contracts/staking/StakingLib.sol +38 -124
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +62 -71
- package/contracts/staking/StakingService.sol +42 -185
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1093 -331
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +17 -22
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +17 -33
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/Seconds.sol +23 -0
- package/contracts/type/String.sol +42 -0
- package/contracts/type/Timestamp.sol +14 -3
- package/contracts/type/UFixed.sol +28 -10
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +26 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +0 -538
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -1,14 +1,17 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
import {IRegisterable} from "../shared/IRegisterable.sol";
|
6
|
+
|
4
7
|
import {Amount} from "../type/Amount.sol";
|
5
8
|
import {BundleSet} from "./BundleSet.sol";
|
6
9
|
import {RiskSet} from "./RiskSet.sol";
|
7
10
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
8
11
|
import {InstanceReader} from "./InstanceReader.sol";
|
9
12
|
import {InstanceStore} from "./InstanceStore.sol";
|
10
|
-
import {IRegisterable} from "../shared/IRegisterable.sol";
|
11
13
|
import {NftId} from "../type/NftId.sol";
|
14
|
+
import {ProductStore} from "./ProductStore.sol";
|
12
15
|
import {RoleId} from "../type/RoleId.sol";
|
13
16
|
import {Seconds} from "../type/Seconds.sol";
|
14
17
|
import {UFixed} from "../type/UFixed.sol";
|
@@ -17,6 +20,21 @@ import {UFixed} from "../type/UFixed.sol";
|
|
17
20
|
interface IInstance is
|
18
21
|
IRegisterable
|
19
22
|
{
|
23
|
+
// role handling
|
24
|
+
event LogInstanceCustomRoleCreated(RoleId roleId, string roleName, RoleId adminRoleId, uint32 maxMemberCount);
|
25
|
+
event LogInstanceCustomRoleActiveSet(RoleId roleId, bool active, address caller);
|
26
|
+
event LogInstanceCustomRoleGranted(RoleId roleId, address account, address caller);
|
27
|
+
event LogInstanceCustomRoleRevoked(RoleId roleId, address account, address caller);
|
28
|
+
|
29
|
+
// target handling
|
30
|
+
event LogInstanceCustomTargetCreated(address target, RoleId targetRoleId, string name);
|
31
|
+
event LogInstanceTargetLocked(address target, bool locked);
|
32
|
+
event LogInstanceCustomTargetFunctionRoleSet(address target, bytes4[] selectors, RoleId roleId);
|
33
|
+
|
34
|
+
// modifier is onlyRoleAdmin
|
35
|
+
error ErrorInstanceNotCustomRole(RoleId roleId);
|
36
|
+
error ErrorInstanceNotRoleAdmin(RoleId roleId, address account);
|
37
|
+
|
20
38
|
error ErrorInstanceInstanceAdminZero();
|
21
39
|
error ErrorInstanceInstanceAdminAlreadySet(address instanceAdmin);
|
22
40
|
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
@@ -34,6 +52,15 @@ interface IInstance is
|
|
34
52
|
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
35
53
|
error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
|
36
54
|
|
55
|
+
struct InstanceContracts {
|
56
|
+
InstanceAdmin instanceAdmin;
|
57
|
+
InstanceStore instanceStore;
|
58
|
+
ProductStore productStore;
|
59
|
+
BundleSet bundleSet;
|
60
|
+
RiskSet riskSet;
|
61
|
+
InstanceReader instanceReader;
|
62
|
+
}
|
63
|
+
|
37
64
|
struct InstanceInfo {
|
38
65
|
uint64 requestsCount;
|
39
66
|
}
|
@@ -62,7 +89,7 @@ interface IInstance is
|
|
62
89
|
function setStakingMaxAmount(Amount maxStakedAmount) external;
|
63
90
|
|
64
91
|
/// @dev Refills the staking reward reserves for the specified target.
|
65
|
-
function refillStakingRewardReserves(Amount dipAmount) external;
|
92
|
+
function refillStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
66
93
|
|
67
94
|
/// @dev Defunds the staking reward reserves for the specified target.
|
68
95
|
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
@@ -77,12 +104,34 @@ interface IInstance is
|
|
77
104
|
|
78
105
|
///--- authz ------------------------------------------------------------//
|
79
106
|
|
80
|
-
|
107
|
+
/// @dev Creates a new custom role for the calling instance.
|
108
|
+
/// Custom roles are intended to be used for access control of custom components and its helper contracts.
|
109
|
+
/// Custom roles are not intended to be used as target roles for custom contracts.
|
110
|
+
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
111
|
+
|
112
|
+
/// @dev Activates/deactivates the specified role.
|
113
|
+
/// Only instance owner or account with role admin role can call this function.
|
114
|
+
function setRoleActive(RoleId roleId, bool active) external;
|
115
|
+
|
116
|
+
/// @dev Grants the specified role to the account.
|
117
|
+
/// Only active roles can be granted.
|
118
|
+
/// Only instance owner or account with role admin role can call this function.
|
81
119
|
function grantRole(RoleId roleId, address account) external;
|
120
|
+
|
121
|
+
/// @dev Revokes the specified role from the account.
|
122
|
+
/// Only instance owner or account with role admin role can call this function.
|
82
123
|
function revokeRole(RoleId roleId, address account) external;
|
83
124
|
|
84
|
-
|
85
|
-
|
125
|
+
/// @dev Creates a new custom target.
|
126
|
+
/// Custom targets are intended to be used for access control helper contracts of components.
|
127
|
+
/// Custom targets are not intended to be used for components.
|
128
|
+
function createTarget(address target, string memory name) external returns (RoleId contractRoleId);
|
129
|
+
|
130
|
+
/// @dev Authorizes the specified functions for the target and provided role.
|
131
|
+
function authorizeFunctions(address target, RoleId roleId, IAccess.FunctionInfo[] memory functions) external;
|
132
|
+
|
133
|
+
/// @dev Removes any role authorization for the specified functions.
|
134
|
+
function unauthorizeFunctions(address target, IAccess.FunctionInfo[] memory functions) external;
|
86
135
|
|
87
136
|
//--- getters -----------------------------------------------------------//
|
88
137
|
|
@@ -94,7 +143,7 @@ interface IInstance is
|
|
94
143
|
|
95
144
|
// get products
|
96
145
|
function products() external view returns (uint256 productCount);
|
97
|
-
function
|
146
|
+
function getProduct(uint256 idx) external view returns (NftId productNftId);
|
98
147
|
|
99
148
|
// get supporting contracts
|
100
149
|
function getInstanceReader() external view returns (InstanceReader);
|
@@ -102,4 +151,6 @@ interface IInstance is
|
|
102
151
|
function getRiskSet() external view returns (RiskSet);
|
103
152
|
function getInstanceAdmin() external view returns (InstanceAdmin);
|
104
153
|
function getInstanceStore() external view returns (InstanceStore);
|
154
|
+
function getProductStore() external view returns (ProductStore);
|
155
|
+
function isTokenRegistryDisabled() external view returns (bool);
|
105
156
|
}
|
@@ -1,11 +1,14 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
5
5
|
import {IInstance} from "./IInstance.sol";
|
6
6
|
import {IService} from "../shared/IService.sol";
|
7
|
+
|
8
|
+
import {Amount} from "../type/Amount.sol";
|
7
9
|
import {NftId} from "../type/NftId.sol";
|
8
10
|
import {ObjectType} from "../type/ObjectType.sol";
|
11
|
+
import {RoleId} from "../type/RoleId.sol";
|
9
12
|
import {Seconds} from "../type/Seconds.sol";
|
10
13
|
import {UFixed} from "../type/UFixed.sol";
|
11
14
|
import {VersionPart} from "../type/Version.sol";
|
@@ -36,6 +39,7 @@ interface IInstanceService is IService {
|
|
36
39
|
error ErrorInstanceServiceBundleSetZero();
|
37
40
|
error ErrorInstanceServiceRiskSetZero();
|
38
41
|
error ErrorInstanceServiceInstanceStoreZero();
|
42
|
+
error ErrorInstanceServiceProductStoreZero();
|
39
43
|
|
40
44
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
41
45
|
error ErrorInstanceServiceBundleSetAuthorityMismatch();
|
@@ -44,6 +48,7 @@ interface IInstanceService is IService {
|
|
44
48
|
error ErrorInstanceServiceBundleSetInstanceMismatch();
|
45
49
|
error ErrorInstanceServiceRiskSetInstanceMismatch();
|
46
50
|
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
51
|
+
error ErrorInstanceServiceProductStoreAuthorityMismatch();
|
47
52
|
|
48
53
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
49
54
|
error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
|
@@ -51,20 +56,49 @@ interface IInstanceService is IService {
|
|
51
56
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
52
57
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
53
58
|
|
54
|
-
event
|
59
|
+
event LogInstanceServiceInstanceLocked(NftId instanceNftId, bool locked);
|
60
|
+
event LogInstanceServiceInstanceCreated(NftId instanceNftId, address instance);
|
61
|
+
event LogInstanceServiceMasterInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
62
|
+
event LogInstanceServiceInstanceReaderUpgraded(NftId instanceNfId, address newInstanceReader);
|
55
63
|
|
56
|
-
/// @dev
|
57
|
-
function
|
64
|
+
/// @dev Creates a new custom role for the calling instance.
|
65
|
+
function createRole(string memory roleName, RoleId adminRoleId, uint32 maxMemberCount) external returns (RoleId roleId);
|
66
|
+
|
67
|
+
/// @dev Sets the specified custom role as active or inactive for the calling instance.
|
68
|
+
function setRoleActive(RoleId roleId, bool active) external;
|
69
|
+
|
70
|
+
/// @dev Grants the specified custom role to the specified account for the calling instance.
|
71
|
+
function grantRole(RoleId roleId, address account) external;
|
72
|
+
|
73
|
+
/// @dev Revokes the specified custom role from the specified account for the calling instance.
|
74
|
+
function revokeRole(RoleId roleId, address account) external;
|
75
|
+
|
76
|
+
/// @dev Creates a new custom target for the calling instance.
|
77
|
+
/// All custom trargets are created with a corresponding contract role.
|
78
|
+
function createTarget(address target, string memory name) external returns (RoleId contractRoleId);
|
79
|
+
|
80
|
+
/// @dev Authorizes the specified functions for the specified target.
|
81
|
+
function authorizeFunctions(address target, RoleId roleId, IAccess.FunctionInfo[] memory functions) external;
|
82
|
+
|
83
|
+
/// @dev Removes any role authorization for the specified functions.
|
84
|
+
function unauthorizeFunctions(address target, IAccess.FunctionInfo[] memory functions) external;
|
58
85
|
|
59
86
|
/// @dev Locks/unlocks the specified target constrolled by the corresponding instance admin.
|
60
87
|
function setTargetLocked(address target, bool locked) external;
|
61
88
|
|
89
|
+
/// @dev Locks the complete instance, including all its components.
|
90
|
+
function setInstanceLocked(bool locked) external;
|
91
|
+
|
62
92
|
/// @dev Creates a new instance.
|
63
93
|
/// The caller becomes the owner of the new instance.
|
64
94
|
/// Creation of a new instance is achieved by this service through the creation and registration
|
65
95
|
/// of a new clone of the master instance and then setting up the initial wiring and authorization
|
66
96
|
/// of the necessary components.
|
67
|
-
|
97
|
+
/// @param allowAnyToken specifies whether the new instance is allowed to use any token or
|
98
|
+
/// only tokens that are registered in the `TokenRegistry`. Use of tokens **not** registered in the
|
99
|
+
/// `TokenRegistry` may result in problems with token handline and is therefor not recommended. The
|
100
|
+
/// use of such instances **is not supported** by Etherisc.
|
101
|
+
function createInstance(bool allowAnyToken)
|
68
102
|
external
|
69
103
|
returns (
|
70
104
|
IInstance instance,
|
@@ -77,8 +111,9 @@ interface IInstanceService is IService {
|
|
77
111
|
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
78
112
|
function setStakingRewardRate(UFixed rewardRate) external;
|
79
113
|
function setStakingMaxAmount(Amount maxStakedAmount) external;
|
80
|
-
|
114
|
+
|
115
|
+
function refillInstanceRewardReserves(address rewardProvider, Amount dipAmount) external returns (Amount newBalance);
|
81
116
|
|
82
117
|
/// @dev Defunds the staking reward reserves for the specified target.
|
83
|
-
function
|
118
|
+
function withdrawInstanceRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
84
119
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
4
5
|
import {IInstance} from "./IInstance.sol";
|
5
6
|
import {IComponentService} from "../shared/IComponentService.sol";
|
6
7
|
import {IInstanceService} from "./IInstanceService.sol";
|
@@ -14,6 +15,7 @@ import {InstanceReader} from "./InstanceReader.sol";
|
|
14
15
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
15
16
|
import {InstanceStore} from "./InstanceStore.sol";
|
16
17
|
import {NftId} from "../type/NftId.sol";
|
18
|
+
import {ProductStore} from "./ProductStore.sol";
|
17
19
|
import {Registerable} from "../shared/Registerable.sol";
|
18
20
|
import {RoleId} from "../type/RoleId.sol";
|
19
21
|
import {Seconds} from "../type/Seconds.sol";
|
@@ -34,54 +36,65 @@ contract Instance is
|
|
34
36
|
BundleSet internal _bundleSet;
|
35
37
|
RiskSet internal _riskSet;
|
36
38
|
InstanceStore internal _instanceStore;
|
39
|
+
ProductStore internal _productStore;
|
37
40
|
NftId [] internal _products;
|
41
|
+
bool internal _tokenRegistryDisabled;
|
38
42
|
|
39
|
-
|
40
|
-
|
41
|
-
|
43
|
+
|
44
|
+
modifier onlyCustomRoleAdmin(RoleId roleId) {
|
45
|
+
if (!_instanceAdmin.isRoleCustom(roleId)) {
|
46
|
+
revert ErrorInstanceNotCustomRole(roleId);
|
47
|
+
}
|
48
|
+
|
49
|
+
// instance owner can always act as role admin
|
50
|
+
address account = msg.sender;
|
51
|
+
if (account != getOwner()) {
|
52
|
+
if (!_instanceAdmin.isRoleAdmin(roleId, account)) {
|
53
|
+
revert ErrorInstanceNotRoleAdmin(roleId, account);
|
54
|
+
}
|
42
55
|
}
|
43
56
|
_;
|
44
57
|
}
|
45
58
|
|
59
|
+
|
46
60
|
function initialize(
|
47
|
-
|
48
|
-
InstanceStore instanceStore,
|
49
|
-
BundleSet bundleSet,
|
50
|
-
RiskSet riskSet,
|
51
|
-
InstanceReader instanceReader,
|
61
|
+
InstanceContracts memory instanceContracts,
|
52
62
|
IRegistry registry,
|
53
63
|
VersionPart release,
|
54
|
-
address initialOwner
|
64
|
+
address initialOwner,
|
65
|
+
bool tokenRegistryDisabled // only disable for testing
|
55
66
|
)
|
56
67
|
external
|
57
68
|
initializer()
|
58
69
|
{
|
59
|
-
if(address(instanceAdmin) == address(0)) {
|
70
|
+
if(address(instanceContracts.instanceAdmin) == address(0)) {
|
60
71
|
revert ErrorInstanceInstanceAdminZero();
|
61
72
|
}
|
62
73
|
|
63
|
-
_instanceAdmin = instanceAdmin;
|
74
|
+
_instanceAdmin = instanceContracts.instanceAdmin;
|
64
75
|
|
65
76
|
// setup instance object info
|
66
|
-
__Registerable_init(
|
67
|
-
instanceAdmin.authority(),
|
68
|
-
address(registry),
|
69
|
-
registry.getNftId(),
|
70
|
-
INSTANCE(),
|
71
|
-
|
72
|
-
initialOwner,
|
73
|
-
"");
|
77
|
+
__Registerable_init({
|
78
|
+
authority: instanceContracts.instanceAdmin.authority(),
|
79
|
+
registry: address(registry),
|
80
|
+
parentNftId: registry.getNftId(),
|
81
|
+
objectType: INSTANCE(),
|
82
|
+
isInterceptor: false,
|
83
|
+
initialOwner: initialOwner,
|
84
|
+
data: ""});
|
74
85
|
|
75
86
|
// store instance supporting contracts
|
76
|
-
_instanceStore = instanceStore;
|
77
|
-
|
78
|
-
|
79
|
-
|
87
|
+
_instanceStore = instanceContracts.instanceStore;
|
88
|
+
_productStore = instanceContracts.productStore;
|
89
|
+
_bundleSet = instanceContracts.bundleSet;
|
90
|
+
_riskSet = instanceContracts.riskSet;
|
91
|
+
_instanceReader = instanceContracts.instanceReader;
|
80
92
|
|
81
93
|
// initialize instance supporting contracts
|
82
94
|
_instanceStore.initialize();
|
83
|
-
|
84
|
-
|
95
|
+
_productStore.initialize();
|
96
|
+
_bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
97
|
+
_riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
|
85
98
|
_instanceReader.initialize();
|
86
99
|
|
87
100
|
_componentService = IComponentService(
|
@@ -94,6 +107,8 @@ contract Instance is
|
|
94
107
|
INSTANCE(),
|
95
108
|
release));
|
96
109
|
|
110
|
+
_tokenRegistryDisabled = tokenRegistryDisabled;
|
111
|
+
|
97
112
|
_registerInterface(type(IInstance).interfaceId);
|
98
113
|
}
|
99
114
|
|
@@ -148,6 +163,7 @@ contract Instance is
|
|
148
163
|
|
149
164
|
function setStakingMaxAmount(Amount maxStakedAmount)
|
150
165
|
external
|
166
|
+
restricted()
|
151
167
|
onlyOwner()
|
152
168
|
{
|
153
169
|
_instanceService.setStakingMaxAmount(maxStakedAmount);
|
@@ -157,87 +173,120 @@ contract Instance is
|
|
157
173
|
external
|
158
174
|
restricted()
|
159
175
|
onlyOwner()
|
176
|
+
returns (Amount newRewardReserveBalance)
|
160
177
|
{
|
161
178
|
address instanceOwner = msg.sender;
|
162
|
-
_instanceService.
|
179
|
+
return _instanceService.refillInstanceRewardReserves(instanceOwner, dipAmount);
|
163
180
|
}
|
164
181
|
|
165
182
|
function withdrawStakingRewardReserves(Amount dipAmount)
|
166
183
|
external
|
167
184
|
restricted()
|
168
185
|
onlyOwner()
|
169
|
-
returns (Amount
|
186
|
+
returns (Amount newRewardReserveBalance)
|
170
187
|
{
|
171
|
-
return _instanceService.
|
188
|
+
return _instanceService.withdrawInstanceRewardReserves(dipAmount);
|
172
189
|
}
|
173
190
|
|
174
191
|
//--- Roles ------------------------------------------------------------//
|
175
192
|
|
176
|
-
|
193
|
+
/// @inheritdoc IInstance
|
194
|
+
function createRole(
|
195
|
+
string memory roleName,
|
196
|
+
RoleId adminRoleId,
|
197
|
+
uint32 maxMemberCount
|
198
|
+
)
|
177
199
|
external
|
178
200
|
restricted()
|
179
201
|
onlyOwner()
|
180
|
-
returns (RoleId roleId
|
202
|
+
returns (RoleId roleId)
|
181
203
|
{
|
182
|
-
|
183
|
-
|
204
|
+
roleId = _instanceService.createRole(roleName, adminRoleId, maxMemberCount);
|
205
|
+
emit LogInstanceCustomRoleCreated(roleId, roleName, adminRoleId, maxMemberCount);
|
184
206
|
}
|
185
207
|
|
208
|
+
|
209
|
+
/// @inheritdoc IInstance
|
210
|
+
function setRoleActive(RoleId roleId, bool active)
|
211
|
+
external
|
212
|
+
restricted()
|
213
|
+
onlyCustomRoleAdmin(roleId)
|
214
|
+
{
|
215
|
+
_instanceService.setRoleActive(roleId, active);
|
216
|
+
emit LogInstanceCustomRoleActiveSet(roleId, active, msg.sender);
|
217
|
+
}
|
218
|
+
|
219
|
+
|
220
|
+
/// @inheritdoc IInstance
|
186
221
|
function grantRole(RoleId roleId, address account)
|
187
222
|
external
|
188
223
|
restricted()
|
189
|
-
|
224
|
+
onlyCustomRoleAdmin(roleId)
|
190
225
|
{
|
191
|
-
|
226
|
+
_instanceService.grantRole(roleId, account);
|
227
|
+
emit LogInstanceCustomRoleGranted(roleId, account, msg.sender);
|
192
228
|
}
|
193
229
|
|
230
|
+
|
231
|
+
/// @inheritdoc IInstance
|
194
232
|
function revokeRole(RoleId roleId, address account)
|
195
233
|
external
|
196
234
|
restricted()
|
197
|
-
|
235
|
+
onlyCustomRoleAdmin(roleId)
|
198
236
|
{
|
199
|
-
|
200
|
-
|
237
|
+
_instanceService.revokeRole(roleId, account);
|
238
|
+
emit LogInstanceCustomRoleRevoked(roleId, account, msg.sender);
|
201
239
|
}
|
202
240
|
|
203
241
|
//--- Targets ------------------------------------------------------------//
|
204
242
|
|
243
|
+
/// @inheritdoc IInstance
|
244
|
+
function createTarget(address target, string memory name)
|
245
|
+
external
|
246
|
+
restricted()
|
247
|
+
onlyOwner()
|
248
|
+
returns (RoleId targetRoleId)
|
249
|
+
{
|
250
|
+
targetRoleId = _instanceService.createTarget(target, name);
|
251
|
+
emit LogInstanceCustomTargetCreated(target, targetRoleId, name);
|
252
|
+
}
|
253
|
+
|
205
254
|
|
255
|
+
/// @inheritdoc IInstance
|
206
256
|
function setTargetLocked(address target, bool locked)
|
207
257
|
external
|
208
258
|
// not restricted(): instance owner may need to be able to unlock targets on an locked instance
|
209
259
|
onlyOwner()
|
210
260
|
{
|
211
261
|
_instanceService.setTargetLocked(target, locked);
|
262
|
+
emit LogInstanceTargetLocked(target, locked);
|
212
263
|
}
|
213
264
|
|
214
|
-
|
265
|
+
|
266
|
+
/// @inheritdoc IInstance
|
267
|
+
function authorizeFunctions(
|
268
|
+
address target,
|
269
|
+
RoleId roleId,
|
270
|
+
IAccess.FunctionInfo[] memory functions
|
271
|
+
)
|
215
272
|
external
|
216
273
|
restricted()
|
217
274
|
onlyOwner()
|
218
275
|
{
|
219
|
-
|
220
|
-
// _instanceAdmin.createTarget(target, name);
|
276
|
+
_instanceService.authorizeFunctions(target, roleId, functions);
|
221
277
|
}
|
222
278
|
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
279
|
+
|
280
|
+
/// @inheritdoc IInstance
|
281
|
+
function unauthorizeFunctions(
|
282
|
+
address target,
|
283
|
+
IAccess.FunctionInfo[] memory functions
|
284
|
+
)
|
228
285
|
external
|
229
286
|
restricted()
|
230
287
|
onlyOwner()
|
231
288
|
{
|
232
|
-
|
233
|
-
// _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
|
234
|
-
}
|
235
|
-
|
236
|
-
//--- ITransferInterceptor ----------------------------------------------//
|
237
|
-
|
238
|
-
function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
|
239
|
-
// TODO refactor
|
240
|
-
// _instanceAdmin.transferInstanceOwnerRole(from, to);
|
289
|
+
_instanceService.unauthorizeFunctions(target, functions);
|
241
290
|
}
|
242
291
|
|
243
292
|
//--- initial setup functions -------------------------------------------//
|
@@ -268,7 +317,7 @@ contract Instance is
|
|
268
317
|
return _products.length;
|
269
318
|
}
|
270
319
|
|
271
|
-
function
|
320
|
+
function getProduct(uint256 idx) external view returns (NftId productNftId) {
|
272
321
|
return _products[idx];
|
273
322
|
}
|
274
323
|
|
@@ -292,5 +341,11 @@ contract Instance is
|
|
292
341
|
return _instanceStore;
|
293
342
|
}
|
294
343
|
|
295
|
-
|
344
|
+
function getProductStore() external view returns (ProductStore) {
|
345
|
+
return _productStore;
|
346
|
+
}
|
347
|
+
|
348
|
+
function isTokenRegistryDisabled() external view returns (bool) {
|
349
|
+
return _tokenRegistryDisabled;
|
350
|
+
}
|
296
351
|
}
|