@etherisc/gif-next 0.0.2-ffa91a6-022 → 3.0.0-04e2e0d-531
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 +131 -332
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +111 -57
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +107 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +65 -19
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +370 -141
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1582 -202
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +25 -6
- 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 +463 -149
- 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 +317 -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 +799 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +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 +2289 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +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} +84 -212
- 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/{shared/KeyValueStore.sol/KeyValueStore.json → instance/IBaseStore.sol/IBaseStore.json} +61 -245
- 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 +366 -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 +753 -401
- 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 +782 -553
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +392 -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 +1374 -2013
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3477 -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 +312 -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 +198 -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 +250 -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 +350 -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 +67 -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 +169 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +519 -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/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +39 -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 +77 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +539 -314
- 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 +551 -246
- 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 +169 -111
- 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 +221 -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/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/{ComponentVerifyingService.sol/ComponentVerifyingService.json → IAuthorizedComponent.sol/IAuthorizedComponent.json} +238 -90
- 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 +136 -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 +1415 -134
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +109 -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 +1504 -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 +143 -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 +31 -31
- package/contracts/accounting/IAccountingService.sol +9 -8
- package/contracts/authorization/AccessAdmin.sol +281 -325
- package/contracts/authorization/AccessAdminLib.sol +535 -23
- package/contracts/authorization/AccessManagerCloneable.sol +3 -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 +127 -62
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +21 -8
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/BaseStore.sol +97 -0
- package/contracts/instance/IBaseStore.sol +45 -0
- package/contracts/instance/IInstance.sol +57 -6
- package/contracts/instance/IInstanceService.sol +44 -7
- package/contracts/instance/Instance.sol +111 -56
- package/contracts/instance/InstanceAdmin.sol +150 -294
- package/contracts/instance/InstanceAuthorizationV3.sol +106 -66
- package/contracts/instance/InstanceReader.sol +384 -394
- package/contracts/instance/InstanceService.sol +190 -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 +3 -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 +6 -8
- 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 +8 -3
- package/contracts/pool/Pool.sol +6 -18
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +41 -182
- 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 +10 -3
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +41 -60
- package/contracts/product/PolicyServiceLib.sol +83 -7
- package/contracts/product/PricingService.sol +28 -31
- package/contracts/product/Product.sol +40 -16
- package/contracts/product/RiskService.sol +50 -15
- package/contracts/registry/ChainNft.sol +1 -1
- 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 +39 -118
- package/contracts/registry/RegistryAuthorization.sol +139 -69
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +59 -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 +250 -262
- package/contracts/shared/ContractLib.sol +106 -75
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +15 -15
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -5
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InstanceLinkedComponent.sol +64 -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 +263 -70
- package/contracts/staking/IStakingService.sol +40 -85
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +469 -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 +43 -186
- 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/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- 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,58 +52,84 @@ 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);
|
121
126
|
}
|
122
127
|
|
123
128
|
|
129
|
+
function _createInstanceTarget(address target, string memory name) internal {
|
130
|
+
_createTarget(target, name, TargetType.Instance, true);
|
131
|
+
}
|
132
|
+
|
124
133
|
/// @dev Initializes the authorization for the specified component.
|
125
134
|
/// Important: The component MUST be registered.
|
126
135
|
function initializeComponentAuthorization(
|
@@ -130,64 +139,49 @@ contract InstanceAdmin is
|
|
130
139
|
external
|
131
140
|
restricted()
|
132
141
|
{
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
137
|
-
IAuthorization authorization = component.getAuthorization();
|
138
|
-
_checkAuthorization(address(authorization), expectedType, getRelease(), false);
|
142
|
+
IAuthorization authorization = AccessAdminLib.checkComponentInitialization(
|
143
|
+
this, _authorization, componentAddress, expectedType);
|
139
144
|
|
140
145
|
// 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
146
|
_createRoles(authorization);
|
147
|
+
_createTarget(componentAddress, authorization.getMainTargetName(), TargetType.Component, true);
|
146
148
|
_createTargetAuthorizations(authorization);
|
147
149
|
}
|
148
150
|
|
149
|
-
function getRelease()
|
150
|
-
public
|
151
|
-
view
|
152
|
-
override
|
153
|
-
returns (VersionPart release)
|
154
|
-
{
|
155
|
-
return _release;
|
156
|
-
}
|
157
151
|
|
152
|
+
/// @dev Creates a custom role.
|
153
|
+
function createRole(
|
154
|
+
string memory name,
|
155
|
+
RoleId adminRoleId,
|
156
|
+
uint32 maxMemberCount
|
157
|
+
)
|
158
|
+
external
|
159
|
+
restricted()
|
160
|
+
returns (RoleId roleId)
|
161
|
+
{
|
162
|
+
// create roleId
|
163
|
+
roleId = AccessAdminLib.getCustomRoleId(_customRoleIdNext++);
|
158
164
|
|
159
|
-
|
160
|
-
function _setupInstance(address instance) internal {
|
161
|
-
|
162
|
-
// create instance role
|
163
|
-
RoleId instanceRoleId = _authorization.getTargetRole(
|
164
|
-
_authorization.getMainTarget());
|
165
|
-
|
165
|
+
// create role
|
166
166
|
_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);
|
167
|
+
roleId,
|
168
|
+
AccessAdminLib.roleInfo(
|
169
|
+
adminRoleId,
|
170
|
+
IAccess.TargetType.Custom,
|
171
|
+
maxMemberCount,
|
172
|
+
name),
|
173
|
+
true); // revert on existing role
|
181
174
|
}
|
182
175
|
|
183
|
-
/// @dev Creates a custom role
|
184
|
-
// TODO implement
|
185
|
-
// function createRole()
|
186
|
-
// external
|
187
|
-
// restricted()
|
188
|
-
// {
|
189
176
|
|
190
|
-
|
177
|
+
/// @dev Activtes/pauses the specified role.
|
178
|
+
function setRoleActive(RoleId roleId, bool active)
|
179
|
+
external
|
180
|
+
restricted()
|
181
|
+
{
|
182
|
+
_setRoleActive(roleId, active);
|
183
|
+
}
|
184
|
+
|
191
185
|
|
192
186
|
/// @dev Grants the provided role to the specified account
|
193
187
|
function grantRole(
|
@@ -200,6 +194,61 @@ contract InstanceAdmin is
|
|
200
194
|
}
|
201
195
|
|
202
196
|
|
197
|
+
/// @dev Revokes the provided role from the specified account
|
198
|
+
function revokeRole(
|
199
|
+
RoleId roleId,
|
200
|
+
address account)
|
201
|
+
external
|
202
|
+
restricted()
|
203
|
+
{
|
204
|
+
_revokeRoleFromAccount(roleId, account);
|
205
|
+
}
|
206
|
+
|
207
|
+
|
208
|
+
/// @dev Create a new contract target.
|
209
|
+
/// The target needs to be an access managed contract.
|
210
|
+
function createTarget(
|
211
|
+
address target,
|
212
|
+
string memory name
|
213
|
+
)
|
214
|
+
external
|
215
|
+
restricted()
|
216
|
+
returns (RoleId contractRoleId)
|
217
|
+
{
|
218
|
+
return _createTarget(
|
219
|
+
target,
|
220
|
+
name,
|
221
|
+
TargetType.Contract,
|
222
|
+
true); // check authority matches
|
223
|
+
}
|
224
|
+
|
225
|
+
|
226
|
+
/// @dev Add function authorizations for the specified component or custom target.
|
227
|
+
function authorizeFunctions(
|
228
|
+
address target,
|
229
|
+
RoleId roleId,
|
230
|
+
IAccess.FunctionInfo[] memory functions
|
231
|
+
)
|
232
|
+
external
|
233
|
+
restricted()
|
234
|
+
{
|
235
|
+
_authorizeTargetFunctions(target, roleId, functions, true, true);
|
236
|
+
}
|
237
|
+
|
238
|
+
|
239
|
+
/// @dev Removes function authorizations for the specified component or custom target.
|
240
|
+
function unauthorizeFunctions(
|
241
|
+
address target,
|
242
|
+
IAccess.FunctionInfo[] memory functions
|
243
|
+
)
|
244
|
+
external
|
245
|
+
restricted()
|
246
|
+
{
|
247
|
+
_authorizeTargetFunctions(target, ADMIN_ROLE(), functions, true, false);
|
248
|
+
}
|
249
|
+
|
250
|
+
|
251
|
+
/// @dev locks the instance and all its releated targets including component and custom targets.
|
203
252
|
function setInstanceLocked(bool locked)
|
204
253
|
external
|
205
254
|
// not restricted(): need to operate on locked instances to unlock instance
|
@@ -212,28 +261,20 @@ contract InstanceAdmin is
|
|
212
261
|
|
213
262
|
function setTargetLocked(address target, bool locked)
|
214
263
|
external
|
215
|
-
// not restricted():
|
264
|
+
// not restricted(): need to operate on locked instances to unlock instance
|
216
265
|
onlyInstanceService()
|
217
266
|
{
|
218
267
|
_setTargetLocked(target, locked);
|
219
268
|
}
|
220
269
|
|
221
270
|
|
222
|
-
function
|
271
|
+
function setContractLocked(address target, bool locked)
|
223
272
|
external
|
224
|
-
restricted()
|
273
|
+
restricted() // component service
|
225
274
|
{
|
226
275
|
_setTargetLocked(target, locked);
|
227
276
|
}
|
228
277
|
|
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
278
|
|
238
279
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
239
280
|
function getInstanceAuthorization()
|
@@ -246,133 +287,6 @@ contract InstanceAdmin is
|
|
246
287
|
|
247
288
|
// ------------------- Internal functions ------------------- //
|
248
289
|
|
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
290
|
|
377
291
|
function _createTargetAuthorizations(IAuthorization authorization)
|
378
292
|
internal
|
@@ -383,68 +297,10 @@ contract InstanceAdmin is
|
|
383
297
|
for(uint256 i = 0; i < targets.length; i++) {
|
384
298
|
target = targets[i];
|
385
299
|
RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
386
|
-
RoleId authorizedRole;
|
387
300
|
|
388
301
|
for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
389
|
-
|
390
|
-
|
391
|
-
_authorizeTargetFunctions(
|
392
|
-
getTargetForName(target),
|
393
|
-
authorizedRole,
|
394
|
-
authorization.getAuthorizedFunctions(
|
395
|
-
target,
|
396
|
-
authorizedRole));
|
302
|
+
_authorizeFunctions(authorization, target, authorizedRoles[j]);
|
397
303
|
}
|
398
304
|
}
|
399
305
|
}
|
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
306
|
}
|