@etherisc/gif-next 0.0.2-89c8f37-711 → 0.0.2-89ff2e2-420
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 +88 -9
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1046 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +387 -112
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +164 -487
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +83 -387
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +629 -365
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +186 -128
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -198
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +437 -126
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2026 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2452 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +540 -65
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +290 -57
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +549 -166
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1689 -773
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +303 -227
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +921 -718
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +108 -355
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +91 -140
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +84 -323
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +169 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -98
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +132 -421
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +469 -344
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +161 -115
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +308 -101
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +120 -236
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +682 -340
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +110 -416
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +901 -550
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +193 -107
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +324 -180
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +122 -100
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +261 -439
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +443 -235
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +158 -124
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +272 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +319 -16
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +376 -102
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +245 -233
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +482 -303
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +159 -109
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +224 -338
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +128 -138
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +253 -431
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +438 -647
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +140 -136
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +394 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +91 -140
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +83 -322
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +312 -133
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +155 -23
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +410 -390
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +144 -101
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +224 -171
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -95
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +456 -267
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +159 -203
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +87 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +254 -24
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +42 -90
- package/contracts/distribution/DistributionService.sol +242 -131
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +4 -11
- package/contracts/distribution/IDistributionService.sol +47 -29
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +385 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +101 -42
- package/contracts/instance/IInstanceService.sol +52 -31
- package/contracts/instance/Instance.sol +189 -97
- package/contracts/instance/InstanceAdmin.sol +275 -158
- package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
- package/contracts/instance/InstanceReader.sol +478 -251
- package/contracts/instance/InstanceService.sol +298 -229
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +23 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +3 -5
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +11 -4
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +30 -19
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +50 -29
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +7 -19
- package/contracts/oracle/OracleService.sol +117 -85
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +37 -28
- package/contracts/pool/BasicPoolAuthorization.sol +38 -11
- package/contracts/pool/BundleService.sol +200 -135
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +39 -38
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +97 -77
- package/contracts/pool/Pool.sol +145 -130
- package/contracts/pool/PoolLib.sol +359 -0
- package/contracts/pool/PoolService.sol +413 -233
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +143 -46
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +10 -13
- package/contracts/product/BasicProductAuthorization.sol +32 -12
- package/contracts/product/ClaimService.sol +385 -161
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +29 -3
- package/contracts/product/IClaimService.sol +44 -8
- package/contracts/product/IPolicyService.sol +61 -39
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
- package/contracts/product/PolicyService.sol +431 -285
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +90 -84
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +170 -99
- package/contracts/product/RiskService.sol +157 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +64 -28
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +357 -203
- package/contracts/registry/RegistryAdmin.sol +110 -287
- package/contracts/registry/RegistryAuthorization.sol +284 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +275 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +202 -57
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +65 -135
- package/contracts/shared/ComponentService.sol +411 -384
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ContractLib.sol +311 -0
- package/contracts/shared/IComponent.sol +6 -18
- package/contracts/shared/IComponentService.sol +42 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +22 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -50
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +18 -54
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +20 -35
- package/contracts/shared/TokenHandler.sol +310 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +48 -20
- package/contracts/staking/IStakingService.sol +21 -11
- package/contracts/staking/Staking.sol +198 -109
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +40 -24
- package/contracts/staking/StakingService.sol +96 -39
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +3 -2
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +73 -37
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +25 -1
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +4 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +81 -45
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/product/ProductService.sol +0 -99
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/shared/ComponentVerifyingService.sol +0 -117
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,19 +1,18 @@
|
|
1
1
|
// SPDX-License-Identifier: UNLICENSED
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
6
|
-
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
7
|
-
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
8
|
-
import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
|
4
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
9
5
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
10
|
-
import {
|
6
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
11
7
|
import {IRegistry} from "../registry/IRegistry.sol";
|
12
8
|
import {IInstance} from "./IInstance.sol";
|
13
|
-
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
9
|
+
|
10
|
+
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
12
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
13
|
+
import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
14
|
+
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
15
|
+
import {Str} from "../type/String.sol";
|
17
16
|
import {VersionPart} from "../type/Version.sol";
|
18
17
|
|
19
18
|
|
@@ -21,90 +20,129 @@ contract InstanceAdmin is
|
|
21
20
|
AccessAdmin
|
22
21
|
{
|
23
22
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
24
|
-
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
25
23
|
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
24
|
+
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
26
25
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
26
|
+
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
27
27
|
|
28
|
-
|
28
|
+
// onlyInstanceService
|
29
|
+
error ErrorInstanceAdminNotInstanceService(address caller);
|
29
30
|
|
30
|
-
|
31
|
-
error
|
32
|
-
error ErrorInstanceAdminReleaseMismatch();
|
33
|
-
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
31
|
+
// authorizeFunctions
|
32
|
+
error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
|
34
33
|
|
35
|
-
IInstance _instance;
|
34
|
+
IInstance internal _instance;
|
36
35
|
IRegistry internal _registry;
|
37
|
-
|
36
|
+
VersionPart internal _release;
|
38
37
|
|
39
|
-
|
38
|
+
uint64 internal _customRoleIdNext;
|
39
|
+
|
40
|
+
mapping(address target => RoleId roleId) internal _targetRoleId;
|
41
|
+
uint64 internal _components;
|
42
|
+
|
43
|
+
|
44
|
+
modifier onlyInstanceService() {
|
45
|
+
if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
|
46
|
+
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
47
|
+
}
|
48
|
+
_;
|
49
|
+
}
|
40
50
|
|
41
51
|
/// @dev Only used for master instance admin.
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
AccessAdmin()
|
47
|
-
{
|
48
|
-
_instanceAuthorization = instanceAuthorization;
|
52
|
+
constructor(address accessManager) {
|
53
|
+
initialize(
|
54
|
+
accessManager,
|
55
|
+
"MasterInstanceAdmin");
|
49
56
|
}
|
50
57
|
|
51
|
-
|
52
|
-
///
|
53
|
-
///
|
54
|
-
/// Important:
|
55
|
-
function
|
56
|
-
|
57
|
-
|
58
|
+
|
59
|
+
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
60
|
+
/// Important: Initialization of instance admin is only complete after calling this function.
|
61
|
+
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
62
|
+
function completeSetup(
|
63
|
+
address registry,
|
64
|
+
address authorization,
|
65
|
+
VersionPart release,
|
66
|
+
address instance
|
58
67
|
)
|
59
68
|
external
|
60
|
-
|
69
|
+
reinitializer(uint64(release.toInt()))
|
70
|
+
onlyDeployer()
|
61
71
|
{
|
62
|
-
//
|
63
|
-
|
72
|
+
// checks
|
73
|
+
AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
|
64
74
|
|
65
|
-
|
66
|
-
|
75
|
+
AccessManagerCloneable(
|
76
|
+
authority()).completeSetup(
|
77
|
+
registry,
|
78
|
+
release);
|
67
79
|
|
68
|
-
|
69
|
-
_instanceAuthorization = IModuleAuthorization(instanceAuthorization);
|
70
|
-
}
|
80
|
+
_checkAuthorization(authorization, INSTANCE(), release, false, true);
|
71
81
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
{
|
76
|
-
if (address(_registry) != address(0) && !_registry.isRegistered(target)) {
|
77
|
-
revert ErrorInstanceAdminNotRegistered(target);
|
78
|
-
}
|
82
|
+
// effects
|
83
|
+
_registry = IRegistry(registry);
|
84
|
+
_release = release;
|
79
85
|
|
80
|
-
|
81
|
-
|
82
|
-
|
86
|
+
_instance = IInstance(instance);
|
87
|
+
_authorization = IAuthorization(authorization);
|
88
|
+
_components = 0;
|
89
|
+
_customRoleIdNext = 0;
|
90
|
+
|
91
|
+
// link nft ownability to instance
|
92
|
+
_linkToNftOwnable(instance);
|
93
|
+
|
94
|
+
// setup instance targets
|
95
|
+
_createInstanceTargets(_authorization.getMainTargetName());
|
96
|
+
|
97
|
+
// setup non-contract roles
|
98
|
+
_setupServiceRoles(_authorization);
|
99
|
+
_createRoles(_authorization);
|
100
|
+
|
101
|
+
// authorize functions of instance contracts
|
102
|
+
_createTargetAuthorizations(_authorization);
|
83
103
|
}
|
84
104
|
|
85
|
-
/// @dev Completes the initialization of this instance admin using the provided instance.
|
86
|
-
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
87
|
-
function initializeInstanceAuthorization(address instanceAddress)
|
88
|
-
external
|
89
|
-
{
|
90
|
-
_checkTargetIsReadyForAuthorization(instanceAddress);
|
91
105
|
|
92
|
-
|
93
|
-
|
94
|
-
|
106
|
+
/// @dev grants the service roles to the service addresses based on the authorization specification.
|
107
|
+
/// Service addresses used for the granting are determined by the registry and the release of this instance.
|
108
|
+
function _setupServiceRoles(IAuthorization authorization)
|
109
|
+
internal
|
110
|
+
{
|
111
|
+
ObjectType[] memory serviceDomains = authorization.getServiceDomains();
|
112
|
+
|
113
|
+
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
114
|
+
ObjectType serviceDomain = serviceDomains[i];
|
115
|
+
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
116
|
+
string memory serviceRoleName = authorization.getRoleName(serviceRoleId);
|
117
|
+
|
118
|
+
// create service role if missing
|
119
|
+
if (!roleExists(serviceRoleId)) {
|
120
|
+
_createRole(
|
121
|
+
serviceRoleId,
|
122
|
+
AccessAdminLib.toRole(
|
123
|
+
ADMIN_ROLE(),
|
124
|
+
IAccess.RoleType.Contract,
|
125
|
+
1,
|
126
|
+
serviceRoleName));
|
127
|
+
}
|
95
128
|
|
96
|
-
|
97
|
-
|
98
|
-
|
129
|
+
// grant service role to service
|
130
|
+
address service = _registry.getServiceAddress(serviceDomain, _release);
|
131
|
+
_grantRoleToAccount(
|
132
|
+
serviceRoleId,
|
133
|
+
service);
|
99
134
|
}
|
135
|
+
}
|
100
136
|
|
101
|
-
// add instance authorization
|
102
|
-
_createRoles(_instanceAuthorization);
|
103
|
-
_createModuleTargetsWithRoles();
|
104
|
-
_createTargetAuthorizations(_instanceAuthorization);
|
105
137
|
|
106
|
-
|
107
|
-
|
138
|
+
function _createInstanceTargets(string memory instanceTargetName)
|
139
|
+
internal
|
140
|
+
{
|
141
|
+
_createManagedTarget(address(_instance), instanceTargetName, TargetType.Instance);
|
142
|
+
_createManagedTarget(address(this), INSTANCE_ADMIN_TARGET_NAME, TargetType.Instance);
|
143
|
+
_createManagedTarget(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME, TargetType.Instance);
|
144
|
+
_createManagedTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME, TargetType.Instance);
|
145
|
+
_createManagedTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME, TargetType.Instance);
|
108
146
|
}
|
109
147
|
|
110
148
|
|
@@ -112,48 +150,76 @@ contract InstanceAdmin is
|
|
112
150
|
/// Important: The component MUST be registered.
|
113
151
|
function initializeComponentAuthorization(
|
114
152
|
address componentAddress,
|
115
|
-
|
153
|
+
ObjectType expectedType
|
116
154
|
)
|
117
155
|
external
|
156
|
+
restricted()
|
118
157
|
{
|
119
|
-
|
158
|
+
// checks
|
159
|
+
AccessAdminLib.checkIsRegistered(address(getRegistry()), componentAddress, expectedType);
|
120
160
|
|
121
|
-
|
161
|
+
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
162
|
+
IAuthorization authorization = component.getAuthorization();
|
163
|
+
_checkAuthorization(address(authorization), expectedType, getRelease(), false, false);
|
122
164
|
|
123
|
-
//
|
124
|
-
|
125
|
-
|
126
|
-
authorization.getTargetName(),
|
127
|
-
true, // checkAuthority
|
128
|
-
false); // custom
|
129
|
-
|
130
|
-
_grantRoleToAccount(
|
131
|
-
authorization.getTargetRole(
|
132
|
-
authorization.getTarget()),
|
133
|
-
componentAddress);
|
134
|
-
|
165
|
+
// effects
|
166
|
+
_createRoles(authorization);
|
167
|
+
_createManagedTarget(componentAddress, authorization.getMainTargetName(), TargetType.Component);
|
135
168
|
_createTargetAuthorizations(authorization);
|
169
|
+
|
170
|
+
// increase component count
|
171
|
+
_components++;
|
136
172
|
}
|
137
173
|
|
174
|
+
function getRelease()
|
175
|
+
public
|
176
|
+
view
|
177
|
+
override
|
178
|
+
returns (VersionPart release)
|
179
|
+
{
|
180
|
+
return _release;
|
181
|
+
}
|
138
182
|
|
139
|
-
|
140
|
-
|
183
|
+
|
184
|
+
/// @dev Creates a custom role.
|
185
|
+
function createRole(
|
186
|
+
string memory name,
|
187
|
+
RoleId adminRoleId,
|
188
|
+
uint32 maxMemberCount
|
189
|
+
)
|
190
|
+
external
|
191
|
+
restricted()
|
192
|
+
returns (RoleId roleId)
|
141
193
|
{
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
194
|
+
// check role does not yet exist
|
195
|
+
if (roleExists(name)) {
|
196
|
+
revert ErrorAccessAdminRoleAlreadyCreated(
|
197
|
+
getRoleForName(name),
|
198
|
+
name);
|
199
|
+
}
|
200
|
+
|
201
|
+
// create roleId
|
202
|
+
roleId = AccessAdminLib.getCustomRoleId(_customRoleIdNext++);
|
203
|
+
|
204
|
+
// create role
|
205
|
+
_createRole(
|
206
|
+
roleId,
|
207
|
+
AccessAdminLib.toRole(
|
208
|
+
adminRoleId,
|
209
|
+
IAccess.RoleType.Custom,
|
210
|
+
maxMemberCount,
|
211
|
+
name));
|
147
212
|
}
|
148
213
|
|
149
|
-
/// @dev Creates a custom role
|
150
|
-
// TODO implement
|
151
|
-
// function createRole()
|
152
|
-
// external
|
153
|
-
// restricted()
|
154
|
-
// {
|
155
214
|
|
156
|
-
|
215
|
+
/// @dev Activtes/pauses the specified role.
|
216
|
+
function setRoleActive(RoleId roleId, bool active)
|
217
|
+
external
|
218
|
+
restricted()
|
219
|
+
{
|
220
|
+
_setRoleActive(roleId, active);
|
221
|
+
}
|
222
|
+
|
157
223
|
|
158
224
|
/// @dev Grants the provided role to the specified account
|
159
225
|
function grantRole(
|
@@ -165,28 +231,125 @@ contract InstanceAdmin is
|
|
165
231
|
_grantRoleToAccount(roleId, account);
|
166
232
|
}
|
167
233
|
|
234
|
+
|
235
|
+
/// @dev Revokes the provided role from the specified account
|
236
|
+
function revokeRole(
|
237
|
+
RoleId roleId,
|
238
|
+
address account)
|
239
|
+
external
|
240
|
+
restricted()
|
241
|
+
{
|
242
|
+
_revokeRoleFromAccount(roleId, account);
|
243
|
+
}
|
244
|
+
|
245
|
+
|
246
|
+
/// @dev Create a new custom target.
|
247
|
+
/// The target needs to be an access managed contract.
|
248
|
+
function createTarget(
|
249
|
+
address target,
|
250
|
+
string memory name
|
251
|
+
)
|
252
|
+
external
|
253
|
+
restricted()
|
254
|
+
returns (RoleId contractRoleId)
|
255
|
+
{
|
256
|
+
return _createManagedTarget(
|
257
|
+
target,
|
258
|
+
name,
|
259
|
+
TargetType.Custom);
|
260
|
+
}
|
261
|
+
|
262
|
+
|
263
|
+
/// @dev Add function authorizations for the specified component or custom target.
|
264
|
+
function authorizeFunctions(
|
265
|
+
address target,
|
266
|
+
RoleId roleId,
|
267
|
+
IAccess.FunctionInfo[] memory functions
|
268
|
+
)
|
269
|
+
external
|
270
|
+
restricted()
|
271
|
+
{
|
272
|
+
_checkComponentOrCustomTarget(target);
|
273
|
+
_authorizeTargetFunctions(target, roleId, functions, true);
|
274
|
+
}
|
275
|
+
|
276
|
+
|
277
|
+
/// @dev Removes function authorizations for the specified component or custom target.
|
278
|
+
function unauthorizeFunctions(
|
279
|
+
address target,
|
280
|
+
IAccess.FunctionInfo[] memory functions
|
281
|
+
)
|
282
|
+
external
|
283
|
+
restricted()
|
284
|
+
{
|
285
|
+
_checkComponentOrCustomTarget(target);
|
286
|
+
_authorizeTargetFunctions(target, ADMIN_ROLE(), functions, false);
|
287
|
+
}
|
288
|
+
|
289
|
+
|
290
|
+
/// @dev locks the instance and all its releated targets including component and custom targets.
|
291
|
+
function setInstanceLocked(bool locked)
|
292
|
+
external
|
293
|
+
// not restricted(): need to operate on locked instances to unlock instance
|
294
|
+
onlyInstanceService()
|
295
|
+
{
|
296
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
297
|
+
accessManager.setLocked(locked);
|
298
|
+
}
|
299
|
+
|
300
|
+
|
301
|
+
function setTargetLocked(address target, bool locked)
|
302
|
+
external
|
303
|
+
// not restricted(): might need to operate on targets while instance is locked
|
304
|
+
onlyInstanceService()
|
305
|
+
{
|
306
|
+
_setTargetLocked(target, locked);
|
307
|
+
}
|
308
|
+
|
309
|
+
|
310
|
+
function setComponentLocked(address target, bool locked)
|
311
|
+
external
|
312
|
+
restricted()
|
313
|
+
{
|
314
|
+
_setTargetLocked(target, locked);
|
315
|
+
}
|
316
|
+
|
317
|
+
/// @dev Returns the number of components that have been registered with this instance.
|
318
|
+
function components()
|
319
|
+
external
|
320
|
+
view
|
321
|
+
returns (uint64)
|
322
|
+
{
|
323
|
+
return _components;
|
324
|
+
}
|
325
|
+
|
168
326
|
/// @dev Returns the instance authorization specification used to set up this instance admin.
|
169
327
|
function getInstanceAuthorization()
|
170
328
|
external
|
171
329
|
view
|
172
|
-
returns (
|
330
|
+
returns (IAuthorization instanceAuthorizaion)
|
173
331
|
{
|
174
|
-
return
|
332
|
+
return _authorization;
|
175
333
|
}
|
176
334
|
|
335
|
+
// ------------------- Internal functions ------------------- //
|
177
336
|
|
178
337
|
function _createRoles(IAuthorization authorization)
|
179
338
|
internal
|
180
339
|
{
|
181
340
|
RoleId[] memory roles = authorization.getRoles();
|
182
|
-
RoleId
|
183
|
-
|
341
|
+
RoleId mainTargetRoleId = authorization.getTargetRole(
|
342
|
+
authorization.getMainTarget());
|
184
343
|
|
185
344
|
for(uint256 i = 0; i < roles.length; i++) {
|
186
|
-
roleId = roles[i];
|
187
|
-
|
188
|
-
|
189
|
-
|
345
|
+
RoleId roleId = roles[i];
|
346
|
+
|
347
|
+
// skip main target role, create role if not exists
|
348
|
+
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
349
|
+
_createRole(
|
350
|
+
roleId,
|
351
|
+
authorization.getRoleInfo(roleId));
|
352
|
+
}
|
190
353
|
}
|
191
354
|
}
|
192
355
|
|
@@ -200,67 +363,21 @@ contract InstanceAdmin is
|
|
200
363
|
for(uint256 i = 0; i < targets.length; i++) {
|
201
364
|
target = targets[i];
|
202
365
|
RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
203
|
-
RoleId authorizedRole;
|
204
366
|
|
205
367
|
for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
206
|
-
|
207
|
-
|
208
|
-
_authorizeTargetFunctions(
|
209
|
-
getTargetForName(target),
|
210
|
-
authorizedRole,
|
211
|
-
authorization.getAuthorizedFunctions(
|
212
|
-
target,
|
213
|
-
authorizedRole));
|
368
|
+
_authorizeFunctions(authorization, target, authorizedRoles[j]);
|
214
369
|
}
|
215
370
|
}
|
216
371
|
}
|
217
372
|
|
218
|
-
function _checkAndCreateTargetWithRole(
|
219
|
-
address target,
|
220
|
-
string memory targetName
|
221
|
-
)
|
222
|
-
internal
|
223
|
-
{
|
224
|
-
// check that target name is defined in authorization specification
|
225
|
-
Str name = StrLib.toStr(targetName);
|
226
|
-
if (!_instanceAuthorization.targetExists(name)) {
|
227
|
-
revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
228
|
-
}
|
229
|
-
|
230
|
-
// create named target
|
231
|
-
_createTarget(
|
232
|
-
target,
|
233
|
-
targetName,
|
234
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with registry admin)
|
235
|
-
false);
|
236
|
-
|
237
|
-
// assign target role if defined
|
238
|
-
RoleId targetRoleId = _instanceAuthorization.getTargetRole(name);
|
239
|
-
if (targetRoleId != RoleIdLib.zero()) {
|
240
|
-
_grantRoleToAccount(targetRoleId, target);
|
241
|
-
}
|
242
|
-
}
|
243
373
|
|
244
|
-
function
|
374
|
+
function _checkComponentOrCustomTarget(address target)
|
245
375
|
internal
|
376
|
+
view
|
246
377
|
{
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
251
|
-
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
252
|
-
|
253
|
-
// create targets for services that need to access the module targets
|
254
|
-
ObjectType[] memory serviceDomains = _instanceAuthorization.getServiceDomains();
|
255
|
-
VersionPart release = _instanceAuthorization.getRelease();
|
256
|
-
ObjectType serviceDomain;
|
257
|
-
|
258
|
-
for (uint256 i = 0; i < serviceDomains.length; i++) {
|
259
|
-
serviceDomain = serviceDomains[i];
|
260
|
-
|
261
|
-
_checkAndCreateTargetWithRole(
|
262
|
-
_registry.getServiceAddress(serviceDomain, release),
|
263
|
-
_instanceAuthorization.getServiceTarget(serviceDomain).toString());
|
378
|
+
IAccess.TargetType targetType = getTargetInfo(target).targetType;
|
379
|
+
if (targetType != TargetType.Component && targetType != TargetType.Custom) {
|
380
|
+
revert ErrorInstanceAdminNotComponentOrCustomTarget(target);
|
264
381
|
}
|
265
382
|
}
|
266
383
|
}
|