@etherisc/gif-next 3.0.0-f90c901-018 → 3.0.0-fbbe3fc-042
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 +1 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +72 -139
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +116 -110
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -72
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +65 -20
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
- 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 +10 -20
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -126
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -72
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +139 -198
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -71
- 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 +104 -166
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +138 -200
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
- 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 +728 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1234 -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 +2497 -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/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 +102 -159
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +106 -163
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -171
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +26 -78
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +44 -83
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +51 -145
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +203 -77
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +75 -138
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
- 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/Cloneable.sol/Cloneable.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 +8 -3
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- 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 +81 -132
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
- 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 +66 -94
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +117 -176
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -71
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +86 -94
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +247 -24
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +165 -233
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +64 -82
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +127 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +57 -72
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +56 -155
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -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 +96 -314
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
- 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 +187 -135
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +320 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
- 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 +1 -1
- 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/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +226 -82
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
- 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 +28 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
- 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 +57 -72
- 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 +34 -15
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +56 -101
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +36 -75
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +109 -170
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -26
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +65 -132
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -27
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
- 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/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
- 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/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 +4 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -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 +21 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
- package/contracts/accounting/AccountingService.sol +6 -5
- package/contracts/accounting/AccountingServiceManager.sol +6 -4
- package/contracts/accounting/IAccountingService.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +43 -45
- package/contracts/authorization/AccessAdminLib.sol +29 -15
- package/contracts/authorization/AccessManagerCloneable.sol +48 -24
- package/contracts/authorization/Authorization.sol +2 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -3
- package/contracts/authorization/IServiceAuthorization.sol +1 -1
- package/contracts/authorization/ServiceAuthorization.sol +4 -4
- package/contracts/distribution/BasicDistribution.sol +2 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
- package/contracts/distribution/Distribution.sol +2 -0
- package/contracts/distribution/DistributionService.sol +20 -24
- package/contracts/distribution/DistributionServiceManager.sol +6 -4
- package/contracts/examples/fire/FirePool.sol +4 -0
- package/contracts/examples/fire/FireProduct.sol +4 -0
- package/contracts/examples/flight/FlightLib.sol +300 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightOracle.sol +171 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +53 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +685 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +69 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
- package/contracts/instance/IInstance.sol +1 -1
- package/contracts/instance/Instance.sol +12 -8
- package/contracts/instance/InstanceAdmin.sol +17 -11
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
- package/contracts/instance/InstanceReader.sol +46 -18
- package/contracts/instance/InstanceService.sol +20 -18
- package/contracts/instance/InstanceServiceManager.sol +6 -4
- package/contracts/instance/base/Cloneable.sol +10 -4
- package/contracts/instance/base/ObjectSet.sol +2 -2
- package/contracts/oracle/BasicOracle.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
- package/contracts/oracle/IOracleService.sol +16 -12
- package/contracts/oracle/Oracle.sol +4 -3
- package/contracts/oracle/OracleService.sol +67 -37
- package/contracts/oracle/OracleServiceManager.sol +6 -4
- package/contracts/pool/BasicPool.sol +4 -2
- package/contracts/pool/BasicPoolAuthorization.sol +4 -5
- package/contracts/pool/BundleService.sol +19 -25
- package/contracts/pool/BundleServiceManager.sol +7 -5
- package/contracts/pool/IPoolService.sol +6 -5
- package/contracts/pool/Pool.sol +3 -1
- package/contracts/pool/PoolLib.sol +102 -5
- package/contracts/pool/PoolService.sol +101 -67
- package/contracts/pool/PoolServiceManager.sol +6 -4
- package/contracts/product/ApplicationService.sol +34 -13
- package/contracts/product/ApplicationServiceManager.sol +6 -4
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +7 -7
- package/contracts/product/ClaimService.sol +34 -10
- package/contracts/product/ClaimServiceManager.sol +7 -5
- package/contracts/product/IPolicyService.sol +1 -0
- package/contracts/product/PolicyService.sol +57 -44
- package/contracts/product/PolicyServiceManager.sol +6 -4
- package/contracts/product/PricingService.sol +8 -7
- package/contracts/product/PricingServiceManager.sol +6 -4
- package/contracts/product/Product.sol +2 -0
- package/contracts/product/RiskService.sol +40 -8
- package/contracts/product/RiskServiceManager.sol +6 -4
- package/contracts/registry/IRegistry.sol +14 -20
- package/contracts/registry/IRegistryService.sol +14 -10
- package/contracts/registry/IRelease.sol +3 -0
- package/contracts/registry/Registry.sol +78 -124
- package/contracts/registry/RegistryAdmin.sol +29 -12
- package/contracts/registry/RegistryAuthorization.sol +3 -4
- package/contracts/registry/RegistryService.sol +82 -99
- package/contracts/registry/RegistryServiceManager.sol +11 -4
- package/contracts/registry/ReleaseAdmin.sol +23 -9
- package/contracts/registry/ReleaseRegistry.sol +74 -64
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
- package/contracts/registry/TokenRegistry.sol +15 -6
- package/contracts/shared/Component.sol +22 -27
- package/contracts/shared/ComponentService.sol +130 -45
- package/contracts/shared/ComponentServiceManager.sol +7 -5
- package/contracts/shared/ContractLib.sol +93 -359
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +3 -5
- package/contracts/shared/IComponentService.sol +14 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +3 -14
- package/contracts/shared/IRegistryLinked.sol +3 -1
- package/contracts/shared/IService.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +130 -39
- package/contracts/shared/NftOwnable.sol +22 -9
- package/contracts/shared/PolicyHolder.sol +4 -2
- package/contracts/shared/Registerable.sol +20 -37
- package/contracts/shared/RegistryLinked.sol +23 -4
- package/contracts/shared/Service.sol +9 -8
- package/contracts/shared/TokenHandler.sol +1 -4
- package/contracts/staking/IStaking.sol +2 -2
- package/contracts/staking/Staking.sol +33 -28
- package/contracts/staking/StakingLib.sol +1 -3
- package/contracts/staking/StakingManager.sol +6 -3
- package/contracts/staking/StakingReader.sol +17 -9
- package/contracts/staking/StakingService.sol +13 -16
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +8 -8
- package/contracts/staking/TargetHandler.sol +5 -4
- package/contracts/type/ObjectType.sol +2 -31
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/Seconds.sol +4 -0
- package/contracts/type/String.sol +30 -0
- package/contracts/type/Timestamp.sol +10 -1
- package/contracts/type/Version.sol +16 -15
- package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
- package/contracts/upgradeability/ProxyManager.sol +54 -46
- package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
- package/package.json +2 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
- package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
- package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
- package/contracts/shared/IVersionable.sol +0 -19
- package/contracts/shared/Versionable.sol +0 -47
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {AccountingService} from "./AccountingService.sol";
|
5
|
-
import {
|
5
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
6
6
|
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
7
7
|
|
8
8
|
contract AccountingServiceManager is ProxyManager {
|
@@ -12,17 +12,19 @@ contract AccountingServiceManager is ProxyManager {
|
|
12
12
|
/// @dev initializes proxy manager with service implementation
|
13
13
|
constructor(
|
14
14
|
address authority,
|
15
|
+
address registry,
|
15
16
|
bytes32 salt
|
16
17
|
)
|
17
18
|
{
|
18
19
|
AccountingService svc = new AccountingService();
|
19
|
-
bytes memory data = abi.encode(authority);
|
20
|
-
|
20
|
+
bytes memory data = abi.encode(authority, registry);
|
21
|
+
IVersionable versionable = initialize(
|
22
|
+
registry,
|
21
23
|
address(svc),
|
22
24
|
data,
|
23
25
|
salt);
|
24
26
|
|
25
|
-
_accountingService = AccountingService(address(
|
27
|
+
_accountingService = AccountingService(address(versionable));
|
26
28
|
}
|
27
29
|
|
28
30
|
//--- view functions ----------------------------------------------------//
|
@@ -14,14 +14,13 @@ import {AccessAdminLib} from "./AccessAdminLib.sol";
|
|
14
14
|
import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
|
15
15
|
import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
|
16
16
|
import {ContractLib} from "../shared/ContractLib.sol";
|
17
|
-
import {NftId} from "../type/NftId.sol";
|
17
|
+
import {NftId, NftIdLib} from "../type/NftId.sol";
|
18
18
|
import {ObjectType} from "../type/ObjectType.sol";
|
19
19
|
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
20
|
-
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
21
20
|
import {Selector, SelectorSetLib} from "../type/Selector.sol";
|
22
21
|
import {Str, StrLib} from "../type/String.sol";
|
23
22
|
import {TimestampLib} from "../type/Timestamp.sol";
|
24
|
-
import {
|
23
|
+
import {VersionPart} from "../type/Version.sol";
|
25
24
|
|
26
25
|
|
27
26
|
/**
|
@@ -31,7 +30,6 @@ import {VersionPartLib, VersionPart} from "../type/Version.sol";
|
|
31
30
|
*/
|
32
31
|
contract AccessAdmin is
|
33
32
|
AccessManagedUpgradeable,
|
34
|
-
RegistryLinked,
|
35
33
|
IAccessAdmin
|
36
34
|
{
|
37
35
|
using EnumerableSet for EnumerableSet.AddressSet;
|
@@ -93,16 +91,12 @@ contract AccessAdmin is
|
|
93
91
|
/// Internally initializes access manager with this admin and creates basic role setup.
|
94
92
|
function initialize(
|
95
93
|
address authority,
|
96
|
-
string memory adminName
|
97
|
-
VersionPart release
|
94
|
+
string memory adminName
|
98
95
|
)
|
99
96
|
public
|
97
|
+
initializer()
|
100
98
|
{
|
101
|
-
|
102
|
-
revert InvalidInitialization();
|
103
|
-
}
|
104
|
-
|
105
|
-
__AccessAdmin_init(authority, adminName, release);
|
99
|
+
__AccessAdmin_init(authority, adminName);
|
106
100
|
}
|
107
101
|
|
108
102
|
|
@@ -112,16 +106,14 @@ contract AccessAdmin is
|
|
112
106
|
/// - this function as well as any completeSetup functions MUST be called in the same tx.
|
113
107
|
function __AccessAdmin_init(
|
114
108
|
address authority,
|
115
|
-
string memory adminName
|
116
|
-
VersionPart release
|
109
|
+
string memory adminName
|
117
110
|
)
|
118
111
|
internal
|
119
|
-
|
112
|
+
onlyInitializing()
|
120
113
|
{
|
121
114
|
AccessAdminLib.checkInitParameters(authority, adminName);
|
122
|
-
|
123
115
|
_authority = AccessManagerCloneable(authority);
|
124
|
-
_authority.initialize(address(this)
|
116
|
+
_authority.initialize(address(this));
|
125
117
|
|
126
118
|
// delayed additional check for authority after its initialization
|
127
119
|
if (!ContractLib.isAuthority(authority)) {
|
@@ -129,7 +121,7 @@ contract AccessAdmin is
|
|
129
121
|
}
|
130
122
|
|
131
123
|
// effects
|
132
|
-
// set and initialize this contract as
|
124
|
+
// set and initialize this access manager contract as
|
133
125
|
// the admin (ADMIN_ROLE) of the provided authority
|
134
126
|
__AccessManaged_init(authority);
|
135
127
|
|
@@ -137,7 +129,7 @@ contract AccessAdmin is
|
|
137
129
|
_adminName = adminName;
|
138
130
|
|
139
131
|
// set initial linked NFT ID to zero
|
140
|
-
|
132
|
+
_linkedNftId = NftIdLib.zero();
|
141
133
|
|
142
134
|
// setup admin role
|
143
135
|
_createRoleUnchecked(
|
@@ -157,7 +149,12 @@ contract AccessAdmin is
|
|
157
149
|
//--- view functions for access admin ---------------------------------------//
|
158
150
|
|
159
151
|
function getRelease() public view virtual returns (VersionPart release) {
|
160
|
-
return
|
152
|
+
return _authority.getRelease();
|
153
|
+
}
|
154
|
+
|
155
|
+
|
156
|
+
function getRegistry() public view returns (IRegistry registry) {
|
157
|
+
return _authority.getRegistry();
|
161
158
|
}
|
162
159
|
|
163
160
|
|
@@ -282,10 +279,11 @@ contract AccessAdmin is
|
|
282
279
|
{
|
283
280
|
Selector selector = SelectorSetLib.at(_targetFunctions[target], idx);
|
284
281
|
func = _functionInfo[target][selector];
|
285
|
-
roleId =
|
286
|
-
|
287
|
-
|
288
|
-
|
282
|
+
roleId = AccessAdminLib.getFunctionRoleId(_authority, target, selector);
|
283
|
+
// roleId = RoleIdLib.toRoleId(
|
284
|
+
// _authority.getTargetFunctionRole(
|
285
|
+
// target,
|
286
|
+
// selector.toBytes4()));
|
289
287
|
}
|
290
288
|
|
291
289
|
|
@@ -300,12 +298,11 @@ contract AccessAdmin is
|
|
300
298
|
//--- internal/private functions -------------------------------------------------//
|
301
299
|
|
302
300
|
function _linkToNftOwnable(address registerable) internal {
|
303
|
-
|
304
|
-
if (nftId.eqz()) {
|
301
|
+
if (!getRegistry().isRegistered(registerable)) {
|
305
302
|
revert ErrorAccessAdminNotRegistered(registerable);
|
306
303
|
}
|
307
304
|
|
308
|
-
_linkedNftId =
|
305
|
+
_linkedNftId = getRegistry().getNftIdForAddress(registerable);
|
309
306
|
}
|
310
307
|
|
311
308
|
|
@@ -322,7 +319,7 @@ contract AccessAdmin is
|
|
322
319
|
(RoleId roleId, bool exists) = getRoleForName(roleInfo.name.toString());
|
323
320
|
|
324
321
|
if (!exists) {
|
325
|
-
if (!AccessAdminLib.isDynamicRoleId(authzRoleId)) {
|
322
|
+
if (!AccessAdminLib.isDynamicRoleId(authzRoleId) || roleInfo.targetType == TargetType.Custom) {
|
326
323
|
roleId = authzRoleId;
|
327
324
|
}
|
328
325
|
|
@@ -662,22 +659,23 @@ contract AccessAdmin is
|
|
662
659
|
}
|
663
660
|
|
664
661
|
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
662
|
+
// TODO cleanup
|
663
|
+
// function _checkAuthorization(
|
664
|
+
// address authorization,
|
665
|
+
// ObjectType expectedDomain,
|
666
|
+
// VersionPart expectedRelease,
|
667
|
+
// bool expectServiceAuthorization,
|
668
|
+
// bool checkAlreadyInitialized
|
669
|
+
// )
|
670
|
+
// internal
|
671
|
+
// view
|
672
|
+
// {
|
673
|
+
// AccessAdminLib.checkAuthorization(
|
674
|
+
// _authorization,
|
675
|
+
// authorization,
|
676
|
+
// expectedDomain,
|
677
|
+
// expectedRelease,
|
678
|
+
// expectServiceAuthorization,
|
679
|
+
// checkAlreadyInitialized);
|
680
|
+
// }
|
683
681
|
}
|
@@ -7,16 +7,17 @@ import {IAccess} from "./IAccess.sol";
|
|
7
7
|
import {IAccessAdmin} from "./IAccessAdmin.sol";
|
8
8
|
import {IAuthorization} from "./IAuthorization.sol";
|
9
9
|
import {IComponent} from "../shared/IComponent.sol";
|
10
|
-
import {
|
10
|
+
import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
|
11
11
|
import {IRegistry} from "../registry/IRegistry.sol";
|
12
12
|
import {IService} from "../shared/IService.sol";
|
13
13
|
import {IServiceAuthorization} from "./IServiceAuthorization.sol";
|
14
14
|
|
15
|
+
import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
|
15
16
|
import {BlocknumberLib} from "../type/Blocknumber.sol";
|
16
17
|
import {ContractLib} from "../shared/ContractLib.sol";
|
17
18
|
import {ObjectType} from "../type/ObjectType.sol";
|
18
19
|
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
19
|
-
import {SelectorLib} from "../type/Selector.sol";
|
20
|
+
import {Selector, SelectorLib} from "../type/Selector.sol";
|
20
21
|
import {Str, StrLib} from "../type/String.sol";
|
21
22
|
import {TimestampLib} from "../type/Timestamp.sol";
|
22
23
|
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
@@ -335,10 +336,10 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
335
336
|
view
|
336
337
|
returns (IAuthorization componentAuthorization)
|
337
338
|
{
|
338
|
-
|
339
|
-
checkIsRegistered(componentAddress, expectedType, expecteRelease);
|
339
|
+
checkIsRegistered(address(accessAdmin.getRegistry()), componentAddress, expectedType);
|
340
340
|
|
341
|
-
|
341
|
+
VersionPart expecteRelease = accessAdmin.getRelease();
|
342
|
+
IAuthorizedComponent component = IAuthorizedComponent(componentAddress);
|
342
343
|
componentAuthorization = component.getAuthorization();
|
343
344
|
|
344
345
|
checkAuthorization(
|
@@ -435,25 +436,22 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
435
436
|
|
436
437
|
|
437
438
|
function checkIsRegistered(
|
439
|
+
address registry,
|
438
440
|
address target,
|
439
|
-
ObjectType expectedType
|
440
|
-
VersionPart expectedRelease
|
441
|
+
ObjectType expectedType
|
441
442
|
)
|
442
443
|
public
|
443
444
|
view
|
444
445
|
{
|
445
|
-
|
446
|
+
checkRegistry(registry);
|
446
447
|
|
447
|
-
|
448
|
+
ObjectType tagetType = IRegistry(registry).getObjectInfo(target).objectType;
|
449
|
+
if (tagetType.eqz()) {
|
448
450
|
revert IAccessAdmin.ErrorAccessAdminNotRegistered(target);
|
449
451
|
}
|
450
452
|
|
451
|
-
if (
|
452
|
-
revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType,
|
453
|
-
}
|
454
|
-
|
455
|
-
if (info.release != expectedRelease) {
|
456
|
-
revert IAccessAdmin.ErrorAccessAdminTargetReleaseMismatch(target, expectedRelease, info.release);
|
453
|
+
if (tagetType != expectedType) {
|
454
|
+
revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType, tagetType);
|
457
455
|
}
|
458
456
|
}
|
459
457
|
|
@@ -484,6 +482,22 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
484
482
|
}
|
485
483
|
|
486
484
|
|
485
|
+
function getFunctionRoleId(
|
486
|
+
AccessManagerCloneable authority,
|
487
|
+
address target,
|
488
|
+
Selector selector
|
489
|
+
)
|
490
|
+
public
|
491
|
+
view
|
492
|
+
returns (RoleId functionRoleId)
|
493
|
+
{
|
494
|
+
return RoleIdLib.toRoleId(
|
495
|
+
authority.getTargetFunctionRole(
|
496
|
+
target,
|
497
|
+
selector.toBytes4()));
|
498
|
+
}
|
499
|
+
|
500
|
+
|
487
501
|
function getServiceRoleId(
|
488
502
|
address serviceAddress,
|
489
503
|
IAccess.TargetType serviceTargetType
|
@@ -4,9 +4,9 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
|
5
5
|
import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
|
6
6
|
|
7
|
-
import {IAccessAdmin} from "./IAccessAdmin.sol";
|
8
7
|
import {InitializableERC165} from "../shared/InitializableERC165.sol";
|
9
|
-
import {
|
8
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
9
|
+
import {VersionPart} from "../type/Version.sol";
|
10
10
|
|
11
11
|
|
12
12
|
/// @dev An AccessManager based on OpenZeppelin that is cloneable and has a central lock property.
|
@@ -14,7 +14,8 @@ import {VersionPartLib, VersionPart} from "../type/Version.sol";
|
|
14
14
|
/// Cloned by upon release preparation and instance cloning.
|
15
15
|
contract AccessManagerCloneable is
|
16
16
|
AccessManagerUpgradeable,
|
17
|
-
InitializableERC165
|
17
|
+
InitializableERC165,
|
18
|
+
RegistryLinked
|
18
19
|
{
|
19
20
|
error ErrorAccessManagerCallerNotAdmin(address caller);
|
20
21
|
error ErrorAccessManagerRegistryAlreadySet(address registry);
|
@@ -23,6 +24,7 @@ contract AccessManagerCloneable is
|
|
23
24
|
error ErrorAccessManagerTargetAdminLocked(address target);
|
24
25
|
error ErrorAccessManagerCallerAdminLocked(address caller);
|
25
26
|
|
27
|
+
VersionPart private _release;
|
26
28
|
bool private _isLocked;
|
27
29
|
|
28
30
|
|
@@ -34,36 +36,34 @@ contract AccessManagerCloneable is
|
|
34
36
|
_;
|
35
37
|
}
|
36
38
|
|
37
|
-
function initialize(address adminAddress, VersionPart release)
|
38
|
-
public
|
39
39
|
|
40
|
+
function initialize(address admin)
|
41
|
+
public
|
42
|
+
initializer()
|
40
43
|
{
|
41
|
-
|
42
|
-
|
43
|
-
}
|
44
|
+
__ERC165_init();
|
45
|
+
__AccessManager_init(admin);
|
44
46
|
|
45
|
-
|
47
|
+
_registerInterface(type(IAccessManager).interfaceId);
|
46
48
|
}
|
47
49
|
|
48
|
-
|
49
|
-
|
50
|
+
|
51
|
+
/// @dev Completes the setup of the access manager.
|
52
|
+
/// Links the access manager to the registry and sets the release version.
|
53
|
+
function completeSetup(
|
54
|
+
address registry,
|
50
55
|
VersionPart release
|
51
56
|
)
|
52
|
-
|
53
|
-
|
57
|
+
external
|
58
|
+
onlyAdminRole
|
59
|
+
reinitializer(uint64(release.toInt()))
|
54
60
|
{
|
55
|
-
|
56
|
-
|
57
|
-
}
|
58
|
-
|
59
|
-
__ERC165_init();
|
60
|
-
__AccessManager_init(admin);
|
61
|
-
|
62
|
-
_registerInterface(type(IAccessManager).interfaceId);
|
61
|
+
_checkAndSetRegistry(registry);
|
62
|
+
_checkAndSetRelease(release);
|
63
63
|
}
|
64
64
|
|
65
65
|
/// @dev Returns true if the caller is authorized to call the target with the given selector and the manager lock is not set to locked.
|
66
|
-
///
|
66
|
+
/// Feturn values as in OpenZeppelin AccessManager.
|
67
67
|
/// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
|
68
68
|
function canCall(
|
69
69
|
address caller,
|
@@ -101,10 +101,10 @@ contract AccessManagerCloneable is
|
|
101
101
|
/// For the registry admin release 3 is returned.
|
102
102
|
/// For the release admin and the instance admin the actual release version is returned.
|
103
103
|
function getRelease() external view returns (VersionPart release) {
|
104
|
-
return
|
105
|
-
uint8(_getInitializedVersion()));
|
104
|
+
return _release;
|
106
105
|
}
|
107
106
|
|
107
|
+
|
108
108
|
/// @dev Returns true iff all contracts of this access manager are locked.
|
109
109
|
function isLocked()
|
110
110
|
public
|
@@ -113,4 +113,28 @@ contract AccessManagerCloneable is
|
|
113
113
|
{
|
114
114
|
return _isLocked;
|
115
115
|
}
|
116
|
+
|
117
|
+
|
118
|
+
function _checkAndSetRelease(VersionPart release)
|
119
|
+
internal
|
120
|
+
{
|
121
|
+
if (!release.isValidRelease()) {
|
122
|
+
revert ErrorAccessManagerInvalidRelease(release);
|
123
|
+
}
|
124
|
+
|
125
|
+
_release = release;
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
function _checkAndSetRegistry(address registry)
|
130
|
+
internal
|
131
|
+
{
|
132
|
+
// checks
|
133
|
+
if(address(getRegistry()) != address(0)) {
|
134
|
+
revert ErrorAccessManagerRegistryAlreadySet(address(getRegistry()) );
|
135
|
+
}
|
136
|
+
|
137
|
+
// effects
|
138
|
+
__RegistryLinked_init(registry);
|
139
|
+
}
|
116
140
|
}
|
@@ -9,7 +9,7 @@ import {ObjectType} from "../type/ObjectType.sol";
|
|
9
9
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
10
10
|
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
11
11
|
import {Str, StrLib} from "../type/String.sol";
|
12
|
-
|
12
|
+
|
13
13
|
|
14
14
|
contract Authorization is
|
15
15
|
ServiceAuthorization,
|
@@ -30,7 +30,7 @@ contract Authorization is
|
|
30
30
|
constructor(
|
31
31
|
string memory mainTargetName,
|
32
32
|
ObjectType domain,
|
33
|
-
|
33
|
+
uint8 release,
|
34
34
|
string memory commitHash,
|
35
35
|
IAccess.TargetType targetType,
|
36
36
|
bool includeTokenHandler
|
@@ -6,6 +6,7 @@ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessMana
|
|
6
6
|
import {IAccess} from "./IAccess.sol";
|
7
7
|
import {IAuthorization} from "./IAuthorization.sol";
|
8
8
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
9
|
+
import {IRelease} from "../registry/IRelease.sol";
|
9
10
|
|
10
11
|
import {Blocknumber} from "../type/Blocknumber.sol";
|
11
12
|
import {NftId} from "../type/NftId.sol";
|
@@ -18,7 +19,8 @@ import {VersionPart} from "../type/Version.sol";
|
|
18
19
|
interface IAccessAdmin is
|
19
20
|
IAccessManaged,
|
20
21
|
IAccess,
|
21
|
-
IRegistryLinked
|
22
|
+
IRegistryLinked,
|
23
|
+
IRelease
|
22
24
|
{
|
23
25
|
|
24
26
|
// roles, targets and functions
|
@@ -57,7 +59,6 @@ interface IAccessAdmin is
|
|
57
59
|
error ErrorAccessAdminTargetNotCreated(address target);
|
58
60
|
error ErrorAccessAdminTargetNotRegistered(address target);
|
59
61
|
error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
|
60
|
-
error ErrorAccessAdminTargetReleaseMismatch(address target, VersionPart expectedRelease, VersionPart actualRelease);
|
61
62
|
|
62
63
|
// check authorization
|
63
64
|
error ErrorAccessAdminAlreadyInitialized(address authorization);
|
@@ -138,5 +139,4 @@ interface IAccessAdmin is
|
|
138
139
|
|
139
140
|
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
140
141
|
function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
|
141
|
-
function getRelease() external view returns (VersionPart);
|
142
142
|
}
|
@@ -16,7 +16,7 @@ interface IServiceAuthorization is
|
|
16
16
|
|
17
17
|
error ErrorAuthorizationMainTargetNameEmpty();
|
18
18
|
error ErrorAuthorizationTargetDomainZero();
|
19
|
-
error ErrorAuthorizationReleaseInvalid(
|
19
|
+
error ErrorAuthorizationReleaseInvalid(uint8 release);
|
20
20
|
error ErrorAuthorizationCommitHashInvalid(string commitHash);
|
21
21
|
|
22
22
|
/// @dev Returns the main domain of the authorization.
|
@@ -30,7 +30,7 @@ contract ServiceAuthorization is
|
|
30
30
|
string public constant ROLE_NAME_SUFFIX = "_Role";
|
31
31
|
|
32
32
|
ObjectType public immutable DOMAIN;
|
33
|
-
|
33
|
+
uint256 internal immutable _release;
|
34
34
|
string internal _commitHash;
|
35
35
|
|
36
36
|
string internal _mainTargetName;
|
@@ -55,7 +55,7 @@ contract ServiceAuthorization is
|
|
55
55
|
constructor(
|
56
56
|
string memory mainTargetName,
|
57
57
|
ObjectType domain,
|
58
|
-
|
58
|
+
uint8 release,
|
59
59
|
string memory commitHash
|
60
60
|
)
|
61
61
|
{
|
@@ -68,7 +68,7 @@ contract ServiceAuthorization is
|
|
68
68
|
revert ErrorAuthorizationTargetDomainZero();
|
69
69
|
}
|
70
70
|
|
71
|
-
if (
|
71
|
+
if (release < VersionPartLib.releaseMin().toInt() || release >= VersionPartLib.releaseMax().toInt()) {
|
72
72
|
revert ErrorAuthorizationReleaseInvalid(release);
|
73
73
|
}
|
74
74
|
|
@@ -103,7 +103,7 @@ contract ServiceAuthorization is
|
|
103
103
|
|
104
104
|
/// @inheritdoc IServiceAuthorization
|
105
105
|
function getRelease() public view returns(VersionPart release) {
|
106
|
-
return _release;
|
106
|
+
return VersionPartLib.toVersionPart(_release);
|
107
107
|
}
|
108
108
|
|
109
109
|
/// @inheritdoc IServiceAuthorization
|
@@ -119,6 +119,7 @@ contract BasicDistribution is
|
|
119
119
|
}
|
120
120
|
|
121
121
|
function _initializeBasicDistribution(
|
122
|
+
address registry,
|
122
123
|
NftId instanceNftId,
|
123
124
|
IAuthorization authorization,
|
124
125
|
address initialOwner,
|
@@ -129,6 +130,7 @@ contract BasicDistribution is
|
|
129
130
|
onlyInitializing()
|
130
131
|
{
|
131
132
|
__Distribution_init(
|
133
|
+
registry,
|
132
134
|
instanceNftId,
|
133
135
|
authorization,
|
134
136
|
false,
|
@@ -2,16 +2,15 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
-
import {
|
5
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
6
6
|
|
7
7
|
import {Authorization} from "../authorization/Authorization.sol";
|
8
8
|
import {BasicDistribution} from "./BasicDistribution.sol";
|
9
9
|
import {Distribution} from "./Distribution.sol";
|
10
10
|
import {COMPONENT, DISTRIBUTION} from "../type/ObjectType.sol";
|
11
11
|
import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
12
|
-
import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
|
13
12
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
14
|
-
|
13
|
+
|
15
14
|
|
16
15
|
contract BasicDistributionAuthorization
|
17
16
|
is Authorization
|
@@ -21,7 +20,7 @@ contract BasicDistributionAuthorization
|
|
21
20
|
Authorization(
|
22
21
|
distributionName,
|
23
22
|
DISTRIBUTION(),
|
24
|
-
|
23
|
+
3,
|
25
24
|
COMMIT_HASH,
|
26
25
|
TargetType.Component,
|
27
26
|
true)
|
@@ -61,7 +60,7 @@ contract BasicDistributionAuthorization
|
|
61
60
|
_authorize(functions, BasicDistribution.changeDistributorType.selector, "changeDistributorType");
|
62
61
|
_authorize(functions, BasicDistribution.createReferral.selector, "createReferral");
|
63
62
|
|
64
|
-
_authorize(functions,
|
63
|
+
_authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
|
65
64
|
_authorize(functions, Distribution.withdrawCommission.selector, "withdrawCommission");
|
66
65
|
}
|
67
66
|
}
|
@@ -104,6 +104,7 @@ abstract contract Distribution is
|
|
104
104
|
|
105
105
|
|
106
106
|
function __Distribution_init(
|
107
|
+
address registry,
|
107
108
|
NftId productNftId,
|
108
109
|
IAuthorization authorization,
|
109
110
|
bool isInterceptor,
|
@@ -115,6 +116,7 @@ abstract contract Distribution is
|
|
115
116
|
onlyInitializing()
|
116
117
|
{
|
117
118
|
__InstanceLinkedComponent_init(
|
119
|
+
registry,
|
118
120
|
productNftId,
|
119
121
|
name,
|
120
122
|
DISTRIBUTION(),
|