@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
@@ -3,51 +3,33 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
5
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
6
|
-
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
7
6
|
import {IRegistry} from "../registry/IRegistry.sol";
|
8
7
|
import {IInstance} from "./IInstance.sol";
|
9
8
|
|
10
9
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
10
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
11
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
12
|
+
import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
13
|
+
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
14
|
+
import {Str} from "../type/String.sol";
|
15
|
+
import {VersionPart} from "../type/Version.sol";
|
16
|
+
import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
|
18
17
|
|
19
18
|
|
20
19
|
contract InstanceAdmin is
|
21
20
|
AccessAdmin
|
22
21
|
{
|
23
|
-
|
24
|
-
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
25
|
-
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
26
|
-
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
|
-
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
28
|
-
|
29
|
-
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
30
|
-
|
22
|
+
// onlyInstanceService
|
31
23
|
error ErrorInstanceAdminNotInstanceService(address caller);
|
32
24
|
|
33
|
-
|
34
|
-
error
|
35
|
-
error ErrorInstanceAdminAlreadyAuthorized(address instance);
|
36
|
-
|
37
|
-
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
38
|
-
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
39
|
-
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
40
|
-
|
41
|
-
error ErrorInstanceAdminReleaseMismatch();
|
42
|
-
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
25
|
+
// authorizeFunctions
|
26
|
+
error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
|
43
27
|
|
44
28
|
IInstance internal _instance;
|
45
29
|
IRegistry internal _registry;
|
46
|
-
VersionPart internal _release;
|
47
|
-
uint64 internal _customIdNext;
|
48
30
|
|
49
|
-
|
50
|
-
|
31
|
+
uint64 internal _customRoleIdNext;
|
32
|
+
|
51
33
|
|
52
34
|
modifier onlyInstanceService() {
|
53
35
|
if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
|
@@ -56,6 +38,7 @@ contract InstanceAdmin is
|
|
56
38
|
_;
|
57
39
|
}
|
58
40
|
|
41
|
+
|
59
42
|
/// @dev Only used for master instance admin.
|
60
43
|
constructor(address accessManager) {
|
61
44
|
initialize(
|
@@ -69,55 +52,82 @@ contract InstanceAdmin is
|
|
69
52
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
70
53
|
function completeSetup(
|
71
54
|
address registry,
|
72
|
-
address instance,
|
73
55
|
address authorization,
|
74
|
-
VersionPart release
|
56
|
+
VersionPart release,
|
57
|
+
address instance
|
75
58
|
)
|
76
59
|
external
|
77
60
|
reinitializer(uint64(release.toInt()))
|
78
|
-
onlyDeployer()
|
79
61
|
{
|
80
62
|
// checks
|
81
|
-
|
82
|
-
_checkIsRegistered(registry, instance, INSTANCE());
|
63
|
+
AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
|
83
64
|
|
65
|
+
// effects
|
84
66
|
AccessManagerCloneable(
|
85
67
|
authority()).completeSetup(
|
86
68
|
registry,
|
87
69
|
release);
|
88
70
|
|
89
|
-
|
71
|
+
AccessAdminLib.checkAuthorization(
|
72
|
+
address(_authorization),
|
73
|
+
authorization,
|
74
|
+
INSTANCE(), // expectedDomain
|
75
|
+
release, // expectedRelease
|
76
|
+
false, // expectServiceAuthorization
|
77
|
+
true); // checkAlreadyInitialized
|
90
78
|
|
91
|
-
// effects
|
92
79
|
_registry = IRegistry(registry);
|
93
|
-
_release = release;
|
94
|
-
|
95
80
|
_instance = IInstance(instance);
|
96
81
|
_authorization = IAuthorization(authorization);
|
97
|
-
|
98
|
-
_customIdNext = CUSTOM_ROLE_ID_MIN;
|
82
|
+
_customRoleIdNext = 0;
|
99
83
|
|
100
84
|
// link nft ownability to instance
|
101
85
|
_linkToNftOwnable(instance);
|
102
86
|
|
103
|
-
//
|
104
|
-
_setupInstance(instance);
|
105
|
-
|
106
|
-
// add instance authorization
|
87
|
+
// setup roles and services
|
107
88
|
_createRoles(_authorization);
|
108
|
-
|
109
|
-
|
89
|
+
_setupServices(_authorization);
|
90
|
+
|
91
|
+
// setup instance targets
|
92
|
+
_createInstanceTargets(_authorization.getMainTargetName());
|
93
|
+
|
94
|
+
// authorize functions of instance contracts
|
110
95
|
_createTargetAuthorizations(_authorization);
|
111
96
|
}
|
112
97
|
|
98
|
+
/// @dev grants the service roles to the service addresses based on the authorization specification.
|
99
|
+
/// Service addresses used for the granting are determined by the registry and the release of this instance.
|
100
|
+
function _setupServices(IAuthorization authorization)
|
101
|
+
internal
|
102
|
+
{
|
103
|
+
ObjectType[] memory serviceDomains = authorization.getServiceDomains();
|
104
|
+
|
105
|
+
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
106
|
+
ObjectType serviceDomain = serviceDomains[i];
|
107
|
+
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
108
|
+
address service = _registry.getServiceAddress(serviceDomain, getRelease());
|
109
|
+
|
110
|
+
_grantRoleToAccount(
|
111
|
+
serviceRoleId,
|
112
|
+
service);
|
113
|
+
}
|
114
|
+
}
|
113
115
|
|
114
|
-
|
116
|
+
|
117
|
+
function _createInstanceTargets(string memory instanceTargetName)
|
115
118
|
internal
|
116
119
|
{
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
120
|
+
_createInstanceTarget(address(_instance), instanceTargetName);
|
121
|
+
_createInstanceTarget(address(this), INSTANCE_ADMIN_TARGET_NAME);
|
122
|
+
_createInstanceTarget(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
123
|
+
_createInstanceTarget(address(_instance.getProductStore()), PRODUCT_STORE_TARGET_NAME);
|
124
|
+
_createInstanceTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
125
|
+
_createInstanceTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
function _createInstanceTarget(address target, string memory name) internal {
|
130
|
+
_createTarget(target, name, TargetType.Instance, true);
|
121
131
|
}
|
122
132
|
|
123
133
|
|
@@ -130,64 +140,49 @@ contract InstanceAdmin is
|
|
130
140
|
external
|
131
141
|
restricted()
|
132
142
|
{
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
137
|
-
IAuthorization authorization = component.getAuthorization();
|
138
|
-
_checkAuthorization(address(authorization), expectedType, getRelease(), false);
|
143
|
+
IAuthorization authorization = AccessAdminLib.checkComponentInitialization(
|
144
|
+
this, _authorization, componentAddress, expectedType);
|
139
145
|
|
140
146
|
// effects
|
141
|
-
// setup target and role for component (including token handler if applicable)
|
142
|
-
_setupComponentAndTokenHandler(component, expectedType);
|
143
|
-
|
144
|
-
// create other roles and function authorizations
|
145
147
|
_createRoles(authorization);
|
148
|
+
_createTarget(componentAddress, authorization.getMainTargetName(), TargetType.Component, true);
|
146
149
|
_createTargetAuthorizations(authorization);
|
147
150
|
}
|
148
151
|
|
149
|
-
function getRelease()
|
150
|
-
public
|
151
|
-
view
|
152
|
-
override
|
153
|
-
returns (VersionPart release)
|
154
|
-
{
|
155
|
-
return _release;
|
156
|
-
}
|
157
|
-
|
158
152
|
|
159
|
-
|
160
|
-
function
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
153
|
+
/// @dev Creates a custom role.
|
154
|
+
function createRole(
|
155
|
+
string memory name,
|
156
|
+
RoleId adminRoleId,
|
157
|
+
uint32 maxMemberCount
|
158
|
+
)
|
159
|
+
external
|
160
|
+
restricted()
|
161
|
+
returns (RoleId roleId)
|
162
|
+
{
|
163
|
+
// create roleId
|
164
|
+
roleId = AccessAdminLib.getCustomRoleId(_customRoleIdNext++);
|
165
165
|
|
166
|
+
// create role
|
166
167
|
_createRole(
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
true, // checkAuthority
|
175
|
-
false); // custom
|
176
|
-
|
177
|
-
// assign instance role to instance
|
178
|
-
_grantRoleToAccount(
|
179
|
-
instanceRoleId,
|
180
|
-
instance);
|
168
|
+
roleId,
|
169
|
+
AccessAdminLib.roleInfo(
|
170
|
+
adminRoleId,
|
171
|
+
IAccess.TargetType.Custom,
|
172
|
+
maxMemberCount,
|
173
|
+
name),
|
174
|
+
true); // revert on existing role
|
181
175
|
}
|
182
176
|
|
183
|
-
/// @dev Creates a custom role
|
184
|
-
// TODO implement
|
185
|
-
// function createRole()
|
186
|
-
// external
|
187
|
-
// restricted()
|
188
|
-
// {
|
189
177
|
|
190
|
-
|
178
|
+
/// @dev Activtes/pauses the specified role.
|
179
|
+
function setRoleActive(RoleId roleId, bool active)
|
180
|
+
external
|
181
|
+
restricted()
|
182
|
+
{
|
183
|
+
_setRoleActive(roleId, active);
|
184
|
+
}
|
185
|
+
|
191
186
|
|
192
187
|
/// @dev Grants the provided role to the specified account
|
193
188
|
function grantRole(
|
@@ -200,6 +195,61 @@ contract InstanceAdmin is
|
|
200
195
|
}
|
201
196
|
|
202
197
|
|
198
|
+
/// @dev Revokes the provided role from the specified account
|
199
|
+
function revokeRole(
|
200
|
+
RoleId roleId,
|
201
|
+
address account)
|
202
|
+
external
|
203
|
+
restricted()
|
204
|
+
{
|
205
|
+
_revokeRoleFromAccount(roleId, account);
|
206
|
+
}
|
207
|
+
|
208
|
+
|
209
|
+
/// @dev Create a new contract target.
|
210
|
+
/// The target needs to be an access managed contract.
|
211
|
+
function createTarget(
|
212
|
+
address target,
|
213
|
+
string memory name
|
214
|
+
)
|
215
|
+
external
|
216
|
+
restricted()
|
217
|
+
returns (RoleId contractRoleId)
|
218
|
+
{
|
219
|
+
return _createTarget(
|
220
|
+
target,
|
221
|
+
name,
|
222
|
+
TargetType.Contract,
|
223
|
+
true); // check authority matches
|
224
|
+
}
|
225
|
+
|
226
|
+
|
227
|
+
/// @dev Add function authorizations for the specified component or custom target.
|
228
|
+
function authorizeFunctions(
|
229
|
+
address target,
|
230
|
+
RoleId roleId,
|
231
|
+
IAccess.FunctionInfo[] memory functions
|
232
|
+
)
|
233
|
+
external
|
234
|
+
restricted()
|
235
|
+
{
|
236
|
+
_authorizeTargetFunctions(target, roleId, functions, true, true);
|
237
|
+
}
|
238
|
+
|
239
|
+
|
240
|
+
/// @dev Removes function authorizations for the specified component or custom target.
|
241
|
+
function unauthorizeFunctions(
|
242
|
+
address target,
|
243
|
+
IAccess.FunctionInfo[] memory functions
|
244
|
+
)
|
245
|
+
external
|
246
|
+
restricted()
|
247
|
+
{
|
248
|
+
_authorizeTargetFunctions(target, ADMIN_ROLE(), functions, true, false);
|
249
|
+
}
|
250
|
+
|
251
|
+
|
252
|
+
/// @dev locks the instance and all its releated targets including component and custom targets.
|
203
253
|
function setInstanceLocked(bool locked)
|
204
254
|
external
|
205
255
|
// not restricted(): need to operate on locked instances to unlock instance
|
@@ -212,28 +262,20 @@ contract InstanceAdmin is
|
|
212
262
|
|
213
263
|
function setTargetLocked(address target, bool locked)
|
214
264
|
external
|
215
|
-
// not restricted():
|
265
|
+
// not restricted(): need to operate on locked instances to unlock instance
|
216
266
|
onlyInstanceService()
|
217
267
|
{
|
218
268
|
_setTargetLocked(target, locked);
|
219
269
|
}
|
220
270
|
|
221
271
|
|
222
|
-
function
|
272
|
+
function setContractLocked(address target, bool locked)
|
223
273
|
external
|
224
|
-
restricted()
|
274
|
+
restricted() // component service
|
225
275
|
{
|
226
276
|
_setTargetLocked(target, locked);
|
227
277
|
}
|
228
278
|
|
229
|
-
/// @dev Returns the number of components that have been registered with this instance.
|
230
|
-
function components()
|
231
|
-
external
|
232
|
-
view
|
233
|
-
returns (uint64)
|
234
|
-
{
|
235
|
-
return _components;
|
236
|
-
}
|
237
279
|
|
238
280
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
239
281
|
function getInstanceAuthorization()
|
@@ -246,133 +288,6 @@ contract InstanceAdmin is
|
|
246
288
|
|
247
289
|
// ------------------- Internal functions ------------------- //
|
248
290
|
|
249
|
-
function _setupComponentAndTokenHandler(
|
250
|
-
IInstanceLinkedComponent component,
|
251
|
-
ObjectType componentType
|
252
|
-
)
|
253
|
-
internal
|
254
|
-
{
|
255
|
-
|
256
|
-
IAuthorization authorization = component.getAuthorization();
|
257
|
-
string memory targetName = authorization.getMainTargetName();
|
258
|
-
|
259
|
-
// create component role and target
|
260
|
-
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
261
|
-
|
262
|
-
// create component's target
|
263
|
-
_createTarget(
|
264
|
-
address(component),
|
265
|
-
targetName,
|
266
|
-
true, // checkAuthority
|
267
|
-
false); // custom
|
268
|
-
|
269
|
-
// create component's token handler target if app
|
270
|
-
if (componentType != ORACLE()) {
|
271
|
-
NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
272
|
-
address tokenHandler = address(
|
273
|
-
_instance.getInstanceReader().getComponentInfo(
|
274
|
-
componentNftId).tokenHandler);
|
275
|
-
|
276
|
-
_createTarget(
|
277
|
-
tokenHandler,
|
278
|
-
authorization.getTokenHandlerName(),
|
279
|
-
true,
|
280
|
-
false);
|
281
|
-
|
282
|
-
// token handler does not require its own role
|
283
|
-
// token handler is not calling other components
|
284
|
-
}
|
285
|
-
|
286
|
-
// assign component role to component
|
287
|
-
_grantRoleToAccount(
|
288
|
-
componentRoleId,
|
289
|
-
address(component));
|
290
|
-
}
|
291
|
-
|
292
|
-
|
293
|
-
function _createComponentRoleId(
|
294
|
-
IInstanceLinkedComponent component,
|
295
|
-
IAuthorization authorization
|
296
|
-
)
|
297
|
-
internal
|
298
|
-
returns (RoleId componentRoleId)
|
299
|
-
{
|
300
|
-
// checks
|
301
|
-
// check component is not yet authorized
|
302
|
-
if (_targetRoleId[address(component)].gtz()) {
|
303
|
-
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
304
|
-
}
|
305
|
-
|
306
|
-
// check generic component role
|
307
|
-
RoleId genericComponentRoleId = authorization.getTargetRole(
|
308
|
-
authorization.getMainTarget());
|
309
|
-
|
310
|
-
if (!genericComponentRoleId.isComponentRole()) {
|
311
|
-
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
312
|
-
}
|
313
|
-
|
314
|
-
// check component role does not exist
|
315
|
-
componentRoleId = toComponentRole(
|
316
|
-
genericComponentRoleId,
|
317
|
-
_components);
|
318
|
-
|
319
|
-
if (roleExists(componentRoleId)) {
|
320
|
-
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
321
|
-
}
|
322
|
-
|
323
|
-
// check role info
|
324
|
-
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
325
|
-
genericComponentRoleId);
|
326
|
-
|
327
|
-
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
328
|
-
revert ErrorInstanceAdminRoleTypeNotContract(
|
329
|
-
componentRoleId,
|
330
|
-
roleInfo.roleType);
|
331
|
-
}
|
332
|
-
|
333
|
-
// effects
|
334
|
-
_targetRoleId[address(component)] = componentRoleId;
|
335
|
-
_components++;
|
336
|
-
|
337
|
-
_createRole(
|
338
|
-
componentRoleId,
|
339
|
-
roleInfo);
|
340
|
-
}
|
341
|
-
|
342
|
-
|
343
|
-
function _createRoles(IAuthorization authorization)
|
344
|
-
internal
|
345
|
-
{
|
346
|
-
RoleId[] memory roles = authorization.getRoles();
|
347
|
-
RoleId mainTargetRoleId = authorization.getTargetRole(
|
348
|
-
authorization.getMainTarget());
|
349
|
-
|
350
|
-
RoleId roleId;
|
351
|
-
RoleInfo memory roleInfo;
|
352
|
-
|
353
|
-
for(uint256 i = 0; i < roles.length; i++) {
|
354
|
-
|
355
|
-
roleId = roles[i];
|
356
|
-
|
357
|
-
// skip main target role, create role if not exists
|
358
|
-
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
359
|
-
_createRole(
|
360
|
-
roleId,
|
361
|
-
authorization.getRoleInfo(roleId));
|
362
|
-
}
|
363
|
-
}
|
364
|
-
}
|
365
|
-
|
366
|
-
|
367
|
-
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
368
|
-
internal
|
369
|
-
pure
|
370
|
-
returns (RoleId)
|
371
|
-
{
|
372
|
-
return RoleIdLib.toRoleId(
|
373
|
-
RoleIdLib.toInt(roleId) + componentIdx);
|
374
|
-
}
|
375
|
-
|
376
291
|
|
377
292
|
function _createTargetAuthorizations(IAuthorization authorization)
|
378
293
|
internal
|
@@ -383,68 +298,10 @@ contract InstanceAdmin is
|
|
383
298
|
for(uint256 i = 0; i < targets.length; i++) {
|
384
299
|
target = targets[i];
|
385
300
|
RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
386
|
-
RoleId authorizedRole;
|
387
301
|
|
388
302
|
for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
389
|
-
|
390
|
-
|
391
|
-
_authorizeTargetFunctions(
|
392
|
-
getTargetForName(target),
|
393
|
-
authorizedRole,
|
394
|
-
authorization.getAuthorizedFunctions(
|
395
|
-
target,
|
396
|
-
authorizedRole));
|
303
|
+
_authorizeFunctions(authorization, target, authorizedRoles[j]);
|
397
304
|
}
|
398
305
|
}
|
399
306
|
}
|
400
|
-
|
401
|
-
function _checkAndCreateTargetWithRole(
|
402
|
-
address target,
|
403
|
-
string memory targetName
|
404
|
-
)
|
405
|
-
internal
|
406
|
-
{
|
407
|
-
// check that target name is defined in authorization specification
|
408
|
-
Str name = StrLib.toStr(targetName);
|
409
|
-
if (!_authorization.targetExists(name)) {
|
410
|
-
revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
411
|
-
}
|
412
|
-
|
413
|
-
// create named target
|
414
|
-
_createTarget(
|
415
|
-
target,
|
416
|
-
targetName,
|
417
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with release admin)
|
418
|
-
false);
|
419
|
-
|
420
|
-
// assign target role if defined
|
421
|
-
RoleId targetRoleId = _authorization.getTargetRole(name);
|
422
|
-
if (targetRoleId != RoleIdLib.zero()) {
|
423
|
-
_grantRoleToAccount(targetRoleId, target);
|
424
|
-
}
|
425
|
-
}
|
426
|
-
|
427
|
-
function _setupInstanceHelperTargetsWithRoles()
|
428
|
-
internal
|
429
|
-
{
|
430
|
-
|
431
|
-
// create module targets
|
432
|
-
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
433
|
-
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
434
|
-
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
435
|
-
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
436
|
-
|
437
|
-
// create targets for services that need to access the instance targets
|
438
|
-
ObjectType[] memory serviceDomains = _authorization.getServiceDomains();
|
439
|
-
VersionPart release = _authorization.getRelease();
|
440
|
-
ObjectType serviceDomain;
|
441
|
-
|
442
|
-
for (uint256 i = 0; i < serviceDomains.length; i++) {
|
443
|
-
serviceDomain = serviceDomains[i];
|
444
|
-
|
445
|
-
_checkAndCreateTargetWithRole(
|
446
|
-
_registry.getServiceAddress(serviceDomain, release),
|
447
|
-
_authorization.getServiceTarget(serviceDomain).toString());
|
448
|
-
}
|
449
|
-
}
|
450
307
|
}
|